renderUtil method

String renderUtil()

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;
}
''';
}