iterateJsonToDAO method
Implementation
bool iterateJsonToDAO() {
var error = StringBuffer();
var daoList = <String>[];
var indexFile = '';
list.forEach((f) {
if (FileSystemEntity.isFileSync(f.path)) {
var fileExtension = '.json';
if (f.path.endsWith(fileExtension)) {
var file = File(f.path);
var dartPath = f.path.replaceFirst(srcDir, daoDir).replaceFirst(
fileExtension,
'.dao.dart',
f.path.length - fileExtension.length - 1,
);
List basenameString = path.basename(f.path).split('.');
String fileName = basenameString.first;
Map<String, dynamic> jsonMap = json.decode(file.readAsStringSync());
var relative = dartPath.replaceFirst(daoDir + path.separator, '').replaceAll(path.separator, '/');
var jsonModel = JsonModel.fromMap(fileName, jsonMap, relativePath: relative);
if (!generateFileFromJsonToDAO(dartPath, jsonModel, relative)) {
error.write('cant write $dartPath');
}
daoList.add(fileName);
indexFile += "export '$relative';\n";
}
}
});
if (indexFile.isNotEmpty) {
File(path.join(daoDir, 'index.dart')).writeAsStringSync(indexFile);
}
if (!generateFileFromJsonToDatabase(daoDir, daoList)) {
error.write('cant write $daoDir/database.dart');
}
return indexFile.isNotEmpty;
}