mirror of
https://github.com/danbulant/monaco-yaml
synced 2026-07-05 19:10:58 +00:00
Merge pull request #90 from remcohaszing/no-unnecessary-promises
Use type-fest Promisable for worker return types
This commit is contained in:
commit
c99e1c3db6
3 changed files with 53 additions and 23 deletions
52
package-lock.json
generated
52
package-lock.json
generated
|
|
@ -31,6 +31,7 @@
|
||||||
"husky": "^7.0.1",
|
"husky": "^7.0.1",
|
||||||
"lint-staged": "^11.1.1",
|
"lint-staged": "^11.1.1",
|
||||||
"monaco-editor": "^0.27.0",
|
"monaco-editor": "^0.27.0",
|
||||||
|
"type-fest": "^2.1.0",
|
||||||
"typescript": "^4.3.5",
|
"typescript": "^4.3.5",
|
||||||
"yaml-language-server": "^0.22.0"
|
"yaml-language-server": "^0.22.0"
|
||||||
},
|
},
|
||||||
|
|
@ -5081,6 +5082,18 @@
|
||||||
"url": "https://github.com/sponsors/sindresorhus"
|
"url": "https://github.com/sponsors/sindresorhus"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/globals/node_modules/type-fest": {
|
||||||
|
"version": "0.20.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
|
||||||
|
"integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">=10"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/sindresorhus"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/globby": {
|
"node_modules/globby": {
|
||||||
"version": "11.0.4",
|
"version": "11.0.4",
|
||||||
"resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz",
|
"resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz",
|
||||||
|
|
@ -10609,12 +10622,12 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/type-fest": {
|
"node_modules/type-fest": {
|
||||||
"version": "0.20.2",
|
"version": "2.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
|
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.1.0.tgz",
|
||||||
"integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
|
"integrity": "sha512-2wHUmKDy5wNLmebekbHx/zE9ElYAKOmz34psTLG7OwyEJHaIUr6jnaCd55EvgrawAvliwbwgbyH1LkxIfWFyNg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=10"
|
"node": ">=12.20"
|
||||||
},
|
},
|
||||||
"funding": {
|
"funding": {
|
||||||
"url": "https://github.com/sponsors/sindresorhus"
|
"url": "https://github.com/sponsors/sindresorhus"
|
||||||
|
|
@ -15670,6 +15683,14 @@
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"type-fest": "^0.20.2"
|
"type-fest": "^0.20.2"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"type-fest": {
|
||||||
|
"version": "0.20.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
|
||||||
|
"integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
|
||||||
|
"dev": true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"globby": {
|
"globby": {
|
||||||
|
|
@ -17136,11 +17157,12 @@
|
||||||
"eslint": "^7.32.0",
|
"eslint": "^7.32.0",
|
||||||
"eslint-config-remcohaszing": "^3.5.0",
|
"eslint-config-remcohaszing": "^3.5.0",
|
||||||
"husky": "^7.0.1",
|
"husky": "^7.0.1",
|
||||||
"js-yaml": "4.1.0",
|
"js-yaml": "^4.1.0",
|
||||||
"lint-staged": "^11.1.1",
|
"lint-staged": "^11.1.1",
|
||||||
"monaco-editor": "^0.27.0",
|
"monaco-editor": "^0.27.0",
|
||||||
"path-browserify": "^1.0.1",
|
"path-browserify": "^1.0.1",
|
||||||
"prettier": "2.0.5",
|
"prettier": "2.0.5",
|
||||||
|
"type-fest": "*",
|
||||||
"typescript": "^4.3.5",
|
"typescript": "^4.3.5",
|
||||||
"vscode-languageserver-textdocument": "^1.0.1",
|
"vscode-languageserver-textdocument": "^1.0.1",
|
||||||
"vscode-languageserver-types": "^3.16.0",
|
"vscode-languageserver-types": "^3.16.0",
|
||||||
|
|
@ -21070,6 +21092,14 @@
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"type-fest": "^0.20.2"
|
"type-fest": "^0.20.2"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"type-fest": {
|
||||||
|
"version": "0.20.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
|
||||||
|
"integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
|
||||||
|
"dev": true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"globby": {
|
"globby": {
|
||||||
|
|
@ -25328,9 +25358,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"type-fest": {
|
"type-fest": {
|
||||||
"version": "0.20.2",
|
"version": "2.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
|
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.1.0.tgz",
|
||||||
"integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
|
"integrity": "sha512-2wHUmKDy5wNLmebekbHx/zE9ElYAKOmz34psTLG7OwyEJHaIUr6jnaCd55EvgrawAvliwbwgbyH1LkxIfWFyNg==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"type-is": {
|
"type-is": {
|
||||||
|
|
@ -29011,9 +29041,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"type-fest": {
|
"type-fest": {
|
||||||
"version": "0.20.2",
|
"version": "2.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
|
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.1.0.tgz",
|
||||||
"integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
|
"integrity": "sha512-2wHUmKDy5wNLmebekbHx/zE9ElYAKOmz34psTLG7OwyEJHaIUr6jnaCd55EvgrawAvliwbwgbyH1LkxIfWFyNg==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"type-is": {
|
"type-is": {
|
||||||
|
|
|
||||||
|
|
@ -59,6 +59,7 @@
|
||||||
"husky": "^7.0.1",
|
"husky": "^7.0.1",
|
||||||
"lint-staged": "^11.1.1",
|
"lint-staged": "^11.1.1",
|
||||||
"monaco-editor": "^0.27.0",
|
"monaco-editor": "^0.27.0",
|
||||||
|
"type-fest": "^2.1.0",
|
||||||
"typescript": "^4.3.5",
|
"typescript": "^4.3.5",
|
||||||
"yaml-language-server": "^0.22.0"
|
"yaml-language-server": "^0.22.0"
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
import { worker } from 'monaco-editor/esm/vs/editor/editor.api';
|
import { worker } from 'monaco-editor/esm/vs/editor/editor.api';
|
||||||
|
import { Promisable } from 'type-fest';
|
||||||
import { TextDocument } from 'vscode-languageserver-textdocument';
|
import { TextDocument } from 'vscode-languageserver-textdocument';
|
||||||
import * as ls from 'vscode-languageserver-types';
|
import * as ls from 'vscode-languageserver-types';
|
||||||
import {
|
import {
|
||||||
|
|
@ -14,17 +15,17 @@ if (typeof fetch !== 'undefined') {
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface YAMLWorker {
|
export interface YAMLWorker {
|
||||||
doValidation: (uri: string) => PromiseLike<ls.Diagnostic[]>;
|
doValidation: (uri: string) => Promisable<ls.Diagnostic[]>;
|
||||||
|
|
||||||
doComplete: (uri: string, position: ls.Position) => PromiseLike<ls.CompletionList>;
|
doComplete: (uri: string, position: ls.Position) => Promisable<ls.CompletionList>;
|
||||||
|
|
||||||
doHover: (uri: string, position: ls.Position) => PromiseLike<ls.Hover>;
|
doHover: (uri: string, position: ls.Position) => Promisable<ls.Hover>;
|
||||||
|
|
||||||
format: (uri: string, options: CustomFormatterOptions) => PromiseLike<ls.TextEdit[]>;
|
format: (uri: string, options: CustomFormatterOptions) => Promisable<ls.TextEdit[]>;
|
||||||
|
|
||||||
resetSchema: (uri: string) => PromiseLike<boolean>;
|
resetSchema: (uri: string) => Promisable<boolean>;
|
||||||
|
|
||||||
findDocumentSymbols: (uri: string) => PromiseLike<ls.DocumentSymbol[]>;
|
findDocumentSymbols: (uri: string) => Promisable<ls.DocumentSymbol[]>;
|
||||||
}
|
}
|
||||||
|
|
||||||
export function createYAMLWorker(
|
export function createYAMLWorker(
|
||||||
|
|
@ -61,7 +62,7 @@ export function createYAMLWorker(
|
||||||
if (document) {
|
if (document) {
|
||||||
return languageService.doValidation(document, isKubernetes);
|
return languageService.doValidation(document, isKubernetes);
|
||||||
}
|
}
|
||||||
return Promise.resolve([]);
|
return [];
|
||||||
},
|
},
|
||||||
|
|
||||||
doComplete(uri, position) {
|
doComplete(uri, position) {
|
||||||
|
|
@ -76,18 +77,16 @@ export function createYAMLWorker(
|
||||||
|
|
||||||
format(uri, options) {
|
format(uri, options) {
|
||||||
const document = getTextDocument(uri);
|
const document = getTextDocument(uri);
|
||||||
const textEdits = languageService.doFormat(document, options);
|
return languageService.doFormat(document, options);
|
||||||
return Promise.resolve(textEdits);
|
|
||||||
},
|
},
|
||||||
|
|
||||||
resetSchema(uri) {
|
resetSchema(uri) {
|
||||||
return Promise.resolve(languageService.resetSchema(uri));
|
return languageService.resetSchema(uri);
|
||||||
},
|
},
|
||||||
|
|
||||||
findDocumentSymbols(uri) {
|
findDocumentSymbols(uri) {
|
||||||
const document = getTextDocument(uri);
|
const document = getTextDocument(uri);
|
||||||
const symbols = languageService.findDocumentSymbols2(document, {});
|
return languageService.findDocumentSymbols2(document, {});
|
||||||
return Promise.resolve(symbols);
|
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue