createWith method

Future<ISunnyContact> createWith(
  1. FutureOr modification(
    1. ISunnyContact input
    )
)
inherited

Implementation

Future<V> createWith(FutureOr modification(V input)) async {
  return applyChanges((_) async {
    final newRecord = repository.instantiate();
    modification(newRecord);
    final result = await repository.create(newRecord);

    final added = getOrPut(result.mkey!, result);
    await afterCreate(result);
    await afterSave(result);
    _.set(result.mkey!, added);
    return result;
  });
}