@berish/orm-web-db-adapter
Version:
Адаптер базы данных по сети для @berish/orm
36 lines (35 loc) • 2.07 kB
TypeScript
import { BaseDBAdapter, IBaseDBItem, QueryData, QueryDataSchema } from '@berish/orm';
import type { WebDBMethodParameters, WebDBMethodReturn } from './webDBReceiver';
export interface IWebDBAdapterParams {
get: (...args: WebDBMethodParameters<'get'>) => WebDBMethodReturn<'get'>;
create: (...args: WebDBMethodParameters<'create'>) => WebDBMethodReturn<'create'>;
update: (...args: WebDBMethodParameters<'update'>) => WebDBMethodReturn<'update'>;
delete: (...args: WebDBMethodParameters<'delete'>) => WebDBMethodReturn<'delete'>;
count: (...args: WebDBMethodParameters<'count'>) => WebDBMethodReturn<'count'>;
find: (...args: WebDBMethodParameters<'find'>) => WebDBMethodReturn<'find'>;
index: (...args: WebDBMethodParameters<'index'>) => WebDBMethodReturn<'index'>;
subscribe: (...args: WebDBMethodParameters<'subscribe'>) => WebDBMethodReturn<'subscribe'>;
}
export interface IWebDBAdapterConstructorParams {
isConnected: () => boolean;
}
export declare class WebDBAdapter extends BaseDBAdapter<IWebDBAdapterParams> {
private _emitter;
private _constructorParams;
private _uniqueQueries;
private _offTriggers;
constructor(constructorParams: IWebDBAdapterConstructorParams);
initialize: (params: IWebDBAdapterParams) => Promise<void>;
close: () => Promise<void>;
count(query: QueryData<QueryDataSchema>): Promise<number>;
get: (query: QueryData<QueryDataSchema>) => Promise<IBaseDBItem>;
create: (tableName: string, items: IBaseDBItem[]) => Promise<void>;
update: (tableName: string, items: IBaseDBItem[]) => Promise<void>;
delete: (query: QueryData<QueryDataSchema>) => Promise<void>;
index: (tableName: string, indexName: string, keys?: string[]) => void;
find: (query: QueryData<QueryDataSchema>) => Promise<IBaseDBItem[]>;
subscribe: (data: QueryData<QueryDataSchema>, callback: (oldValue: IBaseDBItem, newValue: IBaseDBItem) => any) => Promise<() => void>;
connectSubscriptions: () => void;
disconnectSubscriptions: () => void;
private _realSubscribe;
}