generateStringResources function

void generateStringResources({
  1. required String input,
  2. required String output,
  3. String? package,
})

Implementation

void generateStringResources({
  required String input,
  required String output,
  String? package,
}) {
  print('Generating string resources...');
  final directory = Directory(input);
  if (!directory.existsSync()) {
    print('translations/ folder is not exist. Skipping...');
    return;
  }
  final buffer = StringBuffer("""
// ignore_for_file: non_constant_identifier_names
part of 'resources.dart';

const _stringResources = (
""");
  try {
    final file = directory.listSync().firstWhere(
      (element) {
        return element is File && extension(element.path) == '.json';
      },
    ) as File;
    final line = file.readAsStringSync();
    final map = (json.decode(line) as Map).map((key, value) {
      return MapEntry(key.toString(), value);
    });
    _writeStrings(
      buffer: buffer,
      map: map,
    );
  } catch (_) {}
  buffer.writeln(');');
  Directory(output).createSync(recursive: true);
  File('$output/string_resources.dart')
    ..createSync()
    ..writeAsStringSync(buffer.toString());
  print('Generated string resources!');
}