DartParser constructor

DartParser()

A parser for Dart configuration files in Jetleaf.

This parser supports parsing Dart map literals and variable declarations to extract configuration data.
It is designed to handle:

  • final, const, or var assignments with map literals.
  • Direct map literals ({ ... }).
  • Nested maps and lists.
  • Strings, numbers, booleans, and null values.
  • Preservation of special Jetleaf property syntax (#{} and @{}), which are returned as raw strings for later resolution.

Example usage:

void main() {
  final parser = DartParser();

  const source = '''
  final config = {
    "host": "localhost",
    "port": 8080,
    "debug": true,
    "nested": {
      "feature": "enabled"
    },
    "list": [1, 2, 3],
    "dynamic": "#{someExpression}"
  };
  ''';

  final config = parser.parse(source);

  print(config['host']); // localhost
  print(config['port']); // 8080
  print(config['nested']); // {feature: enabled}
  print(config['list']); // [1, 2, 3]
  print(config['dynamic']); // #{someExpression}
}

Implementation

DartParser();