UNPKG

firestore-dataloader

Version:
30 lines (29 loc) 1.12 kB
import { CollectionReference, Query } from "@google-cloud/firestore"; import { DataSource } from "apollo-datasource"; import DataLoader, { Options } from "dataloader"; /** * GraphQL DataLoader for Cloud Firestore. */ export declare class FirestoreDataLoader<TDocument = any> extends DataSource { dataLoader: DataLoader<string, (TDocument & { id: string; }) | null>; /** * constructor * It is assumed to be declared as one of the dataSources. * @param baseQuery CollectionReference or Query * @param options DataLoader.Options. maxBatchSize is set to 10 due to firestore limitation. */ constructor(baseQuery: CollectionReference | Query, options?: Options<string, (TDocument & { id: string; }) | null, string> | undefined); /** * load datas by keys * @param {CollectionReference | Query} baseQuery CollectionReference or Query * @param {string[]} keys * @returns documents */ loadDataByKeys(baseQuery: CollectionReference | Query, keys: readonly string[]): Promise<((TDocument & { id: string; }) | null)[]>; }