UNPKG

firelordjs

Version:

🔥 High Precision Typescript Wrapper for Firestore Web, Providing Unparalleled Type Safe and Dev Experience

14 lines (13 loc) • 921 B
import { ExactOptional } from '../exactOptional'; import { DocumentReference } from '../refs'; import { DocumentData } from '../alias'; import { Transaction } from '../transaction'; import { WriteBatch } from '../batch'; import { MetaType } from '../metaTypeCreator'; export type UpdateCreator<U, NoFlatten extends boolean> = <T extends MetaType, const Data extends DocumentData>(reference: DocumentReference<T>, data: Data extends never ? Data : ExactOptional<T['writeFlatten'], Data, false, NoFlatten, true>) => U; export type Update = UpdateCreator<Promise<void>, false>; export type UpdateNoFlatten = UpdateCreator<Promise<void>, true>; export type TransactionUpdate = UpdateCreator<Transaction, false>; export type TransactionUpdateNoFlatten = UpdateCreator<Transaction, true>; export type WriteBatchUpdate = UpdateCreator<WriteBatch, false>; export type WriteBatchUpdateNoFlatten = UpdateCreator<WriteBatch, true>;