@microsoft/powerquery-language-services 0.6.11 → 0.9.2

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 (206) hide show
  1. package/lib/powerquery-language-services/analysis/analysis.d.ts +12 -11
  2. package/lib/powerquery-language-services/analysis/analysisBase.d.ts +31 -25
  3. package/lib/powerquery-language-services/analysis/analysisBase.js +210 -169
  4. package/lib/powerquery-language-services/analysis/analysisBase.js.map +1 -1
  5. package/lib/powerquery-language-services/analysis/analysisUtils.d.ts +1 -1
  6. package/lib/powerquery-language-services/analysis/analysisUtils.js +3 -3
  7. package/lib/powerquery-language-services/analysis/analysisUtils.js.map +1 -1
  8. package/lib/powerquery-language-services/analysis/memoizedAnalysis.d.ts +6 -6
  9. package/lib/powerquery-language-services/analysis/memoizedAnalysis.js.map +1 -1
  10. package/lib/powerquery-language-services/documentSymbols.js +7 -7
  11. package/lib/powerquery-language-services/documentSymbols.js.map +1 -1
  12. package/lib/powerquery-language-services/externalType/externalType.js.map +1 -0
  13. package/lib/powerquery-language-services/externalType/externalTypeUtils.d.ts +5 -0
  14. package/lib/powerquery-language-services/externalType/externalTypeUtils.js +33 -0
  15. package/lib/powerquery-language-services/externalType/externalTypeUtils.js.map +1 -0
  16. package/lib/powerquery-language-services/externalType/index.js.map +1 -0
  17. package/lib/powerquery-language-services/index.d.ts +3 -1
  18. package/lib/powerquery-language-services/index.js +5 -3
  19. package/lib/powerquery-language-services/index.js.map +1 -1
  20. package/lib/powerquery-language-services/inspection/activeNode/activeNode.d.ts +5 -6
  21. package/lib/powerquery-language-services/inspection/activeNode/activeNode.js +3 -4
  22. package/lib/powerquery-language-services/inspection/activeNode/activeNode.js.map +1 -1
  23. package/lib/powerquery-language-services/inspection/activeNode/activeNodeUtils.d.ts +1 -1
  24. package/lib/powerquery-language-services/inspection/activeNode/activeNodeUtils.js +212 -179
  25. package/lib/powerquery-language-services/inspection/activeNode/activeNodeUtils.js.map +1 -1
  26. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteFieldAccess.js +6 -6
  27. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteFieldAccess.js.map +1 -1
  28. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItemUtils.d.ts +4 -5
  29. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItemUtils.js +10 -20
  30. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItemUtils.js.map +1 -1
  31. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.d.ts +2 -1
  32. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.js +22 -23
  33. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.js.map +1 -1
  34. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordDefault.js +3 -3
  35. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordDefault.js.map +1 -1
  36. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordErrorHandlingExpression.js +1 -1
  37. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordErrorHandlingExpression.js.map +1 -1
  38. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordIdentifierPairedExpression.js +1 -1
  39. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordIdentifierPairedExpression.js.map +1 -1
  40. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordLetExpression.js +5 -5
  41. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordLetExpression.js.map +1 -1
  42. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordListExpression.js +3 -3
  43. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordListExpression.js.map +1 -1
  44. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordSectionMember.js +5 -7
  45. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordSectionMember.js.map +1 -1
  46. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordTrailingText.d.ts +1 -1
  47. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordTrailingText.js +1 -1
  48. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordTrailingText.js.map +1 -1
  49. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/common.js +1 -1
  50. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/common.js.map +1 -1
  51. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/commonTypes.d.ts +1 -1
  52. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.d.ts +2 -1
  53. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.js +14 -14
  54. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.js.map +1 -1
  55. package/lib/powerquery-language-services/inspection/autocomplete/autocompletePrimitiveType.d.ts +5 -3
  56. package/lib/powerquery-language-services/inspection/autocomplete/autocompletePrimitiveType.js +302 -52
  57. package/lib/powerquery-language-services/inspection/autocomplete/autocompletePrimitiveType.js.map +1 -1
  58. package/lib/powerquery-language-services/inspection/autocomplete/commonTypes.d.ts +0 -3
  59. package/lib/powerquery-language-services/inspection/autocomplete/task.js +3 -3
  60. package/lib/powerquery-language-services/inspection/autocomplete/task.js.map +1 -1
  61. package/lib/powerquery-language-services/inspection/autocomplete/trailingToken.d.ts +8 -0
  62. package/lib/powerquery-language-services/inspection/autocomplete/trailingToken.js +5 -0
  63. package/lib/powerquery-language-services/inspection/autocomplete/trailingToken.js.map +1 -0
  64. package/lib/powerquery-language-services/inspection/autocomplete/{common.d.ts → trailingTokenUtils.d.ts} +1 -1
  65. package/lib/powerquery-language-services/inspection/autocomplete/trailingTokenUtils.js +19 -0
  66. package/lib/powerquery-language-services/inspection/autocomplete/trailingTokenUtils.js.map +1 -0
  67. package/lib/powerquery-language-services/inspection/deferenceIdentifier.js +7 -7
  68. package/lib/powerquery-language-services/inspection/deferenceIdentifier.js.map +1 -1
  69. package/lib/powerquery-language-services/inspection/expectedType.js +2 -2
  70. package/lib/powerquery-language-services/inspection/expectedType.js.map +1 -1
  71. package/lib/powerquery-language-services/inspection/index.d.ts +0 -1
  72. package/lib/powerquery-language-services/inspection/index.js +0 -1
  73. package/lib/powerquery-language-services/inspection/index.js.map +1 -1
  74. package/lib/powerquery-language-services/inspection/invokeExpression/currentInvokeExpression.js +8 -8
  75. package/lib/powerquery-language-services/inspection/invokeExpression/currentInvokeExpression.js.map +1 -1
  76. package/lib/powerquery-language-services/inspection/invokeExpression/invokeExpression.js +5 -5
  77. package/lib/powerquery-language-services/inspection/invokeExpression/invokeExpression.js.map +1 -1
  78. package/lib/powerquery-language-services/inspection/pseudoFunctionExpressionType.js +5 -5
  79. package/lib/powerquery-language-services/inspection/pseudoFunctionExpressionType.js.map +1 -1
  80. package/lib/powerquery-language-services/inspection/scope/scopeInspection.js +4 -4
  81. package/lib/powerquery-language-services/inspection/scope/scopeInspection.js.map +1 -1
  82. package/lib/powerquery-language-services/inspection/task.js +8 -8
  83. package/lib/powerquery-language-services/inspection/task.js.map +1 -1
  84. package/lib/powerquery-language-services/inspection/type/inspectType/common.d.ts +1 -1
  85. package/lib/powerquery-language-services/inspection/type/inspectType/common.js +9 -9
  86. package/lib/powerquery-language-services/inspection/type/inspectType/common.js.map +1 -1
  87. package/lib/powerquery-language-services/inspection/type/inspectType/examineFieldSpecificationList.js +2 -2
  88. package/lib/powerquery-language-services/inspection/type/inspectType/examineFieldSpecificationList.js.map +1 -1
  89. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeConstant.js +18 -18
  90. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeConstant.js.map +1 -1
  91. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeEachExpression.js +3 -3
  92. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeEachExpression.js.map +1 -1
  93. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeErrorHandlingExpression.js +5 -5
  94. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeErrorHandlingExpression.js.map +1 -1
  95. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/common.js +2 -2
  96. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/common.js.map +1 -1
  97. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldProjection.js +5 -5
  98. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldProjection.js.map +1 -1
  99. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldSelector.js +5 -5
  100. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldSelector.js.map +1 -1
  101. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSpecification.js +3 -3
  102. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSpecification.js.map +1 -1
  103. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionExpression.js +3 -3
  104. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionExpression.js.map +1 -1
  105. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionType.js +7 -7
  106. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionType.js.map +1 -1
  107. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifier.js +3 -3
  108. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifier.js.map +1 -1
  109. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifierExpression.js +3 -3
  110. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifierExpression.js.map +1 -1
  111. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIfExpression.js +4 -4
  112. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIfExpression.js.map +1 -1
  113. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeInvokeExpression.js +7 -7
  114. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeInvokeExpression.js.map +1 -1
  115. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeList.js +2 -2
  116. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeList.js.map +1 -1
  117. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeListType.js +3 -3
  118. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeListType.js.map +1 -1
  119. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeLiteralExpression.js +5 -5
  120. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeLiteralExpression.js.map +1 -1
  121. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeNullCoalescingExpression.js +7 -4
  122. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeNullCoalescingExpression.js.map +1 -1
  123. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeParameter.js +3 -3
  124. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeParameter.js.map +1 -1
  125. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypePrimitiveType.js +4 -4
  126. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypePrimitiveType.js.map +1 -1
  127. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRangeExpression.js +2 -2
  128. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRangeExpression.js.map +1 -1
  129. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecord.js +2 -2
  130. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecord.js.map +1 -1
  131. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecordType.js +3 -3
  132. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecordType.js.map +1 -1
  133. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecursivePrimaryExpression.js +8 -8
  134. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecursivePrimaryExpression.js.map +1 -1
  135. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTBinOpExpression.js +46 -46
  136. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTBinOpExpression.js.map +1 -1
  137. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTableType.js +3 -3
  138. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTableType.js.map +1 -1
  139. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeUnaryExpression.js +5 -5
  140. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeUnaryExpression.js.map +1 -1
  141. package/lib/powerquery-language-services/inspection/type/task.js +3 -3
  142. package/lib/powerquery-language-services/inspection/type/task.js.map +1 -1
  143. package/lib/powerquery-language-services/inspection/typeCache/typeCacheUtils.d.ts +1 -1
  144. package/lib/powerquery-language-services/inspection/typeCache/typeCacheUtils.js +3 -3
  145. package/lib/powerquery-language-services/inspection/typeCache/typeCacheUtils.js.map +1 -1
  146. package/lib/powerquery-language-services/inspectionUtils.d.ts +3 -3
  147. package/lib/powerquery-language-services/inspectionUtils.js +29 -31
  148. package/lib/powerquery-language-services/inspectionUtils.js.map +1 -1
  149. package/lib/powerquery-language-services/library/index.d.ts +2 -0
  150. package/lib/powerquery-language-services/library/index.js +3 -1
  151. package/lib/powerquery-language-services/library/index.js.map +1 -1
  152. package/lib/powerquery-language-services/library/library.d.ts +1 -1
  153. package/lib/powerquery-language-services/library/library.js +2 -2
  154. package/lib/powerquery-language-services/library/library.js.map +1 -1
  155. package/lib/powerquery-language-services/library/librarySymbol.d.ts +33 -0
  156. package/lib/powerquery-language-services/library/librarySymbol.js +5 -0
  157. package/lib/powerquery-language-services/library/librarySymbol.js.map +1 -0
  158. package/lib/powerquery-language-services/library/librarySymbolUtils.d.ts +15 -0
  159. package/lib/powerquery-language-services/library/librarySymbolUtils.js +237 -0
  160. package/lib/powerquery-language-services/library/librarySymbolUtils.js.map +1 -0
  161. package/lib/powerquery-language-services/library/libraryUtils.d.ts +7 -5
  162. package/lib/powerquery-language-services/library/libraryUtils.js +14 -10
  163. package/lib/powerquery-language-services/library/libraryUtils.js.map +1 -1
  164. package/lib/powerquery-language-services/positionUtils.d.ts +8 -4
  165. package/lib/powerquery-language-services/positionUtils.js +40 -13
  166. package/lib/powerquery-language-services/positionUtils.js.map +1 -1
  167. package/lib/powerquery-language-services/providers/libraryProvider.d.ts +2 -2
  168. package/lib/powerquery-language-services/providers/libraryProvider.js +2 -2
  169. package/lib/powerquery-language-services/providers/libraryProvider.js.map +1 -1
  170. package/lib/powerquery-language-services/providers/localDocumentProvider/foldingRanges.js +1 -1
  171. package/lib/powerquery-language-services/providers/localDocumentProvider/foldingRanges.js.map +1 -1
  172. package/lib/powerquery-language-services/providers/localDocumentProvider/localDocumentProvider.js +3 -3
  173. package/lib/powerquery-language-services/providers/localDocumentProvider/localDocumentProvider.js.map +1 -1
  174. package/lib/powerquery-language-services/providers/localDocumentProvider/partialSemanticToken.js +12 -12
  175. package/lib/powerquery-language-services/providers/localDocumentProvider/partialSemanticToken.js.map +1 -1
  176. package/lib/powerquery-language-services/providers/nullSymbolProvider.d.ts +2 -2
  177. package/lib/powerquery-language-services/providers/nullSymbolProvider.js +7 -7
  178. package/lib/powerquery-language-services/providers/nullSymbolProvider.js.map +1 -1
  179. package/lib/powerquery-language-services/tokenPositionComparison.d.ts +5 -0
  180. package/lib/powerquery-language-services/tokenPositionComparison.js +13 -0
  181. package/lib/powerquery-language-services/tokenPositionComparison.js.map +1 -0
  182. package/lib/powerquery-language-services/traceUtils.d.ts +2 -2
  183. package/lib/powerquery-language-services/traceUtils.js +5 -5
  184. package/lib/powerquery-language-services/traceUtils.js.map +1 -1
  185. package/lib/powerquery-language-services/validate/validate.js +4 -4
  186. package/lib/powerquery-language-services/validate/validate.js.map +1 -1
  187. package/lib/powerquery-language-services/validate/validateDuplicateIdentifiers.js +3 -3
  188. package/lib/powerquery-language-services/validate/validateDuplicateIdentifiers.js.map +1 -1
  189. package/lib/powerquery-language-services/validate/validateFunctionExpression.js +2 -2
  190. package/lib/powerquery-language-services/validate/validateFunctionExpression.js.map +1 -1
  191. package/lib/powerquery-language-services/validate/validateInvokeExpression.js +2 -2
  192. package/lib/powerquery-language-services/validate/validateInvokeExpression.js.map +1 -1
  193. package/lib/powerquery-language-services/validate/validateUnknownIdentifiers.js +1 -1
  194. package/lib/powerquery-language-services/validate/validateUnknownIdentifiers.js.map +1 -1
  195. package/package.json +9 -7
  196. package/lib/powerquery-language-services/inspection/autocomplete/common.js +0 -11
  197. package/lib/powerquery-language-services/inspection/autocomplete/common.js.map +0 -1
  198. package/lib/powerquery-language-services/inspection/externalType/externalType.js.map +0 -1
  199. package/lib/powerquery-language-services/inspection/externalType/externalTypeUtils.d.ts +0 -4
  200. package/lib/powerquery-language-services/inspection/externalType/externalTypeUtils.js +0 -21
  201. package/lib/powerquery-language-services/inspection/externalType/externalTypeUtils.js.map +0 -1
  202. package/lib/powerquery-language-services/inspection/externalType/index.js.map +0 -1
  203. /package/lib/powerquery-language-services/{inspection/externalType → externalType}/externalType.d.ts +0 -0
  204. /package/lib/powerquery-language-services/{inspection/externalType → externalType}/externalType.js +0 -0
  205. /package/lib/powerquery-language-services/{inspection/externalType → externalType}/index.d.ts +0 -0
  206. /package/lib/powerquery-language-services/{inspection/externalType → externalType}/index.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"library.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/library/library.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAKlC,8CAA6C;AAM7C,IAAkB,qBAIjB;AAJD,WAAkB,qBAAqB;IACnC,8CAAqB,CAAA;IACrB,8CAAqB,CAAA;IACrB,sCAAa,CAAA;AACjB,CAAC,EAJiB,qBAAqB,GAArB,6BAAqB,KAArB,6BAAqB,QAItC;AAoCY,QAAA,WAAW,GAAa;IACjC,oBAAoB,EAAE,yBAAY,CAAC,wBAAwB;IAC3D,kBAAkB,EAAE,IAAI,GAAG,EAAE;CAChC,CAAC"}
1
+ {"version":3,"file":"library.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/library/library.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAKlC,kDAA+C;AAM/C,IAAkB,qBAIjB;AAJD,WAAkB,qBAAqB;IACnC,8CAAqB,CAAA;IACrB,8CAAqB,CAAA;IACrB,sCAAa,CAAA;AACjB,CAAC,EAJiB,qBAAqB,GAArB,6BAAqB,KAArB,6BAAqB,QAItC;AAoCY,QAAA,WAAW,GAAa;IACjC,oBAAoB,EAAE,2BAAY,CAAC,wBAAwB;IAC3D,kBAAkB,EAAE,IAAI,GAAG,EAAE;CAChC,CAAC"}
@@ -0,0 +1,33 @@
1
+ export interface LibrarySymbol {
2
+ readonly name: string;
3
+ readonly documentation: LibrarySymbolDocumentation | null | undefined;
4
+ readonly functionParameters: ReadonlyArray<LibrarySymbolFunctionParameter> | null | undefined;
5
+ readonly completionItemKind: number;
6
+ readonly isDataSource: boolean;
7
+ readonly type: string;
8
+ }
9
+ export interface LibrarySymbolDocumentation {
10
+ readonly description: string | null | undefined;
11
+ readonly longDescription: string | null | undefined;
12
+ }
13
+ export interface LibrarySymbolFunctionParameter {
14
+ readonly name: string;
15
+ readonly type: string;
16
+ readonly isRequired: boolean;
17
+ readonly isNullable: boolean;
18
+ readonly caption: string | null | undefined;
19
+ readonly description: string | null | undefined;
20
+ readonly sampleValues: ReadonlyArray<string | number> | null | undefined;
21
+ readonly allowedValues: ReadonlyArray<string | number> | null | undefined;
22
+ readonly defaultValue: string | number | null | undefined;
23
+ readonly fields: ReadonlyArray<LibrarySymbolRecordField> | null | undefined;
24
+ readonly enumNames: ReadonlyArray<string> | null | undefined;
25
+ readonly enumCaptions: ReadonlyArray<string | null> | null | undefined;
26
+ }
27
+ export interface LibrarySymbolRecordField {
28
+ readonly name: string;
29
+ readonly type: string;
30
+ readonly isRequired: boolean;
31
+ readonly caption: string | null | undefined;
32
+ readonly description: string | null | undefined;
33
+ }
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation.
3
+ // Licensed under the MIT license.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ //# sourceMappingURL=librarySymbol.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"librarySymbol.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/library/librarySymbol.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC"}
@@ -0,0 +1,15 @@
1
+ import { PartialResult } from "@microsoft/powerquery-parser";
2
+ import { ExternalType } from "../externalType";
3
+ import { Library } from "../library";
4
+ import { LibrarySymbol } from "./librarySymbol";
5
+ export declare type IncompleteLibrary = {
6
+ readonly library: Library.ILibrary;
7
+ readonly invalidSymbols: ReadonlyArray<LibrarySymbol>;
8
+ };
9
+ export declare type IncompleteLibraryDefinitions = {
10
+ readonly libraryDefinitions: Library.LibraryDefinitions;
11
+ readonly invalidSymbols: ReadonlyArray<LibrarySymbol>;
12
+ };
13
+ export declare function createLibrary(librarySymbols: ReadonlyArray<LibrarySymbol>, externalTypeResolverFn: ExternalType.TExternalTypeResolverFn | undefined): PartialResult<Library.ILibrary, IncompleteLibrary, ReadonlyArray<LibrarySymbol>>;
14
+ export declare function createLibraryDefinitions(librarySymbols: ReadonlyArray<LibrarySymbol>): PartialResult<Library.LibraryDefinitions, IncompleteLibraryDefinitions, ReadonlyArray<LibrarySymbol>>;
15
+ export declare function librarySymbolToLibraryDefinition(librarySymbol: LibrarySymbol): Library.TLibraryDefinition | undefined;
@@ -0,0 +1,237 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.librarySymbolToLibraryDefinition = exports.createLibraryDefinitions = exports.createLibrary = void 0;
4
+ const powerquery_parser_1 = require("@microsoft/powerquery-parser");
5
+ const language_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/language");
6
+ const trace_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/common/trace");
7
+ const externalType_1 = require("../externalType");
8
+ const library_1 = require("../library");
9
+ const commonTypes_1 = require("../commonTypes");
10
+ function createLibrary(librarySymbols, externalTypeResolverFn) {
11
+ const libraryDefinitionsResult = createLibraryDefinitions(librarySymbols);
12
+ let libraryDefinitions;
13
+ let invalidSymbols;
14
+ if (powerquery_parser_1.PartialResultUtils.isOk(libraryDefinitionsResult)) {
15
+ libraryDefinitions = libraryDefinitionsResult.value;
16
+ invalidSymbols = [];
17
+ }
18
+ else if (powerquery_parser_1.PartialResultUtils.isIncomplete(libraryDefinitionsResult)) {
19
+ libraryDefinitions = libraryDefinitionsResult.partial.libraryDefinitions;
20
+ invalidSymbols = libraryDefinitionsResult.partial.invalidSymbols;
21
+ }
22
+ else if (powerquery_parser_1.PartialResultUtils.isError(libraryDefinitionsResult)) {
23
+ return powerquery_parser_1.PartialResultUtils.error(libraryDefinitionsResult.error);
24
+ }
25
+ else {
26
+ powerquery_parser_1.Assert.isNever(libraryDefinitionsResult);
27
+ }
28
+ const definitionResolverFn = library_1.LibraryUtils.externalTypeResolver(libraryDefinitions);
29
+ const library = {
30
+ libraryDefinitions,
31
+ externalTypeResolver: externalTypeResolverFn
32
+ ? externalType_1.ExternalTypeUtils.composeExternalTypeResolvers(externalTypeResolverFn, definitionResolverFn)
33
+ : definitionResolverFn,
34
+ };
35
+ if (invalidSymbols.length > 0) {
36
+ return powerquery_parser_1.PartialResultUtils.incomplete({
37
+ library,
38
+ invalidSymbols,
39
+ });
40
+ }
41
+ else {
42
+ return powerquery_parser_1.PartialResultUtils.ok(library);
43
+ }
44
+ }
45
+ exports.createLibrary = createLibrary;
46
+ function createLibraryDefinitions(librarySymbols) {
47
+ const libraryDefinitions = new Map();
48
+ const invalidSymbols = [];
49
+ for (const librarySymbol of librarySymbols) {
50
+ const libraryDefinition = librarySymbolToLibraryDefinition(librarySymbol);
51
+ if (libraryDefinition === undefined) {
52
+ invalidSymbols.push(librarySymbol);
53
+ }
54
+ else {
55
+ libraryDefinitions.set(librarySymbol.name, libraryDefinition);
56
+ }
57
+ }
58
+ if (invalidSymbols.length === 0) {
59
+ return powerquery_parser_1.PartialResultUtils.ok(libraryDefinitions);
60
+ }
61
+ else if (libraryDefinitions.size > 0) {
62
+ return powerquery_parser_1.PartialResultUtils.incomplete({
63
+ libraryDefinitions,
64
+ invalidSymbols,
65
+ });
66
+ }
67
+ else {
68
+ return powerquery_parser_1.PartialResultUtils.error(invalidSymbols);
69
+ }
70
+ }
71
+ exports.createLibraryDefinitions = createLibraryDefinitions;
72
+ function librarySymbolToLibraryDefinition(librarySymbol) {
73
+ var _a, _b;
74
+ const primitiveType = stringToPrimitiveType(librarySymbol.type);
75
+ const completionItemKind = numberToCompletionItemKind(librarySymbol.completionItemKind);
76
+ if (primitiveType === undefined || completionItemKind === undefined) {
77
+ return undefined;
78
+ }
79
+ const label = librarySymbol.name;
80
+ const description = (_b = (_a = librarySymbol.documentation) === null || _a === void 0 ? void 0 : _a.description) !== null && _b !== void 0 ? _b : "No description available";
81
+ if (primitiveType.kind === "Type" /* Type */) {
82
+ return {
83
+ kind: "Type" /* Type */,
84
+ label,
85
+ description,
86
+ asPowerQueryType: primitiveType,
87
+ completionItemKind,
88
+ };
89
+ }
90
+ else if (librarySymbol.functionParameters) {
91
+ const asPowerQueryType = librarySymbolFunctionSignatureToType(librarySymbol, primitiveType);
92
+ if (asPowerQueryType === undefined) {
93
+ return undefined;
94
+ }
95
+ const parameters = [];
96
+ for (const parameter of librarySymbol.functionParameters) {
97
+ const libraryParameter = librarySymbolFunctionParameterToLibraryParameter(parameter);
98
+ if (libraryParameter === undefined) {
99
+ return undefined;
100
+ }
101
+ parameters.push(libraryParameter);
102
+ }
103
+ return {
104
+ kind: "Function" /* Function */,
105
+ label: language_1.TypeUtils.nameOf(asPowerQueryType, trace_1.NoOpTraceManagerInstance, undefined),
106
+ description,
107
+ asPowerQueryType,
108
+ completionItemKind,
109
+ parameters,
110
+ };
111
+ }
112
+ else {
113
+ return {
114
+ kind: "Constant" /* Constant */,
115
+ label,
116
+ description,
117
+ asPowerQueryType: primitiveType,
118
+ completionItemKind,
119
+ };
120
+ }
121
+ }
122
+ exports.librarySymbolToLibraryDefinition = librarySymbolToLibraryDefinition;
123
+ function librarySymbolFunctionSignatureToType(librarySymbol, returnType) {
124
+ var _a;
125
+ const parameters = [];
126
+ for (const parameter of (_a = librarySymbol.functionParameters) !== null && _a !== void 0 ? _a : []) {
127
+ const primitiveType = stringToPrimitiveType(parameter.type);
128
+ if (primitiveType === undefined) {
129
+ return undefined;
130
+ }
131
+ parameters.push({
132
+ isNullable: primitiveType.isNullable,
133
+ isOptional: !parameter.isRequired,
134
+ type: primitiveType.kind,
135
+ nameLiteral: parameter.name,
136
+ });
137
+ }
138
+ return language_1.TypeUtils.definedFunction(false, parameters, returnType);
139
+ }
140
+ function librarySymbolFunctionParameterToLibraryParameter(parameter) {
141
+ var _a;
142
+ const primitiveType = stringToPrimitiveType(parameter.type);
143
+ if (primitiveType === undefined) {
144
+ return undefined;
145
+ }
146
+ return {
147
+ isNullable: primitiveType.isNullable,
148
+ isOptional: false,
149
+ label: parameter.name,
150
+ documentation: (_a = parameter.description) !== null && _a !== void 0 ? _a : undefined,
151
+ typeKind: primitiveType.kind,
152
+ };
153
+ }
154
+ function numberToCompletionItemKind(variant) {
155
+ switch (variant) {
156
+ case commonTypes_1.CompletionItemKind.Constant:
157
+ case commonTypes_1.CompletionItemKind.Constructor:
158
+ case commonTypes_1.CompletionItemKind.Enum:
159
+ case commonTypes_1.CompletionItemKind.EnumMember:
160
+ case commonTypes_1.CompletionItemKind.Event:
161
+ case commonTypes_1.CompletionItemKind.Field:
162
+ case commonTypes_1.CompletionItemKind.File:
163
+ case commonTypes_1.CompletionItemKind.Folder:
164
+ case commonTypes_1.CompletionItemKind.Function:
165
+ case commonTypes_1.CompletionItemKind.Interface:
166
+ case commonTypes_1.CompletionItemKind.Keyword:
167
+ case commonTypes_1.CompletionItemKind.Method:
168
+ case commonTypes_1.CompletionItemKind.Module:
169
+ case commonTypes_1.CompletionItemKind.Operator:
170
+ case commonTypes_1.CompletionItemKind.Property:
171
+ case commonTypes_1.CompletionItemKind.Reference:
172
+ case commonTypes_1.CompletionItemKind.Snippet:
173
+ case commonTypes_1.CompletionItemKind.Struct:
174
+ case commonTypes_1.CompletionItemKind.Text:
175
+ case commonTypes_1.CompletionItemKind.TypeParameter:
176
+ case commonTypes_1.CompletionItemKind.Unit:
177
+ case commonTypes_1.CompletionItemKind.Value:
178
+ case commonTypes_1.CompletionItemKind.Variable:
179
+ return variant;
180
+ default:
181
+ return undefined;
182
+ }
183
+ }
184
+ // Depending on which path we took to generate the symbols parameters that are lists will have one of two forms:
185
+ // 1. `list`
186
+ // 2. `list {$typeKind}`
187
+ // To make my life easier I'm going to allow both forms at this layer,
188
+ // and then normalize both forms to `list`.
189
+ function stringToPrimitiveType(text) {
190
+ const split = text.split(" ");
191
+ let isNullable;
192
+ let typeKind;
193
+ switch (split.length) {
194
+ case 0:
195
+ return undefined;
196
+ case 1: {
197
+ isNullable = false;
198
+ typeKind = stringToTypeKind(text);
199
+ break;
200
+ }
201
+ // Either `nullable $typeKind` or `list {$typeKind}`
202
+ case 2: {
203
+ const first = split[0];
204
+ if (first === "nullable" /* Nullable */) {
205
+ isNullable = true;
206
+ typeKind = stringToTypeKind(split[1]);
207
+ break;
208
+ }
209
+ else if (first === "list" /* List */) {
210
+ isNullable = false;
211
+ typeKind = "List" /* List */;
212
+ break;
213
+ }
214
+ else {
215
+ return undefined;
216
+ }
217
+ }
218
+ // `nullable list {$typeKind}`
219
+ case 3: {
220
+ if (split[0] !== "nullable" /* Nullable */ || split[1] !== "list" /* List */) {
221
+ return undefined;
222
+ }
223
+ isNullable = true;
224
+ typeKind = "List" /* List */;
225
+ break;
226
+ }
227
+ default:
228
+ return undefined;
229
+ }
230
+ return typeKind ? language_1.TypeUtils.primitiveType(isNullable, typeKind) : undefined;
231
+ }
232
+ function stringToTypeKind(text) {
233
+ return language_1.ConstantUtils.isPrimitiveTypeConstant(text)
234
+ ? language_1.TypeUtils.typeKindFromPrimitiveTypeConstantKind(text)
235
+ : undefined;
236
+ }
237
+ //# sourceMappingURL=librarySymbolUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"librarySymbolUtils.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/library/librarySymbolUtils.ts"],"names":[],"mappings":";;;AAAA,oEAAyF;AACzF,0FAAuH;AACvH,2FAA2G;AAE3G,kDAAkE;AAClE,wCAAmD;AAEnD,gDAAoD;AAYpD,SAAgB,aAAa,CACzB,cAA4C,EAC5C,sBAAwE;IAExE,MAAM,wBAAwB,GAI1B,wBAAwB,CAAC,cAAc,CAAC,CAAC;IAE7C,IAAI,kBAA8C,CAAC;IACnD,IAAI,cAA4C,CAAC;IAEjD,IAAI,sCAAkB,CAAC,IAAI,CAAC,wBAAwB,CAAC,EAAE;QACnD,kBAAkB,GAAG,wBAAwB,CAAC,KAAK,CAAC;QACpD,cAAc,GAAG,EAAE,CAAC;KACvB;SAAM,IAAI,sCAAkB,CAAC,YAAY,CAAC,wBAAwB,CAAC,EAAE;QAClE,kBAAkB,GAAG,wBAAwB,CAAC,OAAO,CAAC,kBAAkB,CAAC;QACzE,cAAc,GAAG,wBAAwB,CAAC,OAAO,CAAC,cAAc,CAAC;KACpE;SAAM,IAAI,sCAAkB,CAAC,OAAO,CAAC,wBAAwB,CAAC,EAAE;QAC7D,OAAO,sCAAkB,CAAC,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;KACnE;SAAM;QACH,0BAAM,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;KAC5C;IAED,MAAM,oBAAoB,GACtB,sBAAY,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,CAAC;IAE1D,MAAM,OAAO,GAAqB;QAC9B,kBAAkB;QAClB,oBAAoB,EAAE,sBAAsB;YACxC,CAAC,CAAC,gCAAiB,CAAC,4BAA4B,CAAC,sBAAsB,EAAE,oBAAoB,CAAC;YAC9F,CAAC,CAAC,oBAAoB;KAC7B,CAAC;IAEF,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;QAC3B,OAAO,sCAAkB,CAAC,UAAU,CAAC;YACjC,OAAO;YACP,cAAc;SACjB,CAAC,CAAC;KACN;SAAM;QACH,OAAO,sCAAkB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;KACzC;AACL,CAAC;AA3CD,sCA2CC;AAED,SAAgB,wBAAwB,CACpC,cAA4C;IAE5C,MAAM,kBAAkB,GAA4C,IAAI,GAAG,EAAsC,CAAC;IAClH,MAAM,cAAc,GAAoB,EAAE,CAAC;IAE3C,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE;QACxC,MAAM,iBAAiB,GACnB,gCAAgC,CAAC,aAAa,CAAC,CAAC;QAEpD,IAAI,iBAAiB,KAAK,SAAS,EAAE;YACjC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SACtC;aAAM;YACH,kBAAkB,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;SACjE;KACJ;IAED,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE;QAC7B,OAAO,sCAAkB,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC;KACpD;SAAM,IAAI,kBAAkB,CAAC,IAAI,GAAG,CAAC,EAAE;QACpC,OAAO,sCAAkB,CAAC,UAAU,CAAC;YACjC,kBAAkB;YAClB,cAAc;SACjB,CAAC,CAAC;KACN;SAAM;QACH,OAAO,sCAAkB,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;KACnD;AACL,CAAC;AA3BD,4DA2BC;AAED,SAAgB,gCAAgC,CAAC,aAA4B;;IACzE,MAAM,aAAa,GAAoC,qBAAqB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAEjG,MAAM,kBAAkB,GAAmC,0BAA0B,CACjF,aAAa,CAAC,kBAAkB,CACnC,CAAC;IAEF,IAAI,aAAa,KAAK,SAAS,IAAI,kBAAkB,KAAK,SAAS,EAAE;QACjE,OAAO,SAAS,CAAC;KACpB;IAED,MAAM,KAAK,GAAW,aAAa,CAAC,IAAI,CAAC;IACzC,MAAM,WAAW,GAAW,MAAA,MAAA,aAAa,CAAC,aAAa,0CAAE,WAAW,mCAAI,0BAA0B,CAAC;IAEnG,IAAI,aAAa,CAAC,IAAI,sBAAuB,EAAE;QAC3C,OAAO;YACH,IAAI,mBAAoC;YACxC,KAAK;YACL,WAAW;YACX,gBAAgB,EAAE,aAAa;YAC/B,kBAAkB;SACrB,CAAC;KACL;SAAM,IAAI,aAAa,CAAC,kBAAkB,EAAE;QACzC,MAAM,gBAAgB,GAAqC,oCAAoC,CAC3F,aAAa,EACb,aAAa,CAChB,CAAC;QAEF,IAAI,gBAAgB,KAAK,SAAS,EAAE;YAChC,OAAO,SAAS,CAAC;SACpB;QAED,MAAM,UAAU,GAA+B,EAAE,CAAC;QAElD,KAAK,MAAM,SAAS,IAAI,aAAa,CAAC,kBAAkB,EAAE;YACtD,MAAM,gBAAgB,GAClB,gDAAgD,CAAC,SAAS,CAAC,CAAC;YAEhE,IAAI,gBAAgB,KAAK,SAAS,EAAE;gBAChC,OAAO,SAAS,CAAC;aACpB;YAED,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;SACrC;QAED,OAAO;YACH,IAAI,2BAAwC;YAC5C,KAAK,EAAE,oBAAS,CAAC,MAAM,CAAC,gBAAgB,EAAE,gCAAwB,EAAE,SAAS,CAAC;YAC9E,WAAW;YACX,gBAAgB;YAChB,kBAAkB;YAClB,UAAU;SACb,CAAC;KACL;SAAM;QACH,OAAO;YACH,IAAI,2BAAwC;YAC5C,KAAK;YACL,WAAW;YACX,gBAAgB,EAAE,aAAa;YAC/B,kBAAkB;SACrB,CAAC;KACL;AACL,CAAC;AA9DD,4EA8DC;AAED,SAAS,oCAAoC,CACzC,aAA4B,EAC5B,UAA+B;;IAE/B,MAAM,UAAU,GAA6B,EAAE,CAAC;IAEhD,KAAK,MAAM,SAAS,IAAI,MAAA,aAAa,CAAC,kBAAkB,mCAAI,EAAE,EAAE;QAC5D,MAAM,aAAa,GAAoC,qBAAqB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAE7F,IAAI,aAAa,KAAK,SAAS,EAAE;YAC7B,OAAO,SAAS,CAAC;SACpB;QAED,UAAU,CAAC,IAAI,CAAC;YACZ,UAAU,EAAE,aAAa,CAAC,UAAU;YACpC,UAAU,EAAE,CAAC,SAAS,CAAC,UAAU;YACjC,IAAI,EAAE,aAAa,CAAC,IAAI;YACxB,WAAW,EAAE,SAAS,CAAC,IAAI;SAC9B,CAAC,CAAC;KACN;IAED,OAAO,oBAAS,CAAC,eAAe,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;AACpE,CAAC;AAED,SAAS,gDAAgD,CACrD,SAAyC;;IAEzC,MAAM,aAAa,GAAoC,qBAAqB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAE7F,IAAI,aAAa,KAAK,SAAS,EAAE;QAC7B,OAAO,SAAS,CAAC;KACpB;IAED,OAAO;QACH,UAAU,EAAE,aAAa,CAAC,UAAU;QACpC,UAAU,EAAE,KAAK;QACjB,KAAK,EAAE,SAAS,CAAC,IAAI;QACrB,aAAa,EAAE,MAAA,SAAS,CAAC,WAAW,mCAAI,SAAS;QACjD,QAAQ,EAAE,aAAa,CAAC,IAAI;KAC/B,CAAC;AACN,CAAC;AAED,SAAS,0BAA0B,CAAC,OAAe;IAC/C,QAAQ,OAAO,EAAE;QACb,KAAK,gCAAkB,CAAC,QAAQ,CAAC;QACjC,KAAK,gCAAkB,CAAC,WAAW,CAAC;QACpC,KAAK,gCAAkB,CAAC,IAAI,CAAC;QAC7B,KAAK,gCAAkB,CAAC,UAAU,CAAC;QACnC,KAAK,gCAAkB,CAAC,KAAK,CAAC;QAC9B,KAAK,gCAAkB,CAAC,KAAK,CAAC;QAC9B,KAAK,gCAAkB,CAAC,IAAI,CAAC;QAC7B,KAAK,gCAAkB,CAAC,MAAM,CAAC;QAC/B,KAAK,gCAAkB,CAAC,QAAQ,CAAC;QACjC,KAAK,gCAAkB,CAAC,SAAS,CAAC;QAClC,KAAK,gCAAkB,CAAC,OAAO,CAAC;QAChC,KAAK,gCAAkB,CAAC,MAAM,CAAC;QAC/B,KAAK,gCAAkB,CAAC,MAAM,CAAC;QAC/B,KAAK,gCAAkB,CAAC,QAAQ,CAAC;QACjC,KAAK,gCAAkB,CAAC,QAAQ,CAAC;QACjC,KAAK,gCAAkB,CAAC,SAAS,CAAC;QAClC,KAAK,gCAAkB,CAAC,OAAO,CAAC;QAChC,KAAK,gCAAkB,CAAC,MAAM,CAAC;QAC/B,KAAK,gCAAkB,CAAC,IAAI,CAAC;QAC7B,KAAK,gCAAkB,CAAC,aAAa,CAAC;QACtC,KAAK,gCAAkB,CAAC,IAAI,CAAC;QAC7B,KAAK,gCAAkB,CAAC,KAAK,CAAC;QAC9B,KAAK,gCAAkB,CAAC,QAAQ;YAC5B,OAAO,OAAO,CAAC;QAEnB;YACI,OAAO,SAAS,CAAC;KACxB;AACL,CAAC;AAED,gHAAgH;AAChH,YAAY;AACZ,wBAAwB;AACxB,sEAAsE;AACtE,2CAA2C;AAC3C,SAAS,qBAAqB,CAAC,IAAY;IACvC,MAAM,KAAK,GAA0B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAErD,IAAI,UAAmB,CAAC;IACxB,IAAI,QAAmC,CAAC;IAExC,QAAQ,KAAK,CAAC,MAAM,EAAE;QAClB,KAAK,CAAC;YACF,OAAO,SAAS,CAAC;QAErB,KAAK,CAAC,CAAC,CAAC;YACJ,UAAU,GAAG,KAAK,CAAC;YACnB,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM;SACT;QAED,oDAAoD;QACpD,KAAK,CAAC,CAAC,CAAC;YACJ,MAAM,KAAK,GAAW,KAAK,CAAC,CAAC,CAAC,CAAC;YAE/B,IAAI,KAAK,8BAAuC,EAAE;gBAC9C,UAAU,GAAG,IAAI,CAAC;gBAClB,QAAQ,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAEtC,MAAM;aACT;iBAAM,IAAI,KAAK,sBAAwC,EAAE;gBACtD,UAAU,GAAG,KAAK,CAAC;gBACnB,QAAQ,oBAAqB,CAAC;gBAE9B,MAAM;aACT;iBAAM;gBACH,OAAO,SAAS,CAAC;aACpB;SACJ;QAED,8BAA8B;QAC9B,KAAK,CAAC,CAAC,CAAC;YACJ,IAAI,KAAK,CAAC,CAAC,CAAC,8BAAuC,IAAI,KAAK,CAAC,CAAC,CAAC,sBAAwC,EAAE;gBACrG,OAAO,SAAS,CAAC;aACpB;YAED,UAAU,GAAG,IAAI,CAAC;YAClB,QAAQ,oBAAqB,CAAC;YAE9B,MAAM;SACT;QAED;YACI,OAAO,SAAS,CAAC;KACxB;IAED,OAAO,QAAQ,CAAC,CAAC,CAAC,oBAAS,CAAC,aAAa,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAChF,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY;IAClC,OAAO,wBAAa,CAAC,uBAAuB,CAAC,IAAI,CAAC;QAC9C,CAAC,CAAC,oBAAS,CAAC,qCAAqC,CAAC,IAAI,CAAC;QACvD,CAAC,CAAC,SAAS,CAAC;AACpB,CAAC"}
@@ -1,17 +1,19 @@
1
1
  import { CompletionItemKind, ParameterInformation, SignatureInformation } from "vscode-languageserver-types";
2
2
  import { Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language";
3
- import { LibraryConstant, LibraryDefinitionKind, LibraryFunction, LibraryParameter, LibraryType, TLibraryDefinition } from "./library";
3
+ import { LibraryConstant, LibraryDefinitionKind, LibraryDefinitions, LibraryFunction, LibraryParameter, LibraryType, TLibraryDefinition } from "./library";
4
+ import { ExternalType } from "../externalType";
4
5
  export declare function assertAsConstant(definition: TLibraryDefinition | undefined): LibraryConstant;
5
6
  export declare function assertAsFunction(definition: TLibraryDefinition | undefined): LibraryFunction;
6
7
  export declare function assertAsType(definition: TLibraryDefinition | undefined): LibraryType;
7
8
  export declare function assertIsConstant(definition: TLibraryDefinition | undefined): asserts definition is LibraryConstant;
8
9
  export declare function assertIsFunction(definition: TLibraryDefinition | undefined): asserts definition is LibraryFunction;
9
10
  export declare function assertIsType(definition: TLibraryDefinition | undefined): asserts definition is LibraryType;
10
- export declare function createConstantDefinition(label: string, description: string, asType: Type.TPowerQueryType, completionItemKind: CompletionItemKind): LibraryConstant;
11
- export declare function createFunctionDefinition(label: string, description: string, asType: Type.TPowerQueryType, completionItemKind: CompletionItemKind, parameters: ReadonlyArray<LibraryParameter>): LibraryFunction;
11
+ export declare function constantDefinition(label: string, description: string, asType: Type.TPowerQueryType, completionItemKind: CompletionItemKind): LibraryConstant;
12
+ export declare function externalTypeResolver(libraryDefinitions: LibraryDefinitions): ExternalType.TExternalTypeResolverFn;
13
+ export declare function functionDefinition(label: string, description: string, asType: Type.TPowerQueryType, completionItemKind: CompletionItemKind, parameters: ReadonlyArray<LibraryParameter>): LibraryFunction;
12
14
  export declare function isConstant(definition: TLibraryDefinition | undefined): definition is LibraryConstant;
13
15
  export declare function isFunction(definition: TLibraryDefinition | undefined): definition is LibraryFunction;
14
16
  export declare function isType(definition: TLibraryDefinition | undefined): definition is LibraryType;
15
- export declare function createSignatureInformation(libraryFunctionSignature: LibraryFunction): SignatureInformation;
16
- export declare function createParameterInformation(libraryParameter: LibraryParameter): ParameterInformation;
17
+ export declare function signatureInformation(libraryFunctionSignature: LibraryFunction): SignatureInformation;
18
+ export declare function parameterInformation(libraryParameter: LibraryParameter): ParameterInformation;
17
19
  export declare function nameOf(kind: LibraryDefinitionKind): string;
@@ -2,7 +2,7 @@
2
2
  // Copyright (c) Microsoft Corporation.
3
3
  // Licensed under the MIT license.
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.nameOf = exports.createParameterInformation = exports.createSignatureInformation = exports.isType = exports.isFunction = exports.isConstant = exports.createFunctionDefinition = exports.createConstantDefinition = exports.assertIsType = exports.assertIsFunction = exports.assertIsConstant = exports.assertAsType = exports.assertAsFunction = exports.assertAsConstant = void 0;
5
+ exports.nameOf = exports.parameterInformation = exports.signatureInformation = exports.isType = exports.isFunction = exports.isConstant = exports.functionDefinition = exports.externalTypeResolver = exports.constantDefinition = exports.assertIsType = exports.assertIsFunction = exports.assertIsConstant = exports.assertAsType = exports.assertAsFunction = exports.assertAsConstant = void 0;
6
6
  const powerquery_parser_1 = require("@microsoft/powerquery-parser");
7
7
  function assertAsConstant(definition) {
8
8
  assertIsConstant(definition);
@@ -37,7 +37,7 @@ function assertIsType(definition) {
37
37
  }
38
38
  }
39
39
  exports.assertIsType = assertIsType;
40
- function createConstantDefinition(label, description, asType, completionItemKind) {
40
+ function constantDefinition(label, description, asType, completionItemKind) {
41
41
  return {
42
42
  kind: "Constant" /* Constant */,
43
43
  asPowerQueryType: asType,
@@ -46,8 +46,12 @@ function createConstantDefinition(label, description, asType, completionItemKind
46
46
  label,
47
47
  };
48
48
  }
49
- exports.createConstantDefinition = createConstantDefinition;
50
- function createFunctionDefinition(label, description, asType, completionItemKind, parameters) {
49
+ exports.constantDefinition = constantDefinition;
50
+ function externalTypeResolver(libraryDefinitions) {
51
+ return (request) => { var _a; return (_a = libraryDefinitions.get(request.identifierLiteral)) === null || _a === void 0 ? void 0 : _a.asPowerQueryType; };
52
+ }
53
+ exports.externalTypeResolver = externalTypeResolver;
54
+ function functionDefinition(label, description, asType, completionItemKind, parameters) {
51
55
  return {
52
56
  kind: "Function" /* Function */,
53
57
  asPowerQueryType: asType,
@@ -57,7 +61,7 @@ function createFunctionDefinition(label, description, asType, completionItemKind
57
61
  parameters,
58
62
  };
59
63
  }
60
- exports.createFunctionDefinition = createFunctionDefinition;
64
+ exports.functionDefinition = functionDefinition;
61
65
  function isConstant(definition) {
62
66
  return (definition === null || definition === void 0 ? void 0 : definition.kind) === "Constant" /* Constant */;
63
67
  }
@@ -70,21 +74,21 @@ function isType(definition) {
70
74
  return (definition === null || definition === void 0 ? void 0 : definition.kind) === "Type" /* Type */;
71
75
  }
72
76
  exports.isType = isType;
73
- function createSignatureInformation(libraryFunctionSignature) {
77
+ function signatureInformation(libraryFunctionSignature) {
74
78
  return {
75
79
  label: libraryFunctionSignature.label,
76
80
  documentation: libraryFunctionSignature.description,
77
- parameters: libraryFunctionSignature.parameters.map(createParameterInformation),
81
+ parameters: libraryFunctionSignature.parameters.map(parameterInformation),
78
82
  };
79
83
  }
80
- exports.createSignatureInformation = createSignatureInformation;
81
- function createParameterInformation(libraryParameter) {
84
+ exports.signatureInformation = signatureInformation;
85
+ function parameterInformation(libraryParameter) {
82
86
  return {
83
87
  label: libraryParameter.label,
84
88
  documentation: undefined,
85
89
  };
86
90
  }
87
- exports.createParameterInformation = createParameterInformation;
91
+ exports.parameterInformation = parameterInformation;
88
92
  function nameOf(kind) {
89
93
  switch (kind) {
90
94
  case "Function" /* Function */:
@@ -1 +1 @@
1
- {"version":3,"file":"libraryUtils.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/library/libraryUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"libraryUtils.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/library/libraryUtils.ts"],"names":[],"mappings":"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"}
@@ -2,10 +2,12 @@ import * as PQP from "@microsoft/powerquery-parser";
2
2
  import { NodeIdMap, TXorNode } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser";
3
3
  import type { Position, Range } from "vscode-languageserver-types";
4
4
  import { Ast } from "@microsoft/powerquery-parser/lib/powerquery-parser/language";
5
- export declare function createPositionFromTokenPosition(tokenPosition: PQP.Language.Token.TokenPosition): Position;
6
- export declare function createRangeFromXorNode(nodeIdMapCollection: NodeIdMap.Collection, xorNode: TXorNode): Promise<Range | undefined>;
7
- export declare function createRangeFromTokenPositions(startTokenPosition: PQP.Language.Token.TokenPosition | undefined, endTokenPosition: PQP.Language.Token.TokenPosition | undefined): Range | undefined;
8
- export declare function createRangeFromTokenRange(tokenRange: PQP.Language.Token.TokenRange): Range;
5
+ import { TokenPositionComparison } from "./tokenPositionComparison";
6
+ export declare function compareTokenPosition(position: Position, tokenPosition: PQP.Language.Token.TokenPosition): TokenPositionComparison;
7
+ export declare function positionFromTokenPosition(tokenPosition: PQP.Language.Token.TokenPosition): Position;
8
+ export declare function rangeFromXorNode(nodeIdMapCollection: NodeIdMap.Collection, xorNode: TXorNode): Promise<Range | undefined>;
9
+ export declare function rangeFromTokenPositions(startTokenPosition: PQP.Language.Token.TokenPosition | undefined, endTokenPosition: PQP.Language.Token.TokenPosition | undefined): Range | undefined;
10
+ export declare function rangeFromTokenRange(tokenRange: PQP.Language.Token.TokenRange): Range;
9
11
  export declare function isBeforeXor(position: Position, xorNode: TXorNode, isBoundIncluded: boolean): boolean;
10
12
  export declare function isInXor(nodeIdMapCollection: NodeIdMap.Collection, position: Position, xorNode: TXorNode, isLowerBoundIncluded: boolean, isUpperBoundIncluded: boolean): boolean;
11
13
  export declare function isOnXorStart(position: Position, xorNode: TXorNode): boolean;
@@ -21,6 +23,8 @@ export declare function isInAst(position: Position, astNode: Ast.TNode, isLowerB
21
23
  export declare function isOnAstStart(position: Position, astNode: Ast.TNode): boolean;
22
24
  export declare function isOnAstEnd(position: Position, astNode: Ast.TNode): boolean;
23
25
  export declare function isAfterAst(position: Position, astNode: Ast.TNode, isBoundIncluded: boolean): boolean;
26
+ export declare function isOnTokenStart(position: Position, token: PQP.Language.Token.Token): boolean;
27
+ export declare function isOnTokenEnd(position: Position, token: PQP.Language.Token.Token): boolean;
24
28
  export declare function isInToken(position: Position, token: PQP.Language.Token.Token, isLowerBoundIncluded: boolean, isHigherBoundIncluded: boolean): boolean;
25
29
  export declare function isBeforeTokenPosition(position: Position, tokenPosition: PQP.Language.Token.TokenPosition, isBoundIncluded: boolean): boolean;
26
30
  export declare function isOnTokenPosition(position: Position, tokenPosition: PQP.Language.Token.TokenPosition): boolean;
@@ -11,43 +11,62 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
11
11
  });
12
12
  };
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.isAfterTokenPosition = exports.isOnTokenPosition = exports.isBeforeTokenPosition = exports.isInToken = exports.isAfterAst = exports.isOnAstEnd = exports.isOnAstStart = exports.isInAst = exports.isBeforeAst = exports.isAfterContext = exports.isOnContextEnd = exports.isOnContextStart = exports.isInContext = exports.isBeforeContext = exports.isAfterXor = exports.isOnXorEnd = exports.isOnXorStart = exports.isInXor = exports.isBeforeXor = exports.createRangeFromTokenRange = exports.createRangeFromTokenPositions = exports.createRangeFromXorNode = exports.createPositionFromTokenPosition = void 0;
14
+ exports.isAfterTokenPosition = exports.isOnTokenPosition = exports.isBeforeTokenPosition = exports.isInToken = exports.isOnTokenEnd = exports.isOnTokenStart = exports.isAfterAst = exports.isOnAstEnd = exports.isOnAstStart = exports.isInAst = exports.isBeforeAst = exports.isAfterContext = exports.isOnContextEnd = exports.isOnContextStart = exports.isInContext = exports.isBeforeContext = exports.isAfterXor = exports.isOnXorEnd = exports.isOnXorStart = exports.isInXor = exports.isBeforeXor = exports.rangeFromTokenRange = exports.rangeFromTokenPositions = exports.rangeFromXorNode = exports.positionFromTokenPosition = exports.compareTokenPosition = void 0;
15
+ const PQP = require("@microsoft/powerquery-parser");
15
16
  const parser_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/parser");
16
17
  const powerquery_parser_1 = require("@microsoft/powerquery-parser");
17
- function createPositionFromTokenPosition(tokenPosition) {
18
+ function compareTokenPosition(position, tokenPosition) {
19
+ if (isOnTokenPosition(position, tokenPosition)) {
20
+ return "OnToken" /* OnToken */;
21
+ }
22
+ else if (isAfterTokenPosition(position, tokenPosition, false)) {
23
+ return "RightOfToken" /* RightOfToken */;
24
+ }
25
+ else if (isBeforeTokenPosition(position, tokenPosition, false)) {
26
+ return "LeftOfToken" /* LeftOfToken */;
27
+ }
28
+ else {
29
+ throw new PQP.CommonError.InvariantError("position is not on, after, or before tokenPosition", {
30
+ position,
31
+ tokenPosition,
32
+ });
33
+ }
34
+ }
35
+ exports.compareTokenPosition = compareTokenPosition;
36
+ function positionFromTokenPosition(tokenPosition) {
18
37
  return {
19
38
  line: tokenPosition.lineNumber,
20
39
  character: tokenPosition.lineCodeUnit,
21
40
  };
22
41
  }
23
- exports.createPositionFromTokenPosition = createPositionFromTokenPosition;
42
+ exports.positionFromTokenPosition = positionFromTokenPosition;
24
43
  // Attempts to turn a TXorNode into a Range.
25
44
  // Returns undefined if there are no leafs nodes.
26
- function createRangeFromXorNode(nodeIdMapCollection, xorNode) {
45
+ function rangeFromXorNode(nodeIdMapCollection, xorNode) {
27
46
  return __awaiter(this, void 0, void 0, function* () {
28
47
  const nodeId = xorNode.node.id;
29
48
  const leftMostLeaf = parser_1.NodeIdMapUtils.leftMostLeaf(nodeIdMapCollection, nodeId);
30
49
  const rightMostLeaf = yield parser_1.NodeIdMapUtils.rightMostLeaf(nodeIdMapCollection, nodeId);
31
50
  return Promise.resolve(leftMostLeaf === undefined || rightMostLeaf === undefined
32
51
  ? undefined
33
- : createRangeFromTokenPositions(leftMostLeaf.tokenRange.positionStart, rightMostLeaf.tokenRange.positionEnd));
52
+ : rangeFromTokenPositions(leftMostLeaf.tokenRange.positionStart, rightMostLeaf.tokenRange.positionEnd));
34
53
  });
35
54
  }
36
- exports.createRangeFromXorNode = createRangeFromXorNode;
37
- function createRangeFromTokenPositions(startTokenPosition, endTokenPosition) {
55
+ exports.rangeFromXorNode = rangeFromXorNode;
56
+ function rangeFromTokenPositions(startTokenPosition, endTokenPosition) {
38
57
  if (startTokenPosition && endTokenPosition) {
39
58
  return {
40
- start: createPositionFromTokenPosition(startTokenPosition),
41
- end: createPositionFromTokenPosition(endTokenPosition),
59
+ start: positionFromTokenPosition(startTokenPosition),
60
+ end: positionFromTokenPosition(endTokenPosition),
42
61
  };
43
62
  }
44
63
  return undefined;
45
64
  }
46
- exports.createRangeFromTokenPositions = createRangeFromTokenPositions;
47
- function createRangeFromTokenRange(tokenRange) {
48
- return createRangeFromTokenPositions(tokenRange.positionStart, tokenRange.positionEnd);
65
+ exports.rangeFromTokenPositions = rangeFromTokenPositions;
66
+ function rangeFromTokenRange(tokenRange) {
67
+ return rangeFromTokenPositions(tokenRange.positionStart, tokenRange.positionEnd);
49
68
  }
50
- exports.createRangeFromTokenRange = createRangeFromTokenRange;
69
+ exports.rangeFromTokenRange = rangeFromTokenRange;
51
70
  function isBeforeXor(position, xorNode, isBoundIncluded) {
52
71
  switch (xorNode.kind) {
53
72
  case "Ast" /* Ast */:
@@ -169,6 +188,14 @@ function isAfterAst(position, astNode, isBoundIncluded) {
169
188
  return isAfterTokenPosition(position, astNode.tokenRange.positionEnd, isBoundIncluded);
170
189
  }
171
190
  exports.isAfterAst = isAfterAst;
191
+ function isOnTokenStart(position, token) {
192
+ return position.line === token.positionStart.lineNumber && position.character === token.positionStart.lineCodeUnit;
193
+ }
194
+ exports.isOnTokenStart = isOnTokenStart;
195
+ function isOnTokenEnd(position, token) {
196
+ return position.line === token.positionEnd.lineNumber && position.character === token.positionEnd.lineCodeUnit;
197
+ }
198
+ exports.isOnTokenEnd = isOnTokenEnd;
172
199
  function isInToken(position, token, isLowerBoundIncluded, isHigherBoundIncluded) {
173
200
  return (!isBeforeTokenPosition(position, token.positionStart, isLowerBoundIncluded) &&
174
201
  !isAfterTokenPosition(position, token.positionEnd, isHigherBoundIncluded));
@@ -1 +1 @@
1
- {"version":3,"file":"positionUtils.js","sourceRoot":"","sources":["../../src/powerquery-language-services/positionUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"positionUtils.js","sourceRoot":"","sources":["../../src/powerquery-language-services/positionUtils.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  import { CommonError, Result } from "@microsoft/powerquery-parser";
2
2
  import { Hover, SignatureHelp, SignatureInformation } from "vscode-languageserver-types";
3
3
  import { AutocompleteItemProviderContext, HoverProviderContext, ILibraryProvider, SignatureProviderContext } from "./commonTypes";
4
+ import { ExternalType, Inspection } from "..";
4
5
  import { Library } from "../library";
5
- import { Inspection } from "..";
6
6
  export declare class LibraryProvider implements ILibraryProvider {
7
7
  protected readonly locale: string;
8
- readonly externalTypeResolver: Inspection.ExternalType.TExternalTypeResolverFn;
8
+ readonly externalTypeResolver: ExternalType.TExternalTypeResolverFn;
9
9
  readonly libraryDefinitions: Library.LibraryDefinitions;
10
10
  protected readonly signatureInformationByLabel: Map<string, SignatureInformation>;
11
11
  constructor(library: Library.ILibrary, locale: string);
@@ -38,7 +38,7 @@ class LibraryProvider {
38
38
  const autocompleteItems = [];
39
39
  const contextText = context.text;
40
40
  for (const [label, definition] of this.libraryDefinitions.entries()) {
41
- autocompleteItems.push(inspection_1.AutocompleteItemUtils.createFromLibraryDefinition(label, definition, contextText));
41
+ autocompleteItems.push(inspection_1.AutocompleteItemUtils.fromLibraryDefinition(label, definition, contextText));
42
42
  }
43
43
  trace.exit();
44
44
  return autocompleteItems;
@@ -120,7 +120,7 @@ class LibraryProvider {
120
120
  getOrCreateSignatureInformation(key) {
121
121
  if (!this.signatureInformationByLabel.has(key)) {
122
122
  const definition = library_1.LibraryUtils.assertAsFunction(this.libraryDefinitions.get(key));
123
- this.signatureInformationByLabel.set(key, library_1.LibraryUtils.createSignatureInformation(definition));
123
+ this.signatureInformationByLabel.set(key, library_1.LibraryUtils.signatureInformation(definition));
124
124
  }
125
125
  return powerquery_parser_1.Assert.asDefined(this.signatureInformationByLabel.get(key));
126
126
  }