UNPKG

@wxn0brp/db

Version:

A simple file-based database management system with support for CRUD operations, custom queries, and graph structures.

37 lines (36 loc) 2.13 kB
import CollectionManager from "../helpers/CollectionManager.js"; import { Arg, Search, Updater } from "./arg.js"; import Data from "./data.js"; import { DbFindOpts, FindOpts } from "./options.js"; import { VQuery } from "./query.js"; import { Context } from "./types.js"; export interface ValtheraCompatible { c(collection: string): CollectionManager; getCollections(): Promise<string[]>; checkCollection(collection: string): Promise<boolean>; issetCollection(collection: string): Promise<boolean>; add<T = Data>(collection: string, data: Arg, id_gen?: boolean): Promise<T>; find<T = Data>(collection: string, search: Search, context?: Context, options?: DbFindOpts, findOpts?: FindOpts): Promise<T[]>; findOne<T = Data>(collection: string, search: Search, context?: Context, findOpts?: FindOpts): Promise<T | null>; update(collection: string, search: Search, updater: Updater, context?: Context): Promise<boolean>; updateOne(collection: string, search: Search, updater: Updater, context?: Context): Promise<boolean>; remove(collection: string, search: Search, context?: Context): Promise<boolean>; removeOne(collection: string, search: Search, context?: Context): Promise<boolean>; removeCollection(collection: string): Promise<boolean>; updateOneOrAdd(collection: string, search: Search, updater: Updater, add_arg?: Arg, context?: Context, id_gen?: boolean): Promise<boolean>; } export interface ValtheraCompatibleInternal { c(config: VQuery): CollectionManager; getCollections(): Promise<string[]>; checkCollection(config: VQuery): Promise<boolean>; issetCollection(config: VQuery): Promise<boolean>; add<T = Data>(config: VQuery): Promise<T>; find<T = Data>(config: VQuery): Promise<T[]>; findOne<T = Data>(config: VQuery): Promise<T | null>; update(config: VQuery): Promise<boolean>; updateOne(config: VQuery): Promise<boolean>; remove(config: VQuery): Promise<boolean>; removeOne(config: VQuery): Promise<boolean>; removeCollection(config: VQuery): Promise<boolean>; updateOneOrAdd(config: VQuery): Promise<boolean>; }