@clickup/ent-framework
Version:
A PostgreSQL graph-database-alike library with microsharding and row-level security
26 lines • 1.18 kB
TypeScript
import type { Table } from "../types";
import type { Client } from "./Client";
import type { Query } from "./Query";
import type { QueryAnnotation } from "./QueryAnnotation";
import type { Runner } from "./Runner";
import type { Schema } from "./Schema";
/**
* A convenient base class for most (but not all) of the queries, where the
* Runner instance is the same for different query input shapes. If the query
* doesn't fit the QueryBase framework (like PgQueryUpdate for instance where we
* have separate Runner instances for separate set of updated fields), a Query
* is used directly instead.
*/
export declare abstract class QueryBase<TTable extends Table, TInput, TOutput, TClient extends Client> implements Query<TOutput> {
readonly schema: Schema<TTable>;
readonly input: TInput;
/** @ignore */
abstract readonly RUNNER_CLASS: {
readonly IS_WRITE: boolean;
new (schema: Schema<TTable>, client: TClient): Runner<TInput, TOutput>;
};
constructor(schema: Schema<TTable>, input: TInput);
get IS_WRITE(): boolean;
run(client: TClient, annotation: QueryAnnotation): Promise<TOutput>;
}
//# sourceMappingURL=QueryBase.d.ts.map