generate function

Future<void> generate({
  1. Allocator? allocator,
  2. List<Convert> converters = const [],
  3. required String filename,
  4. bool optimize = false,
  5. required List<Parser<Object?, Object?>> parsers,
  6. String prefix = '_',
})

Implementation

Future<void> generate({
  Allocator? allocator,
  List<Convert> converters = const [],
  required String filename,
  bool optimize = false,
  required List<Parser<Object?, Object?>> parsers,
  String prefix = '_',
}) async {
  allocator ??= Allocator(prefix);
  final g = CodeGenerator(Allocator(prefix));
  final source = g.generate(
    filename: filename,
    optimize: optimize,
    parsers: parsers,
  );
  File(filename).writeAsStringSync(source);
  final process =
      await Process.start(Platform.executable, ['format', filename]);
  unawaited(process.stdout.transform(utf8.decoder).forEach(print));
  unawaited(process.stderr.transform(utf8.decoder).forEach(print));
}