/** * 数据库操作对象工厂 * * @export * @class OperaterFactory * @template P Operater类 * @template M Model类 */ export class OperaterFactory { private static _operaters: { [x: number]: any; [x: string]: any } = {}; /** * 数据库操作对象 * * @template P * @param {new () => P} Operater * @returns {P} * @memberof OperaterFactory */ public static get

, M>(Operater: new () => P): P { if (!this._operaters[Operater.name]) { this._operaters[Operater.name] = new Operater(); } return (this._operaters[Operater.name]) as P; } } /** * 操作接口 * * @export * @interface IOperater */ export interface IOperater { create(model: M): Promise update(id: string, value: { [attr: string]: any }): Promise delete(id: string): Promise load(id: string): Promise loads(options: { [x: string]: number | string | boolean }): Promise }