build method

  1. @override
Future<void> build(
  1. BuildStep buildStep
)

Generates the outputs for a given BuildStep.

Implementation

@override
Future<void> build(BuildStep buildStep) async {
  //print(options.config);
  //var config = options.config;

  var inputId = buildStep.inputId;

  var copy = inputId.changeExtension('.g.dart');
  var contents = await buildStep.readAsString(inputId);

  Map<String, dynamic> iter = jsonDecode(contents);
  StringBuffer buffer = StringBuffer();

  iter.forEach((String key, dynamic value) {
    buffer.writeln("  // ${key} = ${value}");
    buffer.writeln("  static const String ${_applyStyle(key)} = \"${key}\";");
  });

  String dartContent = """

// THIS CODE WAS GENERATED BY JTRANSLATE - DO NOT EDIT BY HAND
class TranslationKeys{

${buffer.toString()}
}""";

  await buildStep.writeAsString(copy, dartContent);
}