UNPKG

@push.rocks/smartdata

Version:

An advanced library for NoSQL data organization and manipulation using TypeScript with support for MongoDB, data validation, collections, and custom data types.

37 lines (36 loc) 1.44 kB
import * as plugins from './plugins.js'; import { SmartdataCollection } from './classes.collection.js'; import { EasyStore } from './classes.easystore.js'; /** * interface - indicates the connection status of the db */ export type TConnectionStatus = 'initial' | 'disconnected' | 'connected' | 'failed'; export declare class SmartdataDb { smartdataOptions: plugins.tsclass.database.IMongoDescriptor; mongoDbClient: plugins.mongodb.MongoClient; mongoDb: plugins.mongodb.Db; status: TConnectionStatus; statusConnectedDeferred: plugins.smartpromise.Deferred<unknown>; smartdataCollectionMap: plugins.lik.ObjectMap<SmartdataCollection<any>>; constructor(smartdataOptions: plugins.tsclass.database.IMongoDescriptor); createEasyStore(nameIdArg: string): Promise<EasyStore<unknown>>; /** * connects to the database that was specified during instance creation */ init(): Promise<any>; /** * closes the connection to the databse */ close(): Promise<any>; /** * Start a MongoDB client session for transactions */ startSession(): plugins.mongodb.ClientSession; addCollection(SmartdataCollectionArg: SmartdataCollection<any>): void; /** * Gets a collection's name and returns a SmartdataCollection instance * @param nameArg * @returns DbTable */ getSmartdataCollectionByName<T>(nameArg: string): Promise<SmartdataCollection<T>>; }