@microsoft/powerquery-language-services 0.10.6 → 0.11.3

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 (419) hide show
  1. package/lib/powerquery-language-services/analysis/analysis.d.ts +21 -21
  2. package/lib/powerquery-language-services/analysis/analysis.js +4 -4
  3. package/lib/powerquery-language-services/analysis/analysisBase.d.ts +53 -53
  4. package/lib/powerquery-language-services/analysis/analysisBase.js +741 -710
  5. package/lib/powerquery-language-services/analysis/analysisBase.js.map +1 -1
  6. package/lib/powerquery-language-services/analysis/analysisSettings.d.ts +14 -14
  7. package/lib/powerquery-language-services/analysis/analysisSettings.js +4 -4
  8. package/lib/powerquery-language-services/analysis/analysisUtils.d.ts +4 -4
  9. package/lib/powerquery-language-services/analysis/analysisUtils.js +26 -28
  10. package/lib/powerquery-language-services/analysis/analysisUtils.js.map +1 -1
  11. package/lib/powerquery-language-services/analysis/documentAnalysis.d.ts +8 -8
  12. package/lib/powerquery-language-services/analysis/documentAnalysis.js +15 -15
  13. package/lib/powerquery-language-services/analysis/index.d.ts +5 -5
  14. package/lib/powerquery-language-services/analysis/index.js +43 -10
  15. package/lib/powerquery-language-services/analysis/index.js.map +1 -1
  16. package/lib/powerquery-language-services/analysis/memoizedAnalysis.d.ts +18 -18
  17. package/lib/powerquery-language-services/analysis/memoizedAnalysis.js +51 -65
  18. package/lib/powerquery-language-services/analysis/memoizedAnalysis.js.map +1 -1
  19. package/lib/powerquery-language-services/commonTypes.d.ts +8 -8
  20. package/lib/powerquery-language-services/commonTypes.js +33 -33
  21. package/lib/powerquery-language-services/commonTypesUtils.d.ts +4 -4
  22. package/lib/powerquery-language-services/commonTypesUtils.js +18 -19
  23. package/lib/powerquery-language-services/commonTypesUtils.js.map +1 -1
  24. package/lib/powerquery-language-services/diagnosticErrorCode.d.ts +8 -8
  25. package/lib/powerquery-language-services/diagnosticErrorCode.js +14 -14
  26. package/lib/powerquery-language-services/diagnosticErrorCode.js.map +1 -1
  27. package/lib/powerquery-language-services/documentSymbols.d.ts +3 -3
  28. package/lib/powerquery-language-services/documentSymbols.js +80 -83
  29. package/lib/powerquery-language-services/documentSymbols.js.map +1 -1
  30. package/lib/powerquery-language-services/externalType/externalType.d.ts +21 -21
  31. package/lib/powerquery-language-services/externalType/externalType.js +16 -16
  32. package/lib/powerquery-language-services/externalType/externalType.js.map +1 -1
  33. package/lib/powerquery-language-services/externalType/externalTypeUtils.d.ts +5 -5
  34. package/lib/powerquery-language-services/externalType/externalTypeUtils.js +32 -33
  35. package/lib/powerquery-language-services/externalType/externalTypeUtils.js.map +1 -1
  36. package/lib/powerquery-language-services/externalType/index.d.ts +2 -2
  37. package/lib/powerquery-language-services/externalType/index.js +40 -7
  38. package/lib/powerquery-language-services/externalType/index.js.map +1 -1
  39. package/lib/powerquery-language-services/formatter.d.ts +5 -5
  40. package/lib/powerquery-language-services/formatter.js +72 -46
  41. package/lib/powerquery-language-services/formatter.js.map +1 -1
  42. package/lib/powerquery-language-services/index.d.ts +20 -20
  43. package/lib/powerquery-language-services/index.js +64 -42
  44. package/lib/powerquery-language-services/index.js.map +1 -1
  45. package/lib/powerquery-language-services/inspection/activeNode/activeNode.d.ts +43 -43
  46. package/lib/powerquery-language-services/inspection/activeNode/activeNode.js +17 -17
  47. package/lib/powerquery-language-services/inspection/activeNode/activeNode.js.map +1 -1
  48. package/lib/powerquery-language-services/inspection/activeNode/activeNodeUtils.d.ts +11 -11
  49. package/lib/powerquery-language-services/inspection/activeNode/activeNodeUtils.js +351 -351
  50. package/lib/powerquery-language-services/inspection/activeNode/activeNodeUtils.js.map +1 -1
  51. package/lib/powerquery-language-services/inspection/activeNode/index.d.ts +3 -3
  52. package/lib/powerquery-language-services/inspection/activeNode/index.js +44 -22
  53. package/lib/powerquery-language-services/inspection/activeNode/index.js.map +1 -1
  54. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteFieldAccess.d.ts +8 -8
  55. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteFieldAccess.js +281 -258
  56. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteFieldAccess.js.map +1 -1
  57. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItem.d.ts +6 -6
  58. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItem.js +4 -4
  59. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItemUtils.d.ts +8 -8
  60. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItemUtils.js +78 -79
  61. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItemUtils.js.map +1 -1
  62. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/index.d.ts +2 -2
  63. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/index.js +43 -21
  64. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/index.js.map +1 -1
  65. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.d.ts +8 -8
  66. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.js +217 -197
  67. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.js.map +1 -1
  68. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordDefault.d.ts +3 -3
  69. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordDefault.js +86 -87
  70. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordDefault.js.map +1 -1
  71. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordErrorHandlingExpression.d.ts +3 -3
  72. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordErrorHandlingExpression.js +53 -54
  73. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordErrorHandlingExpression.js.map +1 -1
  74. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordIdentifierPairedExpression.d.ts +3 -3
  75. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordIdentifierPairedExpression.js +29 -30
  76. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordIdentifierPairedExpression.js.map +1 -1
  77. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordLetExpression.d.ts +3 -3
  78. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordLetExpression.js +58 -70
  79. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordLetExpression.js.map +1 -1
  80. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordListExpression.d.ts +3 -3
  81. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordListExpression.js +38 -39
  82. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordListExpression.js.map +1 -1
  83. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordSectionMember.d.ts +3 -3
  84. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordSectionMember.js +40 -41
  85. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordSectionMember.js.map +1 -1
  86. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordTrailingText.d.ts +3 -3
  87. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordTrailingText.js +63 -31
  88. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordTrailingText.js.map +1 -1
  89. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/common.d.ts +3 -3
  90. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/common.js +30 -39
  91. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/common.js.map +1 -1
  92. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/commonTypes.d.ts +11 -11
  93. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/commonTypes.js +4 -4
  94. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/index.d.ts +1 -1
  95. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/index.js +7 -7
  96. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.d.ts +6 -6
  97. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.js +190 -188
  98. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.js.map +1 -1
  99. package/lib/powerquery-language-services/inspection/autocomplete/autocompletePrimitiveType.d.ts +6 -6
  100. package/lib/powerquery-language-services/inspection/autocomplete/autocompletePrimitiveType.js +334 -335
  101. package/lib/powerquery-language-services/inspection/autocomplete/autocompletePrimitiveType.js.map +1 -1
  102. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteUtils.d.ts +2 -2
  103. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteUtils.js +19 -20
  104. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteUtils.js.map +1 -1
  105. package/lib/powerquery-language-services/inspection/autocomplete/commonTypes.d.ts +27 -27
  106. package/lib/powerquery-language-services/inspection/autocomplete/commonTypes.js +4 -4
  107. package/lib/powerquery-language-services/inspection/autocomplete/index.d.ts +6 -6
  108. package/lib/powerquery-language-services/inspection/autocomplete/index.js +47 -25
  109. package/lib/powerquery-language-services/inspection/autocomplete/index.js.map +1 -1
  110. package/lib/powerquery-language-services/inspection/autocomplete/task.d.ts +6 -6
  111. package/lib/powerquery-language-services/inspection/autocomplete/task.js +68 -44
  112. package/lib/powerquery-language-services/inspection/autocomplete/task.js.map +1 -1
  113. package/lib/powerquery-language-services/inspection/autocomplete/trailingToken.d.ts +7 -7
  114. package/lib/powerquery-language-services/inspection/autocomplete/trailingToken.js +4 -4
  115. package/lib/powerquery-language-services/inspection/autocomplete/trailingTokenUtils.d.ts +4 -4
  116. package/lib/powerquery-language-services/inspection/autocomplete/trailingTokenUtils.js +20 -18
  117. package/lib/powerquery-language-services/inspection/autocomplete/trailingTokenUtils.js.map +1 -1
  118. package/lib/powerquery-language-services/inspection/commonTypes.d.ts +20 -20
  119. package/lib/powerquery-language-services/inspection/commonTypes.js +4 -4
  120. package/lib/powerquery-language-services/inspection/dereferencedIdentifier/dereferencedIdentifier.d.ts +37 -37
  121. package/lib/powerquery-language-services/inspection/dereferencedIdentifier/dereferencedIdentifier.js +13 -13
  122. package/lib/powerquery-language-services/inspection/dereferencedIdentifier/dereferencedIdentifier.js.map +1 -1
  123. package/lib/powerquery-language-services/inspection/dereferencedIdentifier/dereferencedIdentifierUtils.d.ts +6 -6
  124. package/lib/powerquery-language-services/inspection/dereferencedIdentifier/dereferencedIdentifierUtils.js +244 -221
  125. package/lib/powerquery-language-services/inspection/dereferencedIdentifier/dereferencedIdentifierUtils.js.map +1 -1
  126. package/lib/powerquery-language-services/inspection/dereferencedIdentifier/index.d.ts +2 -2
  127. package/lib/powerquery-language-services/inspection/dereferencedIdentifier/index.js +41 -19
  128. package/lib/powerquery-language-services/inspection/dereferencedIdentifier/index.js.map +1 -1
  129. package/lib/powerquery-language-services/inspection/expectedType.d.ts +8 -8
  130. package/lib/powerquery-language-services/inspection/expectedType.js +420 -388
  131. package/lib/powerquery-language-services/inspection/expectedType.js.map +1 -1
  132. package/lib/powerquery-language-services/inspection/index.d.ts +9 -9
  133. package/lib/powerquery-language-services/inspection/index.js +27 -27
  134. package/lib/powerquery-language-services/inspection/invokeExpression/common.d.ts +16 -16
  135. package/lib/powerquery-language-services/inspection/invokeExpression/common.js +4 -4
  136. package/lib/powerquery-language-services/inspection/invokeExpression/currentInvokeExpression.d.ts +12 -12
  137. package/lib/powerquery-language-services/inspection/invokeExpression/currentInvokeExpression.js +137 -106
  138. package/lib/powerquery-language-services/inspection/invokeExpression/currentInvokeExpression.js.map +1 -1
  139. package/lib/powerquery-language-services/inspection/invokeExpression/index.d.ts +3 -3
  140. package/lib/powerquery-language-services/inspection/invokeExpression/index.js +20 -20
  141. package/lib/powerquery-language-services/inspection/invokeExpression/invokeExpression.d.ts +8 -8
  142. package/lib/powerquery-language-services/inspection/invokeExpression/invokeExpression.js +141 -119
  143. package/lib/powerquery-language-services/inspection/invokeExpression/invokeExpression.js.map +1 -1
  144. package/lib/powerquery-language-services/inspection/pseudoFunctionExpressionType.d.ts +11 -11
  145. package/lib/powerquery-language-services/inspection/pseudoFunctionExpressionType.js +57 -58
  146. package/lib/powerquery-language-services/inspection/pseudoFunctionExpressionType.js.map +1 -1
  147. package/lib/powerquery-language-services/inspection/scope/index.d.ts +3 -3
  148. package/lib/powerquery-language-services/inspection/scope/index.js +44 -22
  149. package/lib/powerquery-language-services/inspection/scope/index.js.map +1 -1
  150. package/lib/powerquery-language-services/inspection/scope/scope.d.ts +49 -46
  151. package/lib/powerquery-language-services/inspection/scope/scope.js +14 -14
  152. package/lib/powerquery-language-services/inspection/scope/scope.js.map +1 -1
  153. package/lib/powerquery-language-services/inspection/scope/scopeInspection.d.ts +7 -7
  154. package/lib/powerquery-language-services/inspection/scope/scopeInspection.js +372 -327
  155. package/lib/powerquery-language-services/inspection/scope/scopeInspection.js.map +1 -1
  156. package/lib/powerquery-language-services/inspection/scope/scopeUtils.d.ts +17 -17
  157. package/lib/powerquery-language-services/inspection/scope/scopeUtils.js +125 -104
  158. package/lib/powerquery-language-services/inspection/scope/scopeUtils.js.map +1 -1
  159. package/lib/powerquery-language-services/inspection/task.d.ts +28 -28
  160. package/lib/powerquery-language-services/inspection/task.js +196 -160
  161. package/lib/powerquery-language-services/inspection/task.js.map +1 -1
  162. package/lib/powerquery-language-services/inspection/type/index.d.ts +3 -3
  163. package/lib/powerquery-language-services/inspection/type/index.js +44 -22
  164. package/lib/powerquery-language-services/inspection/type/index.js.map +1 -1
  165. package/lib/powerquery-language-services/inspection/type/inspectType/common.d.ts +14 -14
  166. package/lib/powerquery-language-services/inspection/type/inspectType/common.js +362 -353
  167. package/lib/powerquery-language-services/inspection/type/inspectType/common.js.map +1 -1
  168. package/lib/powerquery-language-services/inspection/type/inspectType/examineFieldSpecificationList.d.ts +8 -8
  169. package/lib/powerquery-language-services/inspection/type/inspectType/examineFieldSpecificationList.js +28 -43
  170. package/lib/powerquery-language-services/inspection/type/inspectType/examineFieldSpecificationList.js.map +1 -1
  171. package/lib/powerquery-language-services/inspection/type/inspectType/index.d.ts +1 -1
  172. package/lib/powerquery-language-services/inspection/type/inspectType/index.js +19 -19
  173. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeConstant.d.ts +3 -3
  174. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeConstant.js +57 -57
  175. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeConstant.js.map +1 -1
  176. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeEachExpression.d.ts +4 -4
  177. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeEachExpression.js +26 -39
  178. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeEachExpression.js.map +1 -1
  179. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeErrorHandlingExpression.d.ts +4 -4
  180. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeErrorHandlingExpression.js +82 -62
  181. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeErrorHandlingExpression.js.map +1 -1
  182. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/common.d.ts +4 -4
  183. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/common.js +55 -69
  184. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/common.js.map +1 -1
  185. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldProjection.d.ts +4 -4
  186. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldProjection.js +128 -103
  187. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldProjection.js.map +1 -1
  188. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldSelector.d.ts +4 -4
  189. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldSelector.js +63 -75
  190. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldSelector.js.map +1 -1
  191. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSpecification.d.ts +4 -4
  192. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSpecification.js +21 -34
  193. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSpecification.js.map +1 -1
  194. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionExpression.d.ts +4 -4
  195. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionExpression.js +74 -87
  196. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionExpression.js.map +1 -1
  197. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionType.d.ts +4 -4
  198. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionType.js +85 -65
  199. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionType.js.map +1 -1
  200. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifier.d.ts +4 -4
  201. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifier.js +25 -38
  202. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifier.js.map +1 -1
  203. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifierExpression.d.ts +4 -4
  204. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifierExpression.js +25 -38
  205. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifierExpression.js.map +1 -1
  206. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIfExpression.d.ts +4 -4
  207. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIfExpression.js +46 -61
  208. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIfExpression.js.map +1 -1
  209. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeInvokeExpression.d.ts +4 -4
  210. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeInvokeExpression.js +69 -84
  211. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeInvokeExpression.js.map +1 -1
  212. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeList.d.ts +4 -4
  213. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeList.js +37 -50
  214. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeList.js.map +1 -1
  215. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeListType.d.ts +4 -4
  216. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeListType.js +43 -56
  217. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeListType.js.map +1 -1
  218. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeLiteralExpression.d.ts +4 -4
  219. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeLiteralExpression.js +44 -44
  220. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeLiteralExpression.js.map +1 -1
  221. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeNullCoalescingExpression.d.ts +4 -4
  222. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeNullCoalescingExpression.js +36 -49
  223. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeNullCoalescingExpression.js.map +1 -1
  224. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeParameter.d.ts +4 -4
  225. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeParameter.js +23 -33
  226. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeParameter.js.map +1 -1
  227. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypePrimitiveType.d.ts +4 -4
  228. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypePrimitiveType.js +25 -26
  229. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypePrimitiveType.js.map +1 -1
  230. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRangeExpression.d.ts +4 -4
  231. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRangeExpression.js +53 -66
  232. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRangeExpression.js.map +1 -1
  233. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecord.d.ts +4 -4
  234. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecord.js +45 -58
  235. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecord.js.map +1 -1
  236. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecordType.d.ts +4 -4
  237. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecordType.js +42 -50
  238. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecordType.js.map +1 -1
  239. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecursivePrimaryExpression.d.ts +4 -4
  240. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecursivePrimaryExpression.js +43 -56
  241. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecursivePrimaryExpression.js.map +1 -1
  242. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeState/index.d.ts +2 -2
  243. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeState/index.js +41 -19
  244. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeState/index.js.map +1 -1
  245. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeState/inspectTypeState.d.ts +9 -9
  246. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeState/inspectTypeState.js +4 -4
  247. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeState/inspectTypeStateUtils.d.ts +7 -7
  248. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeState/inspectTypeStateUtils.js +41 -42
  249. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeState/inspectTypeStateUtils.js.map +1 -1
  250. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTBinOpExpression.d.ts +8 -8
  251. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTBinOpExpression.js +326 -292
  252. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTBinOpExpression.js.map +1 -1
  253. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTableType.d.ts +4 -4
  254. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTableType.js +51 -59
  255. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTableType.js.map +1 -1
  256. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeUnaryExpression.d.ts +4 -4
  257. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeUnaryExpression.js +76 -89
  258. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeUnaryExpression.js.map +1 -1
  259. package/lib/powerquery-language-services/inspection/type/task.d.ts +10 -10
  260. package/lib/powerquery-language-services/inspection/type/task.js +49 -65
  261. package/lib/powerquery-language-services/inspection/type/task.js.map +1 -1
  262. package/lib/powerquery-language-services/inspection/typeCache/index.d.ts +2 -2
  263. package/lib/powerquery-language-services/inspection/typeCache/index.js +43 -21
  264. package/lib/powerquery-language-services/inspection/typeCache/index.js.map +1 -1
  265. package/lib/powerquery-language-services/inspection/typeCache/typeCache.d.ts +7 -7
  266. package/lib/powerquery-language-services/inspection/typeCache/typeCache.js +4 -4
  267. package/lib/powerquery-language-services/inspection/typeCache/typeCacheUtils.d.ts +2 -2
  268. package/lib/powerquery-language-services/inspection/typeCache/typeCacheUtils.js +12 -13
  269. package/lib/powerquery-language-services/inspection/typeCache/typeCacheUtils.js.map +1 -1
  270. package/lib/powerquery-language-services/inspectionSettings.d.ts +13 -13
  271. package/lib/powerquery-language-services/inspectionSettings.js +12 -12
  272. package/lib/powerquery-language-services/inspectionSettings.js.map +1 -1
  273. package/lib/powerquery-language-services/inspectionUtils.d.ts +16 -16
  274. package/lib/powerquery-language-services/inspectionUtils.js +142 -149
  275. package/lib/powerquery-language-services/inspectionUtils.js.map +1 -1
  276. package/lib/powerquery-language-services/jaroWinkler.d.ts +3 -3
  277. package/lib/powerquery-language-services/jaroWinkler.js +102 -103
  278. package/lib/powerquery-language-services/jaroWinkler.js.map +1 -1
  279. package/lib/powerquery-language-services/languageServiceUtils.d.ts +2 -2
  280. package/lib/powerquery-language-services/languageServiceUtils.js +53 -39
  281. package/lib/powerquery-language-services/languageServiceUtils.js.map +1 -1
  282. package/lib/powerquery-language-services/library/index.d.ts +5 -5
  283. package/lib/powerquery-language-services/library/index.js +43 -10
  284. package/lib/powerquery-language-services/library/index.js.map +1 -1
  285. package/lib/powerquery-language-services/library/library.d.ts +45 -45
  286. package/lib/powerquery-language-services/library/library.js +19 -19
  287. package/lib/powerquery-language-services/library/library.js.map +1 -1
  288. package/lib/powerquery-language-services/library/libraryDefinitionUtils.d.ts +21 -21
  289. package/lib/powerquery-language-services/library/libraryDefinitionUtils.js +106 -107
  290. package/lib/powerquery-language-services/library/libraryDefinitionUtils.js.map +1 -1
  291. package/lib/powerquery-language-services/library/librarySymbol.d.ts +33 -33
  292. package/lib/powerquery-language-services/library/librarySymbol.js +4 -4
  293. package/lib/powerquery-language-services/library/librarySymbolUtils.d.ts +34 -34
  294. package/lib/powerquery-language-services/library/librarySymbolUtils.js +258 -261
  295. package/lib/powerquery-language-services/library/librarySymbolUtils.js.map +1 -1
  296. package/lib/powerquery-language-services/library/libraryUtils.d.ts +8 -8
  297. package/lib/powerquery-language-services/library/libraryUtils.js +48 -49
  298. package/lib/powerquery-language-services/library/libraryUtils.js.map +1 -1
  299. package/lib/powerquery-language-services/localization/index.d.ts +2 -2
  300. package/lib/powerquery-language-services/localization/index.js +43 -21
  301. package/lib/powerquery-language-services/localization/index.js.map +1 -1
  302. package/lib/powerquery-language-services/localization/localization.d.ts +10 -10
  303. package/lib/powerquery-language-services/localization/localization.js +51 -51
  304. package/lib/powerquery-language-services/localization/localization.js.map +1 -1
  305. package/lib/powerquery-language-services/localization/localizationUtils.d.ts +2 -2
  306. package/lib/powerquery-language-services/localization/localizationUtils.js +7 -9
  307. package/lib/powerquery-language-services/localization/localizationUtils.js.map +1 -1
  308. package/lib/powerquery-language-services/localization/templates/templates.bg-BG.json +12 -12
  309. package/lib/powerquery-language-services/localization/templates/templates.ca-ES.json +12 -12
  310. package/lib/powerquery-language-services/localization/templates/templates.cs-CZ.json +12 -12
  311. package/lib/powerquery-language-services/localization/templates/templates.da-DK.json +12 -12
  312. package/lib/powerquery-language-services/localization/templates/templates.de-DE.json +12 -12
  313. package/lib/powerquery-language-services/localization/templates/templates.el-GR.json +12 -12
  314. package/lib/powerquery-language-services/localization/templates/templates.es-ES.json +12 -12
  315. package/lib/powerquery-language-services/localization/templates/templates.et-EE.json +12 -12
  316. package/lib/powerquery-language-services/localization/templates/templates.eu-ES.json +12 -12
  317. package/lib/powerquery-language-services/localization/templates/templates.fi-FI.json +12 -12
  318. package/lib/powerquery-language-services/localization/templates/templates.fr-FR.json +12 -12
  319. package/lib/powerquery-language-services/localization/templates/templates.gl-ES.json +12 -12
  320. package/lib/powerquery-language-services/localization/templates/templates.hi-IN.json +12 -12
  321. package/lib/powerquery-language-services/localization/templates/templates.hr-HR.json +12 -12
  322. package/lib/powerquery-language-services/localization/templates/templates.hu-HU.json +12 -12
  323. package/lib/powerquery-language-services/localization/templates/templates.id-ID.json +12 -12
  324. package/lib/powerquery-language-services/localization/templates/templates.it-IT.json +12 -12
  325. package/lib/powerquery-language-services/localization/templates/templates.ja-JP.json +12 -12
  326. package/lib/powerquery-language-services/localization/templates/templates.json +20 -20
  327. package/lib/powerquery-language-services/localization/templates/templates.kk-KZ.json +12 -12
  328. package/lib/powerquery-language-services/localization/templates/templates.ko-KR.json +12 -12
  329. package/lib/powerquery-language-services/localization/templates/templates.lt-LT.json +12 -12
  330. package/lib/powerquery-language-services/localization/templates/templates.lv-LV.json +12 -12
  331. package/lib/powerquery-language-services/localization/templates/templates.ms-MY.json +12 -12
  332. package/lib/powerquery-language-services/localization/templates/templates.nb-NO.json +12 -12
  333. package/lib/powerquery-language-services/localization/templates/templates.nl-NL.json +12 -12
  334. package/lib/powerquery-language-services/localization/templates/templates.pl-PL.json +12 -12
  335. package/lib/powerquery-language-services/localization/templates/templates.pt-BR.json +12 -12
  336. package/lib/powerquery-language-services/localization/templates/templates.pt-PT.json +12 -12
  337. package/lib/powerquery-language-services/localization/templates/templates.ro-RO.json +12 -12
  338. package/lib/powerquery-language-services/localization/templates/templates.ru-RU.json +12 -12
  339. package/lib/powerquery-language-services/localization/templates/templates.sk-SK.json +12 -12
  340. package/lib/powerquery-language-services/localization/templates/templates.sl-SI.json +12 -12
  341. package/lib/powerquery-language-services/localization/templates/templates.sr-Cyrl-RS.json +12 -12
  342. package/lib/powerquery-language-services/localization/templates/templates.sr-Latn-RS.json +12 -12
  343. package/lib/powerquery-language-services/localization/templates/templates.sv-SE.json +12 -12
  344. package/lib/powerquery-language-services/localization/templates/templates.th-TH.json +12 -12
  345. package/lib/powerquery-language-services/localization/templates/templates.tr-TR.json +12 -12
  346. package/lib/powerquery-language-services/localization/templates/templates.uk-UA.json +12 -12
  347. package/lib/powerquery-language-services/localization/templates/templates.vi-VN.json +12 -12
  348. package/lib/powerquery-language-services/localization/templates/templates.zh-CN.json +12 -12
  349. package/lib/powerquery-language-services/localization/templates/templates.zh-TW.json +12 -12
  350. package/lib/powerquery-language-services/localization/templates.d.ts +55 -55
  351. package/lib/powerquery-language-services/localization/templates.js +166 -133
  352. package/lib/powerquery-language-services/localization/templates.js.map +1 -1
  353. package/lib/powerquery-language-services/positionUtils.d.ts +32 -32
  354. package/lib/powerquery-language-services/positionUtils.js +257 -240
  355. package/lib/powerquery-language-services/positionUtils.js.map +1 -1
  356. package/lib/powerquery-language-services/providers/commonTypes.d.ts +75 -75
  357. package/lib/powerquery-language-services/providers/commonTypes.js +4 -4
  358. package/lib/powerquery-language-services/providers/index.d.ts +5 -5
  359. package/lib/powerquery-language-services/providers/index.js +28 -28
  360. package/lib/powerquery-language-services/providers/languageCompletionItemProvider.d.ts +12 -12
  361. package/lib/powerquery-language-services/providers/languageCompletionItemProvider.js +62 -73
  362. package/lib/powerquery-language-services/providers/languageCompletionItemProvider.js.map +1 -1
  363. package/lib/powerquery-language-services/providers/libraryProvider.d.ts +16 -16
  364. package/lib/powerquery-language-services/providers/libraryProvider.js +116 -131
  365. package/lib/powerquery-language-services/providers/libraryProvider.js.map +1 -1
  366. package/lib/powerquery-language-services/providers/localDocumentProvider/foldingRanges.d.ts +4 -4
  367. package/lib/powerquery-language-services/providers/localDocumentProvider/foldingRanges.js +50 -52
  368. package/lib/powerquery-language-services/providers/localDocumentProvider/foldingRanges.js.map +1 -1
  369. package/lib/powerquery-language-services/providers/localDocumentProvider/index.d.ts +1 -1
  370. package/lib/powerquery-language-services/providers/localDocumentProvider/index.js +19 -19
  371. package/lib/powerquery-language-services/providers/localDocumentProvider/localDocumentProvider.d.ts +21 -21
  372. package/lib/powerquery-language-services/providers/localDocumentProvider/localDocumentProvider.js +277 -259
  373. package/lib/powerquery-language-services/providers/localDocumentProvider/localDocumentProvider.js.map +1 -1
  374. package/lib/powerquery-language-services/providers/localDocumentProvider/partialSemanticToken.d.ts +6 -6
  375. package/lib/powerquery-language-services/providers/localDocumentProvider/partialSemanticToken.js +313 -321
  376. package/lib/powerquery-language-services/providers/localDocumentProvider/partialSemanticToken.js.map +1 -1
  377. package/lib/powerquery-language-services/providers/nullSymbolProvider.d.ts +19 -19
  378. package/lib/powerquery-language-services/providers/nullSymbolProvider.js +46 -68
  379. package/lib/powerquery-language-services/providers/nullSymbolProvider.js.map +1 -1
  380. package/lib/powerquery-language-services/tokenPositionComparison.d.ts +5 -5
  381. package/lib/powerquery-language-services/tokenPositionComparison.js +12 -12
  382. package/lib/powerquery-language-services/tokenPositionComparison.js.map +1 -1
  383. package/lib/powerquery-language-services/trace.d.ts +27 -27
  384. package/lib/powerquery-language-services/trace.js +36 -36
  385. package/lib/powerquery-language-services/trace.js.map +1 -1
  386. package/lib/powerquery-language-services/traceUtils.d.ts +14 -14
  387. package/lib/powerquery-language-services/traceUtils.js +19 -20
  388. package/lib/powerquery-language-services/traceUtils.js.map +1 -1
  389. package/lib/powerquery-language-services/validate/index.d.ts +3 -3
  390. package/lib/powerquery-language-services/validate/index.js +23 -23
  391. package/lib/powerquery-language-services/validate/validate.d.ts +6 -6
  392. package/lib/powerquery-language-services/validate/validate.js +70 -67
  393. package/lib/powerquery-language-services/validate/validate.js.map +1 -1
  394. package/lib/powerquery-language-services/validate/validateDuplicateIdentifiers.d.ts +6 -6
  395. package/lib/powerquery-language-services/validate/validateDuplicateIdentifiers.js +164 -134
  396. package/lib/powerquery-language-services/validate/validateDuplicateIdentifiers.js.map +1 -1
  397. package/lib/powerquery-language-services/validate/validateFunctionExpression.d.ts +4 -4
  398. package/lib/powerquery-language-services/validate/validateFunctionExpression.js +63 -63
  399. package/lib/powerquery-language-services/validate/validateFunctionExpression.js.map +1 -1
  400. package/lib/powerquery-language-services/validate/validateInvokeExpression.d.ts +5 -5
  401. package/lib/powerquery-language-services/validate/validateInvokeExpression.js +109 -123
  402. package/lib/powerquery-language-services/validate/validateInvokeExpression.js.map +1 -1
  403. package/lib/powerquery-language-services/validate/validateOk.d.ts +5 -5
  404. package/lib/powerquery-language-services/validate/validateOk.js +4 -4
  405. package/lib/powerquery-language-services/validate/validateParse.d.ts +4 -4
  406. package/lib/powerquery-language-services/validate/validateParse.js +94 -73
  407. package/lib/powerquery-language-services/validate/validateParse.js.map +1 -1
  408. package/lib/powerquery-language-services/validate/validateUnknownIdentifiers.d.ts +5 -5
  409. package/lib/powerquery-language-services/validate/validateUnknownIdentifiers.js +99 -109
  410. package/lib/powerquery-language-services/validate/validateUnknownIdentifiers.js.map +1 -1
  411. package/lib/powerquery-language-services/validate/validationSettings/index.d.ts +2 -2
  412. package/lib/powerquery-language-services/validate/validationSettings/index.js +43 -21
  413. package/lib/powerquery-language-services/validate/validationSettings/index.js.map +1 -1
  414. package/lib/powerquery-language-services/validate/validationSettings/validationSettings.d.ts +13 -12
  415. package/lib/powerquery-language-services/validate/validationSettings/validationSettings.js +4 -4
  416. package/lib/powerquery-language-services/validate/validationSettings/validationSettingsUtils.d.ts +3 -3
  417. package/lib/powerquery-language-services/validate/validationSettings/validationSettingsUtils.js +16 -10
  418. package/lib/powerquery-language-services/validate/validationSettings/validationSettingsUtils.js.map +1 -1
  419. package/package.json +23 -22
@@ -1,76 +1,64 @@
1
- "use strict";
2
- // Copyright (c) Microsoft Corporation.
3
- // Licensed under the MIT license.
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
- });
12
- };
13
- Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.inspectTypeFieldSelector = void 0;
15
- const language_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/language");
16
- const parser_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/parser");
17
- const trace_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/common/trace");
18
- const __1 = require("../../../..");
19
- const common_1 = require("./common");
20
- // A field selection/projection is an operation done on some value.
21
- // The target can be either an EachExpression or a RecursivePrimaryExpression.
22
- // In the code below that target for the FieldSelector/FieldProjection is called the scope.
23
- //
24
- // In the case of EachExpression:
25
- // use whatever scope was provided in InspectionTypeState.eachScopeById, else Unknown
26
- //
27
- // In the case of RecursivePrimaryExpression:
28
- // the scope is the previous sibling's type, so use NodeUtils.assertRecursiveExpressionPreviousSibling
29
- function inspectTypeFieldSelector(state, xorNode, correlationId) {
30
- var _a;
31
- return __awaiter(this, void 0, void 0, function* () {
32
- const trace = state.traceManager.entry(__1.InspectionTraceConstant.InspectType, inspectTypeFieldSelector.name, correlationId, __1.TraceUtils.xorNodeDetails(xorNode));
33
- (_a = state.cancellationToken) === null || _a === void 0 ? void 0 : _a.throwIfCancelled();
34
- parser_1.XorNodeUtils.assertIsNodeKind(xorNode, language_1.Ast.NodeKind.FieldSelector);
35
- const fieldName = parser_1.NodeIdMapUtils.wrappedContentAstChecked(state.nodeIdMapCollection, xorNode.node.id, language_1.Ast.NodeKind.GeneralizedIdentifier);
36
- if (fieldName === undefined) {
37
- trace.exit({ [trace_1.TraceConstant.Result]: __1.TraceUtils.typeDetails(language_1.Type.UnknownInstance) });
38
- return language_1.Type.UnknownInstance;
39
- }
40
- const fieldType = yield (0, common_1.inspectFieldType)(state, xorNode, trace.id);
41
- const isOptional = parser_1.NodeIdMapUtils.nthChildAstChecked(state.nodeIdMapCollection, xorNode.node.id, 3, language_1.Ast.NodeKind.Constant) !== undefined;
42
- const result = getFieldSelectorType(fieldType, language_1.IdentifierUtils.assertNormalizedIdentifier(fieldName.literal, { allowGeneralizedIdentifier: true }), isOptional);
43
- trace.exit({ [trace_1.TraceConstant.Result]: __1.TraceUtils.typeDetails(result) });
44
- return result;
45
- });
46
- }
47
- exports.inspectTypeFieldSelector = inspectTypeFieldSelector;
48
- function getFieldSelectorType(fieldType, fieldName, isOptional) {
49
- switch (fieldType.kind) {
50
- case language_1.Type.TypeKind.Any:
51
- return language_1.Type.AnyInstance;
52
- case language_1.Type.TypeKind.Unknown:
53
- return language_1.Type.UnknownInstance;
54
- case language_1.Type.TypeKind.Record:
55
- case language_1.Type.TypeKind.Table:
56
- return inspectRecordOrTable(fieldType, fieldName, isOptional);
57
- default:
58
- return language_1.Type.NoneInstance;
59
- }
60
- }
61
- function inspectRecordOrTable(fieldType, fieldName, isOptional) {
62
- if (fieldType.extendedKind === undefined) {
63
- return language_1.Type.AnyInstance;
64
- }
65
- const namedField = fieldType.fields.get(fieldName);
66
- if (namedField !== undefined) {
67
- return namedField;
68
- }
69
- else if (fieldType.isOpen) {
70
- return language_1.Type.AnyInstance;
71
- }
72
- else {
73
- return isOptional ? language_1.Type.NullInstance : language_1.Type.NoneInstance;
74
- }
75
- }
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation.
3
+ // Licensed under the MIT license.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.inspectTypeFieldSelector = inspectTypeFieldSelector;
6
+ const language_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/language");
7
+ const parser_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/parser");
8
+ const trace_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/common/trace");
9
+ const __1 = require("../../../..");
10
+ const common_1 = require("./common");
11
+ // A field selection/projection is an operation done on some value.
12
+ // The target can be either an EachExpression or a RecursivePrimaryExpression.
13
+ // In the code below that target for the FieldSelector/FieldProjection is called the scope.
14
+ //
15
+ // In the case of EachExpression:
16
+ // use whatever scope was provided in InspectionTypeState.eachScopeById, else Unknown
17
+ //
18
+ // In the case of RecursivePrimaryExpression:
19
+ // the scope is the previous sibling's type, so use NodeUtils.assertRecursiveExpressionPreviousSibling
20
+ async function inspectTypeFieldSelector(state, xorNode, correlationId) {
21
+ const trace = state.traceManager.entry(__1.InspectionTraceConstant.InspectType, inspectTypeFieldSelector.name, correlationId, __1.TraceUtils.xorNodeDetails(xorNode));
22
+ state.cancellationToken?.throwIfCancelled();
23
+ parser_1.XorNodeUtils.assertIsNodeKind(xorNode, language_1.Ast.NodeKind.FieldSelector);
24
+ const fieldName = parser_1.NodeIdMapUtils.wrappedContentAstChecked(state.nodeIdMapCollection, xorNode.node.id, language_1.Ast.NodeKind.GeneralizedIdentifier);
25
+ if (fieldName === undefined) {
26
+ trace.exit({ [trace_1.TraceConstant.Result]: __1.TraceUtils.typeDetails(language_1.Type.UnknownInstance) });
27
+ return language_1.Type.UnknownInstance;
28
+ }
29
+ const fieldType = await (0, common_1.inspectFieldType)(state, xorNode, trace.id);
30
+ const isOptional = parser_1.NodeIdMapUtils.nthChildAstChecked(state.nodeIdMapCollection, xorNode.node.id, 3, language_1.Ast.NodeKind.Constant) !== undefined;
31
+ const result = getFieldSelectorType(fieldType, language_1.IdentifierUtils.assertNormalizedIdentifier(fieldName.literal, { allowGeneralizedIdentifier: true }), isOptional);
32
+ trace.exit({ [trace_1.TraceConstant.Result]: __1.TraceUtils.typeDetails(result) });
33
+ return result;
34
+ }
35
+ function getFieldSelectorType(fieldType, fieldName, isOptional) {
36
+ // eslint-disable-next-line @typescript-eslint/switch-exhaustiveness-check
37
+ switch (fieldType.kind) {
38
+ case language_1.Type.TypeKind.Any:
39
+ return language_1.Type.AnyInstance;
40
+ case language_1.Type.TypeKind.Unknown:
41
+ return language_1.Type.UnknownInstance;
42
+ case language_1.Type.TypeKind.Record:
43
+ case language_1.Type.TypeKind.Table:
44
+ return inspectRecordOrTable(fieldType, fieldName, isOptional);
45
+ default:
46
+ return language_1.Type.NoneInstance;
47
+ }
48
+ }
49
+ function inspectRecordOrTable(fieldType, fieldName, isOptional) {
50
+ if (fieldType.extendedKind === undefined) {
51
+ return language_1.Type.AnyInstance;
52
+ }
53
+ const namedField = fieldType.fields.get(fieldName);
54
+ if (namedField !== undefined) {
55
+ return namedField;
56
+ }
57
+ else if (fieldType.isOpen) {
58
+ return language_1.Type.AnyInstance;
59
+ }
60
+ else {
61
+ return isOptional ? language_1.Type.NullInstance : language_1.Type.NoneInstance;
62
+ }
63
+ }
76
64
  //# sourceMappingURL=inspectTypeFieldSelector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"inspectTypeFieldSelector.js","sourceRoot":"","sources":["../../../../../../src/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldSelector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inspectTypeFieldSelector.js","sourceRoot":"","sources":["../../../../../../src/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldSelector.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language";
2
- import { TXorNode } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser";
3
- import { InspectTypeState } from "./inspectTypeState";
4
- export declare function inspectTypeFieldSpecification(state: InspectTypeState, xorNode: TXorNode, correlationId: number | undefined): Promise<Type.TPowerQueryType>;
1
+ import { Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language";
2
+ import { TXorNode } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser";
3
+ import { InspectTypeState } from "./inspectTypeState";
4
+ export declare function inspectTypeFieldSpecification(state: InspectTypeState, xorNode: TXorNode, correlationId: number | undefined): Promise<Type.TPowerQueryType>;
@@ -1,35 +1,22 @@
1
- "use strict";
2
- // Copyright (c) Microsoft Corporation.
3
- // Licensed under the MIT license.
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
- });
12
- };
13
- Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.inspectTypeFieldSpecification = void 0;
15
- const language_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/language");
16
- const parser_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/parser");
17
- const trace_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/common/trace");
18
- const __1 = require("../../..");
19
- const common_1 = require("./common");
20
- function inspectTypeFieldSpecification(state, xorNode, correlationId) {
21
- var _a;
22
- return __awaiter(this, void 0, void 0, function* () {
23
- const trace = state.traceManager.entry(__1.InspectionTraceConstant.InspectType, inspectTypeFieldSpecification.name, correlationId, __1.TraceUtils.xorNodeDetails(xorNode));
24
- (_a = state.cancellationToken) === null || _a === void 0 ? void 0 : _a.throwIfCancelled();
25
- parser_1.XorNodeUtils.assertIsNodeKind(xorNode, language_1.Ast.NodeKind.FieldSpecification);
26
- const fieldTypeSpecification = parser_1.NodeIdMapUtils.nthChildXor(state.nodeIdMapCollection, xorNode.node.id, 2);
27
- const result = fieldTypeSpecification !== undefined
28
- ? yield (0, common_1.inspectXor)(state, fieldTypeSpecification, trace.id)
29
- : language_1.Type.AnyInstance;
30
- trace.exit({ [trace_1.TraceConstant.Result]: __1.TraceUtils.typeDetails(result) });
31
- return result;
32
- });
33
- }
34
- exports.inspectTypeFieldSpecification = inspectTypeFieldSpecification;
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation.
3
+ // Licensed under the MIT license.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.inspectTypeFieldSpecification = inspectTypeFieldSpecification;
6
+ const language_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/language");
7
+ const parser_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/parser");
8
+ const trace_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/common/trace");
9
+ const __1 = require("../../..");
10
+ const common_1 = require("./common");
11
+ async function inspectTypeFieldSpecification(state, xorNode, correlationId) {
12
+ const trace = state.traceManager.entry(__1.InspectionTraceConstant.InspectType, inspectTypeFieldSpecification.name, correlationId, __1.TraceUtils.xorNodeDetails(xorNode));
13
+ state.cancellationToken?.throwIfCancelled();
14
+ parser_1.XorNodeUtils.assertIsNodeKind(xorNode, language_1.Ast.NodeKind.FieldSpecification);
15
+ const fieldTypeSpecification = parser_1.NodeIdMapUtils.nthChildXor(state.nodeIdMapCollection, xorNode.node.id, 2);
16
+ const result = fieldTypeSpecification !== undefined
17
+ ? await (0, common_1.inspectXor)(state, fieldTypeSpecification, trace.id)
18
+ : language_1.Type.AnyInstance;
19
+ trace.exit({ [trace_1.TraceConstant.Result]: __1.TraceUtils.typeDetails(result) });
20
+ return result;
21
+ }
35
22
  //# sourceMappingURL=inspectTypeFieldSpecification.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"inspectTypeFieldSpecification.js","sourceRoot":"","sources":["../../../../../src/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSpecification.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;;;AAElC,0FAAwF;AACxF,sFAAmH;AACnH,2FAAuG;AAEvG,gCAA+D;AAE/D,qCAAsC;AAEtC,SAAsB,6BAA6B,CAC/C,KAAuB,EACvB,OAAiB,EACjB,aAAiC;;;QAEjC,MAAM,KAAK,GAAU,KAAK,CAAC,YAAY,CAAC,KAAK,CACzC,2BAAuB,CAAC,WAAW,EACnC,6BAA6B,CAAC,IAAI,EAClC,aAAa,EACb,cAAU,CAAC,cAAc,CAAC,OAAO,CAAC,CACrC,CAAC;QAEF,MAAA,KAAK,CAAC,iBAAiB,0CAAE,gBAAgB,EAAE,CAAC;QAC5C,qBAAY,CAAC,gBAAgB,CAAyB,OAAO,EAAE,cAAG,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAEhG,MAAM,sBAAsB,GAAyB,uBAAc,CAAC,WAAW,CAC3E,KAAK,CAAC,mBAAmB,EACzB,OAAO,CAAC,IAAI,CAAC,EAAE,EACf,CAAC,CACJ,CAAC;QAEF,MAAM,MAAM,GACR,sBAAsB,KAAK,SAAS;YAChC,CAAC,CAAC,MAAM,IAAA,mBAAU,EAAC,KAAK,EAAE,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC;YAC3D,CAAC,CAAC,eAAI,CAAC,WAAW,CAAC;QAE3B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,qBAAa,CAAC,MAAM,CAAC,EAAE,cAAU,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAEvE,OAAO,MAAM,CAAC;;CACjB;AA7BD,sEA6BC"}
1
+ {"version":3,"file":"inspectTypeFieldSpecification.js","sourceRoot":"","sources":["../../../../../src/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSpecification.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;AAUlC,sEA6BC;AArCD,0FAAwF;AACxF,sFAAmH;AACnH,2FAAuG;AAEvG,gCAA+D;AAE/D,qCAAsC;AAE/B,KAAK,UAAU,6BAA6B,CAC/C,KAAuB,EACvB,OAAiB,EACjB,aAAiC;IAEjC,MAAM,KAAK,GAAU,KAAK,CAAC,YAAY,CAAC,KAAK,CACzC,2BAAuB,CAAC,WAAW,EACnC,6BAA6B,CAAC,IAAI,EAClC,aAAa,EACb,cAAU,CAAC,cAAc,CAAC,OAAO,CAAC,CACrC,CAAC;IAEF,KAAK,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;IAC5C,qBAAY,CAAC,gBAAgB,CAAyB,OAAO,EAAE,cAAG,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAEhG,MAAM,sBAAsB,GAAyB,uBAAc,CAAC,WAAW,CAC3E,KAAK,CAAC,mBAAmB,EACzB,OAAO,CAAC,IAAI,CAAC,EAAE,EACf,CAAC,CACJ,CAAC;IAEF,MAAM,MAAM,GACR,sBAAsB,KAAK,SAAS;QAChC,CAAC,CAAC,MAAM,IAAA,mBAAU,EAAC,KAAK,EAAE,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC;QAC3D,CAAC,CAAC,eAAI,CAAC,WAAW,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,qBAAa,CAAC,MAAM,CAAC,EAAE,cAAU,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAEvE,OAAO,MAAM,CAAC;AAClB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language";
2
- import { TXorNode } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser";
3
- import { InspectTypeState } from "./inspectTypeState";
4
- export declare function inspectTypeFunctionExpression(state: InspectTypeState, xorNode: TXorNode, correlationId: number | undefined): Promise<Type.TPowerQueryType>;
1
+ import { Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language";
2
+ import { TXorNode } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser";
3
+ import { InspectTypeState } from "./inspectTypeState";
4
+ export declare function inspectTypeFunctionExpression(state: InspectTypeState, xorNode: TXorNode, correlationId: number | undefined): Promise<Type.TPowerQueryType>;
@@ -1,88 +1,75 @@
1
- "use strict";
2
- // Copyright (c) Microsoft Corporation.
3
- // Licensed under the MIT license.
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
- });
12
- };
13
- Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.inspectTypeFunctionExpression = void 0;
15
- const language_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/language");
16
- const trace_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/common/trace");
17
- const parser_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/parser");
18
- const powerquery_parser_1 = require("@microsoft/powerquery-parser");
19
- const common_1 = require("./common");
20
- const __1 = require("../../..");
21
- const pseudoFunctionExpressionType_1 = require("../../pseudoFunctionExpressionType");
22
- const inspectionSettings_1 = require("../../../inspectionSettings");
23
- function inspectTypeFunctionExpression(state, xorNode, correlationId) {
24
- var _a;
25
- return __awaiter(this, void 0, void 0, function* () {
26
- const trace = state.traceManager.entry(__1.InspectionTraceConstant.InspectType, inspectTypeFunctionExpression.name, correlationId, __1.TraceUtils.xorNodeDetails(xorNode));
27
- (_a = state.cancellationToken) === null || _a === void 0 ? void 0 : _a.throwIfCancelled();
28
- parser_1.XorNodeUtils.assertIsNodeKind(xorNode, language_1.Ast.NodeKind.FunctionExpression);
29
- const pseudoType = (0, pseudoFunctionExpressionType_1.pseudoFunctionExpressionType)(state.nodeIdMapCollection, xorNode);
30
- const pseudoReturnType = pseudoType.returnType;
31
- let result;
32
- switch (state.typeStrategy) {
33
- case inspectionSettings_1.TypeStrategy.Extended: {
34
- const expressionType = yield (0, common_1.inspectTypeFromChildAttributeIndex)(state, xorNode, 3, trace.id);
35
- // FunctionExpression.functionReturnType doesn't always match FunctionExpression.expression.
36
- // By examining the expression we might get a more accurate return type (eg. Function vs DefinedFunction),
37
- // or discover an error (eg. functionReturnType is Number but expression is Text).
38
- let returnType;
39
- // If the stated return type is Any,
40
- // then it might as well be the expression's type as it can't be any wider than Any.
41
- if (pseudoReturnType.kind === language_1.Type.TypeKind.Any) {
42
- returnType = expressionType;
43
- }
44
- // If the return type is Any then see if we can narrow it to the stated return Type.
45
- else if (expressionType.kind === language_1.Type.TypeKind.Any &&
46
- expressionType.extendedKind === language_1.Type.ExtendedTypeKind.AnyUnion &&
47
- (0, common_1.allForAnyUnion)(expressionType, (type) => type.kind === pseudoReturnType.kind || type.kind === language_1.Type.TypeKind.Any)) {
48
- returnType = expressionType;
49
- }
50
- // If the stated return type doesn't match the expression's type then it's None.
51
- else if (pseudoReturnType.kind !== expressionType.kind) {
52
- trace.exit({ [trace_1.TraceConstant.Result]: __1.TraceUtils.typeDetails(language_1.Type.NoneInstance) });
53
- return language_1.Type.NoneInstance;
54
- }
55
- // If the expression's type can't be known, then assume it's the stated return Type.
56
- else if (expressionType.kind === language_1.Type.TypeKind.Unknown) {
57
- returnType = pseudoReturnType;
58
- }
59
- // Else fallback to the expression's Type.
60
- else {
61
- returnType = expressionType;
62
- }
63
- result = {
64
- kind: language_1.Type.TypeKind.Function,
65
- extendedKind: language_1.Type.ExtendedTypeKind.DefinedFunction,
66
- isNullable: false,
67
- parameters: pseudoType.parameters.map((pseudoParameter) => ({
68
- nameLiteral: pseudoParameter.name.literal,
69
- isNullable: pseudoParameter.isNullable,
70
- isOptional: pseudoParameter.isOptional,
71
- type: pseudoParameter.type,
72
- })),
73
- returnType,
74
- };
75
- break;
76
- }
77
- case inspectionSettings_1.TypeStrategy.Primitive:
78
- result = pseudoReturnType;
79
- break;
80
- default:
81
- powerquery_parser_1.Assert.isNever(state.typeStrategy);
82
- }
83
- trace.exit({ [trace_1.TraceConstant.Result]: __1.TraceUtils.typeDetails(result) });
84
- return result;
85
- });
86
- }
87
- exports.inspectTypeFunctionExpression = inspectTypeFunctionExpression;
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation.
3
+ // Licensed under the MIT license.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.inspectTypeFunctionExpression = inspectTypeFunctionExpression;
6
+ const language_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/language");
7
+ const trace_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/common/trace");
8
+ const parser_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/parser");
9
+ const powerquery_parser_1 = require("@microsoft/powerquery-parser");
10
+ const common_1 = require("./common");
11
+ const __1 = require("../../..");
12
+ const pseudoFunctionExpressionType_1 = require("../../pseudoFunctionExpressionType");
13
+ const inspectionSettings_1 = require("../../../inspectionSettings");
14
+ async function inspectTypeFunctionExpression(state, xorNode, correlationId) {
15
+ const trace = state.traceManager.entry(__1.InspectionTraceConstant.InspectType, inspectTypeFunctionExpression.name, correlationId, __1.TraceUtils.xorNodeDetails(xorNode));
16
+ state.cancellationToken?.throwIfCancelled();
17
+ parser_1.XorNodeUtils.assertIsNodeKind(xorNode, language_1.Ast.NodeKind.FunctionExpression);
18
+ const pseudoType = (0, pseudoFunctionExpressionType_1.pseudoFunctionExpressionType)(state.nodeIdMapCollection, xorNode);
19
+ const pseudoReturnType = pseudoType.returnType;
20
+ let result;
21
+ switch (state.typeStrategy) {
22
+ case inspectionSettings_1.TypeStrategy.Extended: {
23
+ const expressionType = await (0, common_1.inspectTypeFromChildAttributeIndex)(state, xorNode, 3, trace.id);
24
+ // FunctionExpression.functionReturnType doesn't always match FunctionExpression.expression.
25
+ // By examining the expression we might get a more accurate return type (eg. Function vs DefinedFunction),
26
+ // or discover an error (eg. functionReturnType is Number but expression is Text).
27
+ let returnType;
28
+ // If the stated return type is Any,
29
+ // then it might as well be the expression's type as it can't be any wider than Any.
30
+ if (pseudoReturnType.kind === language_1.Type.TypeKind.Any) {
31
+ returnType = expressionType;
32
+ }
33
+ // If the return type is Any then see if we can narrow it to the stated return Type.
34
+ else if (expressionType.kind === language_1.Type.TypeKind.Any &&
35
+ expressionType.extendedKind === language_1.Type.ExtendedTypeKind.AnyUnion &&
36
+ (0, common_1.allForAnyUnion)(expressionType, (type) => type.kind === pseudoReturnType.kind || type.kind === language_1.Type.TypeKind.Any)) {
37
+ returnType = expressionType;
38
+ }
39
+ // If the stated return type doesn't match the expression's type then it's None.
40
+ else if (pseudoReturnType.kind !== expressionType.kind) {
41
+ trace.exit({ [trace_1.TraceConstant.Result]: __1.TraceUtils.typeDetails(language_1.Type.NoneInstance) });
42
+ return language_1.Type.NoneInstance;
43
+ }
44
+ // If the expression's type can't be known, then assume it's the stated return Type.
45
+ else if (expressionType.kind === language_1.Type.TypeKind.Unknown) {
46
+ returnType = pseudoReturnType;
47
+ }
48
+ // Else fallback to the expression's Type.
49
+ else {
50
+ returnType = expressionType;
51
+ }
52
+ result = {
53
+ kind: language_1.Type.TypeKind.Function,
54
+ extendedKind: language_1.Type.ExtendedTypeKind.DefinedFunction,
55
+ isNullable: false,
56
+ parameters: pseudoType.parameters.map((pseudoParameter) => ({
57
+ nameLiteral: pseudoParameter.name.literal,
58
+ isNullable: pseudoParameter.isNullable,
59
+ isOptional: pseudoParameter.isOptional,
60
+ type: pseudoParameter.type,
61
+ })),
62
+ returnType,
63
+ };
64
+ break;
65
+ }
66
+ case inspectionSettings_1.TypeStrategy.Primitive:
67
+ result = pseudoReturnType;
68
+ break;
69
+ default:
70
+ powerquery_parser_1.Assert.isNever(state.typeStrategy);
71
+ }
72
+ trace.exit({ [trace_1.TraceConstant.Result]: __1.TraceUtils.typeDetails(result) });
73
+ return result;
74
+ }
88
75
  //# sourceMappingURL=inspectTypeFunctionExpression.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"inspectTypeFunctionExpression.js","sourceRoot":"","sources":["../../../../../src/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionExpression.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;;;AAElC,0FAAwF;AACxF,2FAAuG;AACvG,sFAAmG;AACnG,oEAAsD;AAEtD,qCAA8E;AAC9E,gCAA+D;AAC/D,qFAI4C;AAE5C,oEAA2D;AAE3D,SAAsB,6BAA6B,CAC/C,KAAuB,EACvB,OAAiB,EACjB,aAAiC;;;QAEjC,MAAM,KAAK,GAAU,KAAK,CAAC,YAAY,CAAC,KAAK,CACzC,2BAAuB,CAAC,WAAW,EACnC,6BAA6B,CAAC,IAAI,EAClC,aAAa,EACb,cAAU,CAAC,cAAc,CAAC,OAAO,CAAC,CACrC,CAAC;QAEF,MAAA,KAAK,CAAC,iBAAiB,0CAAE,gBAAgB,EAAE,CAAC;QAC5C,qBAAY,CAAC,gBAAgB,CAAyB,OAAO,EAAE,cAAG,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAEhG,MAAM,UAAU,GAAiC,IAAA,2DAA4B,EAAC,KAAK,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;QAClH,MAAM,gBAAgB,GAAyB,UAAU,CAAC,UAAU,CAAC;QAErE,IAAI,MAA4B,CAAC;QAEjC,QAAQ,KAAK,CAAC,YAAY,EAAE;YACxB,KAAK,iCAAY,CAAC,QAAQ,CAAC,CAAC;gBACxB,MAAM,cAAc,GAAyB,MAAM,IAAA,2CAAkC,EACjF,KAAK,EACL,OAAO,EACP,CAAC,EACD,KAAK,CAAC,EAAE,CACX,CAAC;gBAEF,4FAA4F;gBAC5F,0GAA0G;gBAC1G,kFAAkF;gBAElF,IAAI,UAAgC,CAAC;gBAErC,oCAAoC;gBACpC,oFAAoF;gBACpF,IAAI,gBAAgB,CAAC,IAAI,KAAK,eAAI,CAAC,QAAQ,CAAC,GAAG,EAAE;oBAC7C,UAAU,GAAG,cAAc,CAAC;iBAC/B;gBACD,oFAAoF;qBAC/E,IACD,cAAc,CAAC,IAAI,KAAK,eAAI,CAAC,QAAQ,CAAC,GAAG;oBACzC,cAAc,CAAC,YAAY,KAAK,eAAI,CAAC,gBAAgB,CAAC,QAAQ;oBAC9D,IAAA,uBAAc,EACV,cAAc,EACd,CAAC,IAA0B,EAAE,EAAE,CAC3B,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,eAAI,CAAC,QAAQ,CAAC,GAAG,CAC7E,EACH;oBACE,UAAU,GAAG,cAAc,CAAC;iBAC/B;gBACD,gFAAgF;qBAC3E,IAAI,gBAAgB,CAAC,IAAI,KAAK,cAAc,CAAC,IAAI,EAAE;oBACpD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,qBAAa,CAAC,MAAM,CAAC,EAAE,cAAU,CAAC,WAAW,CAAC,eAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;oBAElF,OAAO,eAAI,CAAC,YAAY,CAAC;iBAC5B;gBACD,oFAAoF;qBAC/E,IAAI,cAAc,CAAC,IAAI,KAAK,eAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;oBACpD,UAAU,GAAG,gBAAgB,CAAC;iBACjC;gBACD,0CAA0C;qBACrC;oBACD,UAAU,GAAG,cAAc,CAAC;iBAC/B;gBAED,MAAM,GAAG;oBACL,IAAI,EAAE,eAAI,CAAC,QAAQ,CAAC,QAAQ;oBAC5B,YAAY,EAAE,eAAI,CAAC,gBAAgB,CAAC,eAAe;oBACnD,UAAU,EAAE,KAAK;oBACjB,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,eAA4C,EAAE,EAAE,CAAC,CAAC;wBACrF,WAAW,EAAE,eAAe,CAAC,IAAI,CAAC,OAAO;wBACzC,UAAU,EAAE,eAAe,CAAC,UAAU;wBACtC,UAAU,EAAE,eAAe,CAAC,UAAU;wBACtC,IAAI,EAAE,eAAe,CAAC,IAAI;qBAC7B,CAAC,CAAC;oBACH,UAAU;iBACb,CAAC;gBAEF,MAAM;aACT;YAED,KAAK,iCAAY,CAAC,SAAS;gBACvB,MAAM,GAAG,gBAAgB,CAAC;gBAC1B,MAAM;YAEV;gBACI,0BAAM,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;SAC1C;QAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,qBAAa,CAAC,MAAM,CAAC,EAAE,cAAU,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAEvE,OAAO,MAAM,CAAC;;CACjB;AA9FD,sEA8FC"}
1
+ {"version":3,"file":"inspectTypeFunctionExpression.js","sourceRoot":"","sources":["../../../../../src/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionExpression.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language";
2
- import { TXorNode } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser";
3
- import { InspectTypeState } from "./inspectTypeState";
4
- export declare function inspectTypeFunctionType(state: InspectTypeState, xorNode: TXorNode, correlationId: number | undefined): Promise<Type.FunctionType | Type.Type | Type.Unknown>;
1
+ import { Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language";
2
+ import { TXorNode } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser";
3
+ import { InspectTypeState } from "./inspectTypeState";
4
+ export declare function inspectTypeFunctionType(state: InspectTypeState, xorNode: TXorNode, correlationId: number | undefined): Promise<Type.FunctionType | Type.Type | Type.Unknown>;