UNPKG

@convo-lang/convo-lang

Version:
35 lines (34 loc) 1.41 kB
import { Scope } from "@iyio/common"; import { PromiseResultTypeVoid } from "../result-type.js"; import { ConvoDb, ConvoDbConnectionStringHandler, ConvoDbFactory, ConvoDbMap } from "./convo-db-types.js"; export interface ConvoDbInstanceMapOptions { dbMap?: ConvoDbMap; /** * Used to lazy initialize a db instance map */ lazyInit?: (inst: ConvoDbInstanceMap) => void | Promise<void>; scope?: Scope; importMap?: Record<string, string>; enabledDynamicImports?: boolean; } export declare class ConvoDbInstanceMap { readonly dbMap: ConvoDbMap; private readonly cache; /** * Used to lazy initialize a db instance map. Will be called the first time getDbAsync is called * before creating any db instances. */ private lazyInit?; private scope?; private connectionStringHandlers; readonly importMap: Record<string, string>; enabledDynamicImports: boolean; constructor({ dbMap, importMap, enabledDynamicImports, lazyInit, }?: ConvoDbInstanceMapOptions); private initPromise?; private initAsync; getDbAsync(name: string): Promise<ConvoDb | undefined>; registerStringConnector(type: string, factory: ConvoDbFactory): void; registerStringConnector(handler: ConvoDbConnectionStringHandler): void; addFactoryUsingConnectionStringAsync(connectionString: string): PromiseResultTypeVoid; private getDynamicAsync; }