upsert method Null safety

Future<T?> upsert(
  1. T model,
  2. {Query? query}
)

Update or insert a model

Implementation

Future<T?> upsert(T model, {Query? query}) async {
  state(SyncModelState.writing);
  await syncController.ready;
  try {
    final T result = await repository.upsert<T>(model, query: query);
    state(SyncModelState.idle);
    return result;
  } on OfflineFirstException catch (err) {
    _lastError = err;
    state(SyncModelState.error);
    return (err.originalError as RestException).response.throwError();
  } on Exception catch (err) {
    _lastError = err;
    state(SyncModelState.error);
  }
}