Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
microsoft
GitHub Repository: microsoft/vscode
Path: blob/main/src/vs/workbench/services/configuration/common/jsonEditing.ts
3296 views
1
/*---------------------------------------------------------------------------------------------
2
* Copyright (c) Microsoft Corporation. All rights reserved.
3
* Licensed under the MIT License. See License.txt in the project root for license information.
4
*--------------------------------------------------------------------------------------------*/
5
6
import { URI } from '../../../../base/common/uri.js';
7
import { createDecorator } from '../../../../platform/instantiation/common/instantiation.js';
8
import { JSONPath } from '../../../../base/common/json.js';
9
10
export const IJSONEditingService = createDecorator<IJSONEditingService>('jsonEditingService');
11
12
export const enum JSONEditingErrorCode {
13
14
/**
15
* Error when trying to write to a file that contains JSON errors.
16
*/
17
ERROR_INVALID_FILE
18
}
19
20
export class JSONEditingError extends Error {
21
constructor(message: string, public code: JSONEditingErrorCode) {
22
super(message);
23
}
24
}
25
26
export interface IJSONValue {
27
path: JSONPath;
28
value: unknown;
29
}
30
31
export interface IJSONEditingService {
32
33
readonly _serviceBrand: undefined;
34
35
write(resource: URI, values: IJSONValue[], save: boolean): Promise<void>;
36
}
37
38