@convo-lang/convo-lang
Version:
The language of AI
35 lines (34 loc) • 1.41 kB
TypeScript
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;
}