38 lines
1.5 KiB
JavaScript
38 lines
1.5 KiB
JavaScript
"use strict";
|
|
/* --------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
* ------------------------------------------------------------------------------------------ */
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.ConfigurationFeature = void 0;
|
|
const vscode_languageserver_protocol_1 = require("vscode-languageserver-protocol");
|
|
const Is = require("./utils/is");
|
|
const ConfigurationFeature = (Base) => {
|
|
return class extends Base {
|
|
getConfiguration(arg) {
|
|
if (!arg) {
|
|
return this._getConfiguration({});
|
|
}
|
|
else if (Is.string(arg)) {
|
|
return this._getConfiguration({ section: arg });
|
|
}
|
|
else {
|
|
return this._getConfiguration(arg);
|
|
}
|
|
}
|
|
_getConfiguration(arg) {
|
|
let params = {
|
|
items: Array.isArray(arg) ? arg : [arg]
|
|
};
|
|
return this.connection.sendRequest(vscode_languageserver_protocol_1.ConfigurationRequest.type, params).then((result) => {
|
|
if (Array.isArray(result)) {
|
|
return Array.isArray(arg) ? result : result[0];
|
|
}
|
|
else {
|
|
return Array.isArray(arg) ? [] : null;
|
|
}
|
|
});
|
|
}
|
|
};
|
|
};
|
|
exports.ConfigurationFeature = ConfigurationFeature;
|