UNPKG

@hashgraph/solo

Version:

An opinionated CLI tool to deploy and manage private Hedera Networks.

50 lines (49 loc) 2.7 kB
import { SingletonContainer } from './singleton-container.js'; import { ValueContainer } from './value-container.js'; export type InstanceOverrides = Map<symbol, SingletonContainer | ValueContainer>; /** * Container class to manage the dependency injection container */ export declare class Container { private static instance; private static isInitialized; private constructor(); /** * Get the singleton instance of the container */ static getInstance(): Container; private static singletonContainers; private static valueContainers; private static factorySuppliers; /** * Initialize the container with the default dependencies * @param homeDirectory - the home directory to use, defaults to constants.SOLO_HOME_DIR * @param cacheDirectory - the cache directory to use, defaults to constants.SOLO_CACHE_DIR * @param logLevel - the log level to use, defaults to 'debug' * @param developmentMode - if true, show full stack traces in error messages * @param overrides - instances to use instead of the default implementations */ init(homeDirectory?: string, cacheDirectory?: string, logLevel?: string, developmentMode?: boolean, overrides?: InstanceOverrides): void; /** * clears the container registries and re-initializes the container * @param homeDirectory - the home directory to use, defaults to constants.SOLO_HOME_DIR * @param cacheDirectory - the cache directory to use, defaults to constants.SOLO_CACHE_DIR * @param logLevel - the log level to use, defaults to 'debug' * @param developmentMode - if true, show full stack traces in error messages * @param overrides - instances to use instead of the default implementations */ reset(homeDirectory?: string, cacheDirectory?: string, logLevel?: string, developmentMode?: boolean, overrides?: InstanceOverrides): void; /** * clears the container instances, useful for testing when you are using container.registerInstance() * @param homeDirectory - the home directory to use, defaults to constants.SOLO_HOME_DIR * @param cacheDirectory - the cache directory to use, defaults to constants.SOLO_CACHE_DIR * @param logLevel - the log level to use, defaults to 'debug' * @param developmentMode - if true, show full stack traces in error messages * @param overrides - instances to use instead of the default implementations */ clearInstances(homeDirectory?: string, cacheDirectory?: string, logLevel?: string, developmentMode?: boolean, overrides?: InstanceOverrides): void; /** * only call dispose when you are about to system exit */ dispose(): Promise<void>; }