@berish/orm-rethinkdb-db-adapter
Version:
Адаптер базы данных RethinkDB для @berish/orm
50 lines (49 loc) • 1.73 kB
TypeScript
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;
}