UNPKG

ryuudb

Version:

A lightweight, customizable JSON/YAML database for Node.js by Jr Busaco

45 lines (38 loc) 1.29 kB
declare module 'ryuudb' { interface Options { filePath?: string; format?: 'json' | 'yaml'; adapter?: 'file' | 'memory' | Adapter; debounce?: number; defaultData?: any; } interface Adapter { read(): Promise<any>; write(data: any): Promise<void>; } class RyuuDB { constructor(options?: Options); load(): Promise<void>; save(): Promise<void>; get(path?: string): any; set(path: string, value: any): this; find(path: string, query: object | ((item: any) => boolean)): any; filter(path: string, query: object | ((item: any) => boolean)): any[]; update(path: string, query: object | ((item: any) => boolean), updates: object): this; remove(path: string, query: object | ((item: any) => boolean)): this; clear(path?: string): this; on(event: 'load' | 'save' | 'set' | 'update' | 'remove' | 'clear', listener: (data: any) => void): this; } class FileAdapter implements Adapter { constructor(filePath: string, format?: 'json' | 'yaml'); read(): Promise<any>; write(data: any): Promise<void>; } class MemoryAdapter implements Adapter { constructor(); read(): Promise<any>; write(data: any): Promise<void>; } export default RyuuDB; export { FileAdapter, MemoryAdapter }; }