fireorm
Version:
ORM for Firestore
23 lines (22 loc) • 1.11 kB
TypeScript
import { Firestore, DocumentReference } from '@google-cloud/firestore';
import type { FullCollectionMetadata } from '../MetadataStorage';
import type { ValidationError } from '../Errors/ValidationError';
import type { IEntity, Constructor, ValidatorOptions } from '../types';
declare type BatchOperation<T extends IEntity> = {
type: 'create' | 'update' | 'delete';
item: T;
ref: DocumentReference;
collectionMetadata: FullCollectionMetadata;
validateModels: boolean;
validatorOptions?: ValidatorOptions;
};
export declare class FirestoreBatchUnit {
private firestoreRef;
private status;
operations: BatchOperation<IEntity>[];
constructor(firestoreRef: Firestore);
add<T extends IEntity>(type: BatchOperation<T>['type'], item: T, ref: DocumentReference, collectionMetadata: FullCollectionMetadata, validateModels: boolean, validatorOptions?: ValidatorOptions): void;
commit: () => Promise<FirebaseFirestore.WriteResult[]>;
validate(item: IEntity, Entity: Constructor<IEntity>, validatorOptions?: ValidatorOptions): Promise<ValidationError[]>;
}
export {};