generate method

String generate({
  1. List<Convert> converters = const [],
  2. required String filename,
  3. bool optimize = false,
  4. required List<Parser<Object?, Object?>> parsers,
})

Implementation

String generate({
  List<Convert> converters = const [],
  required String filename,
  bool optimize = false,
  required List<Parser<Object?, Object?>> parsers,
}) {
  _buffer = StringBuffer();
  _optimize = optimize;
  _converters.clear();
  _converters.addAll(_converters);
  _converters.add(_objectToCode);
  for (var i = 0; i < parsers.length; i++) {
    final parser = parsers[i];
    if (parser.name == null) {
      throw ArgumentError.value(parser, 'parsers[$i]', 'Must have a name');
    }

    _generate(parser, false);
  }

  final imports = _generateImports(filename);
  final buffer = StringBuffer();
  buffer.write(imports);
  buffer.writeln(_buffer);
  return buffer.toString();
}