@microsoft/powerquery-language-services 0.2.19 → 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.
Files changed (226) hide show
  1. package/lib/powerquery-language-services/analysis/analysisBase.d.ts +4 -6
  2. package/lib/powerquery-language-services/analysis/analysisBase.js +118 -223
  3. package/lib/powerquery-language-services/analysis/analysisBase.js.map +1 -1
  4. package/lib/powerquery-language-services/analysis/analysisSettings.d.ts +2 -2
  5. package/lib/powerquery-language-services/analysis/analysisUtils.js +1 -1
  6. package/lib/powerquery-language-services/analysis/analysisUtils.js.map +1 -1
  7. package/lib/powerquery-language-services/analysis/documentAnalysis.d.ts +0 -2
  8. package/lib/powerquery-language-services/analysis/documentAnalysis.js +11 -32
  9. package/lib/powerquery-language-services/analysis/documentAnalysis.js.map +1 -1
  10. package/lib/powerquery-language-services/commonTypes.js +1 -1
  11. package/lib/powerquery-language-services/commonTypes.js.map +1 -1
  12. package/lib/powerquery-language-services/documentSymbols.d.ts +1 -1
  13. package/lib/powerquery-language-services/documentSymbols.js +62 -111
  14. package/lib/powerquery-language-services/documentSymbols.js.map +1 -1
  15. package/lib/powerquery-language-services/formatter.d.ts +1 -1
  16. package/lib/powerquery-language-services/formatter.js +35 -34
  17. package/lib/powerquery-language-services/formatter.js.map +1 -1
  18. package/lib/powerquery-language-services/index.js +2 -2
  19. package/lib/powerquery-language-services/index.js.map +1 -1
  20. package/lib/powerquery-language-services/inspection/activeNode/activeNodeUtils.js +74 -131
  21. package/lib/powerquery-language-services/inspection/activeNode/activeNodeUtils.js.map +1 -1
  22. package/lib/powerquery-language-services/inspection/activeNode/index.js +1 -1
  23. package/lib/powerquery-language-services/inspection/activeNode/index.js.map +1 -1
  24. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteFieldAccess.d.ts +1 -1
  25. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteFieldAccess.js +117 -187
  26. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteFieldAccess.js.map +1 -1
  27. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItemUtils.js +28 -28
  28. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItemUtils.js.map +1 -1
  29. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.d.ts +2 -2
  30. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.js +97 -114
  31. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.js.map +1 -1
  32. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordDefault.js +11 -11
  33. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordDefault.js.map +1 -1
  34. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordErrorHandlingExpression.js +9 -9
  35. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordErrorHandlingExpression.js.map +1 -1
  36. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordIdentifierPairedExpression.js +5 -5
  37. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordIdentifierPairedExpression.js.map +1 -1
  38. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordLetExpression.d.ts +1 -1
  39. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordLetExpression.js +43 -56
  40. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordLetExpression.js.map +1 -1
  41. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordListExpression.js +10 -10
  42. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordListExpression.js.map +1 -1
  43. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordSectionMember.d.ts +1 -1
  44. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordSectionMember.js +11 -11
  45. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordSectionMember.js.map +1 -1
  46. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordTrailingText.js +5 -5
  47. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordTrailingText.js.map +1 -1
  48. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/common.d.ts +1 -1
  49. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/common.js +28 -28
  50. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/common.js.map +1 -1
  51. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.js +28 -31
  52. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.js.map +1 -1
  53. package/lib/powerquery-language-services/inspection/autocomplete/autocompletePrimitiveType.js +19 -23
  54. package/lib/powerquery-language-services/inspection/autocomplete/autocompletePrimitiveType.js.map +1 -1
  55. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteUtils.js +5 -5
  56. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteUtils.js.map +1 -1
  57. package/lib/powerquery-language-services/inspection/autocomplete/common.js +2 -13
  58. package/lib/powerquery-language-services/inspection/autocomplete/common.js.map +1 -1
  59. package/lib/powerquery-language-services/inspection/autocomplete/index.js +1 -1
  60. package/lib/powerquery-language-services/inspection/autocomplete/index.js.map +1 -1
  61. package/lib/powerquery-language-services/inspection/autocomplete/task.d.ts +1 -1
  62. package/lib/powerquery-language-services/inspection/autocomplete/task.js +36 -25
  63. package/lib/powerquery-language-services/inspection/autocomplete/task.js.map +1 -1
  64. package/lib/powerquery-language-services/inspection/commonTypes.d.ts +6 -5
  65. package/lib/powerquery-language-services/inspection/expectedType.js +18 -18
  66. package/lib/powerquery-language-services/inspection/expectedType.js.map +1 -1
  67. package/lib/powerquery-language-services/inspection/externalType/externalType.d.ts +2 -2
  68. package/lib/powerquery-language-services/inspection/externalType/externalType.js +2 -1
  69. package/lib/powerquery-language-services/inspection/externalType/externalType.js.map +1 -1
  70. package/lib/powerquery-language-services/inspection/externalType/externalTypeUtils.js +3 -3
  71. package/lib/powerquery-language-services/inspection/externalType/externalTypeUtils.js.map +1 -1
  72. package/lib/powerquery-language-services/inspection/invokeExpression/currentInvokeExpression.d.ts +1 -1
  73. package/lib/powerquery-language-services/inspection/invokeExpression/currentInvokeExpression.js +49 -66
  74. package/lib/powerquery-language-services/inspection/invokeExpression/currentInvokeExpression.js.map +1 -1
  75. package/lib/powerquery-language-services/inspection/invokeExpression/invokeExpression.d.ts +1 -1
  76. package/lib/powerquery-language-services/inspection/invokeExpression/invokeExpression.js +74 -99
  77. package/lib/powerquery-language-services/inspection/invokeExpression/invokeExpression.js.map +1 -1
  78. package/lib/powerquery-language-services/inspection/jaroWinkler.js +26 -42
  79. package/lib/powerquery-language-services/inspection/jaroWinkler.js.map +1 -1
  80. package/lib/powerquery-language-services/inspection/pseudoFunctionExpressionType.js +18 -51
  81. package/lib/powerquery-language-services/inspection/pseudoFunctionExpressionType.js.map +1 -1
  82. package/lib/powerquery-language-services/inspection/scope/scopeInspection.d.ts +3 -3
  83. package/lib/powerquery-language-services/inspection/scope/scopeInspection.js +221 -275
  84. package/lib/powerquery-language-services/inspection/scope/scopeInspection.js.map +1 -1
  85. package/lib/powerquery-language-services/inspection/task.d.ts +2 -2
  86. package/lib/powerquery-language-services/inspection/task.js +52 -41
  87. package/lib/powerquery-language-services/inspection/task.js.map +1 -1
  88. package/lib/powerquery-language-services/inspection/type/index.js +1 -1
  89. package/lib/powerquery-language-services/inspection/type/index.js.map +1 -1
  90. package/lib/powerquery-language-services/inspection/type/inspectType/common.d.ts +9 -9
  91. package/lib/powerquery-language-services/inspection/type/inspectType/common.js +353 -338
  92. package/lib/powerquery-language-services/inspection/type/inspectType/common.js.map +1 -1
  93. package/lib/powerquery-language-services/inspection/type/inspectType/examineFieldSpecificationList.d.ts +1 -1
  94. package/lib/powerquery-language-services/inspection/type/inspectType/examineFieldSpecificationList.js +31 -41
  95. package/lib/powerquery-language-services/inspection/type/inspectType/examineFieldSpecificationList.js.map +1 -1
  96. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeConstant.js +3 -3
  97. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeConstant.js.map +1 -1
  98. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeEachExpression.d.ts +1 -1
  99. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeEachExpression.js +29 -19
  100. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeEachExpression.js.map +1 -1
  101. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeErrorHandlingExpression.d.ts +1 -1
  102. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeErrorHandlingExpression.js +27 -17
  103. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeErrorHandlingExpression.js.map +1 -1
  104. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/common.d.ts +4 -0
  105. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/common.js +68 -0
  106. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/common.js.map +1 -0
  107. package/lib/powerquery-language-services/inspection/type/inspectType/{inspectTypeFieldProjection.d.ts → inspectTypeField/inspectTypeFieldProjection.d.ts} +2 -2
  108. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldProjection.js +103 -0
  109. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldProjection.js.map +1 -0
  110. package/lib/powerquery-language-services/inspection/type/inspectType/{inspectTypeFieldSelector.d.ts → inspectTypeField/inspectTypeFieldSelector.d.ts} +2 -2
  111. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldSelector.js +76 -0
  112. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldSelector.js.map +1 -0
  113. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSpecification.d.ts +1 -1
  114. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSpecification.js +24 -12
  115. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSpecification.js.map +1 -1
  116. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionExpression.d.ts +1 -1
  117. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionExpression.js +65 -55
  118. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionExpression.js.map +1 -1
  119. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionType.d.ts +1 -1
  120. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionType.js +43 -35
  121. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionType.js.map +1 -1
  122. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifier.d.ts +1 -1
  123. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifier.js +28 -18
  124. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifier.js.map +1 -1
  125. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifierExpression.d.ts +1 -1
  126. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifierExpression.js +28 -18
  127. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifierExpression.js.map +1 -1
  128. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIfExpression.d.ts +1 -1
  129. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIfExpression.js +42 -30
  130. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIfExpression.js.map +1 -1
  131. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeInvokeExpression.d.ts +1 -1
  132. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeInvokeExpression.js +55 -64
  133. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeInvokeExpression.js.map +1 -1
  134. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeList.d.ts +1 -1
  135. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeList.js +26 -16
  136. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeList.js.map +1 -1
  137. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeListType.d.ts +1 -1
  138. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeListType.js +34 -24
  139. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeListType.js.map +1 -1
  140. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeLiteralExpression.js +9 -10
  141. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeLiteralExpression.js.map +1 -1
  142. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeNullCoalescingExpression.d.ts +1 -1
  143. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeNullCoalescingExpression.js +33 -23
  144. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeNullCoalescingExpression.js.map +1 -1
  145. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeParameter.d.ts +1 -1
  146. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeParameter.js +22 -23
  147. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeParameter.js.map +1 -1
  148. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypePrimitiveType.js +9 -10
  149. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypePrimitiveType.js.map +1 -1
  150. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRangeExpression.d.ts +1 -1
  151. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRangeExpression.js +40 -30
  152. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRangeExpression.js.map +1 -1
  153. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecord.d.ts +1 -1
  154. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecord.js +31 -41
  155. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecord.js.map +1 -1
  156. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecordType.d.ts +1 -1
  157. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecordType.js +27 -28
  158. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecordType.js.map +1 -1
  159. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecursivePrimaryExpression.d.ts +1 -1
  160. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecursivePrimaryExpression.js +44 -54
  161. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecursivePrimaryExpression.js.map +1 -1
  162. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTBinOpExpression.d.ts +1 -1
  163. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTBinOpExpression.js +132 -179
  164. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTBinOpExpression.js.map +1 -1
  165. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTableType.d.ts +1 -1
  166. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTableType.js +36 -37
  167. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTableType.js.map +1 -1
  168. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeUnaryExpression.d.ts +1 -1
  169. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeUnaryExpression.js +57 -105
  170. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeUnaryExpression.js.map +1 -1
  171. package/lib/powerquery-language-services/inspection/type/task.d.ts +2 -2
  172. package/lib/powerquery-language-services/inspection/type/task.js +59 -104
  173. package/lib/powerquery-language-services/inspection/type/task.js.map +1 -1
  174. package/lib/powerquery-language-services/inspectionSettings.d.ts +2 -0
  175. package/lib/powerquery-language-services/inspectionUtils.d.ts +5 -4
  176. package/lib/powerquery-language-services/inspectionUtils.js +80 -134
  177. package/lib/powerquery-language-services/inspectionUtils.js.map +1 -1
  178. package/lib/powerquery-language-services/languageServiceUtils.js +1 -1
  179. package/lib/powerquery-language-services/languageServiceUtils.js.map +1 -1
  180. package/lib/powerquery-language-services/library/libraryUtils.js +11 -11
  181. package/lib/powerquery-language-services/library/libraryUtils.js.map +1 -1
  182. package/lib/powerquery-language-services/localization/localization.js +9 -13
  183. package/lib/powerquery-language-services/localization/localization.js.map +1 -1
  184. package/lib/powerquery-language-services/localization/localizationUtils.js +1 -1
  185. package/lib/powerquery-language-services/localization/localizationUtils.js.map +1 -1
  186. package/lib/powerquery-language-services/localization/templates.js +43 -43
  187. package/lib/powerquery-language-services/localization/templates.js.map +1 -1
  188. package/lib/powerquery-language-services/positionUtils.d.ts +5 -5
  189. package/lib/powerquery-language-services/positionUtils.js +53 -33
  190. package/lib/powerquery-language-services/positionUtils.js.map +1 -1
  191. package/lib/powerquery-language-services/providers/languageCompletionItemProvider.d.ts +3 -3
  192. package/lib/powerquery-language-services/providers/languageCompletionItemProvider.js +40 -95
  193. package/lib/powerquery-language-services/providers/languageCompletionItemProvider.js.map +1 -1
  194. package/lib/powerquery-language-services/providers/librarySymbolProvider.js +63 -138
  195. package/lib/powerquery-language-services/providers/librarySymbolProvider.js.map +1 -1
  196. package/lib/powerquery-language-services/providers/localDocumentSymbolProvider.d.ts +3 -5
  197. package/lib/powerquery-language-services/providers/localDocumentSymbolProvider.js +130 -194
  198. package/lib/powerquery-language-services/providers/localDocumentSymbolProvider.js.map +1 -1
  199. package/lib/powerquery-language-services/providers/nullSymbolProvider.js +18 -52
  200. package/lib/powerquery-language-services/providers/nullSymbolProvider.js.map +1 -1
  201. package/lib/powerquery-language-services/validate/validate.d.ts +1 -1
  202. package/lib/powerquery-language-services/validate/validate.js +38 -42
  203. package/lib/powerquery-language-services/validate/validate.js.map +1 -1
  204. package/lib/powerquery-language-services/validate/validateDuplicateIdentifiers.d.ts +1 -1
  205. package/lib/powerquery-language-services/validate/validateDuplicateIdentifiers.js +82 -127
  206. package/lib/powerquery-language-services/validate/validateDuplicateIdentifiers.js.map +1 -1
  207. package/lib/powerquery-language-services/validate/validateFunctionExpression.d.ts +1 -1
  208. package/lib/powerquery-language-services/validate/validateFunctionExpression.js +61 -101
  209. package/lib/powerquery-language-services/validate/validateFunctionExpression.js.map +1 -1
  210. package/lib/powerquery-language-services/validate/validateInvokeExpression.d.ts +1 -1
  211. package/lib/powerquery-language-services/validate/validateInvokeExpression.js +61 -98
  212. package/lib/powerquery-language-services/validate/validateInvokeExpression.js.map +1 -1
  213. package/lib/powerquery-language-services/validate/validateLexAndParse.d.ts +1 -1
  214. package/lib/powerquery-language-services/validate/validateLexAndParse.js +114 -122
  215. package/lib/powerquery-language-services/validate/validateLexAndParse.js.map +1 -1
  216. package/lib/powerquery-language-services/validate/validationSettings/validationSettingsUtils.js +1 -12
  217. package/lib/powerquery-language-services/validate/validationSettings/validationSettingsUtils.js.map +1 -1
  218. package/lib/powerquery-language-services/workspaceCache/workspaceCache.d.ts +3 -13
  219. package/lib/powerquery-language-services/workspaceCache/workspaceCacheUtils.d.ts +7 -8
  220. package/lib/powerquery-language-services/workspaceCache/workspaceCacheUtils.js +93 -147
  221. package/lib/powerquery-language-services/workspaceCache/workspaceCacheUtils.js.map +1 -1
  222. package/package.json +4 -4
  223. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldProjection.js +0 -126
  224. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldProjection.js.map +0 -1
  225. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSelector.js +0 -67
  226. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSelector.js.map +0 -1
@@ -1,4 +1,4 @@
1
1
  import { Diagnostic } from "vscode-languageserver-types";
2
2
  import { TextDocument } from "vscode-languageserver-textdocument";
3
3
  import { ValidationSettings } from "./validationSettings";
4
- export declare function validateDuplicateIdentifiers(textDocument: TextDocument, validationSettings: ValidationSettings): ReadonlyArray<Diagnostic>;
4
+ export declare function validateDuplicateIdentifiers(textDocument: TextDocument, validationSettings: ValidationSettings): Promise<ReadonlyArray<Diagnostic>>;
@@ -1,84 +1,73 @@
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
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
21
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
22
- if (ar || !(i in from)) {
23
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
24
- ar[i] = from[i];
25
- }
26
- }
27
- return to.concat(ar || Array.prototype.slice.call(from));
28
- };
29
- var __values = (this && this.__values) || function(o) {
30
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
31
- if (m) return m.call(o);
32
- if (o && typeof o.length === "number") return {
33
- next: function () {
34
- if (o && i >= o.length) o = void 0;
35
- return { value: o && o[i++], done: !o };
36
- }
37
- };
38
- 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
+ });
39
12
  };
40
13
  Object.defineProperty(exports, "__esModule", { value: true });
41
14
  exports.validateDuplicateIdentifiers = void 0;
42
- var PQP = require("@microsoft/powerquery-parser");
43
- var vscode_languageserver_types_1 = require("vscode-languageserver-types");
44
- var parser_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/parser");
45
- var localization_1 = require("../localization");
46
- var workspaceCache_1 = require("../workspaceCache");
47
- var diagnosticErrorCode_1 = require("../diagnosticErrorCode");
48
- var __1 = require("..");
15
+ const PQP = require("@microsoft/powerquery-parser");
16
+ const vscode_languageserver_types_1 = require("vscode-languageserver-types");
17
+ const parser_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/parser");
18
+ const localization_1 = require("../localization");
19
+ const diagnosticErrorCode_1 = require("../diagnosticErrorCode");
20
+ const __1 = require("..");
21
+ const workspaceCache_1 = require("../workspaceCache");
49
22
  function validateDuplicateIdentifiers(textDocument, validationSettings) {
50
- if (!validationSettings.checkForDuplicateIdentifiers) {
51
- return [];
52
- }
53
- var cacheItem = workspaceCache_1.WorkspaceCacheUtils.getOrCreateParse(textDocument, validationSettings);
54
- var maybeNodeIdMapCollection;
55
- if (PQP.TaskUtils.isParseStageOk(cacheItem)) {
56
- maybeNodeIdMapCollection = cacheItem.nodeIdMapCollection;
57
- }
58
- else if (PQP.TaskUtils.isParseStageParseError(cacheItem)) {
59
- maybeNodeIdMapCollection = cacheItem.nodeIdMapCollection;
60
- }
61
- if (maybeNodeIdMapCollection === undefined) {
62
- return [];
63
- }
64
- var documentUri = textDocument.uri;
65
- var nodeIdMapCollection = maybeNodeIdMapCollection;
66
- return __spreadArray(__spreadArray(__spreadArray([], __read(validateDuplicateIdentifiersForLetExpresion(documentUri, nodeIdMapCollection, validationSettings)), false), __read(validateDuplicateIdentifiersForRecord(documentUri, nodeIdMapCollection, validationSettings)), false), __read(validateDuplicateIdentifiersForSection(documentUri, nodeIdMapCollection, validationSettings)), false);
23
+ return __awaiter(this, void 0, void 0, function* () {
24
+ if (!validationSettings.checkForDuplicateIdentifiers) {
25
+ return [];
26
+ }
27
+ const maybeParsePromise = yield workspaceCache_1.WorkspaceCacheUtils.getOrCreateParsePromise(textDocument, validationSettings);
28
+ if (maybeParsePromise === undefined) {
29
+ return [];
30
+ }
31
+ const triedParse = maybeParsePromise;
32
+ let maybeNodeIdMapCollection;
33
+ if (PQP.TaskUtils.isParseStageOk(triedParse)) {
34
+ maybeNodeIdMapCollection = triedParse.nodeIdMapCollection;
35
+ }
36
+ else if (PQP.TaskUtils.isParseStageParseError(triedParse)) {
37
+ maybeNodeIdMapCollection = triedParse.nodeIdMapCollection;
38
+ }
39
+ if (maybeNodeIdMapCollection === undefined) {
40
+ return [];
41
+ }
42
+ const documentUri = textDocument.uri;
43
+ const nodeIdMapCollection = maybeNodeIdMapCollection;
44
+ return [
45
+ ...validateDuplicateIdentifiersForLetExpresion(documentUri, nodeIdMapCollection, validationSettings),
46
+ ...validateDuplicateIdentifiersForRecord(documentUri, nodeIdMapCollection, validationSettings),
47
+ ...validateDuplicateIdentifiersForSection(documentUri, nodeIdMapCollection, validationSettings),
48
+ ];
49
+ });
67
50
  }
68
51
  exports.validateDuplicateIdentifiers = validateDuplicateIdentifiers;
69
52
  function validateDuplicateIdentifiersForLetExpresion(documentUri, nodeIdMapCollection, validationSettings) {
70
53
  var _a;
71
- var letIds = __spreadArray([], __read(((_a = nodeIdMapCollection.idsByNodeKind.get("LetExpression" /* LetExpression */)) !== null && _a !== void 0 ? _a : [])), false);
54
+ const letIds = [
55
+ ...((_a = nodeIdMapCollection.idsByNodeKind.get("LetExpression" /* LetExpression */)) !== null && _a !== void 0 ? _a : []),
56
+ ];
72
57
  return validateDuplicateIdentifiersForKeyValuePair(documentUri, nodeIdMapCollection, letIds, parser_1.NodeIdMapIterator.iterLetExpression, validationSettings);
73
58
  }
74
59
  function validateDuplicateIdentifiersForRecord(documentUri, nodeIdMapCollection, validationSettings) {
75
60
  var _a, _b, _c;
76
- var recordIds = __spreadArray(__spreadArray(__spreadArray([], __read(((_a = nodeIdMapCollection.idsByNodeKind.get("RecordExpression" /* RecordExpression */)) !== null && _a !== void 0 ? _a : [])), false), __read(((_b = nodeIdMapCollection.idsByNodeKind.get("RecordLiteral" /* RecordLiteral */)) !== null && _b !== void 0 ? _b : [])), false), __read(((_c = nodeIdMapCollection.idsByNodeKind.get("RecordType" /* RecordType */)) !== null && _c !== void 0 ? _c : [])), false);
61
+ const recordIds = [
62
+ ...((_a = nodeIdMapCollection.idsByNodeKind.get("RecordExpression" /* RecordExpression */)) !== null && _a !== void 0 ? _a : []),
63
+ ...((_b = nodeIdMapCollection.idsByNodeKind.get("RecordLiteral" /* RecordLiteral */)) !== null && _b !== void 0 ? _b : []),
64
+ ...((_c = nodeIdMapCollection.idsByNodeKind.get("RecordType" /* RecordType */)) !== null && _c !== void 0 ? _c : []),
65
+ ];
77
66
  return validateDuplicateIdentifiersForKeyValuePair(documentUri, nodeIdMapCollection, recordIds, parser_1.NodeIdMapIterator.iterRecord, validationSettings);
78
67
  }
79
68
  function validateDuplicateIdentifiersForSection(documentUri, nodeIdMapCollection, validationSettings) {
80
69
  var _a;
81
- var recordIds = __spreadArray([], __read(((_a = nodeIdMapCollection.idsByNodeKind.get("Section" /* Section */)) !== null && _a !== void 0 ? _a : [])), false);
70
+ const recordIds = [...((_a = nodeIdMapCollection.idsByNodeKind.get("Section" /* Section */)) !== null && _a !== void 0 ? _a : [])];
82
71
  return validateDuplicateIdentifiersForKeyValuePair(documentUri, nodeIdMapCollection, recordIds, parser_1.NodeIdMapIterator.iterSection, validationSettings);
83
72
  }
84
73
  // Generalized logic for iterating over some collection and their children, essentially by doing:
@@ -86,78 +75,44 @@ function validateDuplicateIdentifiersForSection(documentUri, nodeIdMapCollection
86
75
  // for childOfNode in iterNodeFn(node):
87
76
  // ...
88
77
  function validateDuplicateIdentifiersForKeyValuePair(documentUri, nodeIdMapCollection, nodeIds, iterNodeFn, validationSettings) {
89
- var e_1, _a, e_2, _b, e_3, _c;
90
78
  if (!nodeIds.length) {
91
79
  return [];
92
80
  }
93
- var result = [];
94
- try {
95
- for (var nodeIds_1 = __values(nodeIds), nodeIds_1_1 = nodeIds_1.next(); !nodeIds_1_1.done; nodeIds_1_1 = nodeIds_1.next()) {
96
- var nodeId = nodeIds_1_1.value;
97
- var node = parser_1.NodeIdMapUtils.assertGetXor(nodeIdMapCollection, nodeId);
98
- var duplicateFieldsByKey = new Map();
99
- var knownFieldByKey = new Map();
100
- try {
101
- for (var _d = (e_2 = void 0, __values(iterNodeFn(nodeIdMapCollection, node))), _e = _d.next(); !_e.done; _e = _d.next()) {
102
- var field = _e.value;
103
- var keyLiteral = field.normalizedKeyLiteral;
104
- var maybeDuplicateFields = duplicateFieldsByKey.get(keyLiteral);
105
- var maybeKnownField = knownFieldByKey.get(keyLiteral);
106
- if (maybeDuplicateFields) {
107
- maybeDuplicateFields.push(field);
108
- }
109
- else if (maybeKnownField) {
110
- duplicateFieldsByKey.set(keyLiteral, [field, maybeKnownField]);
111
- }
112
- else {
113
- knownFieldByKey.set(keyLiteral, field);
114
- }
115
- }
116
- }
117
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
118
- finally {
119
- try {
120
- if (_e && !_e.done && (_b = _d.return)) _b.call(_d);
121
- }
122
- finally { if (e_2) throw e_2.error; }
81
+ const result = [];
82
+ for (const nodeId of nodeIds) {
83
+ const node = parser_1.NodeIdMapUtils.assertGetXor(nodeIdMapCollection, nodeId);
84
+ const duplicateFieldsByKey = new Map();
85
+ const knownFieldByKey = new Map();
86
+ for (const field of iterNodeFn(nodeIdMapCollection, node)) {
87
+ const keyLiteral = field.normalizedKeyLiteral;
88
+ const maybeDuplicateFields = duplicateFieldsByKey.get(keyLiteral);
89
+ const maybeKnownField = knownFieldByKey.get(keyLiteral);
90
+ if (maybeDuplicateFields) {
91
+ maybeDuplicateFields.push(field);
123
92
  }
124
- try {
125
- for (var _f = (e_3 = void 0, __values(duplicateFieldsByKey.values())), _g = _f.next(); !_g.done; _g = _f.next()) {
126
- var duplicates = _g.value;
127
- var numFields = duplicates.length;
128
- var asRelatedInformation = duplicates.map(function (keyValuePair) { return ({
129
- location: {
130
- uri: documentUri,
131
- range: __1.PositionUtils.createRangeFromTokenRange(keyValuePair.key.tokenRange),
132
- },
133
- message: createDuplicateIdentifierDiagnosticMessage(keyValuePair, validationSettings),
134
- }); });
135
- var _loop_1 = function (index) {
136
- var duplicate = duplicates[index];
137
- // Grab all DiagnosticRelatedInformation for a given key besides the one we're iterating over.
138
- var relatedInformation = asRelatedInformation.filter(function (_, relatedIndex) { return index !== relatedIndex; });
139
- result.push(createDuplicateIdentifierDiagnostic(duplicate, relatedInformation, validationSettings));
140
- };
141
- for (var index = 0; index < numFields; index += 1) {
142
- _loop_1(index);
143
- }
144
- }
93
+ else if (maybeKnownField) {
94
+ duplicateFieldsByKey.set(keyLiteral, [field, maybeKnownField]);
145
95
  }
146
- catch (e_3_1) { e_3 = { error: e_3_1 }; }
147
- finally {
148
- try {
149
- if (_g && !_g.done && (_c = _f.return)) _c.call(_f);
150
- }
151
- finally { if (e_3) throw e_3.error; }
96
+ else {
97
+ knownFieldByKey.set(keyLiteral, field);
152
98
  }
153
99
  }
154
- }
155
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
156
- finally {
157
- try {
158
- if (nodeIds_1_1 && !nodeIds_1_1.done && (_a = nodeIds_1.return)) _a.call(nodeIds_1);
100
+ for (const duplicates of duplicateFieldsByKey.values()) {
101
+ const numFields = duplicates.length;
102
+ const asRelatedInformation = duplicates.map((keyValuePair) => ({
103
+ location: {
104
+ uri: documentUri,
105
+ range: __1.PositionUtils.createRangeFromTokenRange(keyValuePair.key.tokenRange),
106
+ },
107
+ message: createDuplicateIdentifierDiagnosticMessage(keyValuePair, validationSettings),
108
+ }));
109
+ for (let index = 0; index < numFields; index += 1) {
110
+ const duplicate = duplicates[index];
111
+ // Grab all DiagnosticRelatedInformation for a given key besides the one we're iterating over.
112
+ const relatedInformation = asRelatedInformation.filter((_, relatedIndex) => index !== relatedIndex);
113
+ result.push(createDuplicateIdentifierDiagnostic(duplicate, relatedInformation, validationSettings));
114
+ }
159
115
  }
160
- finally { if (e_1) throw e_1.error; }
161
116
  }
162
117
  return result;
163
118
  }
@@ -166,7 +121,7 @@ function createDuplicateIdentifierDiagnostic(keyValuePair, relatedInformation, v
166
121
  code: diagnosticErrorCode_1.DiagnosticErrorCode.DuplicateIdentifier,
167
122
  message: createDuplicateIdentifierDiagnosticMessage(keyValuePair, validationSettings),
168
123
  range: __1.PositionUtils.createRangeFromTokenRange(keyValuePair.key.tokenRange),
169
- relatedInformation: relatedInformation,
124
+ relatedInformation,
170
125
  severity: vscode_languageserver_types_1.DiagnosticSeverity.Error,
171
126
  source: validationSettings.source,
172
127
  };
@@ -1 +1 @@
1
- {"version":3,"file":"validateDuplicateIdentifiers.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/validate/validateDuplicateIdentifiers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validateDuplicateIdentifiers.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/validate/validateDuplicateIdentifiers.ts"],"names":[],"mappings":"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"}
@@ -2,4 +2,4 @@ import { Diagnostic } from "vscode-languageserver-types";
2
2
  import { NodeIdMap } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser";
3
3
  import { Inspection } from "..";
4
4
  import { ValidationSettings } from "./validationSettings";
5
- export declare function validateFunctionExpression(validationSettings: ValidationSettings, nodeIdMapCollection: NodeIdMap.Collection, maybeCache?: Inspection.TypeCache): Diagnostic[];
5
+ export declare function validateFunctionExpression(validationSettings: ValidationSettings, nodeIdMapCollection: NodeIdMap.Collection, maybeCache?: Inspection.TypeCache): Promise<Diagnostic[]>;
@@ -1,110 +1,70 @@
1
1
  "use strict";
2
2
  // Copyright (c) Microsoft Corporation.
3
3
  // Licensed under the MIT license.
4
- var __values = (this && this.__values) || function(o) {
5
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
6
- if (m) return m.call(o);
7
- if (o && typeof o.length === "number") return {
8
- next: function () {
9
- if (o && i >= o.length) o = void 0;
10
- return { value: o && o[i++], done: !o };
11
- }
12
- };
13
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
14
- };
15
- var __read = (this && this.__read) || function (o, n) {
16
- var m = typeof Symbol === "function" && o[Symbol.iterator];
17
- if (!m) return o;
18
- var i = m.call(o), r, ar = [], e;
19
- try {
20
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
21
- }
22
- catch (error) { e = { error: error }; }
23
- finally {
24
- try {
25
- if (r && !r.done && (m = i["return"])) m.call(i);
26
- }
27
- finally { if (e) throw e.error; }
28
- }
29
- return ar;
30
- };
31
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
32
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
33
- if (ar || !(i in from)) {
34
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
35
- ar[i] = from[i];
36
- }
37
- }
38
- return to.concat(ar || Array.prototype.slice.call(from));
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
+ });
39
12
  };
40
13
  Object.defineProperty(exports, "__esModule", { value: true });
41
14
  exports.validateFunctionExpression = void 0;
42
- var powerquery_parser_1 = require("@microsoft/powerquery-parser");
43
- var language_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/language");
44
- var vscode_languageserver_types_1 = require("vscode-languageserver-types");
45
- var parser_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/parser");
46
- var __1 = require("..");
47
- var localization_1 = require("../localization");
48
- var diagnosticErrorCode_1 = require("../diagnosticErrorCode");
15
+ const powerquery_parser_1 = require("@microsoft/powerquery-parser");
16
+ const language_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/language");
17
+ const vscode_languageserver_types_1 = require("vscode-languageserver-types");
18
+ const parser_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/parser");
19
+ const __1 = require("..");
20
+ const localization_1 = require("../localization");
21
+ const diagnosticErrorCode_1 = require("../diagnosticErrorCode");
49
22
  function validateFunctionExpression(validationSettings, nodeIdMapCollection, maybeCache) {
50
- var e_1, _a;
51
- var maybeInvokeExpressionIds = nodeIdMapCollection.idsByNodeKind.get("FunctionExpression" /* FunctionExpression */);
52
- if (maybeInvokeExpressionIds === undefined) {
53
- return [];
54
- }
55
- var result = [];
56
- try {
57
- for (var maybeInvokeExpressionIds_1 = __values(maybeInvokeExpressionIds), maybeInvokeExpressionIds_1_1 = maybeInvokeExpressionIds_1.next(); !maybeInvokeExpressionIds_1_1.done; maybeInvokeExpressionIds_1_1 = maybeInvokeExpressionIds_1.next()) {
58
- var nodeId = maybeInvokeExpressionIds_1_1.value;
59
- var triedInvokeExpression = __1.Inspection.tryInvokeExpression(validationSettings, nodeIdMapCollection, nodeId, maybeCache);
60
- if (powerquery_parser_1.ResultUtils.isError(triedInvokeExpression)) {
61
- throw triedInvokeExpression;
62
- }
63
- result.push.apply(result, __spreadArray([], __read(invokeExpressionToDiagnostics(validationSettings, nodeIdMapCollection, triedInvokeExpression.value)), false));
23
+ return __awaiter(this, void 0, void 0, function* () {
24
+ const maybeInvokeExpressionIds = nodeIdMapCollection.idsByNodeKind.get("FunctionExpression" /* FunctionExpression */);
25
+ if (maybeInvokeExpressionIds === undefined) {
26
+ return [];
64
27
  }
65
- }
66
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
67
- finally {
68
- try {
69
- if (maybeInvokeExpressionIds_1_1 && !maybeInvokeExpressionIds_1_1.done && (_a = maybeInvokeExpressionIds_1.return)) _a.call(maybeInvokeExpressionIds_1);
28
+ const inspectionTasks = [];
29
+ for (const nodeId of maybeInvokeExpressionIds) {
30
+ inspectionTasks.push(__1.Inspection.tryInvokeExpression(validationSettings, nodeIdMapCollection, nodeId, maybeCache));
70
31
  }
71
- finally { if (e_1) throw e_1.error; }
72
- }
73
- return result;
32
+ const inspections = yield Promise.all(inspectionTasks);
33
+ const invokeExpressionTasks = [];
34
+ for (const inspection of inspections) {
35
+ if (powerquery_parser_1.ResultUtils.isError(inspection)) {
36
+ throw inspection;
37
+ }
38
+ invokeExpressionTasks.push(invokeExpressionToDiagnostics(validationSettings, nodeIdMapCollection, inspection.value));
39
+ }
40
+ return (yield Promise.all(invokeExpressionTasks)).flat();
41
+ });
74
42
  }
75
43
  exports.validateFunctionExpression = validateFunctionExpression;
76
44
  function invokeExpressionToDiagnostics(validationSettings, nodeIdMapCollection, inspected) {
77
- var e_2, _a;
78
- var result = [];
79
- if (inspected.maybeArguments !== undefined) {
80
- var invokeExpressionArguments = inspected.maybeArguments;
81
- var givenArguments = inspected.maybeArguments.givenArguments;
82
- var invokeExpressionRange = powerquery_parser_1.Assert.asDefined(__1.PositionUtils.createRangeFromXorNode(nodeIdMapCollection, inspected.invokeExpressionXorNode), "expected at least one leaf node under InvokeExpression");
83
- var maybeFunctionName = parser_1.NodeIdMapUtils.maybeInvokeExpressionIdentifierLiteral(nodeIdMapCollection, inspected.invokeExpressionXorNode.node.id);
84
- try {
85
- for (var _b = __values(invokeExpressionArguments.typeChecked.invalid.entries()), _c = _b.next(); !_c.done; _c = _b.next()) {
86
- var _d = __read(_c.value, 2), argIndex = _d[0], mismatch = _d[1];
87
- var maybeGivenArgumentRange = __1.PositionUtils.createRangeFromXorNode(nodeIdMapCollection, givenArguments[argIndex]);
88
- result.push(createDiagnosticForArgumentMismatch(validationSettings, mismatch, maybeFunctionName, invokeExpressionRange, maybeGivenArgumentRange));
45
+ return __awaiter(this, void 0, void 0, function* () {
46
+ const result = [];
47
+ if (inspected.maybeArguments !== undefined) {
48
+ const invokeExpressionArguments = inspected.maybeArguments;
49
+ const givenArguments = inspected.maybeArguments.givenArguments;
50
+ const invokeExpressionRange = powerquery_parser_1.Assert.asDefined(yield __1.PositionUtils.createRangeFromXorNode(nodeIdMapCollection, inspected.invokeExpressionXorNode), "expected at least one leaf node under InvokeExpression");
51
+ const maybeFunctionName = parser_1.NodeIdMapUtils.maybeInvokeExpressionIdentifierLiteral(nodeIdMapCollection, inspected.invokeExpressionXorNode.node.id);
52
+ let result = [];
53
+ result = result.concat(yield powerquery_parser_1.ArrayUtils.mapAsync([...invokeExpressionArguments.typeChecked.invalid.entries()], ([argIndex, mismatch]) => __awaiter(this, void 0, void 0, function* () {
54
+ const maybeGivenArgumentRange = yield __1.PositionUtils.createRangeFromXorNode(nodeIdMapCollection, givenArguments[argIndex]);
55
+ return createDiagnosticForArgumentMismatch(validationSettings, mismatch, maybeFunctionName, invokeExpressionRange, maybeGivenArgumentRange);
56
+ })));
57
+ const numGivenArguments = invokeExpressionArguments.givenArguments.length;
58
+ if (numGivenArguments < invokeExpressionArguments.numMinExpectedArguments ||
59
+ numGivenArguments > invokeExpressionArguments.numMaxExpectedArguments) {
60
+ result.push(createDiagnosticForArgumentNumberMismatch(validationSettings, invokeExpressionRange, invokeExpressionArguments.numMinExpectedArguments, invokeExpressionArguments.numMaxExpectedArguments, numGivenArguments));
89
61
  }
90
62
  }
91
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
92
- finally {
93
- try {
94
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
95
- }
96
- finally { if (e_2) throw e_2.error; }
97
- }
98
- var numGivenArguments = invokeExpressionArguments.givenArguments.length;
99
- if (numGivenArguments < invokeExpressionArguments.numMinExpectedArguments ||
100
- numGivenArguments > invokeExpressionArguments.numMaxExpectedArguments) {
101
- result.push(createDiagnosticForArgumentNumberMismatch(validationSettings, invokeExpressionRange, invokeExpressionArguments.numMinExpectedArguments, invokeExpressionArguments.numMaxExpectedArguments, numGivenArguments));
102
- }
103
- }
104
- return result;
63
+ return result;
64
+ });
105
65
  }
106
66
  function createDiagnosticForArgumentNumberMismatch(validationSettings, invokeExpressionRange, numMin, numMax, numGiven) {
107
- var templates = localization_1.LocalizationUtils.getLocalizationTemplates(validationSettings.locale);
67
+ const templates = localization_1.LocalizationUtils.getLocalizationTemplates(validationSettings.locale);
108
68
  return {
109
69
  code: diagnosticErrorCode_1.DiagnosticErrorCode.InvokeArgumentCountMismatch,
110
70
  message: localization_1.Localization.error_validation_invokeExpression_numArgs(templates, numMin, numMax, numGiven),
@@ -115,14 +75,14 @@ function createDiagnosticForArgumentNumberMismatch(validationSettings, invokeExp
115
75
  }
116
76
  function createDiagnosticForArgumentMismatch(validationSettings, mismatch, maybeFunctionName, invokeExpressionRange, maybeGivenArgumentRange) {
117
77
  var _a;
118
- var range;
119
- var message;
120
- var parameter = mismatch.expected;
121
- var argName = parameter.nameLiteral;
122
- var expected = language_1.TypeUtils.nameOfTypeKind((_a = parameter.maybeType) !== null && _a !== void 0 ? _a : language_1.Type.AnyInstance.kind);
78
+ let range;
79
+ let message;
80
+ const parameter = mismatch.expected;
81
+ const argName = parameter.nameLiteral;
82
+ const expected = language_1.TypeUtils.nameOfTypeKind((_a = parameter.maybeType) !== null && _a !== void 0 ? _a : language_1.Type.AnyInstance.kind);
123
83
  // An argument containing at least one leaf node was given.
124
84
  if (maybeGivenArgumentRange) {
125
- var actual = language_1.TypeUtils.nameOfTypeKind(powerquery_parser_1.Assert.asDefined(mismatch.actual).kind);
85
+ const actual = language_1.TypeUtils.nameOfTypeKind(powerquery_parser_1.Assert.asDefined(mismatch.actual).kind);
126
86
  range = maybeGivenArgumentRange;
127
87
  message = createTypeMismatchMessage(validationSettings.locale, maybeFunctionName, argName, expected, actual);
128
88
  }
@@ -132,18 +92,18 @@ function createDiagnosticForArgumentMismatch(validationSettings, mismatch, maybe
132
92
  }
133
93
  return {
134
94
  code: diagnosticErrorCode_1.DiagnosticErrorCode.InvokeArgumentTypeMismatch,
135
- message: message,
136
- range: range,
95
+ message,
96
+ range,
137
97
  severity: vscode_languageserver_types_1.DiagnosticSeverity.Error,
138
98
  source: validationSettings.source,
139
99
  };
140
100
  }
141
101
  function createMissingMandatoryMessage(locale, maybeFunctionName, argName) {
142
- var templates = localization_1.LocalizationUtils.getLocalizationTemplates(locale);
102
+ const templates = localization_1.LocalizationUtils.getLocalizationTemplates(locale);
143
103
  return localization_1.Localization.error_validation_invokeExpression_missingMandatory(templates, maybeFunctionName, argName);
144
104
  }
145
105
  function createTypeMismatchMessage(locale, maybeFunctionName, argName, expected, actual) {
146
- var templates = localization_1.LocalizationUtils.getLocalizationTemplates(locale);
106
+ const templates = localization_1.LocalizationUtils.getLocalizationTemplates(locale);
147
107
  return localization_1.Localization.error_validation_invokeExpression_typeMismatch(templates, maybeFunctionName, argName, expected, actual);
148
108
  }
149
109
  //# sourceMappingURL=validateFunctionExpression.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validateFunctionExpression.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/validate/validateFunctionExpression.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validateFunctionExpression.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/validate/validateFunctionExpression.ts"],"names":[],"mappings":"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"}
@@ -2,4 +2,4 @@ import { Diagnostic } from "vscode-languageserver-types";
2
2
  import { NodeIdMap } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser";
3
3
  import { Inspection } from "..";
4
4
  import { ValidationSettings } from "./validationSettings";
5
- export declare function validateInvokeExpression(validationSettings: ValidationSettings, nodeIdMapCollection: NodeIdMap.Collection, maybeCache?: Inspection.TypeCache): Diagnostic[];
5
+ export declare function validateInvokeExpression(validationSettings: ValidationSettings, nodeIdMapCollection: NodeIdMap.Collection, maybeCache?: Inspection.TypeCache): Promise<Diagnostic[]>;