create<T extends Model> static method

Future<T?> create<T extends Model>(
  1. Map<String, dynamic> json
)

Creates a new record from json.

Implementation

static Future<T?> create<T extends Model>(Map<String, dynamic> json) async {
  if (json.isEmpty) return null;
  json
    ..remove('id')
    ..remove('uuid')
    ..remove('created_at')
    ..remove('updated_at');

  final constructor = _jsonConstructors[T];
  if (constructor == null) return null;

  try {
    final instance = constructor(json) as T;
    if (!await instance.save(disk: .file)) return null;
    return instance;
  } catch (e) {
    return null;
  }
}