append method

  1. @override
Future<void> append(
  1. String uid, {
  2. T? data,
})
override

Add a new document to the current collection based on uid.

It is possible to specify data to be added to the document by giving data.

Implementation

@override
Future<void> append(String uid, {T? data}) async {
  if (data == null) {
    return;
  }
  if (_saveCompleter != null) {
    return saving;
  }
  _saveCompleter = Completer<void>();
  try {
    await onAppend();
    await appendRequest(data);
    await onDidAppend();
    _saveCompleter?.complete();
    _saveCompleter = null;
  } catch (e) {
    _saveCompleter?.completeError(e);
    _saveCompleter = null;
  } finally {
    _saveCompleter?.complete();
    _saveCompleter = null;
  }
}