/* tslint:disable */ import { IConfigurationChangeEvent } from '../../../interfaces'; import { IConfigurationModel, ConfigurationTarget } from '../../../interfaces'; import { URI } from '@vscode-alt/monaco-editor/esm/vs/base/common/uri'; import { ResourceMap } from '@vscode-alt/monaco-editor/esm/vs/base/common/map'; import { Workspace } from '../../workspace/workspace'; // src/vs/workbench/services/configuration/common/configurationModels.ts export class WorkspaceConfigurationChangeEvent implements IConfigurationChangeEvent { constructor(private configurationChangeEvent: IConfigurationChangeEvent, private workspace: Workspace | undefined) { } get changedConfiguration(): IConfigurationModel { return this.configurationChangeEvent.changedConfiguration; } get changedConfigurationByResource(): ResourceMap { return this.configurationChangeEvent.changedConfigurationByResource; } get affectedKeys(): string[] { return this.configurationChangeEvent.affectedKeys; } get source(): ConfigurationTarget { return this.configurationChangeEvent.source; } get sourceConfig(): any { return this.configurationChangeEvent.sourceConfig; } affectsConfiguration(config: string, resource?: URI): boolean { if (this.configurationChangeEvent.affectsConfiguration(config, resource)) { return true; } if (resource && this.workspace) { let workspaceFolder = this.workspace.getFolder(resource); if (workspaceFolder) { return this.configurationChangeEvent.affectsConfiguration(config, workspaceFolder.uri); } } return false; } }