generateValueResources function
void
generateValueResources(
{ - required String input,
- required String output,
- String? flavor,
})
Implementation
void generateValueResources({
required String input,
required String output,
String? flavor,
}) {
Logger.verboseLog('Generating value resources...');
final directory = Directory(input);
if (!directory.existsSync()) {
Logger.verboseLog('values/ folder is not exist. Skipping...');
return;
}
final buffer = StringBuffer();
_genStart(buffer, flavor);
try {
final files = directory
.listSync()
.where(
(element) =>
element is File &&
extension(element.unixPath) == '.json' &&
!element.isHidden,
)
.cast<File>()
.toList()
..sort(sortFilesByName);
for (final file in files) {
final line = file.readAsStringSync();
final object = json.decode(line);
buffer.write(' ${safeName(basenameWithoutExtension(file.unixPath))}: ');
if (object is Map) {
Writer(buffer).writeRecord(
4,
object.map((key, value) => MapEntry(key, value)),
recursive: false,
);
} else if (object is List) {
Writer(buffer).writeList(4, object);
} else if (object is String) {
Writer(buffer).writeString(0, object);
} else {
Writer(buffer).writeAny(0, object);
}
buffer.write(',\n');
}
} catch (_) {}
_genFinish(buffer, output, flavor);
}