firesage
Version:
🔥 Extremely High Precision Typescript Wrapper for Firestore Web, Providing Unparalleled Type Safe and Dev Experience
40 lines (39 loc) • 2.33 kB
TypeScript
import { MetaTypeCreator, ServerTimestamp, DocumentReference, DeleteField, DocumentSnapshot } from './types';
export declare const initializeApp: () => import("@firebase/app").FirebaseApp;
export declare type Parent = MetaTypeCreator<{
a: 1;
}, 'topLevel', 'FirelordTest' | 'ForCursorTest'>;
export declare type User = MetaTypeCreator<{
age: number;
beenTo: (Record<'US', ('Hawaii' | 'California')[]> | Record<'China', ('Guangdong' | 'Shanghai')[]>)[];
name: string;
role: 'admin' | 'editor' | 'visitor';
a: {
b: {
c: number;
f: {
g: boolean;
h: Date;
m: number;
}[];
};
i: {
j: number | DeleteField;
l: Date;
};
e: string[];
k: ServerTimestamp | DeleteField;
};
}, 'Users', string, Parent>;
export declare const userRefCreator: (arg?: Parent['docID']) => Readonly<{
doc: {
<DocumentId extends string>(documentID: DocumentId extends never ? DocumentId : DocumentId extends import("./types").IsValidID<DocumentId, "Document", "ID"> ? string : import("./types").IsValidID<DocumentId, "Document", "ID">): DocumentReference<User>;
<DocumentId_1 extends string>(firestore: import("./types").FirestoreAndFirestoreTesting, documentID: DocumentId_1 extends never ? DocumentId_1 : DocumentId_1 extends import("./types").IsValidID<DocumentId_1, "Document", "ID"> ? string : import("./types").IsValidID<DocumentId_1, "Document", "ID">): DocumentReference<User>;
};
collection: (firestore?: import("./types").FirestoreAndFirestoreTesting | undefined) => import(".").CollectionReference<User>;
collectionGroup: (firestore?: import("./types").FirestoreAndFirestoreTesting | undefined) => import(".").Query<User>;
}>;
export declare const generateRandomData: () => User['write'];
export declare const compareWriteDataWithDocSnapData: (writeData: User['write'], docSnap: DocumentSnapshot<User>) => void;
export declare const readThenCompareWithWriteData: (writeData: User['write'], ref: DocumentReference<User>) => Promise<void>;
export declare const writeThenReadTest: (writeCallback: (data: ReturnType<typeof generateRandomData>) => Promise<DocumentReference<User>>) => Promise<void>;