Merge pull request #90 from remcohaszing/no-unnecessary-promises

Use type-fest Promisable for worker return types
This commit is contained in:
Remco Haszing 2021-08-25 18:41:14 +02:00 committed by GitHub
commit c99e1c3db6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 53 additions and 23 deletions

52
package-lock.json generated
View file

@ -31,6 +31,7 @@
"husky": "^7.0.1",
"lint-staged": "^11.1.1",
"monaco-editor": "^0.27.0",
"type-fest": "^2.1.0",
"typescript": "^4.3.5",
"yaml-language-server": "^0.22.0"
},
@ -5081,6 +5082,18 @@
"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": {
"version": "11.0.4",
"resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz",
@ -10609,12 +10622,12 @@
}
},
"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==",
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.1.0.tgz",
"integrity": "sha512-2wHUmKDy5wNLmebekbHx/zE9ElYAKOmz34psTLG7OwyEJHaIUr6jnaCd55EvgrawAvliwbwgbyH1LkxIfWFyNg==",
"dev": true,
"engines": {
"node": ">=10"
"node": ">=12.20"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
@ -15670,6 +15683,14 @@
"dev": true,
"requires": {
"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": {
@ -17136,11 +17157,12 @@
"eslint": "^7.32.0",
"eslint-config-remcohaszing": "^3.5.0",
"husky": "^7.0.1",
"js-yaml": "4.1.0",
"js-yaml": "^4.1.0",
"lint-staged": "^11.1.1",
"monaco-editor": "^0.27.0",
"path-browserify": "^1.0.1",
"prettier": "2.0.5",
"type-fest": "*",
"typescript": "^4.3.5",
"vscode-languageserver-textdocument": "^1.0.1",
"vscode-languageserver-types": "^3.16.0",
@ -21070,6 +21092,14 @@
"dev": true,
"requires": {
"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": {
@ -25328,9 +25358,9 @@
}
},
"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==",
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.1.0.tgz",
"integrity": "sha512-2wHUmKDy5wNLmebekbHx/zE9ElYAKOmz34psTLG7OwyEJHaIUr6jnaCd55EvgrawAvliwbwgbyH1LkxIfWFyNg==",
"dev": true
},
"type-is": {
@ -29011,9 +29041,9 @@
}
},
"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==",
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.1.0.tgz",
"integrity": "sha512-2wHUmKDy5wNLmebekbHx/zE9ElYAKOmz34psTLG7OwyEJHaIUr6jnaCd55EvgrawAvliwbwgbyH1LkxIfWFyNg==",
"dev": true
},
"type-is": {

View file

@ -59,6 +59,7 @@
"husky": "^7.0.1",
"lint-staged": "^11.1.1",
"monaco-editor": "^0.27.0",
"type-fest": "^2.1.0",
"typescript": "^4.3.5",
"yaml-language-server": "^0.22.0"
},

View file

@ -1,4 +1,5 @@
import { worker } from 'monaco-editor/esm/vs/editor/editor.api';
import { Promisable } from 'type-fest';
import { TextDocument } from 'vscode-languageserver-textdocument';
import * as ls from 'vscode-languageserver-types';
import {
@ -14,17 +15,17 @@ if (typeof fetch !== 'undefined') {
}
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(
@ -61,7 +62,7 @@ export function createYAMLWorker(
if (document) {
return languageService.doValidation(document, isKubernetes);
}
return Promise.resolve([]);
return [];
},
doComplete(uri, position) {
@ -76,18 +77,16 @@ export function createYAMLWorker(
format(uri, options) {
const document = getTextDocument(uri);
const textEdits = languageService.doFormat(document, options);
return Promise.resolve(textEdits);
return languageService.doFormat(document, options);
},
resetSchema(uri) {
return Promise.resolve(languageService.resetSchema(uri));
return languageService.resetSchema(uri);
},
findDocumentSymbols(uri) {
const document = getTextDocument(uri);
const symbols = languageService.findDocumentSymbols2(document, {});
return Promise.resolve(symbols);
return languageService.findDocumentSymbols2(document, {});
},
};
}