@difizen/mana-core
Version:
46 lines • 1.98 kB
TypeScript
import { Emitter } from '@difizen/mana-common';
import type { Contribution } from '@difizen/mana-syringe';
import { ApplicationContribution } from '../application';
import { ConfigurationCache } from './configuration-cache';
import type { ConfigurationNode } from './configuration-protocol';
import { ConfigurationProvider } from './configuration-provider';
import { ConfigurationRegistry } from './configuration-registry';
import type { ConfigurationStorage } from './configuration-storage';
import { SchemaValidator } from './validation';
export declare class ConfigurationService implements ApplicationContribution {
protected providers: Contribution.Provider<ConfigurationProvider>;
protected readonly configurationRegistry: ConfigurationRegistry;
protected readonly schemaValidator: SchemaValidator;
protected readonly configurationCache: ConfigurationCache;
protected readonly onConfigurationValueChangeEmitter: Emitter<{
key: string;
value: any;
}>;
readonly onConfigurationValueChange: import("@difizen/mana-common").Event<{
key: string;
value: any;
}>;
protected storageMap: Map<ConfigurationStorage, ConfigurationProvider>;
onWillStart(): Promise<void>;
prefetch(): Promise<void>;
has<T>(node: ConfigurationNode<T>, options?: {
useCache?: boolean;
}): Promise<boolean>;
get<T>(node: ConfigurationNode<T>, defaultValue?: T, options?: {
useCache?: boolean;
}): Promise<T>;
/**
*
* @param node 配置
* @param value 配置的值
* @param options
* @returns
*/
set<T>(node: ConfigurationNode<T>, value: T, options?: {
useCache?: boolean;
validate?: boolean;
}): Promise<void>;
remove<T>(node: ConfigurationNode<T>): Promise<void>;
protected getConfigurationProviderByStorage(storage: ConfigurationStorage): ConfigurationProvider | undefined;
}
//# sourceMappingURL=configuration-service.d.ts.map