write method
Implementation
String write() {
StringBuffer body = StringBuffer();
StringBuffer list = StringBuffer();
for (int i = 0; i < entries.length; i++) {
JobEntry entry = entries[i];
String type = '${_prefix(entry.library)}.${entry.className}';
list.writeln("JobCodec('${entry.name}', $type, _encode$i, _decode$i),");
_writeEncode(body, entry, type, i);
_writeDecode(body, entry, type, i);
}
StringBuffer out = StringBuffer()
..writeln('// GENERATED CODE - DO NOT MODIFY BY HAND')
..writeln('// Made by dox_queue. Run `dart run build_runner build`.')
..writeln('// ignore_for_file: type=lint')
..writeln()
..writeln("import 'package:dox_queue/dox_queue.dart';");
for (MapEntry<String, String> import in _prefixes.entries) {
out.writeln("import '${import.key}' as ${import.value};");
}
out
..writeln()
..writeln('/// Every `@Job()` class of the app.')
..writeln('/// Use it in `QueueConfig(jobs: jobRegistry)`.')
..writeln('const JobRegistry jobRegistry = JobRegistry(<JobCodec>[')
..write(list)
..writeln(']);')
..write(body);
return out.toString();
}