firestore-dataloader
Version:
GraphQL DataLoader for Cloud Firestore.
30 lines (29 loc) • 1.12 kB
TypeScript
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)[]>;
}