UNPKG

dbd.db

Version:

A Lightweight Schema-Free Object-Oriented LocalDatabase for Development and Production Purpose

95 lines (73 loc) 3.2 kB
import { EventEmitter } from 'events' declare interface Options { name: String; ttl?: Number; } declare interface CollectionEvents { expired: [Object]; ttl: [Boolean]; ready: []; } declare class Collection extends EventEmitter { constructor(db: BaseDatabase, options: Options); public db: BaseDatabase; public displayName: String; public size: Number; public isOpen: Boolean; public set(data: Object, filter: Object): Promise<Boolean>; public delete(filter: Object, limit: Number): Promise<Boolean>; public findOne(filter: Object): Promise<Object>; public find(filter: Object, limit: Number): Promise<Object[]>; public update(filter: Object, property: String[], value: any, object?: Boolean): Promise<Boolean>; public deleteMany(...filters: Object[]): Promise<Boolean>; public on<K extends keyof CollectionEvents>(event: K, listener: (...args: CollectionEvents[K]) => void): this; public on<S extends string | symbol>( event: Exclude<S, keyof CollectionEvents>, listener: (...args: any[]) => void, ): this; public once<K extends keyof CollectionEvents>(event: K, listener: (...args: CollectionEvents[K]) => void): this; public once<S extends string | symbol>( event: Exclude<S, keyof CollectionEvents>, listener: (...args: any[]) => void, ): this; public emit<K extends keyof CollectionEvents>(event: K, ...args: CollectionEvents[K]): boolean; public emit<S extends string | symbol>(event: Exclude<S, keyof CollectionEvents>, ...args: any[]): boolean; public off<K extends keyof CollectionEvents>(event: K, listener: (...args: CollectionEvents[K]) => void): this; public off<S extends string | symbol>( event: Exclude<S, keyof CollectionEvents>, listener: (...args: any[]) => void, ): this; public removeAllListeners<K extends keyof CollectionEvents>(event?: K): this; public removeAllListeners<S extends string | symbol>(event?: Exclude<S, keyof CollectionEvents>): this; } declare class BaseDatabase extends EventEmitter { constructor(name: String); public displayName: String; public isReady: Boolean; public collection(options: Options): Collection; public on(event: 'ready', listener: (...args: []) => void): this; public on<S extends string | symbol>( event: Exclude<S, 'ready'>, listener: (...args: any[]) => void ): this; public once(event: 'ready', listener: (...args: any[]) => void): this; public once<S extends string | symbol>( event: Exclude<S, 'ready'>, listener: (...args: any[]) => void ): this; public emit(event: 'ready', ...args: any[]): this; public emit<S extends string | symbol>(event: Exclude<S, 'ready'>, ...args: any[]): this; public off(event: 'ready', listener: (...args: []) => void): this; public off<S extends string | symbol>( event: Exclude<S, 'ready'>, listener: (...args: any[]) => void ): this; public emit(event?: 'ready'): this; public emit<S extends string | symbol>(event?: Exclude<S, 'ready'>): this; } declare module 'dbd.db' { function database(name: String): BaseDatabase; export = database export function deprecated(dbName: String, collection: String): Promise<Boolean>; export const version: string; }