@microsoft/powerquery-language-services 0.9.2 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/powerquery-language-services/analysis/analysisBase.js +51 -48
- package/lib/powerquery-language-services/analysis/analysisBase.js.map +1 -1
- package/lib/powerquery-language-services/documentSymbols.js +6 -5
- package/lib/powerquery-language-services/documentSymbols.js.map +1 -1
- package/lib/powerquery-language-services/externalType/externalType.d.ts +1 -1
- package/lib/powerquery-language-services/externalType/externalType.js.map +1 -1
- package/lib/powerquery-language-services/externalType/externalTypeUtils.js +3 -2
- package/lib/powerquery-language-services/externalType/externalTypeUtils.js.map +1 -1
- package/lib/powerquery-language-services/inspection/activeNode/activeNode.d.ts +2 -2
- package/lib/powerquery-language-services/inspection/activeNode/activeNode.js.map +1 -1
- package/lib/powerquery-language-services/inspection/activeNode/activeNodeUtils.js +41 -40
- package/lib/powerquery-language-services/inspection/activeNode/activeNodeUtils.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteFieldAccess.d.ts +4 -2
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteFieldAccess.js +118 -95
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteFieldAccess.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItemUtils.d.ts +1 -3
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItemUtils.js +8 -31
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItemUtils.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.js +31 -31
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordDefault.js +23 -22
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordDefault.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordErrorHandlingExpression.js +6 -6
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordErrorHandlingExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordIdentifierPairedExpression.js +2 -2
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordIdentifierPairedExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordLetExpression.js +6 -6
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordLetExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordListExpression.js +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordListExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordSectionMember.js +6 -5
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordSectionMember.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordTrailingText.js +6 -5
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordTrailingText.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.d.ts +2 -2
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.js +122 -78
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompletePrimitiveType.js +56 -54
- package/lib/powerquery-language-services/inspection/autocomplete/autocompletePrimitiveType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/commonTypes.d.ts +6 -4
- package/lib/powerquery-language-services/inspection/autocomplete/task.js +6 -9
- package/lib/powerquery-language-services/inspection/autocomplete/task.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/trailingToken.d.ts +0 -1
- package/lib/powerquery-language-services/inspection/autocomplete/trailingTokenUtils.js +3 -3
- package/lib/powerquery-language-services/inspection/autocomplete/trailingTokenUtils.js.map +1 -1
- package/lib/powerquery-language-services/inspection/deferenceIdentifier.js +17 -14
- package/lib/powerquery-language-services/inspection/deferenceIdentifier.js.map +1 -1
- package/lib/powerquery-language-services/inspection/expectedType.js +61 -60
- package/lib/powerquery-language-services/inspection/expectedType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/invokeExpression/currentInvokeExpression.js +15 -10
- package/lib/powerquery-language-services/inspection/invokeExpression/currentInvokeExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/invokeExpression/invokeExpression.js +8 -6
- package/lib/powerquery-language-services/inspection/invokeExpression/invokeExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/pseudoFunctionExpressionType.js +6 -6
- package/lib/powerquery-language-services/inspection/pseudoFunctionExpressionType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/scope/scope.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/scope/scope.js.map +1 -1
- package/lib/powerquery-language-services/inspection/scope/scopeInspection.js +35 -33
- package/lib/powerquery-language-services/inspection/scope/scopeInspection.js.map +1 -1
- package/lib/powerquery-language-services/inspection/scope/scopeUtils.js +20 -18
- package/lib/powerquery-language-services/inspection/scope/scopeUtils.js.map +1 -1
- package/lib/powerquery-language-services/inspection/task.js +17 -14
- package/lib/powerquery-language-services/inspection/task.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/common.js +80 -79
- package/lib/powerquery-language-services/inspection/type/inspectType/common.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/examineFieldSpecificationList.js +4 -3
- package/lib/powerquery-language-services/inspection/type/inspectType/examineFieldSpecificationList.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeConstant.js +20 -20
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeConstant.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeEachExpression.js +5 -4
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeEachExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeErrorHandlingExpression.js +8 -7
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeErrorHandlingExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/common.js +6 -5
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/common.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldProjection.js +23 -22
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldProjection.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldSelector.js +11 -10
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldSelector.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSpecification.js +4 -3
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSpecification.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionExpression.js +15 -13
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionType.js +13 -11
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifier.js +4 -3
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifier.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifierExpression.js +4 -3
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifierExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIfExpression.js +10 -9
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIfExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeInvokeExpression.js +10 -9
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeInvokeExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeList.js +8 -6
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeList.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeListType.js +9 -7
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeListType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeLiteralExpression.js +9 -8
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeLiteralExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeNullCoalescingExpression.js +6 -5
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeNullCoalescingExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeParameter.js +5 -4
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeParameter.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypePrimitiveType.js +5 -4
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypePrimitiveType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRangeExpression.js +10 -8
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRangeExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecord.js +8 -6
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecord.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecordType.js +9 -7
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecordType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecursivePrimaryExpression.js +10 -9
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecursivePrimaryExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTBinOpExpression.js +74 -73
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTBinOpExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTableType.js +11 -9
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTableType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeUnaryExpression.js +12 -11
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeUnaryExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/task.js +6 -4
- package/lib/powerquery-language-services/inspection/type/task.js.map +1 -1
- package/lib/powerquery-language-services/inspectionSettings.d.ts +1 -1
- package/lib/powerquery-language-services/inspectionSettings.js.map +1 -1
- package/lib/powerquery-language-services/inspectionUtils.js +22 -21
- package/lib/powerquery-language-services/inspectionUtils.js.map +1 -1
- package/lib/powerquery-language-services/library/index.d.ts +1 -0
- package/lib/powerquery-language-services/library/index.js +2 -1
- package/lib/powerquery-language-services/library/index.js.map +1 -1
- package/lib/powerquery-language-services/library/library.d.ts +8 -2
- package/lib/powerquery-language-services/library/library.js +4 -1
- package/lib/powerquery-language-services/library/library.js.map +1 -1
- package/lib/powerquery-language-services/library/libraryDefinitionUtils.d.ts +21 -0
- package/lib/powerquery-language-services/library/libraryDefinitionUtils.js +108 -0
- package/lib/powerquery-language-services/library/libraryDefinitionUtils.js.map +1 -0
- package/lib/powerquery-language-services/library/librarySymbolUtils.d.ts +3 -3
- package/lib/powerquery-language-services/library/librarySymbolUtils.js +21 -15
- package/lib/powerquery-language-services/library/librarySymbolUtils.js.map +1 -1
- package/lib/powerquery-language-services/library/libraryUtils.d.ts +5 -16
- package/lib/powerquery-language-services/library/libraryUtils.js +15 -71
- package/lib/powerquery-language-services/library/libraryUtils.js.map +1 -1
- package/lib/powerquery-language-services/localization/templates.js +42 -42
- package/lib/powerquery-language-services/localization/templates.js.map +1 -1
- package/lib/powerquery-language-services/positionUtils.d.ts +1 -0
- package/lib/powerquery-language-services/positionUtils.js +20 -15
- package/lib/powerquery-language-services/positionUtils.js.map +1 -1
- package/lib/powerquery-language-services/providers/languageCompletionItemProvider.js +15 -15
- package/lib/powerquery-language-services/providers/languageCompletionItemProvider.js.map +1 -1
- package/lib/powerquery-language-services/providers/libraryProvider.d.ts +2 -3
- package/lib/powerquery-language-services/providers/libraryProvider.js +16 -13
- package/lib/powerquery-language-services/providers/libraryProvider.js.map +1 -1
- package/lib/powerquery-language-services/providers/localDocumentProvider/foldingRanges.js +15 -13
- package/lib/powerquery-language-services/providers/localDocumentProvider/foldingRanges.js.map +1 -1
- package/lib/powerquery-language-services/providers/localDocumentProvider/localDocumentProvider.js +21 -20
- package/lib/powerquery-language-services/providers/localDocumentProvider/localDocumentProvider.js.map +1 -1
- package/lib/powerquery-language-services/providers/localDocumentProvider/partialSemanticToken.js +64 -62
- package/lib/powerquery-language-services/providers/localDocumentProvider/partialSemanticToken.js.map +1 -1
- package/lib/powerquery-language-services/providers/nullSymbolProvider.js +4 -1
- package/lib/powerquery-language-services/providers/nullSymbolProvider.js.map +1 -1
- package/lib/powerquery-language-services/tokenPositionComparison.d.ts +1 -1
- package/lib/powerquery-language-services/tokenPositionComparison.js.map +1 -1
- package/lib/powerquery-language-services/trace.d.ts +4 -4
- package/lib/powerquery-language-services/trace.js.map +1 -1
- package/lib/powerquery-language-services/validate/validate.js +2 -1
- package/lib/powerquery-language-services/validate/validate.js.map +1 -1
- package/lib/powerquery-language-services/validate/validateDuplicateIdentifiers.js +13 -11
- package/lib/powerquery-language-services/validate/validateDuplicateIdentifiers.js.map +1 -1
- package/lib/powerquery-language-services/validate/validateFunctionExpression.js +5 -3
- package/lib/powerquery-language-services/validate/validateFunctionExpression.js.map +1 -1
- package/lib/powerquery-language-services/validate/validateInvokeExpression.js +5 -3
- package/lib/powerquery-language-services/validate/validateInvokeExpression.js.map +1 -1
- package/lib/powerquery-language-services/validate/validateUnknownIdentifiers.js +11 -8
- package/lib/powerquery-language-services/validate/validateUnknownIdentifiers.js.map +1 -1
- package/package.json +4 -4
|
@@ -16,11 +16,12 @@ const powerquery_parser_1 = require("@microsoft/powerquery-parser");
|
|
|
16
16
|
const language_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/language");
|
|
17
17
|
const vscode_languageserver_types_1 = require("vscode-languageserver-types");
|
|
18
18
|
const _1 = require(".");
|
|
19
|
+
const inspectionSettings_1 = require("./inspectionSettings");
|
|
19
20
|
const autocomplete_1 = require("./inspection/autocomplete");
|
|
20
21
|
const library_1 = require("./library");
|
|
21
22
|
function inspectionSettings(settings, overrides) {
|
|
22
23
|
var _a, _b, _c, _d;
|
|
23
|
-
return Object.assign(Object.assign({}, settings), { isWorkspaceCacheAllowed: (_a = overrides === null || overrides === void 0 ? void 0 : overrides.isWorkspaceCacheAllowed) !== null && _a !== void 0 ? _a : true, library: (_b = overrides === null || overrides === void 0 ? void 0 : overrides.library) !== null && _b !== void 0 ? _b : library_1.Library.NoOpLibrary, typeStrategy: (_c = overrides === null || overrides === void 0 ? void 0 : overrides.typeStrategy) !== null && _c !== void 0 ? _c :
|
|
24
|
+
return Object.assign(Object.assign({}, settings), { isWorkspaceCacheAllowed: (_a = overrides === null || overrides === void 0 ? void 0 : overrides.isWorkspaceCacheAllowed) !== null && _a !== void 0 ? _a : true, library: (_b = overrides === null || overrides === void 0 ? void 0 : overrides.library) !== null && _b !== void 0 ? _b : library_1.Library.NoOpLibrary, typeStrategy: (_c = overrides === null || overrides === void 0 ? void 0 : overrides.typeStrategy) !== null && _c !== void 0 ? _c : inspectionSettings_1.TypeStrategy.Extended, eachScopeById: (_d = overrides === null || overrides === void 0 ? void 0 : overrides.eachScopeById) !== null && _d !== void 0 ? _d : undefined });
|
|
24
25
|
}
|
|
25
26
|
exports.inspectionSettings = inspectionSettings;
|
|
26
27
|
function getAutocompleteItemsFromScope(context) {
|
|
@@ -52,17 +53,17 @@ function getIdentifierType(inspected, identifier) {
|
|
|
52
53
|
exports.getIdentifierType = getIdentifierType;
|
|
53
54
|
function getScopeItemKindText(scopeItemKind) {
|
|
54
55
|
switch (scopeItemKind) {
|
|
55
|
-
case
|
|
56
|
+
case _1.Inspection.ScopeItemKind.Each:
|
|
56
57
|
return "each";
|
|
57
|
-
case
|
|
58
|
+
case _1.Inspection.ScopeItemKind.LetVariable:
|
|
58
59
|
return "let-variable";
|
|
59
|
-
case
|
|
60
|
+
case _1.Inspection.ScopeItemKind.Parameter:
|
|
60
61
|
return "parameter";
|
|
61
|
-
case
|
|
62
|
+
case _1.Inspection.ScopeItemKind.RecordField:
|
|
62
63
|
return "record-field";
|
|
63
|
-
case
|
|
64
|
+
case _1.Inspection.ScopeItemKind.SectionMember:
|
|
64
65
|
return "section-member";
|
|
65
|
-
case
|
|
66
|
+
case _1.Inspection.ScopeItemKind.Undefined:
|
|
66
67
|
return "unknown";
|
|
67
68
|
default:
|
|
68
69
|
throw powerquery_parser_1.Assert.isNever(scopeItemKind);
|
|
@@ -71,15 +72,15 @@ function getScopeItemKindText(scopeItemKind) {
|
|
|
71
72
|
exports.getScopeItemKindText = getScopeItemKindText;
|
|
72
73
|
function getSymbolKindFromLiteralExpression(node) {
|
|
73
74
|
switch (node.literalKind) {
|
|
74
|
-
case
|
|
75
|
+
case language_1.Ast.LiteralKind.List:
|
|
75
76
|
return vscode_languageserver_types_1.SymbolKind.Array;
|
|
76
|
-
case
|
|
77
|
+
case language_1.Ast.LiteralKind.Logical:
|
|
77
78
|
return vscode_languageserver_types_1.SymbolKind.Boolean;
|
|
78
|
-
case
|
|
79
|
+
case language_1.Ast.LiteralKind.Null:
|
|
79
80
|
return vscode_languageserver_types_1.SymbolKind.Null;
|
|
80
|
-
case
|
|
81
|
+
case language_1.Ast.LiteralKind.Numeric:
|
|
81
82
|
return vscode_languageserver_types_1.SymbolKind.Number;
|
|
82
|
-
case
|
|
83
|
+
case language_1.Ast.LiteralKind.Text:
|
|
83
84
|
return vscode_languageserver_types_1.SymbolKind.String;
|
|
84
85
|
default:
|
|
85
86
|
return powerquery_parser_1.Assert.isNever(node.literalKind);
|
|
@@ -88,21 +89,21 @@ function getSymbolKindFromLiteralExpression(node) {
|
|
|
88
89
|
exports.getSymbolKindFromLiteralExpression = getSymbolKindFromLiteralExpression;
|
|
89
90
|
function getSymbolKindFromNode(node) {
|
|
90
91
|
switch (node.kind) {
|
|
91
|
-
case
|
|
92
|
+
case language_1.Ast.NodeKind.Constant:
|
|
92
93
|
return vscode_languageserver_types_1.SymbolKind.Constant;
|
|
93
|
-
case
|
|
94
|
+
case language_1.Ast.NodeKind.FunctionExpression:
|
|
94
95
|
return vscode_languageserver_types_1.SymbolKind.Function;
|
|
95
|
-
case
|
|
96
|
-
case
|
|
96
|
+
case language_1.Ast.NodeKind.ListExpression:
|
|
97
|
+
case language_1.Ast.NodeKind.ListLiteral:
|
|
97
98
|
return vscode_languageserver_types_1.SymbolKind.Array;
|
|
98
|
-
case
|
|
99
|
+
case language_1.Ast.NodeKind.LiteralExpression:
|
|
99
100
|
return getSymbolKindFromLiteralExpression(node);
|
|
100
|
-
case
|
|
101
|
+
case language_1.Ast.NodeKind.MetadataExpression:
|
|
101
102
|
return vscode_languageserver_types_1.SymbolKind.TypeParameter;
|
|
102
|
-
case
|
|
103
|
-
case
|
|
103
|
+
case language_1.Ast.NodeKind.RecordExpression:
|
|
104
|
+
case language_1.Ast.NodeKind.RecordLiteral:
|
|
104
105
|
return vscode_languageserver_types_1.SymbolKind.Struct;
|
|
105
|
-
case
|
|
106
|
+
case language_1.Ast.NodeKind.Section:
|
|
106
107
|
return vscode_languageserver_types_1.SymbolKind.Module;
|
|
107
108
|
default:
|
|
108
109
|
return vscode_languageserver_types_1.SymbolKind.Variable;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inspectionUtils.js","sourceRoot":"","sources":["../../src/powerquery-language-services/inspectionUtils.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;;;AAGlC,oEAAmE;AACnE,0FAAwF;AACxF,6EAAyE;AAEzE,wBAA8C;
|
|
1
|
+
{"version":3,"file":"inspectionUtils.js","sourceRoot":"","sources":["../../src/powerquery-language-services/inspectionUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
// Copyright (c) Microsoft Corporation.
|
|
3
3
|
// Licensed under the MIT license.
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
exports.LibraryUtils = exports.LibrarySymbolUtils = exports.LibrarySymbol = exports.Library = void 0;
|
|
5
|
+
exports.LibraryUtils = exports.LibrarySymbolUtils = exports.LibrarySymbol = exports.LibraryDefinitionUtils = exports.Library = void 0;
|
|
6
6
|
exports.Library = require("./library");
|
|
7
|
+
exports.LibraryDefinitionUtils = require("./libraryDefinitionUtils");
|
|
7
8
|
exports.LibrarySymbol = require("./librarySymbol");
|
|
8
9
|
exports.LibrarySymbolUtils = require("./librarySymbolUtils");
|
|
9
10
|
exports.LibraryUtils = require("./libraryUtils");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/library/index.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,uCAAqC;AACrC,mDAAiD;AACjD,6DAA2D;AAC3D,iDAA+C"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/library/index.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,uCAAqC;AACrC,qEAAmE;AACnE,mDAAiD;AACjD,6DAA2D;AAC3D,iDAA+C"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { CompletionItemKind } from "vscode-languageserver-types";
|
|
2
2
|
import { Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language";
|
|
3
3
|
import { ExternalType } from "../externalType";
|
|
4
|
-
export declare type LibraryDefinitions = ReadonlyMap<string, TLibraryDefinition>;
|
|
5
4
|
export declare type TLibraryDefinition = LibraryConstant | LibraryFunction | LibraryType;
|
|
6
|
-
export declare
|
|
5
|
+
export declare enum LibraryDefinitionKind {
|
|
7
6
|
Constant = "Constant",
|
|
8
7
|
Function = "Function",
|
|
9
8
|
Type = "Type"
|
|
@@ -19,6 +18,13 @@ export interface ILibraryDefinition {
|
|
|
19
18
|
readonly kind: LibraryDefinitionKind;
|
|
20
19
|
readonly label: string;
|
|
21
20
|
}
|
|
21
|
+
export interface LibraryDefinitions {
|
|
22
|
+
/** Used by the host to inject library definitions,
|
|
23
|
+
* either because they're dynamically generated or if they prefer lazy evaluation. */
|
|
24
|
+
readonly dynamicLibraryDefinitions: () => ReadonlyMap<string, TLibraryDefinition>;
|
|
25
|
+
/** Represents an unchanging standard library. It's expected to never change. */
|
|
26
|
+
readonly staticLibraryDefinitions: ReadonlyMap<string, TLibraryDefinition>;
|
|
27
|
+
}
|
|
22
28
|
export interface LibraryConstant extends ILibraryDefinition {
|
|
23
29
|
readonly kind: LibraryDefinitionKind.Constant;
|
|
24
30
|
}
|
|
@@ -12,6 +12,9 @@ var LibraryDefinitionKind;
|
|
|
12
12
|
})(LibraryDefinitionKind = exports.LibraryDefinitionKind || (exports.LibraryDefinitionKind = {}));
|
|
13
13
|
exports.NoOpLibrary = {
|
|
14
14
|
externalTypeResolver: externalType_1.ExternalType.noOpExternalTypeResolver,
|
|
15
|
-
libraryDefinitions:
|
|
15
|
+
libraryDefinitions: {
|
|
16
|
+
dynamicLibraryDefinitions: () => new Map(),
|
|
17
|
+
staticLibraryDefinitions: new Map(),
|
|
18
|
+
},
|
|
16
19
|
};
|
|
17
20
|
//# sourceMappingURL=library.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"library.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/library/library.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAKlC,kDAA+C;
|
|
1
|
+
{"version":3,"file":"library.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/library/library.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAKlC,kDAA+C;AAI/C,IAAY,qBAIX;AAJD,WAAY,qBAAqB;IAC7B,8CAAqB,CAAA;IACrB,8CAAqB,CAAA;IACrB,sCAAa,CAAA;AACjB,CAAC,EAJW,qBAAqB,GAArB,6BAAqB,KAArB,6BAAqB,QAIhC;AA4CY,QAAA,WAAW,GAAa;IACjC,oBAAoB,EAAE,2BAAY,CAAC,wBAAwB;IAC3D,kBAAkB,EAAE;QAChB,yBAAyB,EAAE,GAAG,EAAE,CAAC,IAAI,GAAG,EAA8B;QACtE,wBAAwB,EAAE,IAAI,GAAG,EAA8B;KAClE;CACJ,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { CompletionItemKind, ParameterInformation, SignatureInformation } from "vscode-languageserver-types";
|
|
2
|
+
import { Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language";
|
|
3
|
+
import { LibraryConstant, LibraryDefinitions, LibraryFunction, LibraryParameter, LibraryType, TLibraryDefinition } from "./library";
|
|
4
|
+
import { ExternalType } from "../externalType";
|
|
5
|
+
export declare function assertAsConstant(definition: TLibraryDefinition | undefined): LibraryConstant;
|
|
6
|
+
export declare function assertAsFunction(definition: TLibraryDefinition | undefined): LibraryFunction;
|
|
7
|
+
export declare function assertAsType(definition: TLibraryDefinition | undefined): LibraryType;
|
|
8
|
+
export declare function assertIsConstant(definition: TLibraryDefinition | undefined): asserts definition is LibraryConstant;
|
|
9
|
+
export declare function assertIsFunction(definition: TLibraryDefinition | undefined): asserts definition is LibraryFunction;
|
|
10
|
+
export declare function assertIsType(definition: TLibraryDefinition | undefined): asserts definition is LibraryType;
|
|
11
|
+
export declare function constantDefinition(label: string, description: string, asType: Type.TPowerQueryType, completionItemKind: CompletionItemKind): LibraryConstant;
|
|
12
|
+
export declare function externalTypeResolver(libraryDefinitions: LibraryDefinitions): ExternalType.TExternalTypeResolverFn;
|
|
13
|
+
export declare function functionDefinition(label: string, description: string, asType: Type.TPowerQueryType, completionItemKind: CompletionItemKind, parameters: ReadonlyArray<LibraryParameter>): LibraryFunction;
|
|
14
|
+
export declare function getDefinition(libraryDefinitions: LibraryDefinitions, identifierLiteral: string): TLibraryDefinition | undefined;
|
|
15
|
+
export declare function getKeys(libraryDefinitions: LibraryDefinitions): ReadonlyArray<string>;
|
|
16
|
+
export declare function hasDefinition(libraryDefinitions: LibraryDefinitions, key: string): boolean;
|
|
17
|
+
export declare function isConstant(definition: TLibraryDefinition | undefined): definition is LibraryConstant;
|
|
18
|
+
export declare function isFunction(definition: TLibraryDefinition | undefined): definition is LibraryFunction;
|
|
19
|
+
export declare function isType(definition: TLibraryDefinition | undefined): definition is LibraryType;
|
|
20
|
+
export declare function signatureInformation(libraryFunctionSignature: LibraryFunction): SignatureInformation;
|
|
21
|
+
export declare function parameterInformation(libraryParameter: LibraryParameter): ParameterInformation;
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright (c) Microsoft Corporation.
|
|
3
|
+
// Licensed under the MIT license.
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.parameterInformation = exports.signatureInformation = exports.isType = exports.isFunction = exports.isConstant = exports.hasDefinition = exports.getKeys = exports.getDefinition = exports.functionDefinition = exports.externalTypeResolver = exports.constantDefinition = exports.assertIsType = exports.assertIsFunction = exports.assertIsConstant = exports.assertAsType = exports.assertAsFunction = exports.assertAsConstant = void 0;
|
|
6
|
+
const library_1 = require("./library");
|
|
7
|
+
function assertAsConstant(definition) {
|
|
8
|
+
assertIsConstant(definition);
|
|
9
|
+
return definition;
|
|
10
|
+
}
|
|
11
|
+
exports.assertAsConstant = assertAsConstant;
|
|
12
|
+
function assertAsFunction(definition) {
|
|
13
|
+
assertIsFunction(definition);
|
|
14
|
+
return definition;
|
|
15
|
+
}
|
|
16
|
+
exports.assertAsFunction = assertAsFunction;
|
|
17
|
+
function assertAsType(definition) {
|
|
18
|
+
assertIsType(definition);
|
|
19
|
+
return definition;
|
|
20
|
+
}
|
|
21
|
+
exports.assertAsType = assertAsType;
|
|
22
|
+
function assertIsConstant(definition) {
|
|
23
|
+
if (!isConstant(definition)) {
|
|
24
|
+
throw new Error(`expected definition to be ${library_1.LibraryDefinitionKind.Constant}`);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
exports.assertIsConstant = assertIsConstant;
|
|
28
|
+
function assertIsFunction(definition) {
|
|
29
|
+
if (!isFunction(definition)) {
|
|
30
|
+
throw new Error(`expected definition to be ${library_1.LibraryDefinitionKind.Function}`);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
exports.assertIsFunction = assertIsFunction;
|
|
34
|
+
function assertIsType(definition) {
|
|
35
|
+
if (!isType(definition)) {
|
|
36
|
+
throw new Error(`expected definition to be ${library_1.LibraryDefinitionKind.Type}`);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
exports.assertIsType = assertIsType;
|
|
40
|
+
function constantDefinition(label, description, asType, completionItemKind) {
|
|
41
|
+
return {
|
|
42
|
+
kind: library_1.LibraryDefinitionKind.Constant,
|
|
43
|
+
asPowerQueryType: asType,
|
|
44
|
+
completionItemKind,
|
|
45
|
+
description,
|
|
46
|
+
label,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
exports.constantDefinition = constantDefinition;
|
|
50
|
+
function externalTypeResolver(libraryDefinitions) {
|
|
51
|
+
return (request) => { var _a; return (_a = getDefinition(libraryDefinitions, request.identifierLiteral)) === null || _a === void 0 ? void 0 : _a.asPowerQueryType; };
|
|
52
|
+
}
|
|
53
|
+
exports.externalTypeResolver = externalTypeResolver;
|
|
54
|
+
function functionDefinition(label, description, asType, completionItemKind, parameters) {
|
|
55
|
+
return {
|
|
56
|
+
kind: library_1.LibraryDefinitionKind.Function,
|
|
57
|
+
asPowerQueryType: asType,
|
|
58
|
+
completionItemKind,
|
|
59
|
+
description,
|
|
60
|
+
label,
|
|
61
|
+
parameters,
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
exports.functionDefinition = functionDefinition;
|
|
65
|
+
function getDefinition(libraryDefinitions, identifierLiteral) {
|
|
66
|
+
var _a;
|
|
67
|
+
return ((_a = libraryDefinitions.staticLibraryDefinitions.get(identifierLiteral)) !== null && _a !== void 0 ? _a : libraryDefinitions.dynamicLibraryDefinitions().get(identifierLiteral));
|
|
68
|
+
}
|
|
69
|
+
exports.getDefinition = getDefinition;
|
|
70
|
+
function getKeys(libraryDefinitions) {
|
|
71
|
+
return [
|
|
72
|
+
...libraryDefinitions.staticLibraryDefinitions.keys(),
|
|
73
|
+
...libraryDefinitions.dynamicLibraryDefinitions().keys(),
|
|
74
|
+
];
|
|
75
|
+
}
|
|
76
|
+
exports.getKeys = getKeys;
|
|
77
|
+
function hasDefinition(libraryDefinitions, key) {
|
|
78
|
+
return getDefinition(libraryDefinitions, key) !== undefined;
|
|
79
|
+
}
|
|
80
|
+
exports.hasDefinition = hasDefinition;
|
|
81
|
+
function isConstant(definition) {
|
|
82
|
+
return (definition === null || definition === void 0 ? void 0 : definition.kind) === library_1.LibraryDefinitionKind.Constant;
|
|
83
|
+
}
|
|
84
|
+
exports.isConstant = isConstant;
|
|
85
|
+
function isFunction(definition) {
|
|
86
|
+
return (definition === null || definition === void 0 ? void 0 : definition.kind) === library_1.LibraryDefinitionKind.Function;
|
|
87
|
+
}
|
|
88
|
+
exports.isFunction = isFunction;
|
|
89
|
+
function isType(definition) {
|
|
90
|
+
return (definition === null || definition === void 0 ? void 0 : definition.kind) === library_1.LibraryDefinitionKind.Type;
|
|
91
|
+
}
|
|
92
|
+
exports.isType = isType;
|
|
93
|
+
function signatureInformation(libraryFunctionSignature) {
|
|
94
|
+
return {
|
|
95
|
+
label: libraryFunctionSignature.label,
|
|
96
|
+
documentation: libraryFunctionSignature.description,
|
|
97
|
+
parameters: libraryFunctionSignature.parameters.map(parameterInformation),
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
exports.signatureInformation = signatureInformation;
|
|
101
|
+
function parameterInformation(libraryParameter) {
|
|
102
|
+
return {
|
|
103
|
+
label: libraryParameter.label,
|
|
104
|
+
documentation: undefined,
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
exports.parameterInformation = parameterInformation;
|
|
108
|
+
//# sourceMappingURL=libraryDefinitionUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"libraryDefinitionUtils.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/library/libraryDefinitionUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,9 +7,9 @@ export declare type IncompleteLibrary = {
|
|
|
7
7
|
readonly invalidSymbols: ReadonlyArray<LibrarySymbol>;
|
|
8
8
|
};
|
|
9
9
|
export declare type IncompleteLibraryDefinitions = {
|
|
10
|
-
readonly libraryDefinitions: Library.
|
|
10
|
+
readonly libraryDefinitions: ReadonlyMap<string, Library.TLibraryDefinition>;
|
|
11
11
|
readonly invalidSymbols: ReadonlyArray<LibrarySymbol>;
|
|
12
12
|
};
|
|
13
|
-
export declare function createLibrary(librarySymbols: ReadonlyArray<LibrarySymbol>, externalTypeResolverFn: ExternalType.TExternalTypeResolverFn | undefined): PartialResult<Library.ILibrary, IncompleteLibrary, ReadonlyArray<LibrarySymbol>>;
|
|
14
|
-
export declare function createLibraryDefinitions(librarySymbols: ReadonlyArray<LibrarySymbol>): PartialResult<Library.
|
|
13
|
+
export declare function createLibrary(librarySymbols: ReadonlyArray<LibrarySymbol>, dynamicLibraryDefinitions: () => ReadonlyMap<string, Library.TLibraryDefinition>, externalTypeResolverFn: ExternalType.TExternalTypeResolverFn | undefined): PartialResult<Library.ILibrary, IncompleteLibrary, ReadonlyArray<LibrarySymbol>>;
|
|
14
|
+
export declare function createLibraryDefinitions(librarySymbols: ReadonlyArray<LibrarySymbol>): PartialResult<ReadonlyMap<string, Library.TLibraryDefinition>, IncompleteLibraryDefinitions, ReadonlyArray<LibrarySymbol>>;
|
|
15
15
|
export declare function librarySymbolToLibraryDefinition(librarySymbol: LibrarySymbol): Library.TLibraryDefinition | undefined;
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
// Copyright (c) Microsoft Corporation.
|
|
3
|
+
// Licensed under the MIT license.
|
|
2
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
5
|
exports.librarySymbolToLibraryDefinition = exports.createLibraryDefinitions = exports.createLibrary = void 0;
|
|
4
6
|
const powerquery_parser_1 = require("@microsoft/powerquery-parser");
|
|
@@ -7,16 +9,16 @@ const trace_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/comm
|
|
|
7
9
|
const externalType_1 = require("../externalType");
|
|
8
10
|
const library_1 = require("../library");
|
|
9
11
|
const commonTypes_1 = require("../commonTypes");
|
|
10
|
-
function createLibrary(librarySymbols, externalTypeResolverFn) {
|
|
12
|
+
function createLibrary(librarySymbols, dynamicLibraryDefinitions, externalTypeResolverFn) {
|
|
11
13
|
const libraryDefinitionsResult = createLibraryDefinitions(librarySymbols);
|
|
12
|
-
let
|
|
14
|
+
let librarySymbolDefinitions;
|
|
13
15
|
let invalidSymbols;
|
|
14
16
|
if (powerquery_parser_1.PartialResultUtils.isOk(libraryDefinitionsResult)) {
|
|
15
|
-
|
|
17
|
+
librarySymbolDefinitions = libraryDefinitionsResult.value;
|
|
16
18
|
invalidSymbols = [];
|
|
17
19
|
}
|
|
18
20
|
else if (powerquery_parser_1.PartialResultUtils.isIncomplete(libraryDefinitionsResult)) {
|
|
19
|
-
|
|
21
|
+
librarySymbolDefinitions = libraryDefinitionsResult.partial.libraryDefinitions;
|
|
20
22
|
invalidSymbols = libraryDefinitionsResult.partial.invalidSymbols;
|
|
21
23
|
}
|
|
22
24
|
else if (powerquery_parser_1.PartialResultUtils.isError(libraryDefinitionsResult)) {
|
|
@@ -25,12 +27,16 @@ function createLibrary(librarySymbols, externalTypeResolverFn) {
|
|
|
25
27
|
else {
|
|
26
28
|
powerquery_parser_1.Assert.isNever(libraryDefinitionsResult);
|
|
27
29
|
}
|
|
28
|
-
const
|
|
30
|
+
const libraryDefinitions = {
|
|
31
|
+
dynamicLibraryDefinitions,
|
|
32
|
+
staticLibraryDefinitions: librarySymbolDefinitions,
|
|
33
|
+
};
|
|
34
|
+
const definitionResolverFn = library_1.LibraryDefinitionUtils.externalTypeResolver(libraryDefinitions);
|
|
29
35
|
const library = {
|
|
30
|
-
libraryDefinitions,
|
|
31
36
|
externalTypeResolver: externalTypeResolverFn
|
|
32
37
|
? externalType_1.ExternalTypeUtils.composeExternalTypeResolvers(externalTypeResolverFn, definitionResolverFn)
|
|
33
38
|
: definitionResolverFn,
|
|
39
|
+
libraryDefinitions,
|
|
34
40
|
};
|
|
35
41
|
if (invalidSymbols.length > 0) {
|
|
36
42
|
return powerquery_parser_1.PartialResultUtils.incomplete({
|
|
@@ -78,9 +84,9 @@ function librarySymbolToLibraryDefinition(librarySymbol) {
|
|
|
78
84
|
}
|
|
79
85
|
const label = librarySymbol.name;
|
|
80
86
|
const description = (_b = (_a = librarySymbol.documentation) === null || _a === void 0 ? void 0 : _a.description) !== null && _b !== void 0 ? _b : "No description available";
|
|
81
|
-
if (primitiveType.kind ===
|
|
87
|
+
if (primitiveType.kind === language_1.Type.TypeKind.Type) {
|
|
82
88
|
return {
|
|
83
|
-
kind:
|
|
89
|
+
kind: library_1.Library.LibraryDefinitionKind.Type,
|
|
84
90
|
label,
|
|
85
91
|
description,
|
|
86
92
|
asPowerQueryType: primitiveType,
|
|
@@ -101,7 +107,7 @@ function librarySymbolToLibraryDefinition(librarySymbol) {
|
|
|
101
107
|
parameters.push(libraryParameter);
|
|
102
108
|
}
|
|
103
109
|
return {
|
|
104
|
-
kind:
|
|
110
|
+
kind: library_1.Library.LibraryDefinitionKind.Function,
|
|
105
111
|
label: language_1.TypeUtils.nameOf(asPowerQueryType, trace_1.NoOpTraceManagerInstance, undefined),
|
|
106
112
|
description,
|
|
107
113
|
asPowerQueryType,
|
|
@@ -111,7 +117,7 @@ function librarySymbolToLibraryDefinition(librarySymbol) {
|
|
|
111
117
|
}
|
|
112
118
|
else {
|
|
113
119
|
return {
|
|
114
|
-
kind:
|
|
120
|
+
kind: library_1.Library.LibraryDefinitionKind.Constant,
|
|
115
121
|
label,
|
|
116
122
|
description,
|
|
117
123
|
asPowerQueryType: primitiveType,
|
|
@@ -201,14 +207,14 @@ function stringToPrimitiveType(text) {
|
|
|
201
207
|
// Either `nullable $typeKind` or `list {$typeKind}`
|
|
202
208
|
case 2: {
|
|
203
209
|
const first = split[0];
|
|
204
|
-
if (first ===
|
|
210
|
+
if (first === language_1.Constant.LanguageConstant.Nullable) {
|
|
205
211
|
isNullable = true;
|
|
206
212
|
typeKind = stringToTypeKind(split[1]);
|
|
207
213
|
break;
|
|
208
214
|
}
|
|
209
|
-
else if (first ===
|
|
215
|
+
else if (first === language_1.Constant.PrimitiveTypeConstant.List) {
|
|
210
216
|
isNullable = false;
|
|
211
|
-
typeKind =
|
|
217
|
+
typeKind = language_1.Type.TypeKind.List;
|
|
212
218
|
break;
|
|
213
219
|
}
|
|
214
220
|
else {
|
|
@@ -217,11 +223,11 @@ function stringToPrimitiveType(text) {
|
|
|
217
223
|
}
|
|
218
224
|
// `nullable list {$typeKind}`
|
|
219
225
|
case 3: {
|
|
220
|
-
if (split[0] !==
|
|
226
|
+
if (split[0] !== language_1.Constant.LanguageConstant.Nullable || split[1] !== language_1.Constant.PrimitiveTypeConstant.List) {
|
|
221
227
|
return undefined;
|
|
222
228
|
}
|
|
223
229
|
isNullable = true;
|
|
224
|
-
typeKind =
|
|
230
|
+
typeKind = language_1.Type.TypeKind.List;
|
|
225
231
|
break;
|
|
226
232
|
}
|
|
227
233
|
default:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"librarySymbolUtils.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/library/librarySymbolUtils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"librarySymbolUtils.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/library/librarySymbolUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
export declare function
|
|
6
|
-
export declare function assertAsFunction(definition: TLibraryDefinition | undefined): LibraryFunction;
|
|
7
|
-
export declare function assertAsType(definition: TLibraryDefinition | undefined): LibraryType;
|
|
8
|
-
export declare function assertIsConstant(definition: TLibraryDefinition | undefined): asserts definition is LibraryConstant;
|
|
9
|
-
export declare function assertIsFunction(definition: TLibraryDefinition | undefined): asserts definition is LibraryFunction;
|
|
10
|
-
export declare function assertIsType(definition: TLibraryDefinition | undefined): asserts definition is LibraryType;
|
|
11
|
-
export declare function constantDefinition(label: string, description: string, asType: Type.TPowerQueryType, completionItemKind: CompletionItemKind): LibraryConstant;
|
|
12
|
-
export declare function externalTypeResolver(libraryDefinitions: LibraryDefinitions): ExternalType.TExternalTypeResolverFn;
|
|
13
|
-
export declare function functionDefinition(label: string, description: string, asType: Type.TPowerQueryType, completionItemKind: CompletionItemKind, parameters: ReadonlyArray<LibraryParameter>): LibraryFunction;
|
|
14
|
-
export declare function isConstant(definition: TLibraryDefinition | undefined): definition is LibraryConstant;
|
|
15
|
-
export declare function isFunction(definition: TLibraryDefinition | undefined): definition is LibraryFunction;
|
|
16
|
-
export declare function isType(definition: TLibraryDefinition | undefined): definition is LibraryType;
|
|
1
|
+
import { ParameterInformation, SignatureInformation } from "vscode-languageserver-types";
|
|
2
|
+
import { ILibrary, LibraryDefinitionKind, LibraryFunction, LibraryParameter, TLibraryDefinition } from "./library";
|
|
3
|
+
export declare function getDefinition(library: ILibrary, identifierLiteral: string): TLibraryDefinition | undefined;
|
|
4
|
+
export declare function getDefinitionKeys(library: ILibrary): ReadonlyArray<string>;
|
|
5
|
+
export declare function hasDefinition(library: ILibrary, key: string): boolean;
|
|
17
6
|
export declare function signatureInformation(libraryFunctionSignature: LibraryFunction): SignatureInformation;
|
|
18
7
|
export declare function parameterInformation(libraryParameter: LibraryParameter): ParameterInformation;
|
|
19
8
|
export declare function nameOf(kind: LibraryDefinitionKind): string;
|
|
@@ -2,78 +2,22 @@
|
|
|
2
2
|
// Copyright (c) Microsoft Corporation.
|
|
3
3
|
// Licensed under the MIT license.
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
exports.nameOf = exports.parameterInformation = exports.signatureInformation = exports.
|
|
5
|
+
exports.nameOf = exports.parameterInformation = exports.signatureInformation = exports.hasDefinition = exports.getDefinitionKeys = exports.getDefinition = void 0;
|
|
6
6
|
const powerquery_parser_1 = require("@microsoft/powerquery-parser");
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
const library_1 = require("./library");
|
|
8
|
+
const _1 = require(".");
|
|
9
|
+
function getDefinition(library, identifierLiteral) {
|
|
10
|
+
return _1.LibraryDefinitionUtils.getDefinition(library.libraryDefinitions, identifierLiteral);
|
|
10
11
|
}
|
|
11
|
-
exports.
|
|
12
|
-
function
|
|
13
|
-
|
|
14
|
-
return definition;
|
|
12
|
+
exports.getDefinition = getDefinition;
|
|
13
|
+
function getDefinitionKeys(library) {
|
|
14
|
+
return _1.LibraryDefinitionUtils.getKeys(library.libraryDefinitions);
|
|
15
15
|
}
|
|
16
|
-
exports.
|
|
17
|
-
function
|
|
18
|
-
|
|
19
|
-
return definition;
|
|
16
|
+
exports.getDefinitionKeys = getDefinitionKeys;
|
|
17
|
+
function hasDefinition(library, key) {
|
|
18
|
+
return _1.LibraryDefinitionUtils.hasDefinition(library.libraryDefinitions, key);
|
|
20
19
|
}
|
|
21
|
-
exports.
|
|
22
|
-
function assertIsConstant(definition) {
|
|
23
|
-
if (!isConstant(definition)) {
|
|
24
|
-
throw new Error(`expected definition to be ${"Constant" /* Constant */}`);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
exports.assertIsConstant = assertIsConstant;
|
|
28
|
-
function assertIsFunction(definition) {
|
|
29
|
-
if (!isFunction(definition)) {
|
|
30
|
-
throw new Error(`expected definition to be ${"Function" /* Function */}`);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
exports.assertIsFunction = assertIsFunction;
|
|
34
|
-
function assertIsType(definition) {
|
|
35
|
-
if (!isType(definition)) {
|
|
36
|
-
throw new Error(`expected definition to be ${"Type" /* Type */}`);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
exports.assertIsType = assertIsType;
|
|
40
|
-
function constantDefinition(label, description, asType, completionItemKind) {
|
|
41
|
-
return {
|
|
42
|
-
kind: "Constant" /* Constant */,
|
|
43
|
-
asPowerQueryType: asType,
|
|
44
|
-
completionItemKind,
|
|
45
|
-
description,
|
|
46
|
-
label,
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
exports.constantDefinition = constantDefinition;
|
|
50
|
-
function externalTypeResolver(libraryDefinitions) {
|
|
51
|
-
return (request) => { var _a; return (_a = libraryDefinitions.get(request.identifierLiteral)) === null || _a === void 0 ? void 0 : _a.asPowerQueryType; };
|
|
52
|
-
}
|
|
53
|
-
exports.externalTypeResolver = externalTypeResolver;
|
|
54
|
-
function functionDefinition(label, description, asType, completionItemKind, parameters) {
|
|
55
|
-
return {
|
|
56
|
-
kind: "Function" /* Function */,
|
|
57
|
-
asPowerQueryType: asType,
|
|
58
|
-
completionItemKind,
|
|
59
|
-
description,
|
|
60
|
-
label,
|
|
61
|
-
parameters,
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
exports.functionDefinition = functionDefinition;
|
|
65
|
-
function isConstant(definition) {
|
|
66
|
-
return (definition === null || definition === void 0 ? void 0 : definition.kind) === "Constant" /* Constant */;
|
|
67
|
-
}
|
|
68
|
-
exports.isConstant = isConstant;
|
|
69
|
-
function isFunction(definition) {
|
|
70
|
-
return (definition === null || definition === void 0 ? void 0 : definition.kind) === "Function" /* Function */;
|
|
71
|
-
}
|
|
72
|
-
exports.isFunction = isFunction;
|
|
73
|
-
function isType(definition) {
|
|
74
|
-
return (definition === null || definition === void 0 ? void 0 : definition.kind) === "Type" /* Type */;
|
|
75
|
-
}
|
|
76
|
-
exports.isType = isType;
|
|
20
|
+
exports.hasDefinition = hasDefinition;
|
|
77
21
|
function signatureInformation(libraryFunctionSignature) {
|
|
78
22
|
return {
|
|
79
23
|
label: libraryFunctionSignature.label,
|
|
@@ -91,11 +35,11 @@ function parameterInformation(libraryParameter) {
|
|
|
91
35
|
exports.parameterInformation = parameterInformation;
|
|
92
36
|
function nameOf(kind) {
|
|
93
37
|
switch (kind) {
|
|
94
|
-
case
|
|
38
|
+
case library_1.LibraryDefinitionKind.Function:
|
|
95
39
|
return "library function";
|
|
96
|
-
case
|
|
40
|
+
case library_1.LibraryDefinitionKind.Constant:
|
|
97
41
|
return "library constant";
|
|
98
|
-
case
|
|
42
|
+
case library_1.LibraryDefinitionKind.Type:
|
|
99
43
|
return "library type";
|
|
100
44
|
default:
|
|
101
45
|
throw powerquery_parser_1.Assert.isNever(kind);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"libraryUtils.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/library/libraryUtils.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAGlC,oEAAsD;
|
|
1
|
+
{"version":3,"file":"libraryUtils.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/library/libraryUtils.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAGlC,oEAAsD;AAEtD,uCAAmH;AACnH,wBAA2C;AAE3C,SAAgB,aAAa,CAAC,OAAiB,EAAE,iBAAyB;IACtE,OAAO,yBAAsB,CAAC,aAAa,CAAC,OAAO,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,CAAC;AAC/F,CAAC;AAFD,sCAEC;AAED,SAAgB,iBAAiB,CAAC,OAAiB;IAC/C,OAAO,yBAAsB,CAAC,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;AACtE,CAAC;AAFD,8CAEC;AAED,SAAgB,aAAa,CAAC,OAAiB,EAAE,GAAW;IACxD,OAAO,yBAAsB,CAAC,aAAa,CAAC,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;AACjF,CAAC;AAFD,sCAEC;AAED,SAAgB,oBAAoB,CAAC,wBAAyC;IAC1E,OAAO;QACH,KAAK,EAAE,wBAAwB,CAAC,KAAK;QACrC,aAAa,EAAE,wBAAwB,CAAC,WAAW;QACnD,UAAU,EAAE,wBAAwB,CAAC,UAAU,CAAC,GAAG,CAAC,oBAAoB,CAAC;KAC5E,CAAC;AACN,CAAC;AAND,oDAMC;AAED,SAAgB,oBAAoB,CAAC,gBAAkC;IACnE,OAAO;QACH,KAAK,EAAE,gBAAgB,CAAC,KAAK;QAC7B,aAAa,EAAE,SAAS;KAC3B,CAAC;AACN,CAAC;AALD,oDAKC;AAED,SAAgB,MAAM,CAAC,IAA2B;IAC9C,QAAQ,IAAI,EAAE;QACV,KAAK,+BAAqB,CAAC,QAAQ;YAC/B,OAAO,kBAAkB,CAAC;QAE9B,KAAK,+BAAqB,CAAC,QAAQ;YAC/B,OAAO,kBAAkB,CAAC;QAE9B,KAAK,+BAAqB,CAAC,IAAI;YAC3B,OAAO,cAAc,CAAC;QAE1B;YACI,MAAM,0BAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;KAClC;AACL,CAAC;AAdD,wBAcC"}
|