UNPKG

@berish/orm-rethinkdb-db-adapter

Version:

Адаптер базы данных RethinkDB для @berish/orm

50 lines (49 loc) 1.73 kB
import * as r from 'rethinkdb'; import { BaseDBAdapter, IBaseDBItem, QueryData, QueryDataSchema } from '@berish/orm'; export interface IRethinkDBAdapterParams { dbName?: string; host?: string; port?: number; password?: string; user?: string; ssl?: r.ConnectionOptions['ssl']; subscribe?: { changefeedQueueSize?: number; squash?: number | boolean; includeInitial?: boolean; }; } export default class RethinkDBAdapter extends BaseDBAdapter<IRethinkDBAdapterParams> { private connection; private _cacheEmitter; private tables; private indexNames; private subscribeCursors; private _subscribeEventHashes; initialize(params: IRethinkDBAdapterParams): Promise<void>; close(): Promise<void>; reconnect(): Promise<void>; count(queryData: QueryData<QueryDataSchema>): Promise<number>; get<T>(query: QueryData<QueryDataSchema>): Promise<T>; create(tableName: string, items: IBaseDBItem[]): Promise<void>; update(tableName: string, items: IBaseDBItem[]): Promise<void>; index(tableName: string, indexName: string, keys?: string[]): Promise<any>; find<T>(queryData: QueryData<QueryDataSchema>): Promise<T[]>; delete(queryData: QueryData<QueryDataSchema>): Promise<void>; subscribe<T>(query: QueryData<QueryDataSchema>, callback: (oldValue: T, newValue: T) => void, onError: (reason: any) => any): () => void; private closeCursor; private db; private table; private filter; private subQuery; private where; private contains; private limit; private skip; private ids; private less; private lessOrEqual; private greater; private greaterOrEqual; private pluck; }