readOrCreate method
Get the document by id, or create a new one
If the documentId returns a snapshot that does not exist, or data()
returns null
, create a new document with the docId
provided.
Implementation
@override
Future<T> readOrCreate({
required DocumentId docId,
required T createValue,
}) async {
final maybeData = await read(docId);
if (maybeData != null) return maybeData;
await createById(value: createValue, docId: docId);
final data = await read(docId);
return data!;
}