generateStringResources function
void
generateStringResources({})
Implementation
void generateStringResources({
required String input,
required String output,
String? package,
String? flavor,
}) {
Logger.verboseLog('Generating string resources...');
final directory = Directory(input);
if (!directory.existsSync()) {
Logger.verboseLog('translations/ folder is not exist. Skipping...');
return;
}
final buffer = StringBuffer();
_writeStart(buffer, flavor);
try {
final file = directory.listSync().firstWhere(
(element) {
return element is File &&
extension(element.unixPath) == '.json' &&
!element.isHidden;
},
) as File;
final line = file.readAsStringSync();
final map = (json.decode(line) as Map).map((key, value) {
return MapEntry(key.toString(), value);
});
_recurse(buffer, 2, map);
} catch (_) {
Logger.log('Invalid string resources detected!');
Logger.verboseLog(_);
}
_writeFinish(buffer);
Directory(join(output, flavor)).createSync(recursive: true);
File(joinAll([output, flavor, 'string_resources.dart'].whereType<String>()))
..createSync()
..writeAsStringSync(buffer.toString());
Logger.verboseLog('Generated string resources!');
}