UNPKG

@berish/orm

Version:

ORM

22 lines (21 loc) 1.13 kB
import { QueryData, QueryDataSchema } from './query'; export interface IBaseDBItem { id: string; createdAt?: number; updatedAt?: number; [key: string]: any; } export declare const baseDBMethods: string[]; export declare abstract class BaseDBAdapter<IInitializeParams> { params: IInitializeParams; abstract initialize(params: IInitializeParams): Promise<void>; abstract close(): Promise<void>; abstract create(table: string, items: IBaseDBItem[]): Promise<void>; abstract update(table: string, items: IBaseDBItem[]): Promise<void>; abstract index(table: string, indexName: string, keys?: string[]): void; abstract count(data: QueryData<QueryDataSchema>): Promise<number>; abstract get(data: QueryData<QueryDataSchema>): Promise<IBaseDBItem>; abstract delete(data: QueryData<QueryDataSchema>): Promise<void>; abstract find(data: QueryData<QueryDataSchema>): Promise<IBaseDBItem[]>; abstract subscribe(data: QueryData<QueryDataSchema>, callback: (oldValue: IBaseDBItem, newValue: IBaseDBItem) => any, onError: (reason: any) => any): (() => any) | Promise<() => any>; }