renderUtil method
Implementation
String renderUtil() {
return '''
class $DBClientSetClass {
${pp.tables.map((table) {
return '''
${formatClient(table.table)} ${table.table}(){
return ${formatClient(table.table)}(this);
}''';
}).toList().join("\n")}
DatabaseExec db;
static const schema = \'''
${pp.tables.map((e) => "\${${formatClient(e.table)}.schema}").toList().join("\n")}
\''';
$DBClientSetClass(this.db);
QueryBuild<Map<String, Object?>> query() {
var qb = QueryBuild<Map<String, Object?>>();
qb.queryFunc = (String q) async {
return await db.rawQuery(q);
};
return qb;
}
Future<void> transaction(Future<void> Function() cb) async {
var _db = db;
try {
await (db as Database).transaction((txn) async {
db = txn;
await cb();
});
}catch(e) {
db = _db;
throw e.toString();
}
db = _db;
}
}
String dateTime2String(DateTime data) {
return data.toIso8601String();
}
DateTime string2DateTime(String data) {
return DateTime.parse(data);
}
int bool2Int(bool data) {
return data ? 0 : 1;
}
bool int2Bool(int data) {
return data == 0;
}
''';
}