updateOrCreate method

Future<T> updateOrCreate(
  1. Map<String, Object?> match,
  2. Map<String, Object?> values
)

Implementation

Future<T> updateOrCreate(
  Map<String, Object?> match,
  Map<String, Object?> values,
) async {
  final q = clone();
  match.forEach(q.where);
  final found = await q.first();
  if (found == null) return create({...match, ...values});
  return (found as Model).update(values) as Future<T>;
}