generateStringResources function
void
generateStringResources(
{ - required String input,
- required String output,
- 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!');
}