@decaf-ts/db-decorators
Version:
Agnostic database decorators and repository
18 lines (17 loc) • 1.21 kB
TypeScript
import { DataCache } from "./DataCache";
import { ContextArgs } from "./utils";
import { Contextual } from "../interfaces/Contextual";
import { OperationKeys } from "../operations/constants";
import { Constructor, Model } from "@decaf-ts/decorator-validation";
export declare class Context<M extends Model> extends DataCache {
protected operation: OperationKeys;
protected model?: Constructor<M> | undefined;
protected parent?: Context<any> | undefined;
protected constructor(operation: OperationKeys, model?: Constructor<M> | undefined, parent?: Context<any> | undefined);
get timestamp(): Date;
get(key: string): Promise<any>;
pop(key: string): Promise<any>;
child<N extends Model>(operation: OperationKeys, model?: Constructor<N>): Context<N>;
static from<M extends Model, C extends Context<M>>(operation: OperationKeys.CREATE | OperationKeys.READ | OperationKeys.UPDATE | OperationKeys.DELETE, model: Constructor<M>, ...args: any[]): Promise<C>;
static args<M extends Model>(operation: OperationKeys.CREATE | OperationKeys.READ | OperationKeys.UPDATE | OperationKeys.DELETE, model: Constructor<M>, args: any[], contextual?: Contextual<M>): Promise<ContextArgs<M>>;
}