@gecogvidanto/plugin-nedb
Version:
Nebd local database management plugin for ĞecoĞvidanto
22 lines (21 loc) • 1.11 kB
TypeScript
import { Collection, Identifier, Projection, Query, Update } from '@gecogvidanto/plugin';
import { BinaryStore } from './bindata';
import NedbPromiseDatastore from './NedbPromiseDatastore';
/**
* A nedb collection (datastore in nedb vocabulary).
*/
export default class NedbDatastore<T> implements Collection<T> {
private readonly db;
private readonly name;
private readonly compactInterval;
private readonly binaryStore;
private nextCompact;
constructor(db: NedbPromiseDatastore, name: string, compactInterval: number, binaryStore: BinaryStore);
private static checkCompact;
insert(newDoc: T): Promise<Identifier & T>;
count(query: Query<Identifier & T>): Promise<number>;
find(query: Query<Identifier & T>, projection?: Projection<Identifier & T>): Promise<Array<Identifier & T>>;
findOne(query: Query<Identifier & T>, projection?: Projection<Identifier & T>): Promise<(Identifier & T) | undefined>;
update(query: Query<Identifier & T>, updateQuery: Update<T>, upsert?: boolean): Promise<number>;
remove(query: Query<Identifier & T>): Promise<number>;
}