1 | import { Pool, ClientBase, QueryResult, QueryConfig } from "pg";
|
2 | import DataLoader from "dataloader";
|
3 | import { StrategyCollection } from "./StrategyCollection";
|
4 | export declare class DataLoaderExecutor<T extends ClientBase | Pool = ClientBase | Pool> {
|
5 | connection: T;
|
6 | readonly strategies: StrategyCollection;
|
7 | constructor(connection: T, strategies: StrategyCollection);
|
8 | }
|
9 | export declare type ReadonlyDataLoaderExecutor<T extends ClientBase | Pool = ClientBase | Pool> = DataLoaderExecutor<T> & {
|
10 | readonly connection: T;
|
11 | };
|
12 | export declare type Reader<M> = (executor: DataLoaderExecutor, ids: readonly string[]) => Promise<M[]>;
|
13 | export 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 | }
|
21 | export declare class QueryCache<T> {
|
22 | private _map;
|
23 | query(tx: Pool | ClientBase | DataLoaderExecutor, query: string | QueryConfig<unknown[]>, parameters: unknown[]): Promise<QueryResult<T>>;
|
24 | }
|