@difizen/mana-core
Version:
138 lines • 6.89 kB
TypeScript
import { Emitter } from '@difizen/mana-common';
import type { URI } from '@difizen/mana-common';
import type { Event } from '@difizen/mana-common';
import { ResourceMap, VSDisposable } from '../../../utils';
import type { IOverrides, IConfigurationModel, IConfigurationOverrides, IConfigurationData, IConfigurationValue, ConfigurationTarget, IConfigurationChangeEvent, IConfigurationChange } from './configuration';
import { ConfigurationScope } from './configurationRegistry';
interface Workspace {
getFolder: (_resource: URI) => {
uri: URI;
} | null;
}
export declare function distinct<T>(array: readonly T[], keyFn?: (_t: T) => string): T[];
export declare function equals<T>(one: readonly T[] | undefined, other: readonly T[] | undefined, itemEquals?: (_a: T, _b: T) => boolean): boolean;
export declare class ConfigurationModel implements IConfigurationModel {
private isFrozen;
private _contents;
private _keys;
private _overrides;
constructor(_contents?: any, _keys?: string[], _overrides?: IOverrides[]);
get contents(): any;
get overrides(): IOverrides[];
get keys(): string[];
isEmpty(): boolean;
getValue<V>(section: string | undefined): V;
getOverrideValue<V>(section: string | undefined, overrideIdentifier: string): V | undefined;
getKeysForOverrideIdentifier(identifier: string): string[];
override(identifier: string): ConfigurationModel;
merge(...others: ConfigurationModel[]): ConfigurationModel;
freeze(): ConfigurationModel;
private mergeContents;
private checkAndFreeze;
private getContentsForOverrideIdentifer;
toJSON(): IConfigurationModel;
setValue(key: string, value: any): void;
removeValue(key: string): void;
private addKey;
private removeKey;
}
export declare class DefaultConfigurationModel extends ConfigurationModel {
constructor();
}
export declare class ConfigurationModelParser {
private _raw;
private _configurationModel;
private _parseErrors;
protected readonly _name: string;
private _scopes?;
constructor(_name: string, _scopes?: ConfigurationScope[]);
get configurationModel(): ConfigurationModel;
get errors(): any[];
parseContent(content: string | null | undefined): void;
parseRaw(raw: any): void;
parse(): void;
protected doParseContent(content: string): any;
protected doParseRaw(raw: any): IConfigurationModel;
private filterByScope;
private getScope;
}
export declare class UserSettings extends VSDisposable {
private readonly parser;
protected readonly _onDidChange: Emitter<void>;
readonly onDidChange: Event<void>;
private readonly scopes;
constructor(scopes: ConfigurationScope[] | undefined);
loadConfiguration(): Promise<ConfigurationModel>;
reprocess(): ConfigurationModel;
}
export declare class Configuration {
private _workspaceConsolidatedConfiguration;
private _foldersConsolidatedConfigurations;
private _defaultConfiguration;
private _localUserConfiguration;
private _remoteUserConfiguration;
private _workspaceConfiguration;
private _memoryConfiguration;
private _memoryConfigurationByResource;
private _freeze;
constructor(_defaultConfiguration: ConfigurationModel, _localUserConfiguration: ConfigurationModel, _remoteUserConfiguration?: ConfigurationModel, _workspaceConfiguration?: ConfigurationModel, _memoryConfiguration?: ConfigurationModel, _memoryConfigurationByResource?: ResourceMap<ConfigurationModel>, _freeze?: boolean);
getValue(section: string | undefined, overrides: IConfigurationOverrides, workspace: Workspace | undefined): any;
updateValue(_key: string, _value: any, _overrides?: IConfigurationOverrides): void;
inspect<C>(key: string, overrides: IConfigurationOverrides, _workspace: Workspace | undefined): IConfigurationValue<C>;
keys(_workspace: Workspace | undefined): {
default: string[];
user: string[];
workspace: string[];
workspaceFolder: string[];
};
updateDefaultConfiguration(defaultConfiguration: ConfigurationModel): void;
updateLocalUserConfiguration(localUserConfiguration: ConfigurationModel): void;
updateRemoteUserConfiguration(remoteUserConfiguration: ConfigurationModel): void;
updateWorkspaceConfiguration(workspaceConfiguration: ConfigurationModel): void;
compareAndUpdateDefaultConfiguration(defaults: ConfigurationModel, keys: string[]): IConfigurationChange;
compareAndUpdateLocalUserConfiguration(user: ConfigurationModel): IConfigurationChange;
compareAndUpdateRemoteUserConfiguration(user: ConfigurationModel): IConfigurationChange;
compareAndUpdateWorkspaceConfiguration(workspaceConfiguration: ConfigurationModel): IConfigurationChange;
compareAndUpdateFolderConfiguration(_resource: URI, _folderConfiguration: ConfigurationModel): IConfigurationChange;
compareAndDeleteFolderConfiguration(_folder: URI): IConfigurationChange;
get defaults(): ConfigurationModel;
private _userConfiguration;
get userConfiguration(): ConfigurationModel;
get localUserConfiguration(): ConfigurationModel;
get remoteUserConfiguration(): ConfigurationModel;
get workspaceConfiguration(): ConfigurationModel;
private getConsolidateConfigurationModel;
private getConsolidatedConfigurationModelForResource;
private getWorkspaceConsolidatedConfiguration;
toData(): IConfigurationData;
allKeys(): string[];
protected getAllKeysForOverrideIdentifier(overrideIdentifier: string): string[];
static parse(data: IConfigurationData): Configuration;
private static parseConfigurationModel;
}
export declare function mergeChanges(...changes: IConfigurationChange[]): IConfigurationChange;
export declare class ConfigurationChangeEvent implements IConfigurationChangeEvent {
private readonly affectedKeysTree;
readonly affectedKeys: string[];
source: ConfigurationTarget;
sourceConfig: any;
readonly change: IConfigurationChange;
private readonly previous;
private readonly currentConfiguraiton;
private readonly currentWorkspace?;
constructor(change: IConfigurationChange, previous: {
workspace?: Workspace;
data: IConfigurationData;
} | undefined, currentConfiguraiton: Configuration, currentWorkspace?: Workspace);
private _previousConfiguration;
get previousConfiguration(): Configuration | undefined;
affectsConfiguration(section: string, overrides?: IConfigurationOverrides): boolean;
private doesAffectedKeysTreeContains;
}
export declare class AllKeysConfigurationChangeEvent extends ConfigurationChangeEvent {
source: ConfigurationTarget;
sourceConfig: any;
constructor(configuration: Configuration, workspace: Workspace, source: ConfigurationTarget, sourceConfig: any);
}
export {};
//# sourceMappingURL=configurationModels.d.ts.map