UNPKG

@e22m4u/js-repository

Version:

Реализация репозитория для работы с базами данных в Node.js

149 lines (135 loc) 2.69 kB
import {Adapter} from '../adapter.js'; import {ModelId} from '../../types.js'; import {AnyObject} from '../../types.js'; import {ModelData} from '../../types.js'; import {WhereClause} from '../../filter/index.js'; import {FilterClause} from '../../filter/index.js'; import {ServiceContainer} from '@e22m4u/js-service'; import {ItemFilterClause} from '../../filter/index.js'; /** * Memory adapter. */ export declare class MemoryAdapter extends Adapter { /** * Settings. */ get settings(): AnyObject | undefined; /** * Constructor. * * @param container * @param settings */ constructor(container?: ServiceContainer, settings?: AnyObject); /** * Create. * * @param modelName * @param modelData * @param filter */ create( modelName: string, modelData: ModelData, filter?: ItemFilterClause, ): Promise<ModelData>; /** * Replace by id. * * @param modelName * @param id * @param modelData * @param filter */ replaceById( modelName: string, id: ModelId, modelData: ModelData, filter?: ItemFilterClause, ): Promise<ModelData>; /** * Replace or create. * * @param modelName * @param modelData * @param filter */ replaceOrCreate( modelName: string, modelData: ModelData, filter?: ItemFilterClause, ): Promise<ModelData>; /** * Patch. * * @param modelName * @param modelData * @param where */ patch( modelName: string, modelData: ModelData, where?: WhereClause, ): Promise<number>; /** * Patch by id. * * @param modelName * @param id * @param modelData * @param filter */ patchById( modelName: string, id: ModelId, modelData: ModelData, filter?: ItemFilterClause, ): Promise<ModelData>; /** * Find. * * @param modelName * @param filter */ find(modelName: string, filter?: FilterClause): Promise<ModelData[]>; /** * Find by id. * * @param modelName * @param id * @param filter */ findById( modelName: string, id: ModelId, filter?: ItemFilterClause, ): Promise<ModelData>; /** * Delete. * * @param modelName * @param where */ delete(modelName: string, where?: WhereClause): Promise<number>; /** * Delete by id. * * @param modelName * @param id */ deleteById(modelName: string, id: ModelId): Promise<boolean>; /** * Exists. * * @param modelName * @param id */ exists(modelName: string, id: ModelId): Promise<boolean>; /** * Count. * * @param modelName * @param where */ count(modelName: string, where?: WhereClause): Promise<number>; }