@itwin/grouping-mapping-widget 0.25.2 → 0.26.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (689) hide show
  1. package/LICENSE.md +9 -9
  2. package/README.md +115 -115
  3. package/lib/cjs/WidgetShell/GroupingMapping.d.ts +5 -5
  4. package/lib/cjs/WidgetShell/GroupingMapping.js +2 -4
  5. package/lib/cjs/WidgetShell/GroupingMapping.js.map +1 -1
  6. package/lib/cjs/WidgetShell/GroupingMappingContent.js +4 -4
  7. package/lib/cjs/WidgetShell/GroupingMappingContent.js.map +1 -1
  8. package/lib/cjs/WidgetShell/GroupingMappingHeader.d.ts +1 -1
  9. package/lib/cjs/WidgetShell/GroupingMappingHeader.js +5 -5
  10. package/lib/cjs/WidgetShell/GroupingMappingHeader.js.map +1 -1
  11. package/lib/cjs/WidgetShell/GroupingMappingWidget.d.ts +4 -0
  12. package/lib/cjs/WidgetShell/GroupingMappingWidget.js +5 -3
  13. package/lib/cjs/WidgetShell/GroupingMappingWidget.js.map +1 -1
  14. package/lib/cjs/WidgetShell/Router/GroupingMappingRouter.js +28 -8
  15. package/lib/cjs/WidgetShell/Router/GroupingMappingRouter.js.map +1 -1
  16. package/lib/cjs/WidgetShell/WidgetHeader/WidgetHeader.d.ts +1 -1
  17. package/lib/cjs/WidgetShell/WidgetHeader/WidgetHeader.js +7 -7
  18. package/lib/cjs/WidgetShell/WidgetHeader/WidgetHeader.js.map +1 -1
  19. package/lib/cjs/common/hooks/useIsMounted.js +3 -3
  20. package/lib/cjs/common/hooks/useIsMounted.js.map +1 -1
  21. package/lib/cjs/common/hooks/useMemoizedCollectionPick.js +3 -3
  22. package/lib/cjs/common/hooks/useMemoizedCollectionPick.js.map +1 -1
  23. package/lib/cjs/common/utils.js +3 -3
  24. package/lib/cjs/common/utils.js.map +1 -1
  25. package/lib/cjs/common/viewerUtils.js +2 -2
  26. package/lib/cjs/common/viewerUtils.js.map +1 -1
  27. package/lib/cjs/components/Constants.js +4 -4
  28. package/lib/cjs/components/Constants.js.map +1 -1
  29. package/lib/cjs/components/GroupingMappingContext.d.ts +19 -3
  30. package/lib/cjs/components/GroupingMappingContext.js +40 -13
  31. package/lib/cjs/components/GroupingMappingContext.js.map +1 -1
  32. package/lib/cjs/components/Groups/Editing/GroupAction.d.ts +10 -2
  33. package/lib/cjs/components/Groups/Editing/GroupAction.js +16 -14
  34. package/lib/cjs/components/Groups/Editing/GroupAction.js.map +1 -1
  35. package/lib/cjs/components/Groups/Editing/GroupDetails.d.ts +1 -1
  36. package/lib/cjs/components/Groups/Editing/GroupDetails.js +5 -7
  37. package/lib/cjs/components/Groups/Editing/GroupDetails.js.map +1 -1
  38. package/lib/cjs/components/Groups/Editing/GroupDetailsActionPanel.d.ts +1 -1
  39. package/lib/cjs/components/Groups/Editing/GroupDetailsActionPanel.js +4 -4
  40. package/lib/cjs/components/Groups/Editing/GroupDetailsActionPanel.js.map +1 -1
  41. package/lib/cjs/components/Groups/Editing/GroupDetailsStep.js +4 -4
  42. package/lib/cjs/components/Groups/Editing/GroupDetailsStep.js.map +1 -1
  43. package/lib/cjs/components/Groups/GroupColorLegend.d.ts +3 -3
  44. package/lib/cjs/components/Groups/GroupColorLegend.js +3 -3
  45. package/lib/cjs/components/Groups/GroupColorLegend.js.map +1 -1
  46. package/lib/cjs/components/Groups/GroupListItem.d.ts +4 -4
  47. package/lib/cjs/components/Groups/GroupListItem.js +6 -4
  48. package/lib/cjs/components/Groups/GroupListItem.js.map +1 -1
  49. package/lib/cjs/components/Groups/GroupListItem.scss +14 -0
  50. package/lib/cjs/components/Groups/GroupMenuActions.d.ts +4 -4
  51. package/lib/cjs/components/Groups/GroupMenuActions.js +17 -6
  52. package/lib/cjs/components/Groups/GroupMenuActions.js.map +1 -1
  53. package/lib/cjs/components/Groups/GroupMenuActions.scss +2 -0
  54. package/lib/cjs/components/Groups/GroupOverlapProgressBar.d.ts +2 -2
  55. package/lib/cjs/components/Groups/GroupOverlapProgressBar.js.map +1 -1
  56. package/lib/cjs/components/Groups/Groups.d.ts +12 -4
  57. package/lib/cjs/components/Groups/Groups.js +7 -3
  58. package/lib/cjs/components/Groups/Groups.js.map +1 -1
  59. package/lib/cjs/components/Groups/GroupsAddButton.d.ts +1 -1
  60. package/lib/cjs/components/Groups/GroupsAddButton.js +4 -4
  61. package/lib/cjs/components/Groups/GroupsAddButton.js.map +1 -1
  62. package/lib/cjs/components/Groups/GroupsAddButton.scss +1 -1
  63. package/lib/cjs/components/Groups/GroupsShowHideButtons.d.ts +5 -5
  64. package/lib/cjs/components/Groups/GroupsShowHideButtons.js +2 -2
  65. package/lib/cjs/components/Groups/GroupsShowHideButtons.js.map +1 -1
  66. package/lib/cjs/components/Groups/GroupsView.d.ts +19 -11
  67. package/lib/cjs/components/Groups/GroupsView.js +12 -10
  68. package/lib/cjs/components/Groups/GroupsView.js.map +1 -1
  69. package/lib/cjs/components/Groups/GroupsView.scss +1 -1
  70. package/lib/cjs/components/Groups/GroupsVisualization.d.ts +8 -0
  71. package/lib/cjs/components/Groups/GroupsVisualization.js +27 -24
  72. package/lib/cjs/components/Groups/GroupsVisualization.js.map +1 -1
  73. package/lib/cjs/components/Groups/GroupsVisualizationActions.js +4 -4
  74. package/lib/cjs/components/Groups/GroupsVisualizationActions.js.map +1 -1
  75. package/lib/cjs/components/Groups/OverlappedElementsInformationPanel.d.ts +4 -4
  76. package/lib/cjs/components/Groups/OverlappedElementsInformationPanel.js +4 -4
  77. package/lib/cjs/components/Groups/OverlappedElementsInformationPanel.js.map +1 -1
  78. package/lib/cjs/components/Groups/OverlappedElementsInformationPanel.scss +7 -7
  79. package/lib/cjs/components/Groups/QueryBuilder/QueryBuilder.js +13 -35
  80. package/lib/cjs/components/Groups/QueryBuilder/QueryBuilder.js.map +1 -1
  81. package/lib/cjs/components/Groups/QueryBuilder/QueryBuilderActionPanel.js +4 -4
  82. package/lib/cjs/components/Groups/QueryBuilder/QueryBuilderActionPanel.js.map +1 -1
  83. package/lib/cjs/components/Groups/QueryBuilder/QueryBuilderCustomUI.d.ts +3 -3
  84. package/lib/cjs/components/Groups/QueryBuilder/QueryBuilderCustomUI.js +4 -4
  85. package/lib/cjs/components/Groups/QueryBuilder/QueryBuilderCustomUI.js.map +1 -1
  86. package/lib/cjs/components/Groups/QueryBuilder/QueryBuilderStep.js +4 -4
  87. package/lib/cjs/components/Groups/QueryBuilder/QueryBuilderStep.js.map +1 -1
  88. package/lib/cjs/components/Groups/ToggleGroupVisibility.js +3 -3
  89. package/lib/cjs/components/Groups/ToggleGroupVisibility.js.map +1 -1
  90. package/lib/cjs/components/Groups/groupsHelpers.d.ts +2 -2
  91. package/lib/cjs/components/Groups/groupsHelpers.js +8 -4
  92. package/lib/cjs/components/Groups/groupsHelpers.js.map +1 -1
  93. package/lib/cjs/components/Groups/hooks/useFetchGroups.d.ts +3 -3
  94. package/lib/cjs/components/Groups/hooks/useFetchGroups.js +6 -5
  95. package/lib/cjs/components/Groups/hooks/useFetchGroups.js.map +1 -1
  96. package/lib/cjs/components/Groups/hooks/useGroupsOperations.d.ts +16 -8
  97. package/lib/cjs/components/Groups/hooks/useGroupsOperations.js +14 -10
  98. package/lib/cjs/components/Groups/hooks/useGroupsOperations.js.map +1 -1
  99. package/lib/cjs/components/Groups/hooks/useKeySetHiliteQueries.d.ts +4 -4
  100. package/lib/cjs/components/Groups/hooks/useKeySetHiliteQueries.js.map +1 -1
  101. package/lib/cjs/components/Groups/hooks/useVisualization.js +2 -4
  102. package/lib/cjs/components/Groups/hooks/useVisualization.js.map +1 -1
  103. package/lib/cjs/components/Mappings/BlockingOverlay.js +3 -3
  104. package/lib/cjs/components/Mappings/BlockingOverlay.js.map +1 -1
  105. package/lib/cjs/components/Mappings/Editing/MappingAction.d.ts +8 -0
  106. package/lib/cjs/components/Mappings/Editing/MappingAction.js +16 -15
  107. package/lib/cjs/components/Mappings/Editing/MappingAction.js.map +1 -1
  108. package/lib/cjs/components/Mappings/Extraction/ExtractionLogCustomFilter.d.ts +1 -1
  109. package/lib/cjs/components/Mappings/Extraction/ExtractionLogCustomFilter.js +1 -1
  110. package/lib/cjs/components/Mappings/Extraction/ExtractionLogCustomFilter.js.map +1 -1
  111. package/lib/cjs/components/Mappings/Extraction/ExtractionMessageModal.js +12 -7
  112. package/lib/cjs/components/Mappings/Extraction/ExtractionMessageModal.js.map +1 -1
  113. package/lib/cjs/components/Mappings/Extraction/ExtractionStates/QueuedExtractionState.js +3 -3
  114. package/lib/cjs/components/Mappings/Extraction/ExtractionStates/QueuedExtractionState.js.map +1 -1
  115. package/lib/cjs/components/Mappings/Extraction/ExtractionStates/RunningExtractionState.js +3 -3
  116. package/lib/cjs/components/Mappings/Extraction/ExtractionStates/RunningExtractionState.js.map +1 -1
  117. package/lib/cjs/components/Mappings/Extraction/ExtractionStates/StartingExtractionState.js +3 -3
  118. package/lib/cjs/components/Mappings/Extraction/ExtractionStates/StartingExtractionState.js.map +1 -1
  119. package/lib/cjs/components/Mappings/Extraction/ExtractionStates/TerminalExtractionState.js +3 -3
  120. package/lib/cjs/components/Mappings/Extraction/ExtractionStates/TerminalExtractionState.js.map +1 -1
  121. package/lib/cjs/components/Mappings/Extraction/ExtractionStatus.d.ts +1 -1
  122. package/lib/cjs/components/Mappings/Extraction/ExtractionStatus.js +9 -9
  123. package/lib/cjs/components/Mappings/Extraction/ExtractionStatus.js.map +1 -1
  124. package/lib/cjs/components/Mappings/Extraction/ExtractionStatusIcon.js +4 -4
  125. package/lib/cjs/components/Mappings/Extraction/ExtractionStatusIcon.js.map +1 -1
  126. package/lib/cjs/components/Mappings/Import/ConfirmMappingsImport.d.ts +1 -2
  127. package/lib/cjs/components/Mappings/Import/ConfirmMappingsImport.js +30 -33
  128. package/lib/cjs/components/Mappings/Import/ConfirmMappingsImport.js.map +1 -1
  129. package/lib/cjs/components/Mappings/Import/MappingImportWizardModal.d.ts +1 -1
  130. package/lib/cjs/components/Mappings/Import/MappingImportWizardModal.js +4 -4
  131. package/lib/cjs/components/Mappings/Import/MappingImportWizardModal.js.map +1 -1
  132. package/lib/cjs/components/Mappings/Import/SelectIModel.d.ts +1 -1
  133. package/lib/cjs/components/Mappings/Import/SelectIModel.js +5 -5
  134. package/lib/cjs/components/Mappings/Import/SelectIModel.js.map +1 -1
  135. package/lib/cjs/components/Mappings/Import/SelectITwin.js +2 -2
  136. package/lib/cjs/components/Mappings/Import/SelectITwin.js.map +1 -1
  137. package/lib/cjs/components/Mappings/Import/SelectITwin.scss +1 -1
  138. package/lib/cjs/components/Mappings/Import/SelectMappings.d.ts +1 -1
  139. package/lib/cjs/components/Mappings/Import/SelectMappings.js +7 -7
  140. package/lib/cjs/components/Mappings/Import/SelectMappings.js.map +1 -1
  141. package/lib/cjs/components/Mappings/MappingListItem.js.map +1 -1
  142. package/lib/cjs/components/Mappings/MappingViewActionGroup.d.ts +1 -1
  143. package/lib/cjs/components/Mappings/MappingViewActionGroup.js +6 -6
  144. package/lib/cjs/components/Mappings/MappingViewActionGroup.js.map +1 -1
  145. package/lib/cjs/components/Mappings/Mappings.d.ts +8 -0
  146. package/lib/cjs/components/Mappings/Mappings.js +7 -3
  147. package/lib/cjs/components/Mappings/Mappings.js.map +1 -1
  148. package/lib/cjs/components/Mappings/MappingsView.d.ts +7 -0
  149. package/lib/cjs/components/Mappings/MappingsView.js +17 -15
  150. package/lib/cjs/components/Mappings/MappingsView.js.map +1 -1
  151. package/lib/cjs/components/Mappings/hooks/useFetchExtractionStatus.d.ts +1 -2
  152. package/lib/cjs/components/Mappings/hooks/useFetchExtractionStatus.js +11 -8
  153. package/lib/cjs/components/Mappings/hooks/useFetchExtractionStatus.js.map +1 -1
  154. package/lib/cjs/components/Mappings/hooks/useFetchMappingExtractionStatus.d.ts +1 -1
  155. package/lib/cjs/components/Mappings/hooks/useFetchMappingExtractionStatus.js +8 -7
  156. package/lib/cjs/components/Mappings/hooks/useFetchMappingExtractionStatus.js.map +1 -1
  157. package/lib/cjs/components/Mappings/hooks/useFetchMappings.js +2 -2
  158. package/lib/cjs/components/Mappings/hooks/useFetchMappings.js.map +1 -1
  159. package/lib/cjs/components/Mappings/hooks/useMappingsOperations.d.ts +9 -2
  160. package/lib/cjs/components/Mappings/hooks/useMappingsOperations.js +44 -22
  161. package/lib/cjs/components/Mappings/hooks/useMappingsOperations.js.map +1 -1
  162. package/lib/cjs/components/Mappings/hooks/useRunExtraction.d.ts +2 -2
  163. package/lib/cjs/components/Mappings/hooks/useRunExtraction.js +27 -19
  164. package/lib/cjs/components/Mappings/hooks/useRunExtraction.js.map +1 -1
  165. package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyAction.d.ts +11 -3
  166. package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyAction.js +28 -15
  167. package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyAction.js.map +1 -1
  168. package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyActionWithVisuals.d.ts +11 -3
  169. package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyActionWithVisuals.js +30 -20
  170. package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyActionWithVisuals.js.map +1 -1
  171. package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyTable.d.ts +3 -3
  172. package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyTable.js +7 -5
  173. package/lib/cjs/components/Properties/CalculatedProperties/CalculatedPropertyTable.js.map +1 -1
  174. package/lib/cjs/components/Properties/CalculatedProperties/SharedCalculatedPropertyForms.js +4 -6
  175. package/lib/cjs/components/Properties/CalculatedProperties/SharedCalculatedPropertyForms.js.map +1 -1
  176. package/lib/cjs/components/Properties/CustomCalculations/CustomCalculationAction.d.ts +11 -3
  177. package/lib/cjs/components/Properties/CustomCalculations/CustomCalculationAction.js +74 -50
  178. package/lib/cjs/components/Properties/CustomCalculations/CustomCalculationAction.js.map +1 -1
  179. package/lib/cjs/components/Properties/CustomCalculations/CustomCalculationAction.scss +1 -1
  180. package/lib/cjs/components/Properties/CustomCalculations/CustomCalculationTable.d.ts +3 -3
  181. package/lib/cjs/components/Properties/CustomCalculations/CustomCalculationTable.js +21 -15
  182. package/lib/cjs/components/Properties/CustomCalculations/CustomCalculationTable.js.map +1 -1
  183. package/lib/cjs/components/Properties/GroupColorToggle.d.ts +2 -2
  184. package/lib/cjs/components/Properties/GroupColorToggle.js +4 -4
  185. package/lib/cjs/components/Properties/GroupColorToggle.js.map +1 -1
  186. package/lib/cjs/components/Properties/GroupInformationPanel.js +3 -3
  187. package/lib/cjs/components/Properties/GroupInformationPanel.js.map +1 -1
  188. package/lib/cjs/components/Properties/GroupProperties/GroupPropertyAction.d.ts +13 -5
  189. package/lib/cjs/components/Properties/GroupProperties/GroupPropertyAction.js +41 -42
  190. package/lib/cjs/components/Properties/GroupProperties/GroupPropertyAction.js.map +1 -1
  191. package/lib/cjs/components/Properties/GroupProperties/GroupPropertyListItem.d.ts +1 -1
  192. package/lib/cjs/components/Properties/GroupProperties/GroupPropertyListItem.js +5 -5
  193. package/lib/cjs/components/Properties/GroupProperties/GroupPropertyListItem.js.map +1 -1
  194. package/lib/cjs/components/Properties/GroupProperties/GroupPropertyTable.d.ts +4 -4
  195. package/lib/cjs/components/Properties/GroupProperties/GroupPropertyTable.js +20 -16
  196. package/lib/cjs/components/Properties/GroupProperties/GroupPropertyTable.js.map +1 -1
  197. package/lib/cjs/components/Properties/GroupProperties/GroupPropertyUtils.d.ts +3 -5
  198. package/lib/cjs/components/Properties/GroupProperties/GroupPropertyUtils.js +20 -65
  199. package/lib/cjs/components/Properties/GroupProperties/GroupPropertyUtils.js.map +1 -1
  200. package/lib/cjs/components/Properties/GroupProperties/GroupsPropertiesSelectionModal.js +20 -29
  201. package/lib/cjs/components/Properties/GroupProperties/GroupsPropertiesSelectionModal.js.map +1 -1
  202. package/lib/cjs/components/Properties/GroupProperties/SaveModal.d.ts +1 -1
  203. package/lib/cjs/components/Properties/GroupProperties/SaveModal.js +7 -7
  204. package/lib/cjs/components/Properties/GroupProperties/SaveModal.js.map +1 -1
  205. package/lib/cjs/components/Properties/GroupProperties/SortableHorizontalTile.js +4 -4
  206. package/lib/cjs/components/Properties/GroupProperties/SortableHorizontalTile.js.map +1 -1
  207. package/lib/cjs/components/Properties/PropertyAction.js +9 -21
  208. package/lib/cjs/components/Properties/PropertyAction.js.map +1 -1
  209. package/lib/cjs/components/Properties/PropertyMenu.d.ts +13 -5
  210. package/lib/cjs/components/Properties/PropertyMenu.js +16 -18
  211. package/lib/cjs/components/Properties/PropertyMenu.js.map +1 -1
  212. package/lib/cjs/components/Properties/PropertyMenuWithVisualization.d.ts +8 -0
  213. package/lib/cjs/components/Properties/PropertyMenuWithVisualization.js +9 -5
  214. package/lib/cjs/components/Properties/PropertyMenuWithVisualization.js.map +1 -1
  215. package/lib/cjs/components/Properties/PropertyNameCell.d.ts +1 -1
  216. package/lib/cjs/components/Properties/PropertyNameCell.js +4 -4
  217. package/lib/cjs/components/Properties/PropertyNameCell.js.map +1 -1
  218. package/lib/cjs/components/Properties/PropertyTable.js +5 -6
  219. package/lib/cjs/components/Properties/PropertyTable.js.map +1 -1
  220. package/lib/cjs/components/Properties/PropertyTableToolbar.d.ts +1 -1
  221. package/lib/cjs/components/Properties/PropertyTableToolbar.js +4 -4
  222. package/lib/cjs/components/Properties/PropertyTableToolbar.js.map +1 -1
  223. package/lib/cjs/components/Properties/hooks/useFormulaValidation.d.ts +2 -1
  224. package/lib/cjs/components/Properties/hooks/useFormulaValidation.js +11 -7
  225. package/lib/cjs/components/Properties/hooks/useFormulaValidation.js.map +1 -1
  226. package/lib/cjs/components/Properties/hooks/usePropertiesQuery.d.ts +4 -0
  227. package/lib/cjs/components/Properties/hooks/usePropertiesQuery.js +12 -0
  228. package/lib/cjs/components/Properties/hooks/usePropertiesQuery.js.map +1 -0
  229. package/lib/cjs/components/Properties/hooks/useValidator.js +4 -4
  230. package/lib/cjs/components/Properties/hooks/useValidator.js.map +1 -1
  231. package/lib/cjs/components/SharedComponents/ActionPanel.d.ts +1 -1
  232. package/lib/cjs/components/SharedComponents/ActionPanel.js +9 -10
  233. package/lib/cjs/components/SharedComponents/ActionPanel.js.map +1 -1
  234. package/lib/cjs/components/SharedComponents/DeleteModal.d.ts +1 -1
  235. package/lib/cjs/components/SharedComponents/DeleteModal.js +9 -10
  236. package/lib/cjs/components/SharedComponents/DeleteModal.js.map +1 -1
  237. package/lib/cjs/components/SharedComponents/EmptyMessage.js +4 -4
  238. package/lib/cjs/components/SharedComponents/EmptyMessage.js.map +1 -1
  239. package/lib/cjs/components/SharedComponents/LoadingOverlay.js +4 -4
  240. package/lib/cjs/components/SharedComponents/LoadingOverlay.js.map +1 -1
  241. package/lib/cjs/components/SharedComponents/LoadingSpinner.js +3 -3
  242. package/lib/cjs/components/SharedComponents/LoadingSpinner.js.map +1 -1
  243. package/lib/cjs/components/SharedComponents/StatusIcon.js +3 -3
  244. package/lib/cjs/components/SharedComponents/StatusIcon.js.map +1 -1
  245. package/lib/cjs/components/context/ExtractionClientContext.js +3 -3
  246. package/lib/cjs/components/context/ExtractionClientContext.js.map +1 -1
  247. package/lib/cjs/components/context/ExtractionStateJobContext.js +3 -3
  248. package/lib/cjs/components/context/ExtractionStateJobContext.js.map +1 -1
  249. package/lib/cjs/components/context/GroupHilitedElementsContext.js +3 -3
  250. package/lib/cjs/components/context/GroupHilitedElementsContext.js.map +1 -1
  251. package/lib/cjs/components/context/GroupingApiConfigContext.d.ts +16 -0
  252. package/lib/cjs/components/context/GroupingApiConfigContext.js +7 -0
  253. package/lib/cjs/components/context/GroupingApiConfigContext.js.map +1 -1
  254. package/lib/cjs/components/context/GroupingMappingCustomUIContext.js +3 -3
  255. package/lib/cjs/components/context/GroupingMappingCustomUIContext.js.map +1 -1
  256. package/lib/cjs/components/context/GroupsClientContext.d.ts +20 -0
  257. package/lib/cjs/components/context/GroupsClientContext.js +45 -0
  258. package/lib/cjs/components/context/GroupsClientContext.js.map +1 -0
  259. package/lib/cjs/components/context/IModelsClientContext.js.map +1 -1
  260. package/lib/cjs/components/context/ITwinsClientContext.js +3 -3
  261. package/lib/cjs/components/context/ITwinsClientContext.js.map +1 -1
  262. package/lib/cjs/components/context/MappingClientContext.d.ts +12 -0
  263. package/lib/cjs/components/context/MappingClientContext.js +14 -2
  264. package/lib/cjs/components/context/MappingClientContext.js.map +1 -1
  265. package/lib/cjs/components/context/PropertiesClientContext.d.ts +20 -0
  266. package/lib/cjs/components/context/PropertiesClientContext.js +45 -0
  267. package/lib/cjs/components/context/PropertiesClientContext.js.map +1 -0
  268. package/lib/cjs/components/context/PropertiesGroupColorContext.js +3 -3
  269. package/lib/cjs/components/context/PropertiesGroupColorContext.js.map +1 -1
  270. package/lib/cjs/components/context/PropertyGridWrapperContext.js +3 -3
  271. package/lib/cjs/components/context/PropertyGridWrapperContext.js.map +1 -1
  272. package/lib/cjs/components/customUI/DefaultGroupingUI.js +3 -3
  273. package/lib/cjs/components/customUI/DefaultGroupingUI.js.map +1 -1
  274. package/lib/cjs/components/customUI/GroupQueryBuilderCustomUI.d.ts +5 -1
  275. package/lib/cjs/components/customUI/GroupQueryBuilderCustomUI.js +17 -18
  276. package/lib/cjs/components/customUI/GroupQueryBuilderCustomUI.js.map +1 -1
  277. package/lib/cjs/components/customUI/GroupingMappingCustomUI.d.ts +15 -3
  278. package/lib/cjs/components/customUI/GroupingMappingCustomUI.js +3 -0
  279. package/lib/cjs/components/customUI/GroupingMappingCustomUI.js.map +1 -1
  280. package/lib/cjs/components/customUI/ManualGroupingCustomUI.d.ts +5 -1
  281. package/lib/cjs/components/customUI/ManualGroupingCustomUI.js +12 -8
  282. package/lib/cjs/components/customUI/ManualGroupingCustomUI.js.map +1 -1
  283. package/lib/cjs/components/customUI/SearchGroupingCustomUI.d.ts +5 -1
  284. package/lib/cjs/components/customUI/SearchGroupingCustomUI.js +20 -45
  285. package/lib/cjs/components/customUI/SearchGroupingCustomUI.js.map +1 -1
  286. package/lib/cjs/decorators/BboxDimensionsDecorator.js +3 -10
  287. package/lib/cjs/decorators/BboxDimensionsDecorator.js.map +1 -1
  288. package/lib/cjs/formula/FormulaDataTypeResolver.d.ts +1 -0
  289. package/lib/cjs/formula/FormulaDataTypeResolver.js +4 -3
  290. package/lib/cjs/formula/FormulaDataTypeResolver.js.map +1 -1
  291. package/lib/cjs/formula/FormulaFunctionProvider.js +146 -65
  292. package/lib/cjs/formula/FormulaFunctionProvider.js.map +1 -1
  293. package/lib/cjs/formula/FormulaOperatorsProvider.js +139 -45
  294. package/lib/cjs/formula/FormulaOperatorsProvider.js.map +1 -1
  295. package/lib/cjs/formula/FormulaSplitter.js +63 -13
  296. package/lib/cjs/formula/FormulaSplitter.js.map +1 -1
  297. package/lib/cjs/formula/FormulaTokensDataTypeResolver.js +9 -16
  298. package/lib/cjs/formula/FormulaTokensDataTypeResolver.js.map +1 -1
  299. package/lib/cjs/formula/IResult.d.ts +3 -0
  300. package/lib/cjs/formula/IResult.js.map +1 -1
  301. package/lib/cjs/formula/InfixToPostfixConverter.js +4 -4
  302. package/lib/cjs/formula/InfixToPostfixConverter.js.map +1 -1
  303. package/lib/cjs/formula/InputStream.js +3 -3
  304. package/lib/cjs/formula/InputStream.js.map +1 -1
  305. package/lib/cjs/formula/ParenthesisValidator.js +3 -3
  306. package/lib/cjs/formula/ParenthesisValidator.js.map +1 -1
  307. package/lib/cjs/formula/Queue.js +3 -3
  308. package/lib/cjs/formula/Queue.js.map +1 -1
  309. package/lib/cjs/formula/Stack.js +3 -3
  310. package/lib/cjs/formula/Stack.js.map +1 -1
  311. package/lib/cjs/formula/StringBuilder.js +3 -3
  312. package/lib/cjs/formula/StringBuilder.js.map +1 -1
  313. package/lib/cjs/formula/Types.d.ts +16 -1
  314. package/lib/cjs/formula/Types.js.map +1 -1
  315. package/lib/cjs/formula/Utils.js +4 -4
  316. package/lib/cjs/formula/Utils.js.map +1 -1
  317. package/lib/cjs/grouping-mapping-widget.d.ts +5 -3
  318. package/lib/cjs/grouping-mapping-widget.js +14 -4
  319. package/lib/cjs/grouping-mapping-widget.js.map +1 -1
  320. package/lib/cjs/test/GroupPropertyUtils.test.js +27 -65
  321. package/lib/cjs/test/GroupPropertyUtils.test.js.map +1 -1
  322. package/lib/cjs/test/GroupingMappingCustomUI.test.js +21 -12
  323. package/lib/cjs/test/GroupingMappingCustomUI.test.js.map +1 -1
  324. package/lib/cjs/test/MockFactory.js +3 -3
  325. package/lib/cjs/test/MockFactory.js.map +1 -1
  326. package/lib/cjs/test/PropertyFieldsHelpers.js +3 -3
  327. package/lib/cjs/test/PropertyFieldsHelpers.js.map +1 -1
  328. package/lib/cjs/test/QueryBuilder.test.js +3 -3
  329. package/lib/cjs/test/QueryBuilder.test.js.map +1 -1
  330. package/lib/cjs/test/QueryBuilder.testdata.js +3 -3
  331. package/lib/cjs/test/QueryBuilder.testdata.js.map +1 -1
  332. package/lib/cjs/test/QueryBuilderTestData.js.map +1 -1
  333. package/lib/cjs/test/WidgetHeader.test.js +3 -3
  334. package/lib/cjs/test/WidgetHeader.test.js.map +1 -1
  335. package/lib/cjs/test/test-utils.js +4 -4
  336. package/lib/cjs/test/test-utils.js.map +1 -1
  337. package/lib/esm/WidgetShell/GroupingMapping.d.ts +5 -5
  338. package/lib/esm/WidgetShell/GroupingMapping.js +3 -5
  339. package/lib/esm/WidgetShell/GroupingMapping.js.map +1 -1
  340. package/lib/esm/WidgetShell/GroupingMappingContent.js +4 -4
  341. package/lib/esm/WidgetShell/GroupingMappingContent.js.map +1 -1
  342. package/lib/esm/WidgetShell/GroupingMappingHeader.d.ts +1 -1
  343. package/lib/esm/WidgetShell/GroupingMappingHeader.js +5 -5
  344. package/lib/esm/WidgetShell/GroupingMappingHeader.js.map +1 -1
  345. package/lib/esm/WidgetShell/GroupingMappingWidget.d.ts +4 -0
  346. package/lib/esm/WidgetShell/GroupingMappingWidget.js +6 -4
  347. package/lib/esm/WidgetShell/GroupingMappingWidget.js.map +1 -1
  348. package/lib/esm/WidgetShell/Router/GroupingMappingRouter.js +28 -8
  349. package/lib/esm/WidgetShell/Router/GroupingMappingRouter.js.map +1 -1
  350. package/lib/esm/WidgetShell/WidgetHeader/WidgetHeader.d.ts +1 -1
  351. package/lib/esm/WidgetShell/WidgetHeader/WidgetHeader.js +7 -7
  352. package/lib/esm/WidgetShell/WidgetHeader/WidgetHeader.js.map +1 -1
  353. package/lib/esm/common/hooks/useIsMounted.js +3 -3
  354. package/lib/esm/common/hooks/useIsMounted.js.map +1 -1
  355. package/lib/esm/common/hooks/useMemoizedCollectionPick.js +3 -3
  356. package/lib/esm/common/hooks/useMemoizedCollectionPick.js.map +1 -1
  357. package/lib/esm/common/utils.js +3 -3
  358. package/lib/esm/common/utils.js.map +1 -1
  359. package/lib/esm/common/viewerUtils.js +2 -2
  360. package/lib/esm/common/viewerUtils.js.map +1 -1
  361. package/lib/esm/components/Constants.js +4 -4
  362. package/lib/esm/components/Constants.js.map +1 -1
  363. package/lib/esm/components/GroupingMappingContext.d.ts +19 -3
  364. package/lib/esm/components/GroupingMappingContext.js +41 -14
  365. package/lib/esm/components/GroupingMappingContext.js.map +1 -1
  366. package/lib/esm/components/Groups/Editing/GroupAction.d.ts +10 -2
  367. package/lib/esm/components/Groups/Editing/GroupAction.js +17 -15
  368. package/lib/esm/components/Groups/Editing/GroupAction.js.map +1 -1
  369. package/lib/esm/components/Groups/Editing/GroupDetails.d.ts +1 -1
  370. package/lib/esm/components/Groups/Editing/GroupDetails.js +5 -7
  371. package/lib/esm/components/Groups/Editing/GroupDetails.js.map +1 -1
  372. package/lib/esm/components/Groups/Editing/GroupDetailsActionPanel.d.ts +1 -1
  373. package/lib/esm/components/Groups/Editing/GroupDetailsActionPanel.js +4 -4
  374. package/lib/esm/components/Groups/Editing/GroupDetailsActionPanel.js.map +1 -1
  375. package/lib/esm/components/Groups/Editing/GroupDetailsStep.js +4 -4
  376. package/lib/esm/components/Groups/Editing/GroupDetailsStep.js.map +1 -1
  377. package/lib/esm/components/Groups/GroupColorLegend.d.ts +3 -3
  378. package/lib/esm/components/Groups/GroupColorLegend.js +3 -3
  379. package/lib/esm/components/Groups/GroupColorLegend.js.map +1 -1
  380. package/lib/esm/components/Groups/GroupListItem.d.ts +4 -4
  381. package/lib/esm/components/Groups/GroupListItem.js +6 -4
  382. package/lib/esm/components/Groups/GroupListItem.js.map +1 -1
  383. package/lib/esm/components/Groups/GroupListItem.scss +14 -0
  384. package/lib/esm/components/Groups/GroupMenuActions.d.ts +4 -4
  385. package/lib/esm/components/Groups/GroupMenuActions.js +17 -6
  386. package/lib/esm/components/Groups/GroupMenuActions.js.map +1 -1
  387. package/lib/esm/components/Groups/GroupMenuActions.scss +2 -0
  388. package/lib/esm/components/Groups/GroupOverlapProgressBar.d.ts +2 -2
  389. package/lib/esm/components/Groups/GroupOverlapProgressBar.js.map +1 -1
  390. package/lib/esm/components/Groups/Groups.d.ts +12 -4
  391. package/lib/esm/components/Groups/Groups.js +7 -3
  392. package/lib/esm/components/Groups/Groups.js.map +1 -1
  393. package/lib/esm/components/Groups/GroupsAddButton.d.ts +1 -1
  394. package/lib/esm/components/Groups/GroupsAddButton.js +4 -4
  395. package/lib/esm/components/Groups/GroupsAddButton.js.map +1 -1
  396. package/lib/esm/components/Groups/GroupsAddButton.scss +1 -1
  397. package/lib/esm/components/Groups/GroupsShowHideButtons.d.ts +5 -5
  398. package/lib/esm/components/Groups/GroupsShowHideButtons.js +2 -2
  399. package/lib/esm/components/Groups/GroupsShowHideButtons.js.map +1 -1
  400. package/lib/esm/components/Groups/GroupsView.d.ts +19 -11
  401. package/lib/esm/components/Groups/GroupsView.js +14 -12
  402. package/lib/esm/components/Groups/GroupsView.js.map +1 -1
  403. package/lib/esm/components/Groups/GroupsView.scss +1 -1
  404. package/lib/esm/components/Groups/GroupsVisualization.d.ts +8 -0
  405. package/lib/esm/components/Groups/GroupsVisualization.js +29 -26
  406. package/lib/esm/components/Groups/GroupsVisualization.js.map +1 -1
  407. package/lib/esm/components/Groups/GroupsVisualizationActions.js +4 -4
  408. package/lib/esm/components/Groups/GroupsVisualizationActions.js.map +1 -1
  409. package/lib/esm/components/Groups/OverlappedElementsInformationPanel.d.ts +4 -4
  410. package/lib/esm/components/Groups/OverlappedElementsInformationPanel.js +5 -5
  411. package/lib/esm/components/Groups/OverlappedElementsInformationPanel.js.map +1 -1
  412. package/lib/esm/components/Groups/OverlappedElementsInformationPanel.scss +7 -7
  413. package/lib/esm/components/Groups/QueryBuilder/QueryBuilder.js +13 -35
  414. package/lib/esm/components/Groups/QueryBuilder/QueryBuilder.js.map +1 -1
  415. package/lib/esm/components/Groups/QueryBuilder/QueryBuilderActionPanel.js +4 -4
  416. package/lib/esm/components/Groups/QueryBuilder/QueryBuilderActionPanel.js.map +1 -1
  417. package/lib/esm/components/Groups/QueryBuilder/QueryBuilderCustomUI.d.ts +3 -3
  418. package/lib/esm/components/Groups/QueryBuilder/QueryBuilderCustomUI.js +4 -4
  419. package/lib/esm/components/Groups/QueryBuilder/QueryBuilderCustomUI.js.map +1 -1
  420. package/lib/esm/components/Groups/QueryBuilder/QueryBuilderStep.js +4 -4
  421. package/lib/esm/components/Groups/QueryBuilder/QueryBuilderStep.js.map +1 -1
  422. package/lib/esm/components/Groups/ToggleGroupVisibility.js +3 -3
  423. package/lib/esm/components/Groups/ToggleGroupVisibility.js.map +1 -1
  424. package/lib/esm/components/Groups/groupsHelpers.d.ts +2 -2
  425. package/lib/esm/components/Groups/groupsHelpers.js +9 -5
  426. package/lib/esm/components/Groups/groupsHelpers.js.map +1 -1
  427. package/lib/esm/components/Groups/hooks/useFetchGroups.d.ts +3 -3
  428. package/lib/esm/components/Groups/hooks/useFetchGroups.js +6 -5
  429. package/lib/esm/components/Groups/hooks/useFetchGroups.js.map +1 -1
  430. package/lib/esm/components/Groups/hooks/useGroupsOperations.d.ts +16 -8
  431. package/lib/esm/components/Groups/hooks/useGroupsOperations.js +14 -10
  432. package/lib/esm/components/Groups/hooks/useGroupsOperations.js.map +1 -1
  433. package/lib/esm/components/Groups/hooks/useKeySetHiliteQueries.d.ts +4 -4
  434. package/lib/esm/components/Groups/hooks/useKeySetHiliteQueries.js.map +1 -1
  435. package/lib/esm/components/Groups/hooks/useVisualization.js +3 -5
  436. package/lib/esm/components/Groups/hooks/useVisualization.js.map +1 -1
  437. package/lib/esm/components/Mappings/BlockingOverlay.js +3 -3
  438. package/lib/esm/components/Mappings/BlockingOverlay.js.map +1 -1
  439. package/lib/esm/components/Mappings/Editing/MappingAction.d.ts +8 -0
  440. package/lib/esm/components/Mappings/Editing/MappingAction.js +16 -15
  441. package/lib/esm/components/Mappings/Editing/MappingAction.js.map +1 -1
  442. package/lib/esm/components/Mappings/Extraction/ExtractionLogCustomFilter.d.ts +1 -1
  443. package/lib/esm/components/Mappings/Extraction/ExtractionLogCustomFilter.js +1 -1
  444. package/lib/esm/components/Mappings/Extraction/ExtractionLogCustomFilter.js.map +1 -1
  445. package/lib/esm/components/Mappings/Extraction/ExtractionMessageModal.js +12 -7
  446. package/lib/esm/components/Mappings/Extraction/ExtractionMessageModal.js.map +1 -1
  447. package/lib/esm/components/Mappings/Extraction/ExtractionStates/QueuedExtractionState.js +3 -3
  448. package/lib/esm/components/Mappings/Extraction/ExtractionStates/QueuedExtractionState.js.map +1 -1
  449. package/lib/esm/components/Mappings/Extraction/ExtractionStates/RunningExtractionState.js +3 -3
  450. package/lib/esm/components/Mappings/Extraction/ExtractionStates/RunningExtractionState.js.map +1 -1
  451. package/lib/esm/components/Mappings/Extraction/ExtractionStates/StartingExtractionState.js +3 -3
  452. package/lib/esm/components/Mappings/Extraction/ExtractionStates/StartingExtractionState.js.map +1 -1
  453. package/lib/esm/components/Mappings/Extraction/ExtractionStates/TerminalExtractionState.js +3 -3
  454. package/lib/esm/components/Mappings/Extraction/ExtractionStates/TerminalExtractionState.js.map +1 -1
  455. package/lib/esm/components/Mappings/Extraction/ExtractionStatus.d.ts +1 -1
  456. package/lib/esm/components/Mappings/Extraction/ExtractionStatus.js +9 -9
  457. package/lib/esm/components/Mappings/Extraction/ExtractionStatus.js.map +1 -1
  458. package/lib/esm/components/Mappings/Extraction/ExtractionStatusIcon.js +4 -4
  459. package/lib/esm/components/Mappings/Extraction/ExtractionStatusIcon.js.map +1 -1
  460. package/lib/esm/components/Mappings/Import/ConfirmMappingsImport.d.ts +1 -2
  461. package/lib/esm/components/Mappings/Import/ConfirmMappingsImport.js +31 -34
  462. package/lib/esm/components/Mappings/Import/ConfirmMappingsImport.js.map +1 -1
  463. package/lib/esm/components/Mappings/Import/MappingImportWizardModal.d.ts +1 -1
  464. package/lib/esm/components/Mappings/Import/MappingImportWizardModal.js +4 -4
  465. package/lib/esm/components/Mappings/Import/MappingImportWizardModal.js.map +1 -1
  466. package/lib/esm/components/Mappings/Import/SelectIModel.d.ts +1 -1
  467. package/lib/esm/components/Mappings/Import/SelectIModel.js +5 -5
  468. package/lib/esm/components/Mappings/Import/SelectIModel.js.map +1 -1
  469. package/lib/esm/components/Mappings/Import/SelectITwin.js +2 -2
  470. package/lib/esm/components/Mappings/Import/SelectITwin.js.map +1 -1
  471. package/lib/esm/components/Mappings/Import/SelectITwin.scss +1 -1
  472. package/lib/esm/components/Mappings/Import/SelectMappings.d.ts +1 -1
  473. package/lib/esm/components/Mappings/Import/SelectMappings.js +8 -8
  474. package/lib/esm/components/Mappings/Import/SelectMappings.js.map +1 -1
  475. package/lib/esm/components/Mappings/MappingListItem.js.map +1 -1
  476. package/lib/esm/components/Mappings/MappingViewActionGroup.d.ts +1 -1
  477. package/lib/esm/components/Mappings/MappingViewActionGroup.js +8 -8
  478. package/lib/esm/components/Mappings/MappingViewActionGroup.js.map +1 -1
  479. package/lib/esm/components/Mappings/Mappings.d.ts +8 -0
  480. package/lib/esm/components/Mappings/Mappings.js +7 -3
  481. package/lib/esm/components/Mappings/Mappings.js.map +1 -1
  482. package/lib/esm/components/Mappings/MappingsView.d.ts +7 -0
  483. package/lib/esm/components/Mappings/MappingsView.js +19 -17
  484. package/lib/esm/components/Mappings/MappingsView.js.map +1 -1
  485. package/lib/esm/components/Mappings/hooks/useFetchExtractionStatus.d.ts +1 -2
  486. package/lib/esm/components/Mappings/hooks/useFetchExtractionStatus.js +11 -8
  487. package/lib/esm/components/Mappings/hooks/useFetchExtractionStatus.js.map +1 -1
  488. package/lib/esm/components/Mappings/hooks/useFetchMappingExtractionStatus.d.ts +1 -1
  489. package/lib/esm/components/Mappings/hooks/useFetchMappingExtractionStatus.js +9 -8
  490. package/lib/esm/components/Mappings/hooks/useFetchMappingExtractionStatus.js.map +1 -1
  491. package/lib/esm/components/Mappings/hooks/useFetchMappings.js +2 -2
  492. package/lib/esm/components/Mappings/hooks/useFetchMappings.js.map +1 -1
  493. package/lib/esm/components/Mappings/hooks/useMappingsOperations.d.ts +9 -2
  494. package/lib/esm/components/Mappings/hooks/useMappingsOperations.js +45 -23
  495. package/lib/esm/components/Mappings/hooks/useMappingsOperations.js.map +1 -1
  496. package/lib/esm/components/Mappings/hooks/useRunExtraction.d.ts +2 -2
  497. package/lib/esm/components/Mappings/hooks/useRunExtraction.js +27 -19
  498. package/lib/esm/components/Mappings/hooks/useRunExtraction.js.map +1 -1
  499. package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyAction.d.ts +11 -3
  500. package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyAction.js +30 -17
  501. package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyAction.js.map +1 -1
  502. package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyActionWithVisuals.d.ts +11 -3
  503. package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyActionWithVisuals.js +33 -23
  504. package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyActionWithVisuals.js.map +1 -1
  505. package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyTable.d.ts +3 -3
  506. package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyTable.js +8 -6
  507. package/lib/esm/components/Properties/CalculatedProperties/CalculatedPropertyTable.js.map +1 -1
  508. package/lib/esm/components/Properties/CalculatedProperties/SharedCalculatedPropertyForms.js +5 -7
  509. package/lib/esm/components/Properties/CalculatedProperties/SharedCalculatedPropertyForms.js.map +1 -1
  510. package/lib/esm/components/Properties/CustomCalculations/CustomCalculationAction.d.ts +11 -3
  511. package/lib/esm/components/Properties/CustomCalculations/CustomCalculationAction.js +76 -52
  512. package/lib/esm/components/Properties/CustomCalculations/CustomCalculationAction.js.map +1 -1
  513. package/lib/esm/components/Properties/CustomCalculations/CustomCalculationAction.scss +1 -1
  514. package/lib/esm/components/Properties/CustomCalculations/CustomCalculationTable.d.ts +3 -3
  515. package/lib/esm/components/Properties/CustomCalculations/CustomCalculationTable.js +23 -17
  516. package/lib/esm/components/Properties/CustomCalculations/CustomCalculationTable.js.map +1 -1
  517. package/lib/esm/components/Properties/GroupColorToggle.d.ts +2 -2
  518. package/lib/esm/components/Properties/GroupColorToggle.js +4 -4
  519. package/lib/esm/components/Properties/GroupColorToggle.js.map +1 -1
  520. package/lib/esm/components/Properties/GroupInformationPanel.js +3 -3
  521. package/lib/esm/components/Properties/GroupInformationPanel.js.map +1 -1
  522. package/lib/esm/components/Properties/GroupProperties/GroupPropertyAction.d.ts +13 -5
  523. package/lib/esm/components/Properties/GroupProperties/GroupPropertyAction.js +43 -44
  524. package/lib/esm/components/Properties/GroupProperties/GroupPropertyAction.js.map +1 -1
  525. package/lib/esm/components/Properties/GroupProperties/GroupPropertyListItem.d.ts +1 -1
  526. package/lib/esm/components/Properties/GroupProperties/GroupPropertyListItem.js +5 -5
  527. package/lib/esm/components/Properties/GroupProperties/GroupPropertyListItem.js.map +1 -1
  528. package/lib/esm/components/Properties/GroupProperties/GroupPropertyTable.d.ts +4 -4
  529. package/lib/esm/components/Properties/GroupProperties/GroupPropertyTable.js +22 -18
  530. package/lib/esm/components/Properties/GroupProperties/GroupPropertyTable.js.map +1 -1
  531. package/lib/esm/components/Properties/GroupProperties/GroupPropertyUtils.d.ts +3 -5
  532. package/lib/esm/components/Properties/GroupProperties/GroupPropertyUtils.js +21 -66
  533. package/lib/esm/components/Properties/GroupProperties/GroupPropertyUtils.js.map +1 -1
  534. package/lib/esm/components/Properties/GroupProperties/GroupsPropertiesSelectionModal.js +26 -35
  535. package/lib/esm/components/Properties/GroupProperties/GroupsPropertiesSelectionModal.js.map +1 -1
  536. package/lib/esm/components/Properties/GroupProperties/SaveModal.d.ts +1 -1
  537. package/lib/esm/components/Properties/GroupProperties/SaveModal.js +8 -8
  538. package/lib/esm/components/Properties/GroupProperties/SaveModal.js.map +1 -1
  539. package/lib/esm/components/Properties/GroupProperties/SortableHorizontalTile.js +4 -4
  540. package/lib/esm/components/Properties/GroupProperties/SortableHorizontalTile.js.map +1 -1
  541. package/lib/esm/components/Properties/PropertyAction.js +9 -21
  542. package/lib/esm/components/Properties/PropertyAction.js.map +1 -1
  543. package/lib/esm/components/Properties/PropertyMenu.d.ts +13 -5
  544. package/lib/esm/components/Properties/PropertyMenu.js +16 -18
  545. package/lib/esm/components/Properties/PropertyMenu.js.map +1 -1
  546. package/lib/esm/components/Properties/PropertyMenuWithVisualization.d.ts +8 -0
  547. package/lib/esm/components/Properties/PropertyMenuWithVisualization.js +9 -5
  548. package/lib/esm/components/Properties/PropertyMenuWithVisualization.js.map +1 -1
  549. package/lib/esm/components/Properties/PropertyNameCell.d.ts +1 -1
  550. package/lib/esm/components/Properties/PropertyNameCell.js +4 -4
  551. package/lib/esm/components/Properties/PropertyNameCell.js.map +1 -1
  552. package/lib/esm/components/Properties/PropertyTable.js +5 -6
  553. package/lib/esm/components/Properties/PropertyTable.js.map +1 -1
  554. package/lib/esm/components/Properties/PropertyTableToolbar.d.ts +1 -1
  555. package/lib/esm/components/Properties/PropertyTableToolbar.js +4 -4
  556. package/lib/esm/components/Properties/PropertyTableToolbar.js.map +1 -1
  557. package/lib/esm/components/Properties/hooks/useFormulaValidation.d.ts +2 -1
  558. package/lib/esm/components/Properties/hooks/useFormulaValidation.js +11 -7
  559. package/lib/esm/components/Properties/hooks/useFormulaValidation.js.map +1 -1
  560. package/lib/esm/components/Properties/hooks/usePropertiesQuery.d.ts +4 -0
  561. package/lib/esm/components/Properties/hooks/usePropertiesQuery.js +8 -0
  562. package/lib/esm/components/Properties/hooks/usePropertiesQuery.js.map +1 -0
  563. package/lib/esm/components/Properties/hooks/useValidator.js +4 -4
  564. package/lib/esm/components/Properties/hooks/useValidator.js.map +1 -1
  565. package/lib/esm/components/SharedComponents/ActionPanel.d.ts +1 -1
  566. package/lib/esm/components/SharedComponents/ActionPanel.js +9 -10
  567. package/lib/esm/components/SharedComponents/ActionPanel.js.map +1 -1
  568. package/lib/esm/components/SharedComponents/DeleteModal.d.ts +1 -1
  569. package/lib/esm/components/SharedComponents/DeleteModal.js +10 -11
  570. package/lib/esm/components/SharedComponents/DeleteModal.js.map +1 -1
  571. package/lib/esm/components/SharedComponents/EmptyMessage.js +4 -4
  572. package/lib/esm/components/SharedComponents/EmptyMessage.js.map +1 -1
  573. package/lib/esm/components/SharedComponents/LoadingOverlay.js +4 -4
  574. package/lib/esm/components/SharedComponents/LoadingOverlay.js.map +1 -1
  575. package/lib/esm/components/SharedComponents/LoadingSpinner.js +3 -3
  576. package/lib/esm/components/SharedComponents/LoadingSpinner.js.map +1 -1
  577. package/lib/esm/components/SharedComponents/StatusIcon.js +3 -3
  578. package/lib/esm/components/SharedComponents/StatusIcon.js.map +1 -1
  579. package/lib/esm/components/context/ExtractionClientContext.js +3 -3
  580. package/lib/esm/components/context/ExtractionClientContext.js.map +1 -1
  581. package/lib/esm/components/context/ExtractionStateJobContext.js +3 -3
  582. package/lib/esm/components/context/ExtractionStateJobContext.js.map +1 -1
  583. package/lib/esm/components/context/GroupHilitedElementsContext.js +3 -3
  584. package/lib/esm/components/context/GroupHilitedElementsContext.js.map +1 -1
  585. package/lib/esm/components/context/GroupingApiConfigContext.d.ts +16 -0
  586. package/lib/esm/components/context/GroupingApiConfigContext.js +7 -0
  587. package/lib/esm/components/context/GroupingApiConfigContext.js.map +1 -1
  588. package/lib/esm/components/context/GroupingMappingCustomUIContext.js +3 -3
  589. package/lib/esm/components/context/GroupingMappingCustomUIContext.js.map +1 -1
  590. package/lib/esm/components/context/GroupsClientContext.d.ts +20 -0
  591. package/lib/esm/components/context/GroupsClientContext.js +39 -0
  592. package/lib/esm/components/context/GroupsClientContext.js.map +1 -0
  593. package/lib/esm/components/context/IModelsClientContext.js.map +1 -1
  594. package/lib/esm/components/context/ITwinsClientContext.js +3 -3
  595. package/lib/esm/components/context/ITwinsClientContext.js.map +1 -1
  596. package/lib/esm/components/context/MappingClientContext.d.ts +12 -0
  597. package/lib/esm/components/context/MappingClientContext.js +15 -3
  598. package/lib/esm/components/context/MappingClientContext.js.map +1 -1
  599. package/lib/esm/components/context/PropertiesClientContext.d.ts +20 -0
  600. package/lib/esm/components/context/PropertiesClientContext.js +39 -0
  601. package/lib/esm/components/context/PropertiesClientContext.js.map +1 -0
  602. package/lib/esm/components/context/PropertiesGroupColorContext.js +3 -3
  603. package/lib/esm/components/context/PropertiesGroupColorContext.js.map +1 -1
  604. package/lib/esm/components/context/PropertyGridWrapperContext.js +3 -3
  605. package/lib/esm/components/context/PropertyGridWrapperContext.js.map +1 -1
  606. package/lib/esm/components/customUI/DefaultGroupingUI.js +3 -3
  607. package/lib/esm/components/customUI/DefaultGroupingUI.js.map +1 -1
  608. package/lib/esm/components/customUI/GroupQueryBuilderCustomUI.d.ts +5 -1
  609. package/lib/esm/components/customUI/GroupQueryBuilderCustomUI.js +18 -19
  610. package/lib/esm/components/customUI/GroupQueryBuilderCustomUI.js.map +1 -1
  611. package/lib/esm/components/customUI/GroupingMappingCustomUI.d.ts +15 -3
  612. package/lib/esm/components/customUI/GroupingMappingCustomUI.js +3 -0
  613. package/lib/esm/components/customUI/GroupingMappingCustomUI.js.map +1 -1
  614. package/lib/esm/components/customUI/ManualGroupingCustomUI.d.ts +5 -1
  615. package/lib/esm/components/customUI/ManualGroupingCustomUI.js +12 -8
  616. package/lib/esm/components/customUI/ManualGroupingCustomUI.js.map +1 -1
  617. package/lib/esm/components/customUI/SearchGroupingCustomUI.d.ts +5 -1
  618. package/lib/esm/components/customUI/SearchGroupingCustomUI.js +20 -45
  619. package/lib/esm/components/customUI/SearchGroupingCustomUI.js.map +1 -1
  620. package/lib/esm/decorators/BboxDimensionsDecorator.js +5 -12
  621. package/lib/esm/decorators/BboxDimensionsDecorator.js.map +1 -1
  622. package/lib/esm/formula/FormulaDataTypeResolver.d.ts +1 -0
  623. package/lib/esm/formula/FormulaDataTypeResolver.js +4 -3
  624. package/lib/esm/formula/FormulaDataTypeResolver.js.map +1 -1
  625. package/lib/esm/formula/FormulaFunctionProvider.js +146 -65
  626. package/lib/esm/formula/FormulaFunctionProvider.js.map +1 -1
  627. package/lib/esm/formula/FormulaOperatorsProvider.js +139 -45
  628. package/lib/esm/formula/FormulaOperatorsProvider.js.map +1 -1
  629. package/lib/esm/formula/FormulaSplitter.js +63 -13
  630. package/lib/esm/formula/FormulaSplitter.js.map +1 -1
  631. package/lib/esm/formula/FormulaTokensDataTypeResolver.js +9 -16
  632. package/lib/esm/formula/FormulaTokensDataTypeResolver.js.map +1 -1
  633. package/lib/esm/formula/IResult.d.ts +3 -0
  634. package/lib/esm/formula/IResult.js.map +1 -1
  635. package/lib/esm/formula/InfixToPostfixConverter.js +5 -5
  636. package/lib/esm/formula/InfixToPostfixConverter.js.map +1 -1
  637. package/lib/esm/formula/InputStream.js +3 -3
  638. package/lib/esm/formula/InputStream.js.map +1 -1
  639. package/lib/esm/formula/ParenthesisValidator.js +3 -3
  640. package/lib/esm/formula/ParenthesisValidator.js.map +1 -1
  641. package/lib/esm/formula/Queue.js +3 -3
  642. package/lib/esm/formula/Queue.js.map +1 -1
  643. package/lib/esm/formula/Stack.js +3 -3
  644. package/lib/esm/formula/Stack.js.map +1 -1
  645. package/lib/esm/formula/StringBuilder.js +3 -3
  646. package/lib/esm/formula/StringBuilder.js.map +1 -1
  647. package/lib/esm/formula/Types.d.ts +16 -1
  648. package/lib/esm/formula/Types.js.map +1 -1
  649. package/lib/esm/formula/Utils.js +4 -4
  650. package/lib/esm/formula/Utils.js.map +1 -1
  651. package/lib/esm/grouping-mapping-widget.d.ts +5 -3
  652. package/lib/esm/grouping-mapping-widget.js +8 -6
  653. package/lib/esm/grouping-mapping-widget.js.map +1 -1
  654. package/lib/esm/test/GroupPropertyUtils.test.js +28 -66
  655. package/lib/esm/test/GroupPropertyUtils.test.js.map +1 -1
  656. package/lib/esm/test/GroupingMappingCustomUI.test.js +21 -12
  657. package/lib/esm/test/GroupingMappingCustomUI.test.js.map +1 -1
  658. package/lib/esm/test/MockFactory.js +3 -3
  659. package/lib/esm/test/MockFactory.js.map +1 -1
  660. package/lib/esm/test/PropertyFieldsHelpers.js +3 -3
  661. package/lib/esm/test/PropertyFieldsHelpers.js.map +1 -1
  662. package/lib/esm/test/QueryBuilder.test.js +3 -3
  663. package/lib/esm/test/QueryBuilder.test.js.map +1 -1
  664. package/lib/esm/test/QueryBuilder.testdata.js +3 -3
  665. package/lib/esm/test/QueryBuilder.testdata.js.map +1 -1
  666. package/lib/esm/test/QueryBuilderTestData.js.map +1 -1
  667. package/lib/esm/test/WidgetHeader.test.js +3 -3
  668. package/lib/esm/test/WidgetHeader.test.js.map +1 -1
  669. package/lib/esm/test/test-utils.js +4 -4
  670. package/lib/esm/test/test-utils.js.map +1 -1
  671. package/package.json +10 -5
  672. package/lib/cjs/components/Properties/hooks/useCalculatedPropertiesQuery.d.ts +0 -4
  673. package/lib/cjs/components/Properties/hooks/useCalculatedPropertiesQuery.js +0 -12
  674. package/lib/cjs/components/Properties/hooks/useCalculatedPropertiesQuery.js.map +0 -1
  675. package/lib/cjs/components/Properties/hooks/useCustomCalculationsQuery.d.ts +0 -4
  676. package/lib/cjs/components/Properties/hooks/useCustomCalculationsQuery.js +0 -12
  677. package/lib/cjs/components/Properties/hooks/useCustomCalculationsQuery.js.map +0 -1
  678. package/lib/cjs/components/Properties/hooks/useGroupPropertiesQuery.d.ts +0 -4
  679. package/lib/cjs/components/Properties/hooks/useGroupPropertiesQuery.js +0 -12
  680. package/lib/cjs/components/Properties/hooks/useGroupPropertiesQuery.js.map +0 -1
  681. package/lib/esm/components/Properties/hooks/useCalculatedPropertiesQuery.d.ts +0 -4
  682. package/lib/esm/components/Properties/hooks/useCalculatedPropertiesQuery.js +0 -8
  683. package/lib/esm/components/Properties/hooks/useCalculatedPropertiesQuery.js.map +0 -1
  684. package/lib/esm/components/Properties/hooks/useCustomCalculationsQuery.d.ts +0 -4
  685. package/lib/esm/components/Properties/hooks/useCustomCalculationsQuery.js +0 -8
  686. package/lib/esm/components/Properties/hooks/useCustomCalculationsQuery.js.map +0 -1
  687. package/lib/esm/components/Properties/hooks/useGroupPropertiesQuery.d.ts +0 -4
  688. package/lib/esm/components/Properties/hooks/useGroupPropertiesQuery.js +0 -8
  689. package/lib/esm/components/Properties/hooks/useGroupPropertiesQuery.js.map +0 -1
@@ -1,22 +1,13 @@
1
1
  /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
5
  import { getFormulaFunctionReturnType, getFunction } from "./FormulaFunctionProvider";
6
6
  import { getOperatorArgumentCountBounds, getOperatorReturnType, isOperator } from "./FormulaOperatorsProvider";
7
7
  import { TokenType } from "./InfixToPostfixConverter";
8
8
  import { Stack } from "./Stack";
9
9
  function isNumericalConstant(name) {
10
- return [
11
- "e",
12
- "ln2",
13
- "ln10",
14
- "log2e",
15
- "log10e",
16
- "pi",
17
- "sqrt1_2",
18
- "sqrt2",
19
- ].includes(name.toLowerCase());
10
+ return ["e", "ln2", "ln10", "log2e", "log10e", "pi", "sqrt1_2", "sqrt2"].includes(name.toLowerCase());
20
11
  }
21
12
  export function resolveTokensDataType(formulaName, tokens, properties) {
22
13
  if (tokens.length === 0)
@@ -26,7 +17,7 @@ export function resolveTokensDataType(formulaName, tokens, properties) {
26
17
  const token = tokens.dequeue();
27
18
  switch (token.type) {
28
19
  case TokenType.Number:
29
- argStack.push("Number");
20
+ argStack.push("Double");
30
21
  break;
31
22
  case TokenType.String:
32
23
  argStack.push("String");
@@ -40,7 +31,7 @@ export function resolveTokensDataType(formulaName, tokens, properties) {
40
31
  case TokenType.Variable:
41
32
  const isConstant = isNumericalConstant(token.value);
42
33
  if (isConstant) {
43
- argStack.push("Number");
34
+ argStack.push("Double");
44
35
  }
45
36
  else {
46
37
  if (token.value === formulaName)
@@ -92,7 +83,9 @@ export function resolveTokensDataType(formulaName, tokens, properties) {
92
83
  return { errorMessage: `Function "${token.value}" requires at least ${fnArgBounds[0]} arguments, but only 1 argument was given.` };
93
84
  }
94
85
  else {
95
- return { errorMessage: `Function "${token.value}" requires at least ${fnArgBounds[0]} arguments, but only ${token.argCount} arguments were given.` };
86
+ return {
87
+ errorMessage: `Function "${token.value}" requires at least ${fnArgBounds[0]} arguments, but only ${token.argCount} arguments were given.`,
88
+ };
96
89
  }
97
90
  }
98
91
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FormulaTokensDataTypeResolver.js","sourceRoot":"","sources":["../../../src/formula/FormulaTokensDataTypeResolver.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nimport { getFormulaFunctionReturnType, getFunction } from \"./FormulaFunctionProvider\";\nimport { getOperatorArgumentCountBounds, getOperatorReturnType, isOperator } from \"./FormulaOperatorsProvider\";\nimport type { Token } from \"./InfixToPostfixConverter\";\nimport { TokenType } from \"./InfixToPostfixConverter\";\nimport type { IResult } from \"./IResult\";\nimport type { Queue } from \"./Queue\";\nimport { Stack } from \"./Stack\";\nimport type { DataType, PossibleDataType, PropertyMap } from \"./Types\";\n\nfunction isNumericalConstant(name: string): boolean {\n return [\n \"e\",\n \"ln2\",\n \"ln10\",\n \"log2e\",\n \"log10e\",\n \"pi\",\n \"sqrt1_2\",\n \"sqrt2\",\n ].includes(name.toLowerCase());\n}\n\nexport function resolveTokensDataType(formulaName: string, tokens: Queue<Token>, properties: PropertyMap): IResult<DataType> {\n if (tokens.length === 0)\n return { errorMessage: \"Formula cannot be empty.\" };\n\n const argStack = new Stack<PossibleDataType>();\n\n while (tokens.length > 0) {\n const token = tokens.dequeue()!;\n\n switch (token.type) {\n case TokenType.Number:\n argStack.push(\"Number\");\n break;\n case TokenType.String:\n argStack.push(\"String\");\n break;\n case TokenType.Boolean:\n argStack.push(\"Boolean\");\n break;\n case TokenType.Null:\n argStack.push(\"Undefined\");\n break;\n case TokenType.Variable:\n const isConstant = isNumericalConstant(token.value);\n if (isConstant) {\n argStack.push(\"Number\");\n } else {\n if (token.value === formulaName)\n return { errorMessage: \"Formula cannot reference itself.\" };\n\n const prop = properties[token.value];\n if (!prop)\n return { errorMessage: `Variable \"${token.value}\" is not available.` };\n\n argStack.push(prop);\n }\n break;\n case TokenType.Operator:\n if (!isOperator(token.value))\n return { errorMessage: `Operator \"${token.value}\" is not supported.` };\n\n const operatorBounds = getOperatorArgumentCountBounds(token.value);\n if (!operatorBounds)\n return { errorMessage: `Operator \"${token.value}\" is not supported.` };\n\n if (operatorBounds[0] === 2 && token.argCount === 1)\n return { errorMessage: `Unary operator \"${token.value}\" is not supported.` };\n\n if (argStack.length < token.argCount) {\n return { errorMessage: `Too few arguments given for ${token.argCount === 1 ? \"unary\" : \"binary\"} operator \"${token.value}\".` };\n }\n const opArgs = argStack.popN(token.argCount).reverse();\n let operationResult;\n if (opArgs.length === 1)\n operationResult = getOperatorReturnType(token.value, opArgs[0]);\n else if (opArgs.length === 2)\n operationResult = getOperatorReturnType(token.value, opArgs[0], opArgs[1]);\n else\n return { errorMessage: `Operator \"${token.value}\" does not support ${token.argCount} operands.` };\n\n if (operationResult.errorMessage)\n return { errorMessage: operationResult.errorMessage };\n else\n argStack.push(operationResult.value!);\n\n break;\n case TokenType.Function:\n const fnArg = getFunction(token.value);\n if (!fnArg)\n return { errorMessage: `Function \"${token.value}\" is not supported.` };\n\n const fnArgBounds = fnArg.argumentCountBounds;\n if (fnArgBounds[0] === 0 && fnArgBounds[1] === 0 && token.argCount > 0) {\n return { errorMessage: `Function \"${token.value}\" does not accept any arguments.` };\n } else if (fnArgBounds[1] === -1 && token.argCount < fnArgBounds[0]) {\n if (fnArgBounds[0] === 1) {\n return { errorMessage: `Function \"${token.value}\" requires at least 1 argument.` };\n } else {\n if (token.argCount === 1) {\n return { errorMessage: `Function \"${token.value}\" requires at least ${fnArgBounds[0]} arguments, but only 1 argument was given.` };\n } else {\n return { errorMessage: `Function \"${token.value}\" requires at least ${fnArgBounds[0]} arguments, but only ${token.argCount} arguments were given.` };\n }\n }\n } else if (fnArgBounds[0] === fnArgBounds[1] && token.argCount !== fnArgBounds[0]) {\n if (fnArgBounds[0] === 1) {\n return { errorMessage: `Function \"${token.value}\" requires exactly 1 argument, but ${token.argCount} arguments were given.` };\n } else {\n if (token.argCount === 1) {\n return { errorMessage: `Function \"${token.value}\" requires exactly ${fnArgBounds[0]} arguments, but 1 argument was given.` };\n } else {\n return { errorMessage: `Function \"${token.value}\" requires exactly ${fnArgBounds[0]} arguments, but ${token.argCount} arguments were given.` };\n }\n }\n }\n\n const fArgs = argStack.popN(token.argCount).reverse();\n if (fArgs.length < token.argCount) {\n return { errorMessage: `Too few arguments given for function \"${token.value}\".` };\n }\n\n const functionResult = getFormulaFunctionReturnType(fnArg, fArgs);\n if (functionResult.errorMessage)\n return { errorMessage: `Function \"${token.value}\" is invalid. ${functionResult.errorMessage}` };\n else\n argStack.push(functionResult.value!);\n\n break;\n }\n }\n\n if (argStack.length !== 1) {\n return { errorMessage: \"Formula is invalid.\" };\n }\n\n const resultType = argStack.pop();\n if (!resultType || resultType === \"Undefined\") {\n return { errorMessage: \"Formula cannot always return null.\" };\n }\n\n return { value: resultType };\n}\n\n"]}
1
+ {"version":3,"file":"FormulaTokensDataTypeResolver.js","sourceRoot":"","sources":["../../../src/formula/FormulaTokensDataTypeResolver.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\nimport { getFormulaFunctionReturnType, getFunction } from \"./FormulaFunctionProvider\";\nimport { getOperatorArgumentCountBounds, getOperatorReturnType, isOperator } from \"./FormulaOperatorsProvider\";\nimport type { Token } from \"./InfixToPostfixConverter\";\nimport { TokenType } from \"./InfixToPostfixConverter\";\nimport type { IResult } from \"./IResult\";\nimport type { Queue } from \"./Queue\";\nimport { Stack } from \"./Stack\";\nimport type { DataType, PossibleDataType, PropertyMap } from \"./Types\";\n\nfunction isNumericalConstant(name: string): boolean {\n return [\"e\", \"ln2\", \"ln10\", \"log2e\", \"log10e\", \"pi\", \"sqrt1_2\", \"sqrt2\"].includes(name.toLowerCase());\n}\n\nexport function resolveTokensDataType(formulaName: string, tokens: Queue<Token>, properties: PropertyMap): IResult<DataType> {\n if (tokens.length === 0) return { errorMessage: \"Formula cannot be empty.\" };\n\n const argStack = new Stack<PossibleDataType>();\n\n while (tokens.length > 0) {\n const token = tokens.dequeue()!;\n\n switch (token.type) {\n case TokenType.Number:\n argStack.push(\"Double\");\n break;\n case TokenType.String:\n argStack.push(\"String\");\n break;\n case TokenType.Boolean:\n argStack.push(\"Boolean\");\n break;\n case TokenType.Null:\n argStack.push(\"Undefined\");\n break;\n case TokenType.Variable:\n const isConstant = isNumericalConstant(token.value);\n if (isConstant) {\n argStack.push(\"Double\");\n } else {\n if (token.value === formulaName) return { errorMessage: \"Formula cannot reference itself.\" };\n\n const prop = properties[token.value];\n if (!prop) return { errorMessage: `Variable \"${token.value}\" is not available.` };\n\n argStack.push(prop);\n }\n break;\n case TokenType.Operator:\n if (!isOperator(token.value)) return { errorMessage: `Operator \"${token.value}\" is not supported.` };\n\n const operatorBounds = getOperatorArgumentCountBounds(token.value);\n if (!operatorBounds) return { errorMessage: `Operator \"${token.value}\" is not supported.` };\n\n if (operatorBounds[0] === 2 && token.argCount === 1) return { errorMessage: `Unary operator \"${token.value}\" is not supported.` };\n\n if (argStack.length < token.argCount) {\n return { errorMessage: `Too few arguments given for ${token.argCount === 1 ? \"unary\" : \"binary\"} operator \"${token.value}\".` };\n }\n const opArgs = argStack.popN(token.argCount).reverse();\n let operationResult;\n if (opArgs.length === 1) operationResult = getOperatorReturnType(token.value, opArgs[0]);\n else if (opArgs.length === 2) operationResult = getOperatorReturnType(token.value, opArgs[0], opArgs[1]);\n else return { errorMessage: `Operator \"${token.value}\" does not support ${token.argCount} operands.` };\n\n if (operationResult.errorMessage) return { errorMessage: operationResult.errorMessage };\n else argStack.push(operationResult.value!);\n\n break;\n case TokenType.Function:\n const fnArg = getFunction(token.value);\n if (!fnArg) return { errorMessage: `Function \"${token.value}\" is not supported.` };\n\n const fnArgBounds = fnArg.argumentCountBounds;\n if (fnArgBounds[0] === 0 && fnArgBounds[1] === 0 && token.argCount > 0) {\n return { errorMessage: `Function \"${token.value}\" does not accept any arguments.` };\n } else if (fnArgBounds[1] === -1 && token.argCount < fnArgBounds[0]) {\n if (fnArgBounds[0] === 1) {\n return { errorMessage: `Function \"${token.value}\" requires at least 1 argument.` };\n } else {\n if (token.argCount === 1) {\n return { errorMessage: `Function \"${token.value}\" requires at least ${fnArgBounds[0]} arguments, but only 1 argument was given.` };\n } else {\n return {\n errorMessage: `Function \"${token.value}\" requires at least ${fnArgBounds[0]} arguments, but only ${token.argCount} arguments were given.`,\n };\n }\n }\n } else if (fnArgBounds[0] === fnArgBounds[1] && token.argCount !== fnArgBounds[0]) {\n if (fnArgBounds[0] === 1) {\n return { errorMessage: `Function \"${token.value}\" requires exactly 1 argument, but ${token.argCount} arguments were given.` };\n } else {\n if (token.argCount === 1) {\n return { errorMessage: `Function \"${token.value}\" requires exactly ${fnArgBounds[0]} arguments, but 1 argument was given.` };\n } else {\n return { errorMessage: `Function \"${token.value}\" requires exactly ${fnArgBounds[0]} arguments, but ${token.argCount} arguments were given.` };\n }\n }\n }\n\n const fArgs = argStack.popN(token.argCount).reverse();\n if (fArgs.length < token.argCount) {\n return { errorMessage: `Too few arguments given for function \"${token.value}\".` };\n }\n\n const functionResult = getFormulaFunctionReturnType(fnArg, fArgs);\n if (functionResult.errorMessage) return { errorMessage: `Function \"${token.value}\" is invalid. ${functionResult.errorMessage}` };\n else argStack.push(functionResult.value!);\n\n break;\n }\n }\n\n if (argStack.length !== 1) {\n return { errorMessage: \"Formula is invalid.\" };\n }\n\n const resultType = argStack.pop();\n if (!resultType || resultType === \"Undefined\") {\n return { errorMessage: \"Formula cannot always return null.\" };\n }\n\n return { value: resultType };\n}\n"]}
@@ -1,3 +1,6 @@
1
+ /**
2
+ * @public
3
+ */
1
4
  export interface IResult<T> {
2
5
  value?: T;
3
6
  errorMessage?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"IResult.js","sourceRoot":"","sources":["../../../src/formula/IResult.ts"],"names":[],"mappings":"","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nexport interface IResult<T> {\n value?: T;\n errorMessage?: string;\n}\n"]}
1
+ {"version":3,"file":"IResult.js","sourceRoot":"","sources":["../../../src/formula/IResult.ts"],"names":[],"mappings":"","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/**\n * @public\n */\nexport interface IResult<T> {\n value?: T;\n errorMessage?: string;\n}\n"]}
@@ -1,9 +1,9 @@
1
1
  /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
5
  import { isFunction } from "./FormulaFunctionProvider";
6
- import { getBinaryOperator, getOperatorAssociativity, getOperatorPrecedence, getUnaryOperator, isOperator, isSupportedOperator, OperatorAssociativity } from "./FormulaOperatorsProvider";
6
+ import { getBinaryOperator, getOperatorAssociativity, getOperatorPrecedence, getUnaryOperator, isOperator, isSupportedOperator, OperatorAssociativity, } from "./FormulaOperatorsProvider";
7
7
  import { Queue } from "./Queue";
8
8
  import { Stack } from "./Stack";
9
9
  import { isStringDelimiter } from "./Utils";
@@ -141,7 +141,7 @@ const addOperator = (ctx) => {
141
141
  if (o2.value === "(") {
142
142
  break;
143
143
  }
144
- const o2Unary = (o2.argCount === 0) || (o2.argCount === 1 && o2.argCountIncremented === true);
144
+ const o2Unary = o2.argCount === 0 || (o2.argCount === 1 && o2.argCountIncremented === true);
145
145
  const op2 = o2Unary ? getUnaryOperator(o2.value) : getBinaryOperator(o2.value);
146
146
  const o2Precedence = getOperatorPrecedence(op2);
147
147
  if (!(o2Precedence > o1Precedence || (o2Precedence === o1Precedence && o1Associativity === OperatorAssociativity.Left))) {
@@ -1 +1 @@
1
- {"version":3,"file":"InfixToPostfixConverter.js","sourceRoot":"","sources":["../../../src/formula/InfixToPostfixConverter.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nimport { isFunction } from \"./FormulaFunctionProvider\";\nimport { getBinaryOperator, getOperatorAssociativity, getOperatorPrecedence, getUnaryOperator, isOperator, isSupportedOperator, OperatorAssociativity } from \"./FormulaOperatorsProvider\";\nimport type { IResult } from \"./IResult\";\nimport { Queue } from \"./Queue\";\nimport { Stack } from \"./Stack\";\nimport { isStringDelimiter } from \"./Utils\";\n\nfunction isNumber(part: string): boolean {\n return !isNaN(Number(part)) || !isNaN(parseFloat(part));\n}\n\nfunction isStringLiteral(token: string): boolean {\n if (token.length < 2) {\n return false;\n }\n\n const firstCharacter = token[0];\n const lastCharacter = token[token.length - 1];\n return firstCharacter === lastCharacter && isStringDelimiter(firstCharacter);\n}\n\nfunction isBoolean(token: string): boolean {\n const lower = token.toLowerCase();\n return lower === \"true\" || lower === \"false\";\n}\n\nfunction isNull(token: string): boolean {\n return token.toLowerCase() === \"null\";\n}\n\nexport enum TokenType {\n Number = 0,\n Function = 1,\n Operator = 2,\n Variable = 3,\n String = 4,\n Boolean = 5,\n Null = 6,\n}\n\nenum InternalTokenType {\n Number = 0,\n Function = 1,\n Operator = 2,\n Variable = 3,\n OpeningParenthesis = 4,\n ClosingParenthesis = 5,\n ArgumentSeparator = 6,\n String = 7,\n Boolean = 8,\n Null = 9,\n}\n\nexport interface Token {\n value: string;\n type: TokenType;\n argCount: number;\n}\n\ninterface InternalToken {\n value: string;\n type: InternalTokenType;\n argCount: number;\n argCountIncremented: boolean;\n}\n\nfunction getExternalQueue(internal: Queue<InternalToken>): IResult<Queue<Token>> {\n const external = new Queue<Token>();\n while (internal.length > 0) {\n const t = internal.dequeue()!;\n\n switch (t.type) {\n case InternalTokenType.Number:\n external.enqueue({ value: t.value, type: TokenType.Number, argCount: t.argCount });\n break;\n case InternalTokenType.Function:\n external.enqueue({ value: t.value, type: TokenType.Function, argCount: t.argCount });\n break;\n case InternalTokenType.Operator:\n external.enqueue({ value: t.value, type: TokenType.Operator, argCount: t.argCount });\n break;\n case InternalTokenType.Variable:\n external.enqueue({ value: t.value, type: TokenType.Variable, argCount: t.argCount });\n break;\n case InternalTokenType.String:\n external.enqueue({ value: t.value, type: TokenType.String, argCount: t.argCount });\n break;\n case InternalTokenType.Boolean:\n external.enqueue({ value: t.value, type: TokenType.Boolean, argCount: t.argCount });\n break;\n case InternalTokenType.Null:\n external.enqueue({ value: t.value, type: TokenType.Null, argCount: t.argCount });\n break;\n default:\n return { errorMessage: `Missing closing parenthesis \")\".` };\n }\n }\n\n return { value: external };\n}\n\ninterface IConverterContext {\n resultQueue: Queue<InternalToken>;\n operatorStack: Stack<InternalToken>;\n currentToken: string;\n currentTokenType: InternalTokenType;\n previousToken?: string;\n previousTokenType?: InternalTokenType;\n}\n\ntype TokenInterpreter = (ctx: IConverterContext) => IResult<boolean>;\n\nfunction incrementArgCount(token: InternalToken) {\n if (!token.argCountIncremented) {\n token.argCount++;\n token.argCountIncremented = true;\n }\n}\n\nfunction addOperand(ctx: IConverterContext, type: InternalTokenType) {\n ctx.resultQueue.enqueue({ value: ctx.currentToken, type, argCount: 0, argCountIncremented: false });\n\n const currentOperators = ctx.operatorStack.peekN(2);\n const op1 = currentOperators[0];\n if (undefined !== op1) {\n incrementArgCount(op1);\n if (op1.argCount === 1) {\n const op2 = currentOperators[1];\n if (undefined !== op2 && op2.argCount !== 0) {\n incrementArgCount(op2);\n }\n }\n }\n}\n\nconst addNumber: TokenInterpreter = (ctx: IConverterContext) => {\n addOperand(ctx, InternalTokenType.Number);\n return { value: true };\n};\n\nconst addVariable: TokenInterpreter = (ctx: IConverterContext) => {\n ctx = { ...ctx, currentToken: ctx.currentToken.toLowerCase() };\n if (undefined !== ctx.previousToken && isNumber(ctx.previousToken)) {\n addOperator({ ...ctx, currentToken: \"*\" });\n addOperand({ ...ctx, previousToken: \"*\" }, InternalTokenType.Variable);\n } else {\n addOperand(ctx, InternalTokenType.Variable);\n }\n return { value: true };\n};\n\nconst addFunction: TokenInterpreter = (ctx: IConverterContext) => {\n const currentOperator = ctx.operatorStack.peek();\n if (undefined !== currentOperator) {\n incrementArgCount(currentOperator);\n }\n\n ctx.operatorStack.push({ value: ctx.currentToken, type: InternalTokenType.Function, argCount: 0, argCountIncremented: false });\n return { value: true };\n};\n\nconst addOperator: TokenInterpreter = (ctx: IConverterContext) => {\n if (!isSupportedOperator(ctx.currentToken)) {\n return { errorMessage: `Operator \"${ctx.currentToken}\" is not supported.` };\n }\n\n const binary = undefined !== ctx.previousToken && \"(\" !== ctx.previousToken && \",\" !== ctx.previousToken && !isOperator(ctx.previousToken);\n const unary = !binary;\n\n const op = unary ? getUnaryOperator(ctx.currentToken) : getBinaryOperator(ctx.currentToken);\n if (unary && undefined === op) {\n return { errorMessage: `Unary \"${ctx.currentToken}\" is not supported.` };\n }\n\n const o1 = ctx.currentToken;\n const o1Associativity = getOperatorAssociativity(op);\n const o1Precedence = getOperatorPrecedence(op);\n while (ctx.operatorStack.length > 0) {\n const o2 = ctx.operatorStack.peek()!;\n\n if (o2.value === \"(\") {\n break;\n }\n\n const o2Unary = (o2.argCount === 0) || (o2.argCount === 1 && o2.argCountIncremented === true);\n const op2 = o2Unary ? getUnaryOperator(o2.value) : getBinaryOperator(o2.value);\n const o2Precedence = getOperatorPrecedence(op2);\n if (!(o2Precedence > o1Precedence || (o2Precedence === o1Precedence && o1Associativity === OperatorAssociativity.Left))) {\n break;\n }\n\n ctx.resultQueue.enqueue(ctx.operatorStack.pop()!);\n\n const currentOperator = ctx.operatorStack.peek();\n if (undefined !== currentOperator) {\n incrementArgCount(currentOperator);\n }\n }\n\n ctx.operatorStack.push({\n value: o1,\n type: InternalTokenType.Operator,\n argCount: binary ? 1 : 0,\n argCountIncremented: false,\n });\n\n return { value: true };\n};\n\nconst openParenthesis: TokenInterpreter = (ctx: IConverterContext) => {\n if (undefined !== ctx.previousToken) {\n if (InternalTokenType.Number === ctx.previousTokenType || InternalTokenType.ClosingParenthesis === ctx.previousTokenType) {\n addOperator({ ...ctx, currentToken: \"*\" });\n } else if (InternalTokenType.Variable === ctx.previousTokenType) {\n return { errorMessage: `Function \"${ctx.previousToken}\" is not supported.` };\n }\n }\n\n const currentOperator = ctx.operatorStack.peek();\n if (undefined !== currentOperator && currentOperator.type !== InternalTokenType.Function) {\n incrementArgCount(currentOperator);\n }\n\n ctx.operatorStack.push({ value: \"(\", type: InternalTokenType.OpeningParenthesis, argCount: 0, argCountIncremented: false });\n return { value: true };\n};\n\nconst closeParenthesis: TokenInterpreter = (ctx: IConverterContext) => {\n while (ctx.operatorStack.length > 0 && ctx.operatorStack.peek()!.value !== \"(\") {\n ctx.resultQueue.enqueue(ctx.operatorStack.pop()!);\n }\n\n const leftParenthesis = ctx.operatorStack.pop();\n if (undefined === leftParenthesis) {\n return { errorMessage: `Closing parenthesis \")\" found, but the opening parenthesis \"(\" is missing.` };\n }\n\n const potentialFnToken = ctx.operatorStack.peek();\n if (undefined !== potentialFnToken && isFunction(potentialFnToken.value)) {\n potentialFnToken.argCount = leftParenthesis.argCount;\n ctx.resultQueue.enqueue(ctx.operatorStack.pop()!);\n }\n\n return { value: true };\n};\n\nconst addString: TokenInterpreter = (ctx: IConverterContext) => {\n const withoutDelimiters = ctx.currentToken.substring(1, ctx.currentToken.length - 1);\n addOperand({ ...ctx, currentToken: withoutDelimiters }, InternalTokenType.String);\n return { value: true };\n};\n\nconst addBoolean: TokenInterpreter = (ctx: IConverterContext) => {\n addOperand({ ...ctx, currentToken: ctx.currentToken.toLowerCase() }, InternalTokenType.Boolean);\n return { value: true };\n};\n\nconst addNull: TokenInterpreter = (ctx: IConverterContext) => {\n addOperand({ ...ctx, currentToken: ctx.currentToken.toLowerCase() }, InternalTokenType.Null);\n return { value: true };\n};\n\nconst separateFunctionArgumentSeparator: TokenInterpreter = (ctx: IConverterContext) => {\n while (ctx.operatorStack.length > 0 && ctx.operatorStack.peek()!.value !== \"(\") {\n ctx.resultQueue.enqueue(ctx.operatorStack.pop()!);\n\n const currentOperator = ctx.operatorStack.peek();\n if (undefined !== currentOperator) {\n incrementArgCount(currentOperator);\n }\n }\n\n const last2Operators = ctx.operatorStack.peekN(2);\n if (last2Operators.length < 2 || last2Operators[0].type !== InternalTokenType.OpeningParenthesis || last2Operators[1].type !== InternalTokenType.Function) {\n return { errorMessage: `Function argument separator \",\" found outside of a function call.` };\n }\n\n last2Operators[0].argCountIncremented = false;\n return { value: true };\n};\n\nfunction getTokenType(token: string, nextToken: string | undefined): InternalTokenType {\n if (isNumber(token)) {\n return InternalTokenType.Number;\n } else if (isStringLiteral(token)) {\n return InternalTokenType.String;\n } else if (isBoolean(token)) {\n return InternalTokenType.Boolean;\n } else if (isNull(token)) {\n return InternalTokenType.Null;\n } else if (isFunction(token) && \"(\" === nextToken) {\n return InternalTokenType.Function;\n } else if (isOperator(token)) {\n return InternalTokenType.Operator;\n } else if (\"(\" === token) {\n return InternalTokenType.OpeningParenthesis;\n } else if (\")\" === token) {\n return InternalTokenType.ClosingParenthesis;\n } else if (\",\" === token) {\n return InternalTokenType.ArgumentSeparator;\n } else {\n return InternalTokenType.Variable;\n }\n}\n\nconst tokenInterpreters: Map<InternalTokenType, TokenInterpreter> = new Map([\n [InternalTokenType.Number, addNumber],\n [InternalTokenType.ArgumentSeparator, separateFunctionArgumentSeparator],\n [InternalTokenType.ClosingParenthesis, closeParenthesis],\n [InternalTokenType.Function, addFunction],\n [InternalTokenType.OpeningParenthesis, openParenthesis],\n [InternalTokenType.Operator, addOperator],\n [InternalTokenType.Variable, addVariable],\n [InternalTokenType.String, addString],\n [InternalTokenType.Boolean, addBoolean],\n [InternalTokenType.Null, addNull],\n]);\n\nexport function convertInfixToPostfix(infix: string[]): IResult<Queue<Token>> {\n const resultQueue = new Queue<InternalToken>();\n const operatorStack = new Stack<InternalToken>();\n\n for (let index = 0; index < infix.length; index++) {\n const token = infix[index];\n\n const ctx: IConverterContext = {\n resultQueue,\n operatorStack,\n currentToken: token,\n currentTokenType: getTokenType(token, index < infix.length - 1 ? infix[index + 1] : undefined),\n previousToken: index > 0 ? infix[index - 1] : undefined,\n previousTokenType: index > 0 ? getTokenType(infix[index - 1], token) : undefined,\n };\n\n const fn = tokenInterpreters.get(ctx.currentTokenType)!;\n\n const tmpResult = fn(ctx);\n if (undefined === tmpResult.value) {\n return { errorMessage: tmpResult.errorMessage };\n }\n }\n\n while (operatorStack.length > 0) {\n resultQueue.enqueue(operatorStack.pop()!);\n\n const currentOperator = operatorStack.peek();\n if (undefined !== currentOperator) {\n incrementArgCount(currentOperator);\n }\n }\n\n return getExternalQueue(resultQueue);\n}\n"]}
1
+ {"version":3,"file":"InfixToPostfixConverter.js","sourceRoot":"","sources":["../../../src/formula/InfixToPostfixConverter.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\nimport { isFunction } from \"./FormulaFunctionProvider\";\nimport {\n getBinaryOperator,\n getOperatorAssociativity,\n getOperatorPrecedence,\n getUnaryOperator,\n isOperator,\n isSupportedOperator,\n OperatorAssociativity,\n} from \"./FormulaOperatorsProvider\";\nimport type { IResult } from \"./IResult\";\nimport { Queue } from \"./Queue\";\nimport { Stack } from \"./Stack\";\nimport { isStringDelimiter } from \"./Utils\";\n\nfunction isNumber(part: string): boolean {\n return !isNaN(Number(part)) || !isNaN(parseFloat(part));\n}\n\nfunction isStringLiteral(token: string): boolean {\n if (token.length < 2) {\n return false;\n }\n\n const firstCharacter = token[0];\n const lastCharacter = token[token.length - 1];\n return firstCharacter === lastCharacter && isStringDelimiter(firstCharacter);\n}\n\nfunction isBoolean(token: string): boolean {\n const lower = token.toLowerCase();\n return lower === \"true\" || lower === \"false\";\n}\n\nfunction isNull(token: string): boolean {\n return token.toLowerCase() === \"null\";\n}\n\nexport enum TokenType {\n Number = 0,\n Function = 1,\n Operator = 2,\n Variable = 3,\n String = 4,\n Boolean = 5,\n Null = 6,\n}\n\nenum InternalTokenType {\n Number = 0,\n Function = 1,\n Operator = 2,\n Variable = 3,\n OpeningParenthesis = 4,\n ClosingParenthesis = 5,\n ArgumentSeparator = 6,\n String = 7,\n Boolean = 8,\n Null = 9,\n}\n\nexport interface Token {\n value: string;\n type: TokenType;\n argCount: number;\n}\n\ninterface InternalToken {\n value: string;\n type: InternalTokenType;\n argCount: number;\n argCountIncremented: boolean;\n}\n\nfunction getExternalQueue(internal: Queue<InternalToken>): IResult<Queue<Token>> {\n const external = new Queue<Token>();\n while (internal.length > 0) {\n const t = internal.dequeue()!;\n\n switch (t.type) {\n case InternalTokenType.Number:\n external.enqueue({ value: t.value, type: TokenType.Number, argCount: t.argCount });\n break;\n case InternalTokenType.Function:\n external.enqueue({ value: t.value, type: TokenType.Function, argCount: t.argCount });\n break;\n case InternalTokenType.Operator:\n external.enqueue({ value: t.value, type: TokenType.Operator, argCount: t.argCount });\n break;\n case InternalTokenType.Variable:\n external.enqueue({ value: t.value, type: TokenType.Variable, argCount: t.argCount });\n break;\n case InternalTokenType.String:\n external.enqueue({ value: t.value, type: TokenType.String, argCount: t.argCount });\n break;\n case InternalTokenType.Boolean:\n external.enqueue({ value: t.value, type: TokenType.Boolean, argCount: t.argCount });\n break;\n case InternalTokenType.Null:\n external.enqueue({ value: t.value, type: TokenType.Null, argCount: t.argCount });\n break;\n default:\n return { errorMessage: `Missing closing parenthesis \")\".` };\n }\n }\n\n return { value: external };\n}\n\ninterface IConverterContext {\n resultQueue: Queue<InternalToken>;\n operatorStack: Stack<InternalToken>;\n currentToken: string;\n currentTokenType: InternalTokenType;\n previousToken?: string;\n previousTokenType?: InternalTokenType;\n}\n\ntype TokenInterpreter = (ctx: IConverterContext) => IResult<boolean>;\n\nfunction incrementArgCount(token: InternalToken) {\n if (!token.argCountIncremented) {\n token.argCount++;\n token.argCountIncremented = true;\n }\n}\n\nfunction addOperand(ctx: IConverterContext, type: InternalTokenType) {\n ctx.resultQueue.enqueue({ value: ctx.currentToken, type, argCount: 0, argCountIncremented: false });\n\n const currentOperators = ctx.operatorStack.peekN(2);\n const op1 = currentOperators[0];\n if (undefined !== op1) {\n incrementArgCount(op1);\n if (op1.argCount === 1) {\n const op2 = currentOperators[1];\n if (undefined !== op2 && op2.argCount !== 0) {\n incrementArgCount(op2);\n }\n }\n }\n}\n\nconst addNumber: TokenInterpreter = (ctx: IConverterContext) => {\n addOperand(ctx, InternalTokenType.Number);\n return { value: true };\n};\n\nconst addVariable: TokenInterpreter = (ctx: IConverterContext) => {\n ctx = { ...ctx, currentToken: ctx.currentToken.toLowerCase() };\n if (undefined !== ctx.previousToken && isNumber(ctx.previousToken)) {\n addOperator({ ...ctx, currentToken: \"*\" });\n addOperand({ ...ctx, previousToken: \"*\" }, InternalTokenType.Variable);\n } else {\n addOperand(ctx, InternalTokenType.Variable);\n }\n return { value: true };\n};\n\nconst addFunction: TokenInterpreter = (ctx: IConverterContext) => {\n const currentOperator = ctx.operatorStack.peek();\n if (undefined !== currentOperator) {\n incrementArgCount(currentOperator);\n }\n\n ctx.operatorStack.push({ value: ctx.currentToken, type: InternalTokenType.Function, argCount: 0, argCountIncremented: false });\n return { value: true };\n};\n\nconst addOperator: TokenInterpreter = (ctx: IConverterContext) => {\n if (!isSupportedOperator(ctx.currentToken)) {\n return { errorMessage: `Operator \"${ctx.currentToken}\" is not supported.` };\n }\n\n const binary = undefined !== ctx.previousToken && \"(\" !== ctx.previousToken && \",\" !== ctx.previousToken && !isOperator(ctx.previousToken);\n const unary = !binary;\n\n const op = unary ? getUnaryOperator(ctx.currentToken) : getBinaryOperator(ctx.currentToken);\n if (unary && undefined === op) {\n return { errorMessage: `Unary \"${ctx.currentToken}\" is not supported.` };\n }\n\n const o1 = ctx.currentToken;\n const o1Associativity = getOperatorAssociativity(op);\n const o1Precedence = getOperatorPrecedence(op);\n while (ctx.operatorStack.length > 0) {\n const o2 = ctx.operatorStack.peek()!;\n\n if (o2.value === \"(\") {\n break;\n }\n\n const o2Unary = o2.argCount === 0 || (o2.argCount === 1 && o2.argCountIncremented === true);\n const op2 = o2Unary ? getUnaryOperator(o2.value) : getBinaryOperator(o2.value);\n const o2Precedence = getOperatorPrecedence(op2);\n if (!(o2Precedence > o1Precedence || (o2Precedence === o1Precedence && o1Associativity === OperatorAssociativity.Left))) {\n break;\n }\n\n ctx.resultQueue.enqueue(ctx.operatorStack.pop()!);\n\n const currentOperator = ctx.operatorStack.peek();\n if (undefined !== currentOperator) {\n incrementArgCount(currentOperator);\n }\n }\n\n ctx.operatorStack.push({\n value: o1,\n type: InternalTokenType.Operator,\n argCount: binary ? 1 : 0,\n argCountIncremented: false,\n });\n\n return { value: true };\n};\n\nconst openParenthesis: TokenInterpreter = (ctx: IConverterContext) => {\n if (undefined !== ctx.previousToken) {\n if (InternalTokenType.Number === ctx.previousTokenType || InternalTokenType.ClosingParenthesis === ctx.previousTokenType) {\n addOperator({ ...ctx, currentToken: \"*\" });\n } else if (InternalTokenType.Variable === ctx.previousTokenType) {\n return { errorMessage: `Function \"${ctx.previousToken}\" is not supported.` };\n }\n }\n\n const currentOperator = ctx.operatorStack.peek();\n if (undefined !== currentOperator && currentOperator.type !== InternalTokenType.Function) {\n incrementArgCount(currentOperator);\n }\n\n ctx.operatorStack.push({ value: \"(\", type: InternalTokenType.OpeningParenthesis, argCount: 0, argCountIncremented: false });\n return { value: true };\n};\n\nconst closeParenthesis: TokenInterpreter = (ctx: IConverterContext) => {\n while (ctx.operatorStack.length > 0 && ctx.operatorStack.peek()!.value !== \"(\") {\n ctx.resultQueue.enqueue(ctx.operatorStack.pop()!);\n }\n\n const leftParenthesis = ctx.operatorStack.pop();\n if (undefined === leftParenthesis) {\n return { errorMessage: `Closing parenthesis \")\" found, but the opening parenthesis \"(\" is missing.` };\n }\n\n const potentialFnToken = ctx.operatorStack.peek();\n if (undefined !== potentialFnToken && isFunction(potentialFnToken.value)) {\n potentialFnToken.argCount = leftParenthesis.argCount;\n ctx.resultQueue.enqueue(ctx.operatorStack.pop()!);\n }\n\n return { value: true };\n};\n\nconst addString: TokenInterpreter = (ctx: IConverterContext) => {\n const withoutDelimiters = ctx.currentToken.substring(1, ctx.currentToken.length - 1);\n addOperand({ ...ctx, currentToken: withoutDelimiters }, InternalTokenType.String);\n return { value: true };\n};\n\nconst addBoolean: TokenInterpreter = (ctx: IConverterContext) => {\n addOperand({ ...ctx, currentToken: ctx.currentToken.toLowerCase() }, InternalTokenType.Boolean);\n return { value: true };\n};\n\nconst addNull: TokenInterpreter = (ctx: IConverterContext) => {\n addOperand({ ...ctx, currentToken: ctx.currentToken.toLowerCase() }, InternalTokenType.Null);\n return { value: true };\n};\n\nconst separateFunctionArgumentSeparator: TokenInterpreter = (ctx: IConverterContext) => {\n while (ctx.operatorStack.length > 0 && ctx.operatorStack.peek()!.value !== \"(\") {\n ctx.resultQueue.enqueue(ctx.operatorStack.pop()!);\n\n const currentOperator = ctx.operatorStack.peek();\n if (undefined !== currentOperator) {\n incrementArgCount(currentOperator);\n }\n }\n\n const last2Operators = ctx.operatorStack.peekN(2);\n if (last2Operators.length < 2 || last2Operators[0].type !== InternalTokenType.OpeningParenthesis || last2Operators[1].type !== InternalTokenType.Function) {\n return { errorMessage: `Function argument separator \",\" found outside of a function call.` };\n }\n\n last2Operators[0].argCountIncremented = false;\n return { value: true };\n};\n\nfunction getTokenType(token: string, nextToken: string | undefined): InternalTokenType {\n if (isNumber(token)) {\n return InternalTokenType.Number;\n } else if (isStringLiteral(token)) {\n return InternalTokenType.String;\n } else if (isBoolean(token)) {\n return InternalTokenType.Boolean;\n } else if (isNull(token)) {\n return InternalTokenType.Null;\n } else if (isFunction(token) && \"(\" === nextToken) {\n return InternalTokenType.Function;\n } else if (isOperator(token)) {\n return InternalTokenType.Operator;\n } else if (\"(\" === token) {\n return InternalTokenType.OpeningParenthesis;\n } else if (\")\" === token) {\n return InternalTokenType.ClosingParenthesis;\n } else if (\",\" === token) {\n return InternalTokenType.ArgumentSeparator;\n } else {\n return InternalTokenType.Variable;\n }\n}\n\nconst tokenInterpreters: Map<InternalTokenType, TokenInterpreter> = new Map([\n [InternalTokenType.Number, addNumber],\n [InternalTokenType.ArgumentSeparator, separateFunctionArgumentSeparator],\n [InternalTokenType.ClosingParenthesis, closeParenthesis],\n [InternalTokenType.Function, addFunction],\n [InternalTokenType.OpeningParenthesis, openParenthesis],\n [InternalTokenType.Operator, addOperator],\n [InternalTokenType.Variable, addVariable],\n [InternalTokenType.String, addString],\n [InternalTokenType.Boolean, addBoolean],\n [InternalTokenType.Null, addNull],\n]);\n\nexport function convertInfixToPostfix(infix: string[]): IResult<Queue<Token>> {\n const resultQueue = new Queue<InternalToken>();\n const operatorStack = new Stack<InternalToken>();\n\n for (let index = 0; index < infix.length; index++) {\n const token = infix[index];\n\n const ctx: IConverterContext = {\n resultQueue,\n operatorStack,\n currentToken: token,\n currentTokenType: getTokenType(token, index < infix.length - 1 ? infix[index + 1] : undefined),\n previousToken: index > 0 ? infix[index - 1] : undefined,\n previousTokenType: index > 0 ? getTokenType(infix[index - 1], token) : undefined,\n };\n\n const fn = tokenInterpreters.get(ctx.currentTokenType)!;\n\n const tmpResult = fn(ctx);\n if (undefined === tmpResult.value) {\n return { errorMessage: tmpResult.errorMessage };\n }\n }\n\n while (operatorStack.length > 0) {\n resultQueue.enqueue(operatorStack.pop()!);\n\n const currentOperator = operatorStack.peek();\n if (undefined !== currentOperator) {\n incrementArgCount(currentOperator);\n }\n }\n\n return getExternalQueue(resultQueue);\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
5
  export class InputStream {
6
6
  constructor(_stream) {
7
7
  this._stream = _stream;
@@ -1 +1 @@
1
- {"version":3,"file":"InputStream.js","sourceRoot":"","sources":["../../../src/formula/InputStream.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F,MAAM,OAAO,WAAW;IAItB,YAA6B,OAAe;QAAf,YAAO,GAAP,OAAO,CAAQ;QAHpC,eAAU,GAAG,CAAC,CAAC;QACf,aAAQ,GAAG,EAAE,CAAC;IAE0B,CAAC;IAEjD,IAAW,IAAI;QACb,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,IAAW,IAAI;QACb,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC;YACvB,OAAO,IAAI,CAAC,OAAO,CAAC;QAEtB,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;QAC/E,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACzD,CAAC;IAED,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IAChD,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nexport class InputStream {\n private _nextIndex = 0;\n private _current = \"\";\n\n constructor(private readonly _stream: string) { }\n\n public get next(): string {\n this._current = this.isEOF ? \"\" : this._stream[this._nextIndex++];\n return this.current;\n }\n\n public get undo(): string {\n if (this._nextIndex === 0)\n return this.current;\n\n this._nextIndex--;\n this._current = this._nextIndex === 0 ? \"\" : this._stream[this._nextIndex - 1];\n return this.current;\n }\n\n public get current(): string {\n return this._current;\n }\n\n public get peek(): string {\n return this.isEOF ? \"\" : this._stream[this._nextIndex];\n }\n\n public get isEOF(): boolean {\n return this._nextIndex >= this._stream.length;\n }\n}\n"]}
1
+ {"version":3,"file":"InputStream.js","sourceRoot":"","sources":["../../../src/formula/InputStream.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG,MAAM,OAAO,WAAW;IAItB,YAA6B,OAAe;QAAf,YAAO,GAAP,OAAO,CAAQ;QAHpC,eAAU,GAAG,CAAC,CAAC;QACf,aAAQ,GAAG,EAAE,CAAC;IAEyB,CAAC;IAEhD,IAAW,IAAI;QACb,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,IAAW,IAAI;QACb,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC;QAE/C,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;QAC/E,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACzD,CAAC;IAED,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IAChD,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\nexport class InputStream {\n private _nextIndex = 0;\n private _current = \"\";\n\n constructor(private readonly _stream: string) {}\n\n public get next(): string {\n this._current = this.isEOF ? \"\" : this._stream[this._nextIndex++];\n return this.current;\n }\n\n public get undo(): string {\n if (this._nextIndex === 0) return this.current;\n\n this._nextIndex--;\n this._current = this._nextIndex === 0 ? \"\" : this._stream[this._nextIndex - 1];\n return this.current;\n }\n\n public get current(): string {\n return this._current;\n }\n\n public get peek(): string {\n return this.isEOF ? \"\" : this._stream[this._nextIndex];\n }\n\n public get isEOF(): boolean {\n return this._nextIndex >= this._stream.length;\n }\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
5
  import { Stack } from "./Stack";
6
6
  export var ParenthesisState;
7
7
  (function (ParenthesisState) {
@@ -1 +1 @@
1
- {"version":3,"file":"ParenthesisValidator.js","sourceRoot":"","sources":["../../../src/formula/ParenthesisValidator.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,MAAM,CAAN,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IAC1B,yDAAS,CAAA;IACT,iEAAa,CAAA;IACb,iEAAa,CAAA;AACf,CAAC,EAJW,gBAAgB,KAAhB,gBAAgB,QAI3B;AAED,MAAM,UAAU,mBAAmB,CAAC,YAAoB;IACtD,MAAM,CAAC,GAAG,IAAI,KAAK,EAAU,CAAC;IAC9B,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE;QAC5B,IAAI,CAAC,KAAK,GAAG,EAAE;YACb,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACb;aAAM,IAAI,CAAC,KAAK,GAAG,EAAE;YACpB,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,SAAS,EAAE;gBAC1B,OAAO,gBAAgB,CAAC,SAAS,CAAC;aACnC;YACD,CAAC,CAAC,GAAG,EAAE,CAAC;SACT;KACF;IACD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;QAClB,OAAO,gBAAgB,CAAC,SAAS,CAAC;KACnC;IACD,OAAO,gBAAgB,CAAC,KAAK,CAAC;AAChC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nimport { Stack } from \"./Stack\";\n\nexport enum ParenthesisState {\n Valid = 0,\n NotClosed = 1,\n NotOpened = 2,\n}\n\nexport function validateParenthesis(infixFormula: string): ParenthesisState {\n const s = new Stack<string>();\n for (const c of infixFormula) {\n if (c === \"(\") {\n s.push(\"(\");\n } else if (c === \")\") {\n if (s.peek() === undefined) {\n return ParenthesisState.NotOpened;\n }\n s.pop();\n }\n }\n if (s.length !== 0) {\n return ParenthesisState.NotClosed;\n }\n return ParenthesisState.Valid;\n}\n"]}
1
+ {"version":3,"file":"ParenthesisValidator.js","sourceRoot":"","sources":["../../../src/formula/ParenthesisValidator.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,MAAM,CAAN,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IAC1B,yDAAS,CAAA;IACT,iEAAa,CAAA;IACb,iEAAa,CAAA;AACf,CAAC,EAJW,gBAAgB,KAAhB,gBAAgB,QAI3B;AAED,MAAM,UAAU,mBAAmB,CAAC,YAAoB;IACtD,MAAM,CAAC,GAAG,IAAI,KAAK,EAAU,CAAC;IAC9B,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE;QAC5B,IAAI,CAAC,KAAK,GAAG,EAAE;YACb,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACb;aAAM,IAAI,CAAC,KAAK,GAAG,EAAE;YACpB,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,SAAS,EAAE;gBAC1B,OAAO,gBAAgB,CAAC,SAAS,CAAC;aACnC;YACD,CAAC,CAAC,GAAG,EAAE,CAAC;SACT;KACF;IACD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;QAClB,OAAO,gBAAgB,CAAC,SAAS,CAAC;KACnC;IACD,OAAO,gBAAgB,CAAC,KAAK,CAAC;AAChC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\nimport { Stack } from \"./Stack\";\n\nexport enum ParenthesisState {\n Valid = 0,\n NotClosed = 1,\n NotOpened = 2,\n}\n\nexport function validateParenthesis(infixFormula: string): ParenthesisState {\n const s = new Stack<string>();\n for (const c of infixFormula) {\n if (c === \"(\") {\n s.push(\"(\");\n } else if (c === \")\") {\n if (s.peek() === undefined) {\n return ParenthesisState.NotOpened;\n }\n s.pop();\n }\n }\n if (s.length !== 0) {\n return ParenthesisState.NotClosed;\n }\n return ParenthesisState.Valid;\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
5
  export class Queue {
6
6
  constructor(_dataStore = []) {
7
7
  this._dataStore = _dataStore;
@@ -1 +1 @@
1
- {"version":3,"file":"Queue.js","sourceRoot":"","sources":["../../../src/formula/Queue.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F,MAAM,OAAO,KAAK;IAChB,YAAoB,aAAsB,EAAE;QAAxB,eAAU,GAAV,UAAU,CAAc;IAAI,CAAC;IAE1C,OAAO,CAAC,OAAc;QAC3B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,OAAO;QACZ,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YAChC,OAAO,SAAS,CAAC;SAClB;QAED,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC;IAEM,QAAQ,CAAC,CAAS;QACvB,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YAC1C,OAAO,EAAE,CAAC;SACX;QAED,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACtC,CAAC;IAEM,IAAI;QACT,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YAChC,OAAO,SAAS,CAAC;SAClB;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC;IAED,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;IAChC,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9B,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nexport class Queue<TData> {\n constructor(private _dataStore: TData[] = []) { }\n\n public enqueue(element: TData): Queue<TData> {\n this._dataStore.push(element);\n return this;\n }\n\n public dequeue(): TData | undefined {\n if (this._dataStore.length === 0) {\n return undefined;\n }\n\n return this._dataStore.splice(0, 1)[0];\n }\n\n public dequeueN(n: number): TData[] {\n if (n <= 0 || this._dataStore.length === 0) {\n return [];\n }\n\n return this._dataStore.splice(0, n);\n }\n\n public peek(): TData | undefined {\n if (this._dataStore.length === 0) {\n return undefined;\n }\n return this._dataStore[0];\n }\n\n public get length(): number {\n return this._dataStore.length;\n }\n\n public get asArray(): TData[] {\n return [...this._dataStore];\n }\n}\n"]}
1
+ {"version":3,"file":"Queue.js","sourceRoot":"","sources":["../../../src/formula/Queue.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG,MAAM,OAAO,KAAK;IAChB,YAAoB,aAAsB,EAAE;QAAxB,eAAU,GAAV,UAAU,CAAc;IAAG,CAAC;IAEzC,OAAO,CAAC,OAAc;QAC3B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,OAAO;QACZ,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YAChC,OAAO,SAAS,CAAC;SAClB;QAED,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC;IAEM,QAAQ,CAAC,CAAS;QACvB,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YAC1C,OAAO,EAAE,CAAC;SACX;QAED,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACtC,CAAC;IAEM,IAAI;QACT,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YAChC,OAAO,SAAS,CAAC;SAClB;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC;IAED,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;IAChC,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9B,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\nexport class Queue<TData> {\n constructor(private _dataStore: TData[] = []) {}\n\n public enqueue(element: TData): Queue<TData> {\n this._dataStore.push(element);\n return this;\n }\n\n public dequeue(): TData | undefined {\n if (this._dataStore.length === 0) {\n return undefined;\n }\n\n return this._dataStore.splice(0, 1)[0];\n }\n\n public dequeueN(n: number): TData[] {\n if (n <= 0 || this._dataStore.length === 0) {\n return [];\n }\n\n return this._dataStore.splice(0, n);\n }\n\n public peek(): TData | undefined {\n if (this._dataStore.length === 0) {\n return undefined;\n }\n return this._dataStore[0];\n }\n\n public get length(): number {\n return this._dataStore.length;\n }\n\n public get asArray(): TData[] {\n return [...this._dataStore];\n }\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
5
  export class Stack {
6
6
  constructor() {
7
7
  this._dataStore = [];
@@ -1 +1 @@
1
- {"version":3,"file":"Stack.js","sourceRoot":"","sources":["../../../src/formula/Stack.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F,MAAM,OAAO,KAAK;IAEhB;QADQ,eAAU,GAAY,EAAE,CAAC;IACjB,CAAC;IAEV,IAAI,CAAC,OAAc;QACxB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,GAAG;QACR,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YAChC,OAAO,SAAS,CAAC;SAClB;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;IAC/B,CAAC;IAEM,IAAI,CAAC,CAAS;QACnB,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YAC1C,OAAO,EAAE,CAAC;SACX;QAED,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,EAAE;YAC/B,OAAO,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SAC1E;aAAM;YACL,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;YACpC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,OAAO,MAAM,CAAC,OAAO,EAAE,CAAC;SACzB;IACH,CAAC;IAEM,IAAI;QACT,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YAChC,OAAO,SAAS,CAAC;SAClB;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACrD,CAAC;IAEM,KAAK,CAAC,CAAS;QACpB,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YAC1C,OAAO,EAAE,CAAC;SACX;QAED,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,EAAE;YAC/B,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SAC5C;aAAM;YACL,OAAO,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC;SACvC;IACH,CAAC;IAEM,OAAO,CAAC,OAAc;QAC3B,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC;IAC9C,CAAC;IAEM,SAAS,CAAC,MAAmC;QAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC/C,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;gBAC3D,OAAO,CAAC,CAAC;aACV;SACF;QACD,OAAO,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;IAChC,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC;IACxC,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nexport class Stack<TData> {\n private _dataStore: TData[] = [];\n constructor() { }\n\n public push(element: TData): Stack<TData> {\n this._dataStore.push(element);\n return this;\n }\n\n public pop(): TData | undefined {\n if (this._dataStore.length === 0) {\n return undefined;\n }\n return this._dataStore.pop();\n }\n\n public popN(n: number): TData[] {\n if (n <= 0 || this._dataStore.length === 0) {\n return [];\n }\n\n if (this._dataStore.length >= n) {\n return [...this._dataStore.splice(this._dataStore.length - n)].reverse();\n } else {\n const result = [...this._dataStore];\n this._dataStore = [];\n return result.reverse();\n }\n }\n\n public peek(): TData | undefined {\n if (this._dataStore.length === 0) {\n return undefined;\n }\n return this._dataStore[this._dataStore.length - 1];\n }\n\n public peekN(n: number): TData[] {\n if (n <= 0 || this._dataStore.length === 0) {\n return [];\n }\n\n if (this._dataStore.length >= n) {\n return this._dataStore.slice(-n).reverse();\n } else {\n return [...this._dataStore].reverse();\n }\n }\n\n public indexOf(element: TData): number {\n return this.findIndex((e) => e === element);\n }\n\n public findIndex(filter: (element: TData) => boolean): number {\n for (let i = 0; i < this._dataStore.length; i++) {\n if (filter(this._dataStore[this._dataStore.length - 1 - i])) {\n return i;\n }\n }\n return -1;\n }\n\n public get length(): number {\n return this._dataStore.length;\n }\n\n public get asArray(): TData[] {\n return [...this._dataStore].reverse();\n }\n}\n"]}
1
+ {"version":3,"file":"Stack.js","sourceRoot":"","sources":["../../../src/formula/Stack.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG,MAAM,OAAO,KAAK;IAEhB;QADQ,eAAU,GAAY,EAAE,CAAC;IAClB,CAAC;IAET,IAAI,CAAC,OAAc;QACxB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,GAAG;QACR,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YAChC,OAAO,SAAS,CAAC;SAClB;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;IAC/B,CAAC;IAEM,IAAI,CAAC,CAAS;QACnB,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YAC1C,OAAO,EAAE,CAAC;SACX;QAED,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,EAAE;YAC/B,OAAO,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SAC1E;aAAM;YACL,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;YACpC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,OAAO,MAAM,CAAC,OAAO,EAAE,CAAC;SACzB;IACH,CAAC;IAEM,IAAI;QACT,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YAChC,OAAO,SAAS,CAAC;SAClB;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACrD,CAAC;IAEM,KAAK,CAAC,CAAS;QACpB,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YAC1C,OAAO,EAAE,CAAC;SACX;QAED,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,EAAE;YAC/B,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SAC5C;aAAM;YACL,OAAO,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC;SACvC;IACH,CAAC;IAEM,OAAO,CAAC,OAAc;QAC3B,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC;IAC9C,CAAC;IAEM,SAAS,CAAC,MAAmC;QAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC/C,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;gBAC3D,OAAO,CAAC,CAAC;aACV;SACF;QACD,OAAO,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;IAChC,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC;IACxC,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\nexport class Stack<TData> {\n private _dataStore: TData[] = [];\n constructor() {}\n\n public push(element: TData): Stack<TData> {\n this._dataStore.push(element);\n return this;\n }\n\n public pop(): TData | undefined {\n if (this._dataStore.length === 0) {\n return undefined;\n }\n return this._dataStore.pop();\n }\n\n public popN(n: number): TData[] {\n if (n <= 0 || this._dataStore.length === 0) {\n return [];\n }\n\n if (this._dataStore.length >= n) {\n return [...this._dataStore.splice(this._dataStore.length - n)].reverse();\n } else {\n const result = [...this._dataStore];\n this._dataStore = [];\n return result.reverse();\n }\n }\n\n public peek(): TData | undefined {\n if (this._dataStore.length === 0) {\n return undefined;\n }\n return this._dataStore[this._dataStore.length - 1];\n }\n\n public peekN(n: number): TData[] {\n if (n <= 0 || this._dataStore.length === 0) {\n return [];\n }\n\n if (this._dataStore.length >= n) {\n return this._dataStore.slice(-n).reverse();\n } else {\n return [...this._dataStore].reverse();\n }\n }\n\n public indexOf(element: TData): number {\n return this.findIndex((e) => e === element);\n }\n\n public findIndex(filter: (element: TData) => boolean): number {\n for (let i = 0; i < this._dataStore.length; i++) {\n if (filter(this._dataStore[this._dataStore.length - 1 - i])) {\n return i;\n }\n }\n return -1;\n }\n\n public get length(): number {\n return this._dataStore.length;\n }\n\n public get asArray(): TData[] {\n return [...this._dataStore].reverse();\n }\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
5
  export class StringBuilder {
6
6
  constructor(...initial) {
7
7
  this._stringParts = initial.filter((v) => !!v);
@@ -1 +1 @@
1
- {"version":3,"file":"StringBuilder.js","sourceRoot":"","sources":["../../../src/formula/StringBuilder.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F,MAAM,OAAO,aAAa;IAGxB,YAAY,GAAG,OAAiB;QAC9B,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC;IAEM,IAAI,CAAC,KAAa;QACvB,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IAEM,GAAG;QACR,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;IACjC,CAAC;IAED,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;IAClC,CAAC;IAED,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nexport class StringBuilder {\n private readonly _stringParts: string[];\n\n constructor(...initial: string[]) {\n this._stringParts = initial.filter((v) => !!v);\n }\n\n public push(value: string) {\n value && this._stringParts.push(value);\n }\n\n public pop() {\n return this._stringParts.pop();\n }\n\n public get length() {\n return this._stringParts.length;\n }\n\n public get value() {\n return this._stringParts.join(\"\");\n }\n}\n"]}
1
+ {"version":3,"file":"StringBuilder.js","sourceRoot":"","sources":["../../../src/formula/StringBuilder.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG,MAAM,OAAO,aAAa;IAGxB,YAAY,GAAG,OAAiB;QAC9B,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC;IAEM,IAAI,CAAC,KAAa;QACvB,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IAEM,GAAG;QACR,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;IACjC,CAAC;IAED,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;IAClC,CAAC;IAED,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\nexport class StringBuilder {\n private readonly _stringParts: string[];\n\n constructor(...initial: string[]) {\n this._stringParts = initial.filter((v) => !!v);\n }\n\n public push(value: string) {\n value && this._stringParts.push(value);\n }\n\n public pop() {\n return this._stringParts.pop();\n }\n\n public get length() {\n return this._stringParts.length;\n }\n\n public get value() {\n return this._stringParts.join(\"\");\n }\n}\n"]}
@@ -1,7 +1,22 @@
1
+ /**
2
+ * @public
3
+ */
1
4
  export declare type ValueType = number | string | boolean;
5
+ /**
6
+ * @public
7
+ */
2
8
  export declare type PossibleValueType = ValueType | undefined;
3
- export declare type DataType = "Number" | "String" | "Boolean";
9
+ /**
10
+ * @public
11
+ */
12
+ export declare type DataType = "Double" | "String" | "Boolean" | "Integer";
13
+ /**
14
+ * @public
15
+ */
4
16
  export declare type PossibleDataType = DataType | "Undefined";
17
+ /**
18
+ * @public
19
+ */
5
20
  export interface PropertyMap {
6
21
  [key: string]: PossibleDataType;
7
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Types.js","sourceRoot":"","sources":["../../../src/formula/Types.ts"],"names":[],"mappings":"","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nexport type ValueType = number | string | boolean;\n\nexport type PossibleValueType = ValueType | undefined;\n\nexport type DataType = \"Number\" | \"String\" | \"Boolean\";\n\nexport type PossibleDataType = DataType | \"Undefined\";\n\nexport interface PropertyMap { [key: string]: PossibleDataType }\n"]}
1
+ {"version":3,"file":"Types.js","sourceRoot":"","sources":["../../../src/formula/Types.ts"],"names":[],"mappings":"","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/**\n * @public\n */\nexport type ValueType = number | string | boolean;\n\n/**\n * @public\n */\nexport type PossibleValueType = ValueType | undefined;\n\n/**\n * @public\n */\nexport type DataType = \"Double\" | \"String\" | \"Boolean\" | \"Integer\";\n/**\n * @public\n */\nexport type PossibleDataType = DataType | \"Undefined\";\n\n/**\n * @public\n */\nexport interface PropertyMap {\n [key: string]: PossibleDataType;\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
5
  export function isDigit(char) {
6
6
  return /^\d/.test(char);
7
7
  }
@@ -9,7 +9,7 @@ export function isLetterOrUnderscore(char) {
9
9
  return /^[\p{L}_]/u.test(char);
10
10
  }
11
11
  export function isStringDelimiter(char) {
12
- return ["\"", "'", "`"].includes(char);
12
+ return ['"', "'", "`"].includes(char);
13
13
  }
14
14
  export function isWhitespace(char) {
15
15
  return /^\s/.test(char);
@@ -1 +1 @@
1
- {"version":3,"file":"Utils.js","sourceRoot":"","sources":["../../../src/formula/Utils.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F,MAAM,UAAU,OAAO,CAAC,IAAY;IAClC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,OAAO,IAAI,KAAK,GAAG,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,GAAW;IACvD,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;IAC3B,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,EAAE;QACjC,OAAO,GAAG,GAAG,IAAI,CAAC;IACpB,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,EAAE;QACjC,OAAO,GAAG,GAAG,IAAI,CAAC;IACpB,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,EAAE;QACjC,OAAO,GAAG,GAAG,IAAI,CAAC;IAEpB,OAAO,GAAG,GAAG,IAAI,CAAC;AACpB,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nexport function isDigit(char: string): boolean {\n return /^\\d/.test(char);\n}\n\nexport function isLetterOrUnderscore(char: string): boolean {\n return /^[\\p{L}_]/u.test(char);\n}\n\nexport function isStringDelimiter(char: string): boolean {\n return [\"\\\"\", \"'\", \"`\"].includes(char);\n}\n\nexport function isWhitespace(char: string): boolean {\n return /^\\s/.test(char);\n}\n\nexport function isDecimalSeparator(char: string): boolean {\n return char === \".\";\n}\n\nexport function formatNumericalPositionString(num: number): string {\n const str = num.toString();\n if (str.endsWith(\"1\") && num !== 11)\n return `${str}st`;\n if (str.endsWith(\"2\") && num !== 12)\n return `${str}nd`;\n if (str.endsWith(\"3\") && num !== 13)\n return `${str}rd`;\n\n return `${str}th`;\n}\n"]}
1
+ {"version":3,"file":"Utils.js","sourceRoot":"","sources":["../../../src/formula/Utils.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG,MAAM,UAAU,OAAO,CAAC,IAAY;IAClC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,OAAO,IAAI,KAAK,GAAG,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,GAAW;IACvD,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;IAC3B,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,GAAG,GAAG,IAAI,CAAC;IACvD,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,GAAG,GAAG,IAAI,CAAC;IACvD,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,GAAG,GAAG,IAAI,CAAC;IAEvD,OAAO,GAAG,GAAG,IAAI,CAAC;AACpB,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\nexport function isDigit(char: string): boolean {\n return /^\\d/.test(char);\n}\n\nexport function isLetterOrUnderscore(char: string): boolean {\n return /^[\\p{L}_]/u.test(char);\n}\n\nexport function isStringDelimiter(char: string): boolean {\n return ['\"', \"'\", \"`\"].includes(char);\n}\n\nexport function isWhitespace(char: string): boolean {\n return /^\\s/.test(char);\n}\n\nexport function isDecimalSeparator(char: string): boolean {\n return char === \".\";\n}\n\nexport function formatNumericalPositionString(num: number): string {\n const str = num.toString();\n if (str.endsWith(\"1\") && num !== 11) return `${str}st`;\n if (str.endsWith(\"2\") && num !== 12) return `${str}nd`;\n if (str.endsWith(\"3\") && num !== 13) return `${str}rd`;\n\n return `${str}th`;\n}\n"]}
@@ -2,7 +2,9 @@
2
2
  export * from "./WidgetShell/GroupingMappingWidget";
3
3
  /** Interfaces for providing custom MappingClient and API configuration */
4
4
  export { createDefaultMappingClient, createMappingClient, MappingClientContext, useMappingClient } from "./components/context/MappingClientContext";
5
- export { ClientPrefix, GetAccessTokenFn, GroupingMappingApiConfig, GroupingMappingApiConfigContext, useGroupingMappingApiConfig } from "./components/context/GroupingApiConfigContext";
5
+ export { createDefaultGroupsClient, createGroupsClient, GroupsClientContext, useGroupsClient } from "./components/context/GroupsClientContext";
6
+ export { createDefaultPropertiesClient, createPropertiesClient, PropertiesClientContext, usePropertiesClient, } from "./components/context/PropertiesClientContext";
7
+ export { ClientPrefix, GetAccessTokenFn, GroupingMappingApiConfig, GroupingMappingApiConfigContext, useGroupingMappingApiConfig, } from "./components/context/GroupingApiConfigContext";
6
8
  export * from "@itwin/insights-client";
7
9
  /** Internal components for custom UIs */
8
10
  export { Mappings, MappingsProps } from "./components/Mappings/Mappings";
@@ -19,12 +21,12 @@ export { PropertyMenu, PropertyMenuProps } from "./components/Properties/Propert
19
21
  export { PropertyMenuWithVisualization, PropertyMenuWithVisualizationProps } from "./components/Properties/PropertyMenuWithVisualization";
20
22
  export { GroupPropertyAction, GroupPropertyActionProps } from "./components/Properties/GroupProperties/GroupPropertyAction";
21
23
  export { CalculatedPropertyAction, CalculatedPropertyActionProps } from "./components/Properties/CalculatedProperties/CalculatedPropertyAction";
22
- export { CalculatedPropertyActionWithVisuals, CalculatedPropertyActionWithVisualsProps } from "./components/Properties/CalculatedProperties/CalculatedPropertyActionWithVisuals";
24
+ export { CalculatedPropertyActionWithVisuals, CalculatedPropertyActionWithVisualsProps, } from "./components/Properties/CalculatedProperties/CalculatedPropertyActionWithVisuals";
23
25
  export { CustomCalculationAction, CustomCalculationActionProps } from "./components/Properties/CustomCalculations/CustomCalculationAction";
24
26
  export { SearchGroupingCustomUI } from "./components/customUI/SearchGroupingCustomUI";
25
27
  export { ManualGroupingCustomUI } from "./components/customUI/ManualGroupingCustomUI";
26
28
  export { GroupQueryBuilderCustomUI } from "./components/customUI/GroupQueryBuilderCustomUI";
27
- export { GroupingMappingCustomUI, GroupingMappingCustomUIType, ContextCustomUI, GroupingCustomUI, GroupingCustomUIProps, ContextCustomUIProps } from "./components/customUI/GroupingMappingCustomUI";
29
+ export { GroupingMappingCustomUI, GroupingMappingCustomUIType, ContextCustomUI, GroupingCustomUI, GroupingCustomUIProps, ContextCustomUIProps, } from "./components/customUI/GroupingMappingCustomUI";
28
30
  /** Formula DataType resolver */
29
31
  export { resolveFormulaDataType } from "./formula/FormulaDataTypeResolver";
30
32
  export { DataType, PropertyMap } from "./formula/Types";
@@ -1,12 +1,14 @@
1
1
  /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
5
  /** UI Provider for iTwin Viewer Applications */
6
6
  export * from "./WidgetShell/GroupingMappingWidget";
7
7
  /** Interfaces for providing custom MappingClient and API configuration */
8
8
  export { createDefaultMappingClient, createMappingClient, MappingClientContext, useMappingClient } from "./components/context/MappingClientContext";
9
- export { GroupingMappingApiConfigContext, useGroupingMappingApiConfig } from "./components/context/GroupingApiConfigContext";
9
+ export { createDefaultGroupsClient, createGroupsClient, GroupsClientContext, useGroupsClient } from "./components/context/GroupsClientContext";
10
+ export { createDefaultPropertiesClient, createPropertiesClient, PropertiesClientContext, usePropertiesClient, } from "./components/context/PropertiesClientContext";
11
+ export { GroupingMappingApiConfigContext, useGroupingMappingApiConfig, } from "./components/context/GroupingApiConfigContext";
10
12
  export * from "@itwin/insights-client";
11
13
  /** Internal components for custom UIs */
12
14
  export { Mappings } from "./components/Mappings/Mappings";
@@ -23,12 +25,12 @@ export { PropertyMenu } from "./components/Properties/PropertyMenu";
23
25
  export { PropertyMenuWithVisualization } from "./components/Properties/PropertyMenuWithVisualization";
24
26
  export { GroupPropertyAction } from "./components/Properties/GroupProperties/GroupPropertyAction";
25
27
  export { CalculatedPropertyAction } from "./components/Properties/CalculatedProperties/CalculatedPropertyAction";
26
- export { CalculatedPropertyActionWithVisuals } from "./components/Properties/CalculatedProperties/CalculatedPropertyActionWithVisuals";
28
+ export { CalculatedPropertyActionWithVisuals, } from "./components/Properties/CalculatedProperties/CalculatedPropertyActionWithVisuals";
27
29
  export { CustomCalculationAction } from "./components/Properties/CustomCalculations/CustomCalculationAction";
28
30
  export { SearchGroupingCustomUI } from "./components/customUI/SearchGroupingCustomUI";
29
31
  export { ManualGroupingCustomUI } from "./components/customUI/ManualGroupingCustomUI";
30
32
  export { GroupQueryBuilderCustomUI } from "./components/customUI/GroupQueryBuilderCustomUI";
31
- export { GroupingMappingCustomUIType } from "./components/customUI/GroupingMappingCustomUI";
33
+ export { GroupingMappingCustomUIType, } from "./components/customUI/GroupingMappingCustomUI";
32
34
  /** Formula DataType resolver */
33
35
  export { resolveFormulaDataType } from "./formula/FormulaDataTypeResolver";
34
36
  //# sourceMappingURL=grouping-mapping-widget.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"grouping-mapping-widget.js","sourceRoot":"","sources":["../../src/grouping-mapping-widget.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F,gDAAgD;AAChD,cAAc,qCAAqC,CAAC;AAEpD,0EAA0E;AAC1E,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AACpJ,OAAO,EAA4D,+BAA+B,EAAE,2BAA2B,EAAE,MAAM,+CAA+C,CAAC;AACvL,cAAc,wBAAwB,CAAC;AAEvC,yCAAyC;AACzC,OAAO,EAAE,QAAQ,EAAiB,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAA2B,MAAM,mDAAmD,CAAC;AACnH,OAAO,EAAE,aAAa,EAAsB,MAAM,6CAA6C,CAAC;AAChG,OAAO,EAAE,YAAY,EAAqB,MAAM,oCAAoC,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAAyB,MAAM,+CAA+C,CAAC;AAC3G,OAAO,EAAE,UAAU,EAAmB,MAAM,gCAAgC,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAA+B,MAAM,qCAAqC,CAAC;AAC1G,OAAO,EAAE,MAAM,EAAe,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAA4B,MAAM,yCAAyC,CAAC;AACxG,OAAO,EAAE,WAAW,EAAoB,MAAM,yCAAyC,CAAC;AACxF,OAAO,EAAE,YAAY,EAAqB,MAAM,sCAAsC,CAAC;AACvF,OAAO,EAAE,6BAA6B,EAAsC,MAAM,uDAAuD,CAAC;AAC1I,OAAO,EAAE,mBAAmB,EAA4B,MAAM,6DAA6D,CAAC;AAC5H,OAAO,EAAE,wBAAwB,EAAiC,MAAM,uEAAuE,CAAC;AAChJ,OAAO,EAAE,mCAAmC,EAA4C,MAAM,kFAAkF,CAAC;AACjL,OAAO,EAAE,uBAAuB,EAAgC,MAAM,oEAAoE,CAAC;AAC3I,OAAO,EAAE,sBAAsB,EAAE,MAAM,8CAA8C,CAAC;AACtF,OAAO,EAAE,sBAAsB,EAAE,MAAM,8CAA8C,CAAC;AACtF,OAAO,EAAE,yBAAyB,EAAE,MAAM,iDAAiD,CAAC;AAC5F,OAAO,EAA2B,2BAA2B,EAAkF,MAAM,+CAA+C,CAAC;AAErM,gCAAgC;AAChC,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** UI Provider for iTwin Viewer Applications */\nexport * from \"./WidgetShell/GroupingMappingWidget\";\n\n/** Interfaces for providing custom MappingClient and API configuration */\nexport { createDefaultMappingClient, createMappingClient, MappingClientContext, useMappingClient } from \"./components/context/MappingClientContext\";\nexport { ClientPrefix, GetAccessTokenFn, GroupingMappingApiConfig, GroupingMappingApiConfigContext, useGroupingMappingApiConfig } from \"./components/context/GroupingApiConfigContext\";\nexport * from \"@itwin/insights-client\";\n\n/** Internal components for custom UIs */\nexport { Mappings, MappingsProps } from \"./components/Mappings/Mappings\";\nexport { useMappingsOperations, MappingsOperationsProps } from \"./components/Mappings/hooks/useMappingsOperations\";\nexport { MappingAction, MappingActionProps } from \"./components/Mappings/Editing/MappingAction\";\nexport { MappingsView, MappingsViewProps } from \"./components/Mappings/MappingsView\";\nexport { useGroupsOperations, GroupsOperationsProps } from \"./components/Groups/hooks/useGroupsOperations\";\nexport { GroupsView, GroupsViewProps } from \"./components/Groups/GroupsView\";\nexport { GroupingMappingContext, GroupingMappingContextProps } from \"./components/GroupingMappingContext\";\nexport { Groups, GroupsProps } from \"./components/Groups/Groups\";\nexport { GroupsVisualization, GroupsVisualizationProps } from \"./components/Groups/GroupsVisualization\";\nexport { GroupAction, GroupActionProps } from \"./components/Groups/Editing/GroupAction\";\nexport { PropertyMenu, PropertyMenuProps } from \"./components/Properties/PropertyMenu\";\nexport { PropertyMenuWithVisualization, PropertyMenuWithVisualizationProps } from \"./components/Properties/PropertyMenuWithVisualization\";\nexport { GroupPropertyAction, GroupPropertyActionProps } from \"./components/Properties/GroupProperties/GroupPropertyAction\";\nexport { CalculatedPropertyAction, CalculatedPropertyActionProps } from \"./components/Properties/CalculatedProperties/CalculatedPropertyAction\";\nexport { CalculatedPropertyActionWithVisuals, CalculatedPropertyActionWithVisualsProps } from \"./components/Properties/CalculatedProperties/CalculatedPropertyActionWithVisuals\";\nexport { CustomCalculationAction, CustomCalculationActionProps } from \"./components/Properties/CustomCalculations/CustomCalculationAction\";\nexport { SearchGroupingCustomUI } from \"./components/customUI/SearchGroupingCustomUI\";\nexport { ManualGroupingCustomUI } from \"./components/customUI/ManualGroupingCustomUI\";\nexport { GroupQueryBuilderCustomUI } from \"./components/customUI/GroupQueryBuilderCustomUI\";\nexport { GroupingMappingCustomUI, GroupingMappingCustomUIType, ContextCustomUI, GroupingCustomUI, GroupingCustomUIProps, ContextCustomUIProps } from \"./components/customUI/GroupingMappingCustomUI\";\n\n/** Formula DataType resolver */\nexport { resolveFormulaDataType } from \"./formula/FormulaDataTypeResolver\";\nexport { DataType, PropertyMap } from \"./formula/Types\";\nexport { IResult } from \"./formula/IResult\";\n"]}
1
+ {"version":3,"file":"grouping-mapping-widget.js","sourceRoot":"","sources":["../../src/grouping-mapping-widget.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG,gDAAgD;AAChD,cAAc,qCAAqC,CAAC;AAEpD,0EAA0E;AAC1E,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AACpJ,OAAO,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAC/I,OAAO,EACL,6BAA6B,EAC7B,sBAAsB,EACtB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAIL,+BAA+B,EAC/B,2BAA2B,GAC5B,MAAM,+CAA+C,CAAC;AACvD,cAAc,wBAAwB,CAAC;AAEvC,yCAAyC;AACzC,OAAO,EAAE,QAAQ,EAAiB,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAA2B,MAAM,mDAAmD,CAAC;AACnH,OAAO,EAAE,aAAa,EAAsB,MAAM,6CAA6C,CAAC;AAChG,OAAO,EAAE,YAAY,EAAqB,MAAM,oCAAoC,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAAyB,MAAM,+CAA+C,CAAC;AAC3G,OAAO,EAAE,UAAU,EAAmB,MAAM,gCAAgC,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAA+B,MAAM,qCAAqC,CAAC;AAC1G,OAAO,EAAE,MAAM,EAAe,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAA4B,MAAM,yCAAyC,CAAC;AACxG,OAAO,EAAE,WAAW,EAAoB,MAAM,yCAAyC,CAAC;AACxF,OAAO,EAAE,YAAY,EAAqB,MAAM,sCAAsC,CAAC;AACvF,OAAO,EAAE,6BAA6B,EAAsC,MAAM,uDAAuD,CAAC;AAC1I,OAAO,EAAE,mBAAmB,EAA4B,MAAM,6DAA6D,CAAC;AAC5H,OAAO,EAAE,wBAAwB,EAAiC,MAAM,uEAAuE,CAAC;AAChJ,OAAO,EACL,mCAAmC,GAEpC,MAAM,kFAAkF,CAAC;AAC1F,OAAO,EAAE,uBAAuB,EAAgC,MAAM,oEAAoE,CAAC;AAC3I,OAAO,EAAE,sBAAsB,EAAE,MAAM,8CAA8C,CAAC;AACtF,OAAO,EAAE,sBAAsB,EAAE,MAAM,8CAA8C,CAAC;AACtF,OAAO,EAAE,yBAAyB,EAAE,MAAM,iDAAiD,CAAC;AAC5F,OAAO,EAEL,2BAA2B,GAK5B,MAAM,+CAA+C,CAAC;AAEvD,gCAAgC;AAChC,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** UI Provider for iTwin Viewer Applications */\nexport * from \"./WidgetShell/GroupingMappingWidget\";\n\n/** Interfaces for providing custom MappingClient and API configuration */\nexport { createDefaultMappingClient, createMappingClient, MappingClientContext, useMappingClient } from \"./components/context/MappingClientContext\";\nexport { createDefaultGroupsClient, createGroupsClient, GroupsClientContext, useGroupsClient } from \"./components/context/GroupsClientContext\";\nexport {\n createDefaultPropertiesClient,\n createPropertiesClient,\n PropertiesClientContext,\n usePropertiesClient,\n} from \"./components/context/PropertiesClientContext\";\nexport {\n ClientPrefix,\n GetAccessTokenFn,\n GroupingMappingApiConfig,\n GroupingMappingApiConfigContext,\n useGroupingMappingApiConfig,\n} from \"./components/context/GroupingApiConfigContext\";\nexport * from \"@itwin/insights-client\";\n\n/** Internal components for custom UIs */\nexport { Mappings, MappingsProps } from \"./components/Mappings/Mappings\";\nexport { useMappingsOperations, MappingsOperationsProps } from \"./components/Mappings/hooks/useMappingsOperations\";\nexport { MappingAction, MappingActionProps } from \"./components/Mappings/Editing/MappingAction\";\nexport { MappingsView, MappingsViewProps } from \"./components/Mappings/MappingsView\";\nexport { useGroupsOperations, GroupsOperationsProps } from \"./components/Groups/hooks/useGroupsOperations\";\nexport { GroupsView, GroupsViewProps } from \"./components/Groups/GroupsView\";\nexport { GroupingMappingContext, GroupingMappingContextProps } from \"./components/GroupingMappingContext\";\nexport { Groups, GroupsProps } from \"./components/Groups/Groups\";\nexport { GroupsVisualization, GroupsVisualizationProps } from \"./components/Groups/GroupsVisualization\";\nexport { GroupAction, GroupActionProps } from \"./components/Groups/Editing/GroupAction\";\nexport { PropertyMenu, PropertyMenuProps } from \"./components/Properties/PropertyMenu\";\nexport { PropertyMenuWithVisualization, PropertyMenuWithVisualizationProps } from \"./components/Properties/PropertyMenuWithVisualization\";\nexport { GroupPropertyAction, GroupPropertyActionProps } from \"./components/Properties/GroupProperties/GroupPropertyAction\";\nexport { CalculatedPropertyAction, CalculatedPropertyActionProps } from \"./components/Properties/CalculatedProperties/CalculatedPropertyAction\";\nexport {\n CalculatedPropertyActionWithVisuals,\n CalculatedPropertyActionWithVisualsProps,\n} from \"./components/Properties/CalculatedProperties/CalculatedPropertyActionWithVisuals\";\nexport { CustomCalculationAction, CustomCalculationActionProps } from \"./components/Properties/CustomCalculations/CustomCalculationAction\";\nexport { SearchGroupingCustomUI } from \"./components/customUI/SearchGroupingCustomUI\";\nexport { ManualGroupingCustomUI } from \"./components/customUI/ManualGroupingCustomUI\";\nexport { GroupQueryBuilderCustomUI } from \"./components/customUI/GroupQueryBuilderCustomUI\";\nexport {\n GroupingMappingCustomUI,\n GroupingMappingCustomUIType,\n ContextCustomUI,\n GroupingCustomUI,\n GroupingCustomUIProps,\n ContextCustomUIProps,\n} from \"./components/customUI/GroupingMappingCustomUI\";\n\n/** Formula DataType resolver */\nexport { resolveFormulaDataType } from \"./formula/FormulaDataTypeResolver\";\nexport { DataType, PropertyMap } from \"./formula/Types\";\nexport { IResult } from \"./formula/IResult\";\n"]}