UNPKG

@sussudio/platform

Version:

Internal APIs for VS Code's service injection the base services.

213 lines (211 loc) 8.78 kB
/*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ import { IStringDictionary } from '@sussudio/base/common/collections.mjs'; import { Emitter, Event } from '@sussudio/base/common/event.mjs'; import { Disposable } from '@sussudio/base/common/lifecycle.mjs'; import { ResourceMap } from '@sussudio/base/common/map.mjs'; import { IExtUri } from '@sussudio/base/common/resources.mjs'; import { URI } from '@sussudio/base/common/uri.mjs'; import { ConfigurationTarget, IConfigurationChange, IConfigurationChangeEvent, IConfigurationData, IConfigurationModel, IConfigurationOverrides, IConfigurationUpdateOverrides, IConfigurationValue, IOverrides, } from './configuration.mjs'; import { ConfigurationScope } from './configurationRegistry.mjs'; import { IFileService } from '../../files/common/files.mjs'; import { Workspace } from '../../workspace/common/workspace.mjs'; export interface IInspectValue<V> { value?: V; override?: V; merged?: V; } export declare class ConfigurationModel implements IConfigurationModel { private readonly _contents; private readonly _keys; private readonly _overrides; readonly raw?: readonly (IStringDictionary<any> | ConfigurationModel)[] | undefined; private frozen; private readonly overrideConfigurations; constructor( _contents?: any, _keys?: string[], _overrides?: IOverrides[], raw?: readonly (IStringDictionary<any> | ConfigurationModel)[] | undefined, ); private _rawConfiguration; get rawConfiguration(): ConfigurationModel; get contents(): any; get overrides(): IOverrides[]; get keys(): string[]; isEmpty(): boolean; isFrozen(): boolean; getValue<V>(section: string | undefined): V; inspect<V>(section: string | undefined, overrideIdentifier?: string | null): IInspectValue<V>; getOverrideValue<V>(section: string | undefined, overrideIdentifier: string): V | undefined; getKeysForOverrideIdentifier(identifier: string): string[]; getAllOverrideIdentifiers(): string[]; override(identifier: string): ConfigurationModel; merge(...others: ConfigurationModel[]): ConfigurationModel; freeze(): ConfigurationModel; private createOverrideConfigurationModel; private mergeContents; private checkAndFreeze; private getContentsForOverrideIdentifer; toJSON(): IConfigurationModel; setValue(key: string, value: any): void; removeValue(key: string): void; private addKey; private removeKey; } export interface ConfigurationParseOptions { scopes: ConfigurationScope[] | undefined; skipRestricted?: boolean; } export declare class ConfigurationModelParser { protected readonly _name: string; private _raw; private _configurationModel; private _restrictedConfigurations; private _parseErrors; constructor(_name: string); get configurationModel(): ConfigurationModel; get restrictedConfigurations(): string[]; get errors(): any[]; parse(content: string | null | undefined, options?: ConfigurationParseOptions): void; reparse(options: ConfigurationParseOptions): void; parseRaw(raw: any, options?: ConfigurationParseOptions): void; private doParseContent; protected doParseRaw( raw: any, options?: ConfigurationParseOptions, ): IConfigurationModel & { restricted?: string[]; hasExcludedProperties?: boolean; }; private filter; private toOverrides; } export declare class UserSettings extends Disposable { private readonly userSettingsResource; private readonly scopes; private readonly fileService; private readonly parser; private readonly parseOptions; protected readonly _onDidChange: Emitter<void>; readonly onDidChange: Event<void>; constructor( userSettingsResource: URI, scopes: ConfigurationScope[] | undefined, extUri: IExtUri, fileService: IFileService, ); loadConfiguration(): Promise<ConfigurationModel>; reparse(): ConfigurationModel; getRestrictedSettings(): string[]; } export declare class Configuration { private _defaultConfiguration; private _policyConfiguration; private _applicationConfiguration; private _localUserConfiguration; private _remoteUserConfiguration; private _workspaceConfiguration; private _folderConfigurations; private _memoryConfiguration; private _memoryConfigurationByResource; private _freeze; private _workspaceConsolidatedConfiguration; private _foldersConsolidatedConfigurations; constructor( _defaultConfiguration: ConfigurationModel, _policyConfiguration: ConfigurationModel, _applicationConfiguration: ConfigurationModel, _localUserConfiguration: ConfigurationModel, _remoteUserConfiguration?: ConfigurationModel, _workspaceConfiguration?: ConfigurationModel, _folderConfigurations?: ResourceMap<ConfigurationModel>, _memoryConfiguration?: ConfigurationModel, _memoryConfigurationByResource?: ResourceMap<ConfigurationModel>, _freeze?: boolean, ); getValue(section: string | undefined, overrides: IConfigurationOverrides, workspace: Workspace | undefined): any; updateValue(key: string, value: any, overrides?: IConfigurationUpdateOverrides): 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; updatePolicyConfiguration(policyConfiguration: ConfigurationModel): void; updateApplicationConfiguration(applicationConfiguration: ConfigurationModel): void; updateLocalUserConfiguration(localUserConfiguration: ConfigurationModel): void; updateRemoteUserConfiguration(remoteUserConfiguration: ConfigurationModel): void; updateWorkspaceConfiguration(workspaceConfiguration: ConfigurationModel): void; updateFolderConfiguration(resource: URI, configuration: ConfigurationModel): void; deleteFolderConfiguration(resource: URI): void; compareAndUpdateDefaultConfiguration(defaults: ConfigurationModel, keys?: string[]): IConfigurationChange; compareAndUpdatePolicyConfiguration(policyConfiguration: ConfigurationModel): IConfigurationChange; compareAndUpdateApplicationConfiguration(application: ConfigurationModel): 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; get applicationConfiguration(): ConfigurationModel; private _userConfiguration; get userConfiguration(): ConfigurationModel; get localUserConfiguration(): ConfigurationModel; get remoteUserConfiguration(): ConfigurationModel; get workspaceConfiguration(): ConfigurationModel; protected get folderConfigurations(): ResourceMap<ConfigurationModel>; private getConsolidatedConfigurationModel; private getConsolidatedConfigurationModelForResource; private getWorkspaceConsolidatedConfiguration; private getFolderConsolidatedConfiguration; private getFolderConfigurationModelForResource; toData(): IConfigurationData; allKeys(): string[]; protected allOverrideIdentifiers(): 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 { readonly change: IConfigurationChange; private readonly previous; private readonly currentConfiguraiton; private readonly currentWorkspace?; private readonly _marker; private readonly _markerCode1; private readonly _markerCode2; private readonly _affectsConfigStr; readonly affectedKeys: Set<string>; source: ConfigurationTarget; sourceConfig: any; constructor( change: IConfigurationChange, previous: | { workspace?: Workspace; data: IConfigurationData; } | undefined, currentConfiguraiton: Configuration, currentWorkspace?: Workspace | undefined, ); private _previousConfiguration; get previousConfiguration(): Configuration | undefined; affectsConfiguration(section: string, overrides?: IConfigurationOverrides): boolean; }