@microsoft/powerquery-language-services 0.2.17 → 0.3.1
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.d.ts +4 -6
- package/lib/powerquery-language-services/analysis/analysisBase.js +120 -229
- package/lib/powerquery-language-services/analysis/analysisBase.js.map +1 -1
- package/lib/powerquery-language-services/analysis/analysisSettings.d.ts +2 -2
- package/lib/powerquery-language-services/analysis/analysisUtils.js +1 -1
- package/lib/powerquery-language-services/analysis/analysisUtils.js.map +1 -1
- package/lib/powerquery-language-services/analysis/documentAnalysis.d.ts +0 -2
- package/lib/powerquery-language-services/analysis/documentAnalysis.js +11 -32
- package/lib/powerquery-language-services/analysis/documentAnalysis.js.map +1 -1
- package/lib/powerquery-language-services/commonTypes.js +1 -1
- package/lib/powerquery-language-services/commonTypes.js.map +1 -1
- package/lib/powerquery-language-services/documentSymbols.d.ts +1 -1
- package/lib/powerquery-language-services/documentSymbols.js +62 -111
- package/lib/powerquery-language-services/documentSymbols.js.map +1 -1
- package/lib/powerquery-language-services/formatter.d.ts +1 -1
- package/lib/powerquery-language-services/formatter.js +35 -34
- package/lib/powerquery-language-services/formatter.js.map +1 -1
- package/lib/powerquery-language-services/index.js +2 -2
- package/lib/powerquery-language-services/index.js.map +1 -1
- package/lib/powerquery-language-services/inspection/activeNode/activeNodeUtils.js +74 -131
- package/lib/powerquery-language-services/inspection/activeNode/activeNodeUtils.js.map +1 -1
- package/lib/powerquery-language-services/inspection/activeNode/index.js +1 -1
- package/lib/powerquery-language-services/inspection/activeNode/index.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteFieldAccess.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteFieldAccess.js +117 -187
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteFieldAccess.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItemUtils.js +29 -31
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItemUtils.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.d.ts +2 -2
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.js +97 -114
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordDefault.js +11 -11
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordDefault.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordErrorHandlingExpression.js +9 -9
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordErrorHandlingExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordIdentifierPairedExpression.js +5 -5
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordIdentifierPairedExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordLetExpression.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordLetExpression.js +43 -56
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordLetExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordListExpression.js +10 -10
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordListExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordSectionMember.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordSectionMember.js +11 -11
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordSectionMember.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordTrailingText.js +5 -5
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordTrailingText.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/common.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/common.js +28 -28
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/common.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.js +28 -31
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompletePrimitiveType.js +19 -23
- package/lib/powerquery-language-services/inspection/autocomplete/autocompletePrimitiveType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteUtils.js +5 -5
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteUtils.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/common.js +2 -13
- package/lib/powerquery-language-services/inspection/autocomplete/common.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/index.js +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/index.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/task.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/task.js +36 -25
- package/lib/powerquery-language-services/inspection/autocomplete/task.js.map +1 -1
- package/lib/powerquery-language-services/inspection/commonTypes.d.ts +6 -5
- package/lib/powerquery-language-services/inspection/expectedType.js +66 -54
- package/lib/powerquery-language-services/inspection/expectedType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/externalType/externalType.d.ts +2 -2
- package/lib/powerquery-language-services/inspection/externalType/externalType.js +2 -1
- package/lib/powerquery-language-services/inspection/externalType/externalType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/externalType/externalTypeUtils.js +3 -3
- package/lib/powerquery-language-services/inspection/externalType/externalTypeUtils.js.map +1 -1
- package/lib/powerquery-language-services/inspection/invokeExpression/currentInvokeExpression.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/invokeExpression/currentInvokeExpression.js +49 -66
- package/lib/powerquery-language-services/inspection/invokeExpression/currentInvokeExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/invokeExpression/invokeExpression.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/invokeExpression/invokeExpression.js +74 -99
- package/lib/powerquery-language-services/inspection/invokeExpression/invokeExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/jaroWinkler.js +26 -42
- package/lib/powerquery-language-services/inspection/jaroWinkler.js.map +1 -1
- package/lib/powerquery-language-services/inspection/pseudoFunctionExpressionType.js +18 -51
- package/lib/powerquery-language-services/inspection/pseudoFunctionExpressionType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/scope/scopeInspection.d.ts +3 -3
- package/lib/powerquery-language-services/inspection/scope/scopeInspection.js +237 -282
- package/lib/powerquery-language-services/inspection/scope/scopeInspection.js.map +1 -1
- package/lib/powerquery-language-services/inspection/task.d.ts +2 -2
- package/lib/powerquery-language-services/inspection/task.js +52 -41
- package/lib/powerquery-language-services/inspection/task.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/index.js +1 -1
- package/lib/powerquery-language-services/inspection/type/index.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/common.d.ts +9 -9
- package/lib/powerquery-language-services/inspection/type/inspectType/common.js +353 -335
- package/lib/powerquery-language-services/inspection/type/inspectType/common.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/examineFieldSpecificationList.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/examineFieldSpecificationList.js +31 -41
- package/lib/powerquery-language-services/inspection/type/inspectType/examineFieldSpecificationList.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeConstant.js +3 -3
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeConstant.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeEachExpression.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeEachExpression.js +29 -19
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeEachExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeErrorHandlingExpression.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeErrorHandlingExpression.js +27 -17
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeErrorHandlingExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/common.d.ts +4 -0
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/common.js +68 -0
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/common.js.map +1 -0
- package/lib/powerquery-language-services/inspection/type/inspectType/{inspectTypeFieldProjection.d.ts → inspectTypeField/inspectTypeFieldProjection.d.ts} +2 -2
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldProjection.js +103 -0
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldProjection.js.map +1 -0
- package/lib/powerquery-language-services/inspection/type/inspectType/{inspectTypeFieldSelector.d.ts → inspectTypeField/inspectTypeFieldSelector.d.ts} +2 -2
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldSelector.js +76 -0
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldSelector.js.map +1 -0
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSpecification.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSpecification.js +24 -12
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSpecification.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionExpression.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionExpression.js +61 -53
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionType.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionType.js +43 -35
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifier.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifier.js +28 -18
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifier.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifierExpression.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifierExpression.js +28 -18
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifierExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIfExpression.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIfExpression.js +42 -30
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIfExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeInvokeExpression.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeInvokeExpression.js +55 -64
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeInvokeExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeList.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeList.js +26 -16
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeList.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeListType.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeListType.js +34 -24
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeListType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeLiteralExpression.js +9 -10
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeLiteralExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeNullCoalescingExpression.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeNullCoalescingExpression.js +33 -23
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeNullCoalescingExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeParameter.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeParameter.js +22 -23
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeParameter.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypePrimitiveType.js +9 -10
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypePrimitiveType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRangeExpression.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRangeExpression.js +40 -30
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRangeExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecord.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecord.js +31 -41
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecord.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecordType.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecordType.js +27 -28
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecordType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecursivePrimaryExpression.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecursivePrimaryExpression.js +44 -54
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecursivePrimaryExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTBinOpExpression.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTBinOpExpression.js +132 -179
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTBinOpExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTableType.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTableType.js +36 -37
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTableType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeUnaryExpression.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeUnaryExpression.js +57 -105
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeUnaryExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/task.d.ts +2 -2
- package/lib/powerquery-language-services/inspection/type/task.js +59 -104
- package/lib/powerquery-language-services/inspection/type/task.js.map +1 -1
- package/lib/powerquery-language-services/inspectionSettings.d.ts +2 -0
- package/lib/powerquery-language-services/inspectionUtils.d.ts +5 -4
- package/lib/powerquery-language-services/inspectionUtils.js +81 -137
- package/lib/powerquery-language-services/inspectionUtils.js.map +1 -1
- package/lib/powerquery-language-services/languageServiceUtils.js +1 -1
- package/lib/powerquery-language-services/languageServiceUtils.js.map +1 -1
- package/lib/powerquery-language-services/library/libraryUtils.js +11 -11
- package/lib/powerquery-language-services/library/libraryUtils.js.map +1 -1
- package/lib/powerquery-language-services/localization/localization.js +9 -13
- package/lib/powerquery-language-services/localization/localization.js.map +1 -1
- package/lib/powerquery-language-services/localization/localizationUtils.js +1 -1
- package/lib/powerquery-language-services/localization/localizationUtils.js.map +1 -1
- package/lib/powerquery-language-services/localization/templates.js +43 -43
- package/lib/powerquery-language-services/localization/templates.js.map +1 -1
- package/lib/powerquery-language-services/positionUtils.d.ts +5 -5
- package/lib/powerquery-language-services/positionUtils.js +53 -33
- package/lib/powerquery-language-services/positionUtils.js.map +1 -1
- package/lib/powerquery-language-services/providers/languageCompletionItemProvider.d.ts +3 -3
- package/lib/powerquery-language-services/providers/languageCompletionItemProvider.js +40 -94
- package/lib/powerquery-language-services/providers/languageCompletionItemProvider.js.map +1 -1
- package/lib/powerquery-language-services/providers/librarySymbolProvider.js +66 -138
- package/lib/powerquery-language-services/providers/librarySymbolProvider.js.map +1 -1
- package/lib/powerquery-language-services/providers/localDocumentSymbolProvider.d.ts +4 -6
- package/lib/powerquery-language-services/providers/localDocumentSymbolProvider.js +137 -213
- package/lib/powerquery-language-services/providers/localDocumentSymbolProvider.js.map +1 -1
- package/lib/powerquery-language-services/providers/nullSymbolProvider.js +21 -52
- package/lib/powerquery-language-services/providers/nullSymbolProvider.js.map +1 -1
- package/lib/powerquery-language-services/validate/validate.d.ts +1 -1
- package/lib/powerquery-language-services/validate/validate.js +38 -42
- package/lib/powerquery-language-services/validate/validate.js.map +1 -1
- package/lib/powerquery-language-services/validate/validateDuplicateIdentifiers.d.ts +1 -1
- package/lib/powerquery-language-services/validate/validateDuplicateIdentifiers.js +82 -129
- package/lib/powerquery-language-services/validate/validateDuplicateIdentifiers.js.map +1 -1
- package/lib/powerquery-language-services/validate/validateFunctionExpression.d.ts +1 -1
- package/lib/powerquery-language-services/validate/validateFunctionExpression.js +61 -101
- package/lib/powerquery-language-services/validate/validateFunctionExpression.js.map +1 -1
- package/lib/powerquery-language-services/validate/validateInvokeExpression.d.ts +1 -1
- package/lib/powerquery-language-services/validate/validateInvokeExpression.js +61 -98
- package/lib/powerquery-language-services/validate/validateInvokeExpression.js.map +1 -1
- package/lib/powerquery-language-services/validate/validateLexAndParse.d.ts +1 -1
- package/lib/powerquery-language-services/validate/validateLexAndParse.js +114 -122
- package/lib/powerquery-language-services/validate/validateLexAndParse.js.map +1 -1
- package/lib/powerquery-language-services/validate/validationSettings/validationSettingsUtils.js +1 -12
- package/lib/powerquery-language-services/validate/validationSettings/validationSettingsUtils.js.map +1 -1
- package/lib/powerquery-language-services/workspaceCache/workspaceCache.d.ts +3 -13
- package/lib/powerquery-language-services/workspaceCache/workspaceCacheUtils.d.ts +7 -8
- package/lib/powerquery-language-services/workspaceCache/workspaceCacheUtils.js +93 -147
- package/lib/powerquery-language-services/workspaceCache/workspaceCacheUtils.js.map +1 -1
- package/package.json +5 -4
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldProjection.js +0 -124
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldProjection.js.map +0 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSelector.js +0 -68
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSelector.js.map +0 -1
|
@@ -1,117 +1,99 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// Copyright (c) Microsoft Corporation.
|
|
3
3
|
// Licensed under the MIT license.
|
|
4
|
-
var
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
finally {
|
|
13
|
-
try {
|
|
14
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
15
|
-
}
|
|
16
|
-
finally { if (e) throw e.error; }
|
|
17
|
-
}
|
|
18
|
-
return ar;
|
|
19
|
-
};
|
|
20
|
-
var __values = (this && this.__values) || function(o) {
|
|
21
|
-
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
22
|
-
if (m) return m.call(o);
|
|
23
|
-
if (o && typeof o.length === "number") return {
|
|
24
|
-
next: function () {
|
|
25
|
-
if (o && i >= o.length) o = void 0;
|
|
26
|
-
return { value: o && o[i++], done: !o };
|
|
27
|
-
}
|
|
28
|
-
};
|
|
29
|
-
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
4
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
5
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
6
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
7
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
8
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
9
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
10
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
11
|
+
});
|
|
30
12
|
};
|
|
31
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
32
14
|
exports.tryInvokeExpression = void 0;
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
15
|
+
const PQP = require("@microsoft/powerquery-parser");
|
|
16
|
+
const powerquery_parser_1 = require("@microsoft/powerquery-parser");
|
|
17
|
+
const parser_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/parser");
|
|
18
|
+
const language_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/language");
|
|
19
|
+
const scope_1 = require("../scope");
|
|
20
|
+
const type_1 = require("../type");
|
|
21
|
+
const typeCache_1 = require("../typeCache");
|
|
40
22
|
function tryInvokeExpression(settings, nodeIdMapCollection, invokeExpressionId,
|
|
41
23
|
// If a TypeCache is given, then potentially add to its values and include it as part of the return,
|
|
42
24
|
// Else create a new TypeCache and include it in the return.
|
|
43
|
-
typeCache) {
|
|
44
|
-
|
|
45
|
-
return powerquery_parser_1.ResultUtils.ensureResult(settings.locale, function () {
|
|
46
|
-
return inspectInvokeExpression(settings, nodeIdMapCollection, invokeExpressionId, typeCache);
|
|
47
|
-
});
|
|
25
|
+
typeCache = typeCache_1.TypeCacheUtils.createEmptyCache()) {
|
|
26
|
+
return powerquery_parser_1.ResultUtils.ensureResultAsync(settings.locale, () => inspectInvokeExpression(settings, nodeIdMapCollection, invokeExpressionId, typeCache));
|
|
48
27
|
}
|
|
49
28
|
exports.tryInvokeExpression = tryInvokeExpression;
|
|
50
29
|
function inspectInvokeExpression(settings, nodeIdMapCollection, invokeExpressionId, typeCache) {
|
|
51
30
|
var _a;
|
|
52
|
-
(
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
invokeExpressionId
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
31
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
32
|
+
(_a = settings.maybeCancellationToken) === null || _a === void 0 ? void 0 : _a.throwIfCancelled();
|
|
33
|
+
const maybeInvokeExpressionXorNode = parser_1.NodeIdMapUtils.maybeXor(nodeIdMapCollection, invokeExpressionId);
|
|
34
|
+
if (maybeInvokeExpressionXorNode === undefined) {
|
|
35
|
+
throw new PQP.CommonError.InvariantError(`expected invokeExpressionId to be present in nodeIdMapCollection`, {
|
|
36
|
+
invokeExpressionId,
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
const invokeExpressionXorNode = maybeInvokeExpressionXorNode;
|
|
40
|
+
parser_1.XorNodeUtils.assertIsInvokeExpression(invokeExpressionXorNode);
|
|
41
|
+
const previousNode = parser_1.NodeIdMapUtils.assertGetRecursiveExpressionPreviousSibling(nodeIdMapCollection, invokeExpressionId);
|
|
42
|
+
const functionType = powerquery_parser_1.Assert.unboxOk(yield (0, type_1.tryType)(settings, nodeIdMapCollection, previousNode.node.id, typeCache));
|
|
43
|
+
const maybeName = parser_1.NodeIdMapUtils.maybeInvokeExpressionIdentifierLiteral(nodeIdMapCollection, invokeExpressionId);
|
|
44
|
+
let maybeInvokeExpressionArgs;
|
|
45
|
+
if (language_1.TypeUtils.isDefinedFunction(functionType)) {
|
|
46
|
+
const iterableArguments = parser_1.NodeIdMapIterator.iterInvokeExpression(nodeIdMapCollection, invokeExpressionXorNode);
|
|
47
|
+
const givenArgumentTypes = yield getArgumentTypes(settings, nodeIdMapCollection, typeCache, iterableArguments);
|
|
48
|
+
const givenArguments = iterableArguments.slice(0, givenArgumentTypes.length);
|
|
49
|
+
const [numMinExpectedArguments, numMaxExpectedArguments] = getNumExpectedArguments(functionType);
|
|
50
|
+
maybeInvokeExpressionArgs = {
|
|
51
|
+
givenArguments,
|
|
52
|
+
givenArgumentTypes,
|
|
53
|
+
numMaxExpectedArguments,
|
|
54
|
+
numMinExpectedArguments,
|
|
55
|
+
typeChecked: language_1.TypeUtils.typeCheckInvocation(givenArgumentTypes, functionType),
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
return {
|
|
59
|
+
invokeExpressionXorNode,
|
|
60
|
+
functionType,
|
|
61
|
+
isNameInLocalScope: yield getIsNameInLocalScope(settings, nodeIdMapCollection, typeCache, invokeExpressionXorNode, maybeName),
|
|
62
|
+
maybeName,
|
|
63
|
+
maybeArguments: maybeInvokeExpressionArgs,
|
|
76
64
|
};
|
|
77
|
-
}
|
|
78
|
-
return {
|
|
79
|
-
invokeExpressionXorNode: invokeExpressionXorNode,
|
|
80
|
-
functionType: functionType,
|
|
81
|
-
isNameInLocalScope: getIsNameInLocalScope(settings, nodeIdMapCollection, typeCache, invokeExpressionXorNode, maybeName),
|
|
82
|
-
maybeName: maybeName,
|
|
83
|
-
maybeArguments: maybeInvokeExpressionArgs,
|
|
84
|
-
};
|
|
65
|
+
});
|
|
85
66
|
}
|
|
86
67
|
function getIsNameInLocalScope(settings, nodeIdMapCollection, typeCache, invokeExpressionXorNode, maybeName) {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
68
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
69
|
+
// Try to find out if the identifier is a local or external name.
|
|
70
|
+
if (maybeName !== undefined) {
|
|
71
|
+
// Seed local scope
|
|
72
|
+
const scope = powerquery_parser_1.Assert.unboxOk(yield (0, scope_1.assertGetOrCreateNodeScope)(settings, nodeIdMapCollection, invokeExpressionXorNode.node.id, typeCache.scopeById));
|
|
73
|
+
const maybeNameScopeItem = scope.get(maybeName);
|
|
74
|
+
return maybeNameScopeItem !== undefined && maybeNameScopeItem.kind !== "Undefined" /* Undefined */;
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
return false;
|
|
78
|
+
}
|
|
79
|
+
});
|
|
97
80
|
}
|
|
98
81
|
function getNumExpectedArguments(functionType) {
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
82
|
+
const nonOptionalArguments = functionType.parameters.filter((parameter) => !parameter.isOptional);
|
|
83
|
+
const numMinExpectedArguments = nonOptionalArguments.length;
|
|
84
|
+
const numMaxExpectedArguments = functionType.parameters.length;
|
|
102
85
|
return [numMinExpectedArguments, numMaxExpectedArguments];
|
|
103
86
|
}
|
|
104
87
|
function getArgumentTypes(settings, nodeIdMapCollection, typeCache, argXorNodes) {
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
var triedArgType = (0, type_1.tryType)(settings, nodeIdMapCollection, xorNode.node.id, typeCache);
|
|
88
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
89
|
+
const result = [];
|
|
90
|
+
for (const xorNode of argXorNodes) {
|
|
91
|
+
// eslint-disable-next-line no-await-in-loop
|
|
92
|
+
const triedArgType = yield (0, type_1.tryType)(settings, nodeIdMapCollection, xorNode.node.id, typeCache);
|
|
111
93
|
if (powerquery_parser_1.ResultUtils.isError(triedArgType)) {
|
|
112
94
|
throw triedArgType;
|
|
113
95
|
}
|
|
114
|
-
|
|
96
|
+
const argType = triedArgType.value;
|
|
115
97
|
// Occurs when there's expected to be a trailing argument, but none exist.
|
|
116
98
|
// Eg. `foo(|` will iterate over an TXorNode which: contains no parsed elements, and evaluates to unknown.
|
|
117
99
|
if (language_1.TypeUtils.isUnknown(argType) && !parser_1.NodeIdMapUtils.hasParsedToken(nodeIdMapCollection, xorNode.node.id)) {
|
|
@@ -120,14 +102,7 @@ function getArgumentTypes(settings, nodeIdMapCollection, typeCache, argXorNodes)
|
|
|
120
102
|
}
|
|
121
103
|
result.push(argType);
|
|
122
104
|
}
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
finally {
|
|
126
|
-
try {
|
|
127
|
-
if (argXorNodes_1_1 && !argXorNodes_1_1.done && (_a = argXorNodes_1.return)) _a.call(argXorNodes_1);
|
|
128
|
-
}
|
|
129
|
-
finally { if (e_1) throw e_1.error; }
|
|
130
|
-
}
|
|
131
|
-
return result;
|
|
105
|
+
return result;
|
|
106
|
+
});
|
|
132
107
|
}
|
|
133
108
|
//# sourceMappingURL=invokeExpression.js.map
|
package/lib/powerquery-language-services/inspection/invokeExpression/invokeExpression.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invokeExpression.js","sourceRoot":"","sources":["../../../../src/powerquery-language-services/inspection/invokeExpression/invokeExpression.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC
|
|
1
|
+
{"version":3,"file":"invokeExpression.js","sourceRoot":"","sources":["../../../../src/powerquery-language-services/inspection/invokeExpression/invokeExpression.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,44 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// Copyright (c) Microsoft Corporation.
|
|
3
3
|
// Licensed under the MIT license.
|
|
4
|
-
var __read = (this && this.__read) || function (o, n) {
|
|
5
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
6
|
-
if (!m) return o;
|
|
7
|
-
var i = m.call(o), r, ar = [], e;
|
|
8
|
-
try {
|
|
9
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
10
|
-
}
|
|
11
|
-
catch (error) { e = { error: error }; }
|
|
12
|
-
finally {
|
|
13
|
-
try {
|
|
14
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
15
|
-
}
|
|
16
|
-
finally { if (e) throw e.error; }
|
|
17
|
-
}
|
|
18
|
-
return ar;
|
|
19
|
-
};
|
|
20
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
5
|
exports.calculateJaroWinkler = exports.calculateJaro = void 0;
|
|
22
6
|
// https://en.wikipedia.org/wiki/Jaro%E2%80%93Winkler_distance
|
|
23
7
|
// The standard magic numbers for Winkler adjustments.
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
8
|
+
const WinklerAdjustment = 0.1;
|
|
9
|
+
const WinklerMaxCharacterAdjustment = 4;
|
|
10
|
+
const WinklerScoreThreshold = 0.7;
|
|
27
11
|
function calculateJaro(left, right) {
|
|
28
|
-
|
|
12
|
+
const [shorter, longer] = getNormalized(left, right);
|
|
29
13
|
return calculateJaroForNormalized(shorter, longer);
|
|
30
14
|
}
|
|
31
15
|
exports.calculateJaro = calculateJaro;
|
|
32
16
|
function calculateJaroWinkler(left, right) {
|
|
33
|
-
|
|
34
|
-
|
|
17
|
+
const [shorter, longer] = getNormalized(left, right);
|
|
18
|
+
let jaroScore = calculateJaroForNormalized(shorter, longer);
|
|
35
19
|
if (jaroScore <= WinklerScoreThreshold) {
|
|
36
20
|
return jaroScore;
|
|
37
21
|
}
|
|
38
22
|
// Adjust score for the number of leading characters that match.
|
|
39
23
|
// Capped at an upper bound of N leading characters, where N is most commonly `4`.
|
|
40
|
-
|
|
41
|
-
|
|
24
|
+
const upperBound = Math.max(WinklerMaxCharacterAdjustment, shorter.length);
|
|
25
|
+
let startingCharIndex = 0;
|
|
42
26
|
while (shorter[startingCharIndex] === longer[startingCharIndex] && startingCharIndex < upperBound) {
|
|
43
27
|
startingCharIndex += 1;
|
|
44
28
|
}
|
|
@@ -49,19 +33,19 @@ function calculateJaroWinkler(left, right) {
|
|
|
49
33
|
}
|
|
50
34
|
exports.calculateJaroWinkler = calculateJaroWinkler;
|
|
51
35
|
function calculateJaroForNormalized(shorter, longer) {
|
|
52
|
-
|
|
53
|
-
|
|
36
|
+
const shorterLength = shorter.length;
|
|
37
|
+
const longerLength = longer.length;
|
|
54
38
|
// When trying to find similar characters limit the search to a window based on longer's length.
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
for (
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
for (
|
|
64
|
-
|
|
39
|
+
const matchingWindowSize = Math.floor(longerLength / 2) - 1;
|
|
40
|
+
const shorterMatches = new Array(shorterLength);
|
|
41
|
+
const longerMatches = new Array(longerLength);
|
|
42
|
+
let numMatches = 0;
|
|
43
|
+
for (let longerIndex = 0; longerIndex < longerLength; longerIndex += 1) {
|
|
44
|
+
const longerChar = longer[longerIndex];
|
|
45
|
+
const matchingWindowStart = Math.max(0, longerIndex - matchingWindowSize);
|
|
46
|
+
const matchingWindowEnd = Math.min(longerIndex + matchingWindowSize + 1, shorterLength);
|
|
47
|
+
for (let shorterIndex = matchingWindowStart; shorterIndex < matchingWindowEnd; shorterIndex += 1) {
|
|
48
|
+
const shorterChar = shorter[shorterIndex];
|
|
65
49
|
if (longerChar === shorterChar && !shorterMatches[shorterIndex]) {
|
|
66
50
|
shorterMatches[shorterIndex] = true;
|
|
67
51
|
longerMatches[longerIndex] = true;
|
|
@@ -77,9 +61,9 @@ function calculateJaroForNormalized(shorter, longer) {
|
|
|
77
61
|
// `k` is part of an optimization.
|
|
78
62
|
// It's used to keep a persistent index as we iterate over longerLength,
|
|
79
63
|
// which will prevent double matching or a double for-loop.
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
for (
|
|
64
|
+
let k = 0;
|
|
65
|
+
let numTranspositionsNeeded = 0;
|
|
66
|
+
for (let longerIndex = 0; longerIndex < longerLength; longerIndex += 1) {
|
|
83
67
|
if (!longerMatches[longerIndex]) {
|
|
84
68
|
continue;
|
|
85
69
|
}
|
|
@@ -91,9 +75,9 @@ function calculateJaroForNormalized(shorter, longer) {
|
|
|
91
75
|
}
|
|
92
76
|
k += 1;
|
|
93
77
|
}
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
78
|
+
const m_over_s1 = numMatches / longerLength;
|
|
79
|
+
const m_over_s2 = numMatches / shorterLength;
|
|
80
|
+
const mMinusT_over_m = (numMatches - numTranspositionsNeeded) / numMatches;
|
|
97
81
|
return (m_over_s1 + m_over_s2 + mMinusT_over_m) / 3;
|
|
98
82
|
}
|
|
99
83
|
function getNormalized(left, right) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jaroWinkler.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/inspection/jaroWinkler.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC
|
|
1
|
+
{"version":3,"file":"jaroWinkler.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/inspection/jaroWinkler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,63 +1,30 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// Copyright (c) Microsoft Corporation.
|
|
3
3
|
// Licensed under the MIT license.
|
|
4
|
-
var __assign = (this && this.__assign) || function () {
|
|
5
|
-
__assign = Object.assign || function(t) {
|
|
6
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
7
|
-
s = arguments[i];
|
|
8
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
9
|
-
t[p] = s[p];
|
|
10
|
-
}
|
|
11
|
-
return t;
|
|
12
|
-
};
|
|
13
|
-
return __assign.apply(this, arguments);
|
|
14
|
-
};
|
|
15
|
-
var __values = (this && this.__values) || function(o) {
|
|
16
|
-
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
17
|
-
if (m) return m.call(o);
|
|
18
|
-
if (o && typeof o.length === "number") return {
|
|
19
|
-
next: function () {
|
|
20
|
-
if (o && i >= o.length) o = void 0;
|
|
21
|
-
return { value: o && o[i++], done: !o };
|
|
22
|
-
}
|
|
23
|
-
};
|
|
24
|
-
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
25
|
-
};
|
|
26
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
27
5
|
exports.pseudoFunctionExpressionType = void 0;
|
|
28
|
-
|
|
29
|
-
|
|
6
|
+
const language_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/language");
|
|
7
|
+
const parser_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/parser");
|
|
30
8
|
function pseudoFunctionExpressionType(nodeIdMapCollection, fnExpr) {
|
|
31
|
-
var e_1, _a;
|
|
32
9
|
parser_1.XorNodeUtils.assertIsNodeKind(fnExpr, "FunctionExpression" /* FunctionExpression */);
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
if (maybeName === undefined) {
|
|
41
|
-
break;
|
|
42
|
-
}
|
|
43
|
-
var maybeExaminable = language_1.TypeUtils.inspectParameter(nodeIdMapCollection, parser_1.XorNodeUtils.assertAsParameter(parameter));
|
|
44
|
-
if (maybeExaminable !== undefined) {
|
|
45
|
-
examinedParameters.push(__assign(__assign({}, maybeExaminable), { id: parameter.node.id, name: maybeName }));
|
|
46
|
-
}
|
|
10
|
+
const examinedParameters = [];
|
|
11
|
+
// Iterates all parameters as TXorNodes if they exist, otherwise early exists from an empty list.
|
|
12
|
+
for (const parameter of functionParameterXorNodes(nodeIdMapCollection, fnExpr)) {
|
|
13
|
+
// A parameter isn't examinable if it doesn't have an Ast.Identifier for its name.
|
|
14
|
+
const maybeName = parser_1.NodeIdMapUtils.maybeUnboxNthChildIfAstChecked(nodeIdMapCollection, parameter.node.id, 1, "Identifier" /* Identifier */);
|
|
15
|
+
if (maybeName === undefined) {
|
|
16
|
+
break;
|
|
47
17
|
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
try {
|
|
52
|
-
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
18
|
+
const maybeExaminable = language_1.TypeUtils.inspectParameter(nodeIdMapCollection, parser_1.XorNodeUtils.assertAsParameter(parameter));
|
|
19
|
+
if (maybeExaminable !== undefined) {
|
|
20
|
+
examinedParameters.push(Object.assign(Object.assign({}, maybeExaminable), { id: parameter.node.id, name: maybeName }));
|
|
53
21
|
}
|
|
54
|
-
finally { if (e_1) throw e_1.error; }
|
|
55
22
|
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
23
|
+
const maybeReturnType = parser_1.NodeIdMapUtils.maybeUnboxNthChildIfAstChecked(nodeIdMapCollection, fnExpr.node.id, 1, "AsNullablePrimitiveType" /* AsNullablePrimitiveType */);
|
|
24
|
+
let isReturnNullable;
|
|
25
|
+
let returnType;
|
|
59
26
|
if (maybeReturnType !== undefined) {
|
|
60
|
-
|
|
27
|
+
const simplified = language_1.AstUtils.simplifyAsNullablePrimitiveType(maybeReturnType);
|
|
61
28
|
isReturnNullable = simplified.isNullable;
|
|
62
29
|
returnType = language_1.TypeUtils.typeKindFromPrimitiveTypeConstantKind(simplified.primitiveTypeConstantKind);
|
|
63
30
|
}
|
|
@@ -76,11 +43,11 @@ function pseudoFunctionExpressionType(nodeIdMapCollection, fnExpr) {
|
|
|
76
43
|
}
|
|
77
44
|
exports.pseudoFunctionExpressionType = pseudoFunctionExpressionType;
|
|
78
45
|
function functionParameterXorNodes(nodeIdMapCollection, fnExpr) {
|
|
79
|
-
|
|
46
|
+
const maybeParameterList = parser_1.NodeIdMapUtils.maybeNthChildChecked(nodeIdMapCollection, fnExpr.node.id, 0, "ParameterList" /* ParameterList */);
|
|
80
47
|
if (maybeParameterList === undefined) {
|
|
81
48
|
return [];
|
|
82
49
|
}
|
|
83
|
-
|
|
50
|
+
const maybeWrappedContent = parser_1.NodeIdMapUtils.maybeUnboxWrappedContent(nodeIdMapCollection, maybeParameterList.node.id);
|
|
84
51
|
return maybeWrappedContent === undefined
|
|
85
52
|
? []
|
|
86
53
|
: parser_1.NodeIdMapIterator.iterArrayWrapper(nodeIdMapCollection, maybeWrappedContent);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pseudoFunctionExpressionType.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/inspection/pseudoFunctionExpressionType.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC
|
|
1
|
+
{"version":3,"file":"pseudoFunctionExpressionType.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/inspection/pseudoFunctionExpressionType.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,0FAA6G;AAC7G,sFAOmE;AAcnE,SAAgB,4BAA4B,CACxC,mBAAyC,EACzC,MAAgB;IAEhB,qBAAY,CAAC,gBAAgB,CAAyB,MAAM,gDAAkC,CAAC;IAE/F,MAAM,kBAAkB,GAAkC,EAAE,CAAC;IAE7D,iGAAiG;IACjG,KAAK,MAAM,SAAS,IAAI,yBAAyB,CAAC,mBAAmB,EAAE,MAAM,CAAC,EAAE;QAC5E,kFAAkF;QAClF,MAAM,SAAS,GAA+B,uBAAc,CAAC,8BAA8B,CACvF,mBAAmB,EACnB,SAAS,CAAC,IAAI,CAAC,EAAE,EACjB,CAAC,gCAEJ,CAAC;QAEF,IAAI,SAAS,KAAK,SAAS,EAAE;YACzB,MAAM;SACT;QAED,MAAM,eAAe,GAAuC,oBAAS,CAAC,gBAAgB,CAClF,mBAAmB,EACnB,qBAAY,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAC5C,CAAC;QAEF,IAAI,eAAe,KAAK,SAAS,EAAE;YAC/B,kBAAkB,CAAC,IAAI,iCAChB,eAAe,KAClB,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,EACrB,IAAI,EAAE,SAAS,IACjB,CAAC;SACN;KACJ;IAED,MAAM,eAAe,GACjB,uBAAc,CAAC,8BAA8B,CACzC,mBAAmB,EACnB,MAAM,CAAC,IAAI,CAAC,EAAE,EACd,CAAC,0DAEJ,CAAC;IAEN,IAAI,gBAAyB,CAAC;IAC9B,IAAI,UAAyB,CAAC;IAE9B,IAAI,eAAe,KAAK,SAAS,EAAE;QAC/B,MAAM,UAAU,GAA4B,mBAAQ,CAAC,+BAA+B,CAAC,eAAe,CAAC,CAAC;QACtG,gBAAgB,GAAG,UAAU,CAAC,UAAU,CAAC;QACzC,UAAU,GAAG,oBAAS,CAAC,qCAAqC,CAAC,UAAU,CAAC,yBAAyB,CAAC,CAAC;KACtG;SAAM;QACH,gBAAgB,GAAG,IAAI,CAAC;QACxB,UAAU,kBAAoB,CAAC;KAClC;IAED,OAAO;QACH,UAAU,EAAE,kBAAkB;QAC9B,UAAU,EAAE;YACR,IAAI,EAAE,UAAU;YAChB,iBAAiB,EAAE,SAAS;YAC5B,UAAU,EAAE,gBAAgB;SAC/B;KACJ,CAAC;AACN,CAAC;AAhED,oEAgEC;AAED,SAAS,yBAAyB,CAC9B,mBAAyC,EACzC,MAAgB;IAEhB,MAAM,kBAAkB,GACpB,uBAAc,CAAC,oBAAoB,CAC/B,mBAAmB,EACnB,MAAM,CAAC,IAAI,CAAC,EAAE,EACd,CAAC,sCAEJ,CAAC;IAEN,IAAI,kBAAkB,KAAK,SAAS,EAAE;QAClC,OAAO,EAAE,CAAC;KACb;IAED,MAAM,mBAAmB,GAAyB,uBAAc,CAAC,wBAAwB,CACrF,mBAAmB,EACnB,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAC7B,CAAC;IAEF,OAAO,mBAAmB,KAAK,SAAS;QACpC,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,0BAAiB,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,CAAC;AACvF,CAAC"}
|
|
@@ -2,6 +2,6 @@ import * as PQP from "@microsoft/powerquery-parser";
|
|
|
2
2
|
import { NodeIdMap, TXorNode } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser";
|
|
3
3
|
import { Inspection } from "../..";
|
|
4
4
|
import { ScopeById, TriedNodeScope } from "./scope";
|
|
5
|
-
export declare function tryNodeScope(settings: PQP.CommonSettings, nodeIdMapCollection: NodeIdMap.Collection, nodeId: number, scopeById: ScopeById): TriedNodeScope
|
|
6
|
-
export declare function assertGetOrCreateNodeScope(settings: PQP.CommonSettings, nodeIdMapCollection: NodeIdMap.Collection, nodeId: number, scopeById: ScopeById): Inspection.TriedNodeScope
|
|
7
|
-
export declare function maybeDereferencedIdentifier(settings: PQP.CommonSettings, nodeIdMapCollection: NodeIdMap.Collection, xorNode: TXorNode, scopeById?: ScopeById): PQP.Result<TXorNode | undefined, PQP.CommonError.CommonError
|
|
5
|
+
export declare function tryNodeScope(settings: PQP.CommonSettings, nodeIdMapCollection: NodeIdMap.Collection, nodeId: number, scopeById: ScopeById): Promise<TriedNodeScope>;
|
|
6
|
+
export declare function assertGetOrCreateNodeScope(settings: PQP.CommonSettings, nodeIdMapCollection: NodeIdMap.Collection, nodeId: number, scopeById: ScopeById): Promise<Inspection.TriedNodeScope>;
|
|
7
|
+
export declare function maybeDereferencedIdentifier(settings: PQP.CommonSettings, nodeIdMapCollection: NodeIdMap.Collection, xorNode: TXorNode, scopeById?: ScopeById): Promise<PQP.Result<TXorNode | undefined, PQP.CommonError.CommonError>>;
|