UNPKG

1.05 kBTypeScriptView Raw
1import { Pool, ClientBase, QueryResult, QueryConfig } from "pg";
2import DataLoader from "dataloader";
3import { StrategyCollection } from "./StrategyCollection";
4export declare class DataLoaderExecutor<T extends ClientBase | Pool = ClientBase | Pool> {
5 connection: T;
6 readonly strategies: StrategyCollection;
7 constructor(connection: T, strategies: StrategyCollection);
8}
9export declare type ReadonlyDataLoaderExecutor<T extends ClientBase | Pool = ClientBase | Pool> = DataLoaderExecutor<T> & {
10 readonly connection: T;
11};
12export declare type Reader<M> = (executor: DataLoaderExecutor, ids: readonly string[]) => Promise<M[]>;
13export declare class DataLoaderCache<M extends {
14 id: string;
15}> {
16 private _map;
17 private readonly _read;
18 constructor(read: Reader<M>);
19 get(executor: DataLoaderExecutor): DataLoader<string, M>;
20}
21export declare class QueryCache<T> {
22 private _map;
23 query(tx: Pool | ClientBase | DataLoaderExecutor, query: string | QueryConfig<unknown[]>, parameters: unknown[]): Promise<QueryResult<T>>;
24}