UNPKG

@decaf-ts/db-decorators

Version:

Agnostic database decorators and repository

18 lines (17 loc) 1.21 kB
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>>; }