UNPKG

synapse-storage

Version:

Набор инструментов для управления состоянием и апи-запросами

36 lines (35 loc) 1.26 kB
import { BaseStorageConfig, ILogger, StorageType } from '../../storage.interface'; interface SingletonResult<T> { instance: T; isNewInstance: boolean; appliedConfig: BaseStorageConfig; conflicts?: string[]; } export declare class SingletonManager { private static instances; private static configs; private static logger?; static setLogger(logger: ILogger): void; static getOrCreate<T>(key: string, config: BaseStorageConfig, factory: (finalConfig: BaseStorageConfig) => T): SingletonResult<T>; static exists(key: string): boolean; static getConfig(key: string): BaseStorageConfig | undefined; static remove(key: string): boolean; static clear(): void; static getStats(): { instanceCount: number; instances: string[]; }; private static mergeConfigurations; private static strictMerge; private static firstWinsMerge; private static deepMerge; private static overrideMerge; private static warnAndUseFirst; private static findConflicts; private static findObjectConflicts; private static deepMergeObjects; } export declare class SingletonKeyGenerator { static generate(config: BaseStorageConfig, storageType: StorageType): string; } export {};