generateMapStaticMethod function

String generateMapStaticMethod(
  1. Table table, {
  2. bool jsonbToDynamic = false,
})

Implementation

String generateMapStaticMethod(Table table, {bool jsonbToDynamic = false}) {
  final columns = table.columns;
  final buffer = StringBuffer();

  buffer.writeln('static Map<String, dynamic> _generateMap({');

  columns.forEach((columnName, columnDetails) {
    buffer.writeln('${columnDetails.dartType}? $columnName,');
  });

  buffer.writeln('}) {');

  buffer.writeln('return {');

  columns.forEach((columnName, columnDetails) {
    buffer.writeln(
      "if ($columnName != null) '${columnDetails.dbColName}': ${encodeToJson(columnDetails, jsonbToDynamic)},",
    );
  });

  buffer.writeln('};');
  buffer.writeln('}');

  return buffer.toString();
}