xmlui 0.4.0

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 (308) hide show
  1. package/dist/Pdf-DeGhSMXe.mjs +19537 -0
  2. package/dist/Pdf.css +1 -0
  3. package/dist/apiInterceptorWorker-CwuUhYyc.mjs +9229 -0
  4. package/dist/array-USo-Szhp.mjs +12 -0
  5. package/dist/index-C24dkfpd.mjs +1434 -0
  6. package/dist/index-ao27SnVp.mjs +145185 -0
  7. package/dist/index.css +1 -0
  8. package/dist/nivo-bar.es-CWh0ZlxB.mjs +1666 -0
  9. package/dist/nivo-geo.es-BTqNt5Db.mjs +1579 -0
  10. package/dist/nivo-legends.es-BuIxHGSU.mjs +6916 -0
  11. package/dist/nivo-pie.es-BvCBFA0L.mjs +700 -0
  12. package/dist/react-apexcharts.min-DqWuDOyO.mjs +8881 -0
  13. package/dist/scripts/bin/bootstrap.js +11 -0
  14. package/dist/scripts/bin/build.js +256 -0
  15. package/dist/scripts/bin/index.js +88 -0
  16. package/dist/scripts/bin/preview.js +27 -0
  17. package/dist/scripts/bin/start.js +41 -0
  18. package/dist/scripts/bin/vite-ueml-plugin.js +113 -0
  19. package/dist/scripts/bin/viteConfig.js +112 -0
  20. package/dist/scripts/src/abstractions/ActionDefs.js +2 -0
  21. package/dist/scripts/src/abstractions/AppContextDefs.js +2 -0
  22. package/dist/scripts/src/abstractions/BlockScope.js +4 -0
  23. package/dist/scripts/src/abstractions/ComponentDefs.js +2 -0
  24. package/dist/scripts/src/abstractions/ComponentDescriptorDefs.js +2 -0
  25. package/dist/scripts/src/abstractions/ContainerDefs.js +2 -0
  26. package/dist/scripts/src/abstractions/FunctionDefs.js +2 -0
  27. package/dist/scripts/src/abstractions/RendererDefs.js +2 -0
  28. package/dist/scripts/src/abstractions/scripting/ScriptParserError.js +2 -0
  29. package/dist/scripts/src/abstractions/scripting/ScriptingSourceTree.js +2 -0
  30. package/dist/scripts/src/abstractions/scripting/Token.js +110 -0
  31. package/dist/scripts/src/components/App/App.js +253 -0
  32. package/dist/scripts/src/components/App/AppLayoutContext.js +9 -0
  33. package/dist/scripts/src/components/App/AppStateContext.js +9 -0
  34. package/dist/scripts/src/components/App/Sheet.js +89 -0
  35. package/dist/scripts/src/components/AppHeader/AppHeader.js +121 -0
  36. package/dist/scripts/src/components/AppState/AppState.js +29 -0
  37. package/dist/scripts/src/components/Avatar/Avatar.js +81 -0
  38. package/dist/scripts/src/components/Badge/Badge.js +56 -0
  39. package/dist/scripts/src/components/BarChart/BarChart.js +199 -0
  40. package/dist/scripts/src/components/Bookmark/Bookmark.js +11 -0
  41. package/dist/scripts/src/components/Button/Button.js +196 -0
  42. package/dist/scripts/src/components/Card/Card.js +65 -0
  43. package/dist/scripts/src/components/ChangeListener/ChangeListener.js +43 -0
  44. package/dist/scripts/src/components/Chart/Chart.js +158 -0
  45. package/dist/scripts/src/components/Checkbox/Checkbox.js +43 -0
  46. package/dist/scripts/src/components/Combobox/Combobox.js +145 -0
  47. package/dist/scripts/src/components/ComponentProvider.js +357 -0
  48. package/dist/scripts/src/components/ContentSeparator/ContentSeparator.js +40 -0
  49. package/dist/scripts/src/components/DatePicker/DatePicker.js +196 -0
  50. package/dist/scripts/src/components/DropdownMenu/DropdownMenu.js +175 -0
  51. package/dist/scripts/src/components/EmojiSelector/EmojiSelector.js +56 -0
  52. package/dist/scripts/src/components/FileInput/FileInput.js +127 -0
  53. package/dist/scripts/src/components/FileUploadDropZone/FileUploadDropZone.js +106 -0
  54. package/dist/scripts/src/components/FlowLayout/FlowLayout.js +139 -0
  55. package/dist/scripts/src/components/Footer/Footer.js +42 -0
  56. package/dist/scripts/src/components/Form/Form.js +320 -0
  57. package/dist/scripts/src/components/Form/FormContext.js +9 -0
  58. package/dist/scripts/src/components/Form/formActions.js +86 -0
  59. package/dist/scripts/src/components/FormItem/FormItem.js +204 -0
  60. package/dist/scripts/src/components/FormItem/HelperText.js +27 -0
  61. package/dist/scripts/src/components/FormItem/ItemWithLabel.js +39 -0
  62. package/dist/scripts/src/components/FormItem/Validations.js +346 -0
  63. package/dist/scripts/src/components/FormSection/FormSection.js +45 -0
  64. package/dist/scripts/src/components/Heading/Heading.js +206 -0
  65. package/dist/scripts/src/components/HoverCard/HoverCard.js +45 -0
  66. package/dist/scripts/src/components/Icon/ApiIcon.js +10 -0
  67. package/dist/scripts/src/components/Icon/Attach.js +10 -0
  68. package/dist/scripts/src/components/Icon/Binding.js +11 -0
  69. package/dist/scripts/src/components/Icon/BoardIcon.js +7 -0
  70. package/dist/scripts/src/components/Icon/BoxIcon.js +10 -0
  71. package/dist/scripts/src/components/Icon/CheckIcon.js +7 -0
  72. package/dist/scripts/src/components/Icon/ChevronDownIcon.js +7 -0
  73. package/dist/scripts/src/components/Icon/ChevronLeft.js +7 -0
  74. package/dist/scripts/src/components/Icon/ChevronRight.js +7 -0
  75. package/dist/scripts/src/components/Icon/ChevronUpIcon.js +7 -0
  76. package/dist/scripts/src/components/Icon/CodeFileIcon.js +10 -0
  77. package/dist/scripts/src/components/Icon/CodeSandbox.js +10 -0
  78. package/dist/scripts/src/components/Icon/CompactListIcon.js +7 -0
  79. package/dist/scripts/src/components/Icon/ContentCopyIcon.js +7 -0
  80. package/dist/scripts/src/components/Icon/DatabaseIcon.js +11 -0
  81. package/dist/scripts/src/components/Icon/DocFileIcon.js +10 -0
  82. package/dist/scripts/src/components/Icon/DocIcon.js +10 -0
  83. package/dist/scripts/src/components/Icon/DotMenuHorizontalIcon.js +7 -0
  84. package/dist/scripts/src/components/Icon/DotMenuIcon.js +7 -0
  85. package/dist/scripts/src/components/Icon/EmailIcon.js +7 -0
  86. package/dist/scripts/src/components/Icon/EmptyFolderIcon.js +10 -0
  87. package/dist/scripts/src/components/Icon/ErrorIcon.js +7 -0
  88. package/dist/scripts/src/components/Icon/ExpressionIcon.js +10 -0
  89. package/dist/scripts/src/components/Icon/FillPlusCricleIcon.js +7 -0
  90. package/dist/scripts/src/components/Icon/FilterIcon.js +10 -0
  91. package/dist/scripts/src/components/Icon/FolderIcon.js +10 -0
  92. package/dist/scripts/src/components/Icon/GlobeIcon.js +7 -0
  93. package/dist/scripts/src/components/Icon/HomeIcon.js +7 -0
  94. package/dist/scripts/src/components/Icon/HyperLinkIcon.js +7 -0
  95. package/dist/scripts/src/components/Icon/Icon.js +101 -0
  96. package/dist/scripts/src/components/Icon/ImageFileIcon.js +10 -0
  97. package/dist/scripts/src/components/Icon/LinkIcon.js +7 -0
  98. package/dist/scripts/src/components/Icon/ListIcon.js +7 -0
  99. package/dist/scripts/src/components/Icon/LooseListIcon.js +7 -0
  100. package/dist/scripts/src/components/Icon/MoonIcon.js +10 -0
  101. package/dist/scripts/src/components/Icon/MoreOptionsIcon.js +7 -0
  102. package/dist/scripts/src/components/Icon/PDFIcon.js +10 -0
  103. package/dist/scripts/src/components/Icon/PenIcon.js +7 -0
  104. package/dist/scripts/src/components/Icon/PhoneIcon.js +7 -0
  105. package/dist/scripts/src/components/Icon/PhotoIcon.js +10 -0
  106. package/dist/scripts/src/components/Icon/PlusIcon.js +7 -0
  107. package/dist/scripts/src/components/Icon/SearchIcon.js +7 -0
  108. package/dist/scripts/src/components/Icon/ShareIcon.js +10 -0
  109. package/dist/scripts/src/components/Icon/SunIcon.js +10 -0
  110. package/dist/scripts/src/components/Icon/TrashIcon.js +7 -0
  111. package/dist/scripts/src/components/Icon/TxtIcon.js +10 -0
  112. package/dist/scripts/src/components/Icon/UnknownFileIcon.js +10 -0
  113. package/dist/scripts/src/components/Icon/UnlinkIcon.js +10 -0
  114. package/dist/scripts/src/components/Icon/UserIcon.js +7 -0
  115. package/dist/scripts/src/components/Icon/WarningIcon.js +7 -0
  116. package/dist/scripts/src/components/Icon/XlsIcon.js +10 -0
  117. package/dist/scripts/src/components/IconProvider.js +249 -0
  118. package/dist/scripts/src/components/IconRegistryContext.js +307 -0
  119. package/dist/scripts/src/components/Image/Image.js +34 -0
  120. package/dist/scripts/src/components/Input/InputAdornment.js +14 -0
  121. package/dist/scripts/src/components/Input/input-abstractions.js +44 -0
  122. package/dist/scripts/src/components/Items/Items.js +48 -0
  123. package/dist/scripts/src/components/Link/Link.js +72 -0
  124. package/dist/scripts/src/components/List/List.js +442 -0
  125. package/dist/scripts/src/components/Logo/Logo.js +25 -0
  126. package/dist/scripts/src/components/Map/Map.js +60 -0
  127. package/dist/scripts/src/components/Map/world_countries.json +45307 -0
  128. package/dist/scripts/src/components/Markdown/Markdown.js +120 -0
  129. package/dist/scripts/src/components/ModalDialog/ConfirmationModalContextProvider.js +106 -0
  130. package/dist/scripts/src/components/ModalDialog/Dialog.js +20 -0
  131. package/dist/scripts/src/components/ModalDialog/ModalDialog.js +145 -0
  132. package/dist/scripts/src/components/MultiCombobox/MultiCombobox.js +249 -0
  133. package/dist/scripts/src/components/MultiSelect/MultiSelect.js +192 -0
  134. package/dist/scripts/src/components/NavGroup/NavGroup.js +113 -0
  135. package/dist/scripts/src/components/NavLink/NavLink.js +115 -0
  136. package/dist/scripts/src/components/NavPanel/NavPanel.js +101 -0
  137. package/dist/scripts/src/components/NoResult/NoResult.js +39 -0
  138. package/dist/scripts/src/components/NumberBox/NumberBox.js +373 -0
  139. package/dist/scripts/src/components/Option/Option.js +41 -0
  140. package/dist/scripts/src/components/PageMetaTitle/PageMetaTitle.js +22 -0
  141. package/dist/scripts/src/components/Pages/Pages.js +74 -0
  142. package/dist/scripts/src/components/Pdf/LazyPdf.js +44 -0
  143. package/dist/scripts/src/components/Pdf/Pdf.js +19 -0
  144. package/dist/scripts/src/components/PieChart/PieChart.js +184 -0
  145. package/dist/scripts/src/components/PositionedContainer/PositionedContainer.js +29 -0
  146. package/dist/scripts/src/components/ProgressBar/ProgressBar.js +38 -0
  147. package/dist/scripts/src/components/Queue/Queue.js +286 -0
  148. package/dist/scripts/src/components/Queue/queueActions.js +87 -0
  149. package/dist/scripts/src/components/RadioGroup/RadioGroup.js +144 -0
  150. package/dist/scripts/src/components/RealTimeAdapter/RealTimeAdapter.js +147 -0
  151. package/dist/scripts/src/components/Redirect/Redirect.js +10 -0
  152. package/dist/scripts/src/components/Select/Select.js +139 -0
  153. package/dist/scripts/src/components/Select/SelectContext.js +45 -0
  154. package/dist/scripts/src/components/SelectionStore/SelectionStore.js +88 -0
  155. package/dist/scripts/src/components/SpaceFiller/SpaceFiller.js +22 -0
  156. package/dist/scripts/src/components/Spinner/Spinner.js +59 -0
  157. package/dist/scripts/src/components/Splitter/Splitter.js +205 -0
  158. package/dist/scripts/src/components/Splitter/utils.js +17 -0
  159. package/dist/scripts/src/components/Stack/Stack.js +117 -0
  160. package/dist/scripts/src/components/StickyBox/StickyBox.js +33 -0
  161. package/dist/scripts/src/components/Switch/Switch.js +50 -0
  162. package/dist/scripts/src/components/Table/Table.js +499 -0
  163. package/dist/scripts/src/components/Table/useRowSelection.js +169 -0
  164. package/dist/scripts/src/components/TableColumnDef/TableColumnDef.js +44 -0
  165. package/dist/scripts/src/components/TableColumnDef/TableContext.js +12 -0
  166. package/dist/scripts/src/components/Tabs/Tabs.js +85 -0
  167. package/dist/scripts/src/components/Text/Text.js +175 -0
  168. package/dist/scripts/src/components/TextArea/TextArea.js +194 -0
  169. package/dist/scripts/src/components/TextArea/TextAreaResizable.js +63 -0
  170. package/dist/scripts/src/components/TextArea/useComposedRef.js +50 -0
  171. package/dist/scripts/src/components/TextBox/TextBox.js +145 -0
  172. package/dist/scripts/src/components/Theme/NotificationToast.js +39 -0
  173. package/dist/scripts/src/components/Theme/Theme.js +153 -0
  174. package/dist/scripts/src/components/ThemeChanger/ThemeChanger.js +125 -0
  175. package/dist/scripts/src/components/Toggle/Toggle.js +88 -0
  176. package/dist/scripts/src/components/Tree/TreeComponent.js +79 -0
  177. package/dist/scripts/src/components/ValidationSummary/ValidationSummary.js +59 -0
  178. package/dist/scripts/src/components/ViewComponentRegistryContext.js +34 -0
  179. package/dist/scripts/src/components/abstractions.js +2 -0
  180. package/dist/scripts/src/components/chart-color-schemes.js +43 -0
  181. package/dist/scripts/src/components/component-utils.js +32 -0
  182. package/dist/scripts/src/components/container-helpers.js +18 -0
  183. package/dist/scripts/src/components-core/ApiBoundComponent.js +189 -0
  184. package/dist/scripts/src/components-core/AppContext.js +17 -0
  185. package/dist/scripts/src/components-core/ChildrenSlot.js +10 -0
  186. package/dist/scripts/src/components-core/Component.js +280 -0
  187. package/dist/scripts/src/components-core/ComponentDecorator.js +63 -0
  188. package/dist/scripts/src/components-core/CompoundComponent.js +132 -0
  189. package/dist/scripts/src/components-core/EngineError.js +91 -0
  190. package/dist/scripts/src/components-core/ErrorBoundary.js +58 -0
  191. package/dist/scripts/src/components-core/Fragment.js +14 -0
  192. package/dist/scripts/src/components-core/InvalidComponent.js +15 -0
  193. package/dist/scripts/src/components-core/LoaderComponent.js +78 -0
  194. package/dist/scripts/src/components-core/RestApiProxy.js +341 -0
  195. package/dist/scripts/src/components-core/RootComponent.js +272 -0
  196. package/dist/scripts/src/components-core/RouteContext.js +45 -0
  197. package/dist/scripts/src/components-core/ScrollContext.js +9 -0
  198. package/dist/scripts/src/components-core/UnknownComponent.js +15 -0
  199. package/dist/scripts/src/components-core/abstractions/ComponentRenderer.js +2 -0
  200. package/dist/scripts/src/components-core/abstractions/LoaderRenderer.js +2 -0
  201. package/dist/scripts/src/components-core/abstractions/containers.js +18 -0
  202. package/dist/scripts/src/components-core/abstractions/treeAbstractions.js +2 -0
  203. package/dist/scripts/src/components-core/action/ApiAction.js +276 -0
  204. package/dist/scripts/src/components-core/action/DownloadFileAction.js +80 -0
  205. package/dist/scripts/src/components-core/action/NavigateAction.js +20 -0
  206. package/dist/scripts/src/components-core/action/TimedAction.js +21 -0
  207. package/dist/scripts/src/components-core/action/UploadAction.js +88 -0
  208. package/dist/scripts/src/components-core/action/actions.js +15 -0
  209. package/dist/scripts/src/components-core/appContext/date-functions.js +19 -0
  210. package/dist/scripts/src/components-core/appContext/misc-utils.js +12 -0
  211. package/dist/scripts/src/components-core/component-hooks.js +25 -0
  212. package/dist/scripts/src/components-core/constants.js +18 -0
  213. package/dist/scripts/src/components-core/container/Container.js +1110 -0
  214. package/dist/scripts/src/components-core/container/ContainerComponentDef.js +16 -0
  215. package/dist/scripts/src/components-core/container/buildProxy.js +54 -0
  216. package/dist/scripts/src/components-core/container/collectFnVarDeps.js +26 -0
  217. package/dist/scripts/src/components-core/container/valueExtractor.js +195 -0
  218. package/dist/scripts/src/components-core/descriptorHelper.js +75 -0
  219. package/dist/scripts/src/components-core/interception/abstractions.js +2 -0
  220. package/dist/scripts/src/components-core/interception/useApiInterceptorContext.js +9 -0
  221. package/dist/scripts/src/components-core/loader/ApiLoader.js +46 -0
  222. package/dist/scripts/src/components-core/loader/DataLoader.js +160 -0
  223. package/dist/scripts/src/components-core/loader/ExternalDataLoader.js +52 -0
  224. package/dist/scripts/src/components-core/loader/Loader.js +115 -0
  225. package/dist/scripts/src/components-core/loader/MockLoaderRenderer.js +32 -0
  226. package/dist/scripts/src/components-core/loader/PageableLoader.js +240 -0
  227. package/dist/scripts/src/components-core/renderers.js +45 -0
  228. package/dist/scripts/src/components-core/reportEngineError.js +59 -0
  229. package/dist/scripts/src/components-core/script-runner/BindingTreeEvaluationContext.js +35 -0
  230. package/dist/scripts/src/components-core/script-runner/ICustomOperations.js +34 -0
  231. package/dist/scripts/src/components-core/script-runner/LogicalThread.js +2 -0
  232. package/dist/scripts/src/components-core/script-runner/LoopScope.js +2 -0
  233. package/dist/scripts/src/components-core/script-runner/ParameterParser.js +117 -0
  234. package/dist/scripts/src/components-core/script-runner/TryScope.js +2 -0
  235. package/dist/scripts/src/components-core/script-runner/asyncProxy.js +96 -0
  236. package/dist/scripts/src/components-core/script-runner/bannedFunctions.js +34 -0
  237. package/dist/scripts/src/components-core/script-runner/custom-operations-registry.js +40 -0
  238. package/dist/scripts/src/components-core/script-runner/custom-ui-data.js +40 -0
  239. package/dist/scripts/src/components-core/script-runner/eval-tree-async.js +551 -0
  240. package/dist/scripts/src/components-core/script-runner/eval-tree-common.js +498 -0
  241. package/dist/scripts/src/components-core/script-runner/eval-tree-sync.js +434 -0
  242. package/dist/scripts/src/components-core/script-runner/modules.js +250 -0
  243. package/dist/scripts/src/components-core/script-runner/process-statement-async.js +818 -0
  244. package/dist/scripts/src/components-core/script-runner/process-statement-common.js +193 -0
  245. package/dist/scripts/src/components-core/script-runner/process-statement-sync.js +740 -0
  246. package/dist/scripts/src/components-core/script-runner/statement-queue.js +62 -0
  247. package/dist/scripts/src/components-core/script-runner/visitors.js +352 -0
  248. package/dist/scripts/src/components-core/theming/ThemeContext.js +43 -0
  249. package/dist/scripts/src/components-core/theming/ThemeProvider.js +334 -0
  250. package/dist/scripts/src/components-core/theming/abstractions.js +11 -0
  251. package/dist/scripts/src/components-core/theming/extendThemeUtils.js +114 -0
  252. package/dist/scripts/src/components-core/theming/hvar.js +105 -0
  253. package/dist/scripts/src/components-core/theming/themeVars.js +62 -0
  254. package/dist/scripts/src/components-core/theming/themes/base-utils.js +31 -0
  255. package/dist/scripts/src/components-core/theming/themes/palette.js +53 -0
  256. package/dist/scripts/src/components-core/theming/themes/root.js +257 -0
  257. package/dist/scripts/src/components-core/theming/themes/solid.js +16 -0
  258. package/dist/scripts/src/components-core/theming/themes/theme-colors.js +407 -0
  259. package/dist/scripts/src/components-core/theming/themes/xmlui.js +32 -0
  260. package/dist/scripts/src/components-core/theming/transformThemeVars.js +286 -0
  261. package/dist/scripts/src/components-core/utils/DataLoaderQueryKeyGenerator.js +34 -0
  262. package/dist/scripts/src/components-core/utils/LruCache.js +184 -0
  263. package/dist/scripts/src/components-core/utils/actionUtils.js +32 -0
  264. package/dist/scripts/src/components-core/utils/classnames.js +58 -0
  265. package/dist/scripts/src/components-core/utils/css-utils.js +127 -0
  266. package/dist/scripts/src/components-core/utils/date-utils.js +78 -0
  267. package/dist/scripts/src/components-core/utils/extractParam.js +148 -0
  268. package/dist/scripts/src/components-core/utils/hooks.js +221 -0
  269. package/dist/scripts/src/components-core/utils/mergeProps.js +45 -0
  270. package/dist/scripts/src/components-core/utils/misc.js +460 -0
  271. package/dist/scripts/src/components-core/utils/statementUtils.js +205 -0
  272. package/dist/scripts/src/components-core/utils/treeUtils.js +48 -0
  273. package/dist/scripts/src/components-core/xmlui-parser.js +52 -0
  274. package/dist/scripts/src/parsers/scripting/InputStream.js +59 -0
  275. package/dist/scripts/src/parsers/scripting/Lexer.js +1028 -0
  276. package/dist/scripts/src/parsers/scripting/Parser.js +2647 -0
  277. package/dist/scripts/src/parsers/scripting/ParserError.js +46 -0
  278. package/dist/scripts/src/parsers/scripting/TokenTrait.js +109 -0
  279. package/dist/scripts/src/parsers/scripting/code-behind-collect.js +118 -0
  280. package/dist/scripts/src/parsers/scripting/tree-visitor.js +602 -0
  281. package/dist/scripts/src/parsers/style-parser/StyleInputStream.js +39 -0
  282. package/dist/scripts/src/parsers/style-parser/StyleLexer.js +621 -0
  283. package/dist/scripts/src/parsers/style-parser/StyleParser.js +1000 -0
  284. package/dist/scripts/src/parsers/style-parser/errors.js +37 -0
  285. package/dist/scripts/src/parsers/style-parser/source-tree.js +2 -0
  286. package/dist/scripts/src/parsers/style-parser/style-compiler.js +513 -0
  287. package/dist/scripts/src/parsers/style-parser/tokens.js +42 -0
  288. package/dist/scripts/src/parsers/ueml/ParserError.js +54 -0
  289. package/dist/scripts/src/parsers/ueml/UemlHelper.js +579 -0
  290. package/dist/scripts/src/parsers/ueml/UemlInputStream.js +59 -0
  291. package/dist/scripts/src/parsers/ueml/UemlLexer.js +868 -0
  292. package/dist/scripts/src/parsers/ueml/UemlParser.js +1439 -0
  293. package/dist/scripts/src/parsers/ueml/UemlToken.js +24 -0
  294. package/dist/scripts/src/parsers/ueml/fileExtensions.js +6 -0
  295. package/dist/scripts/src/parsers/ueml/source-tree.js +2 -0
  296. package/dist/scripts/src/parsers/ueml/ueml-tree.js +2 -0
  297. package/dist/scripts/src/parsers/xmlui-parser/CharacterCodes.js +136 -0
  298. package/dist/scripts/src/parsers/xmlui-parser/diagnostics.js +100 -0
  299. package/dist/scripts/src/parsers/xmlui-parser/parser.js +476 -0
  300. package/dist/scripts/src/parsers/xmlui-parser/scanner.js +415 -0
  301. package/dist/scripts/src/parsers/xmlui-parser/syntax-kind.js +106 -0
  302. package/dist/scripts/src/parsers/xmlui-parser/syntax-node.js +2 -0
  303. package/dist/scripts/src/parsers/xmlui-parser/transform.js +922 -0
  304. package/dist/scripts/src/parsers/xmlui-parser/utils.js +83 -0
  305. package/dist/xmlui.es.d.ts +1667 -0
  306. package/dist/xmlui.es.js +17 -0
  307. package/dist/xmlui.umd.js +1589 -0
  308. package/package.json +175 -0
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.Loader = Loader;
13
+ const react_1 = require("react");
14
+ const react_query_1 = require("@tanstack/react-query");
15
+ const extractParam_1 = require("@components-core/utils/extractParam");
16
+ const immer_1 = require("immer");
17
+ const AppContext_1 = require("@components-core/AppContext");
18
+ const hooks_1 = require("@components-core/utils/hooks");
19
+ function Loader({ state, loader, loaderFn, queryId, pollIntervalInSeconds, registerComponentApi, onLoaded, loaderLoaded, loaderInProgressChanged, loaderError, }) {
20
+ const { uid } = loader;
21
+ const appContext = (0, AppContext_1.useAppContext)();
22
+ // --- Rely on react-query to decide when data fetching should use the cache or when is should fetch the data from
23
+ // --- its data source.
24
+ // --- data: The data obtained by the query
25
+ // --- status: Query execution status
26
+ // --- error: Error information about the current query error (in "error" state)
27
+ // --- refetch: The function that can be used to re-fetch the data (because of data/state changes)
28
+ const { data, status, isFetching, error, refetch } = (0, react_query_1.useQuery)({
29
+ queryKey: queryId ? queryId : [uid, (0, extractParam_1.extractParam)(state, loader.props, appContext)],
30
+ queryFn: (_a) => __awaiter(this, [_a], void 0, function* ({ signal }) {
31
+ const newVar = yield loaderFn(signal);
32
+ if (newVar === undefined) {
33
+ return null;
34
+ }
35
+ return newVar;
36
+ }),
37
+ retry: false
38
+ });
39
+ (0, react_1.useEffect)(() => {
40
+ let intervalId;
41
+ if (pollIntervalInSeconds) {
42
+ intervalId = setInterval(() => {
43
+ refetch();
44
+ }, pollIntervalInSeconds * 1000);
45
+ }
46
+ return () => {
47
+ if (intervalId) {
48
+ clearInterval(intervalId);
49
+ }
50
+ };
51
+ }, [pollIntervalInSeconds, refetch]);
52
+ const prevData = (0, hooks_1.usePrevious)(data);
53
+ const prevError = (0, hooks_1.usePrevious)(error);
54
+ (0, react_1.useLayoutEffect)(() => {
55
+ loaderInProgressChanged(isFetching);
56
+ }, [isFetching, loaderInProgressChanged]);
57
+ // --- Respond to the state changes whenever the uid of the loader instance, the data, the dispatcher,
58
+ // --- or the data query status changes.
59
+ (0, react_1.useLayoutEffect)(() => {
60
+ if (status === "success" && data !== prevData) {
61
+ loaderLoaded(data);
62
+ onLoaded === null || onLoaded === void 0 ? void 0 : onLoaded(data);
63
+ }
64
+ else if (status === "error" && error !== prevError) {
65
+ loaderError(error);
66
+ }
67
+ }, [appContext, data, error, loaderError, loaderLoaded, onLoaded, prevData, prevError, status]);
68
+ (0, react_1.useLayoutEffect)(() => {
69
+ return () => {
70
+ loaderLoaded(undefined);
71
+ };
72
+ }, [loaderLoaded, uid]);
73
+ (0, react_1.useEffect)(() => {
74
+ registerComponentApi === null || registerComponentApi === void 0 ? void 0 : registerComponentApi({
75
+ refetch,
76
+ update: (updater) => __awaiter(this, void 0, void 0, function* () {
77
+ var _a, _b;
78
+ const oldData = (_a = appContext.queryClient) === null || _a === void 0 ? void 0 : _a.getQueryData(queryId);
79
+ if (!oldData) {
80
+ //loader not loaded yet, we skip the update
81
+ return;
82
+ }
83
+ const draft = (0, immer_1.createDraft)(oldData);
84
+ const ret = yield updater(draft); //if it returns a value, we take it as the new data
85
+ const newData = ret || (0, immer_1.finishDraft)(draft);
86
+ if (oldData.length !== newData.length) {
87
+ throw new Error("Use this method for update only. If you want to add or delete, call the addItem/deleteItem method.");
88
+ }
89
+ // console.log("BEFORE: ", appContext.queryClient?.getQueryData(queryId!));
90
+ (_b = appContext.queryClient) === null || _b === void 0 ? void 0 : _b.setQueryData(queryId, newData);
91
+ // console.log("AFTER: ", appContext.queryClient?.getQueryData(queryId!));
92
+ }),
93
+ addItem: (element, indexToInsert) => __awaiter(this, void 0, void 0, function* () {
94
+ var _a, _b;
95
+ const oldData = (_a = appContext.queryClient) === null || _a === void 0 ? void 0 : _a.getQueryData(queryId);
96
+ const draft = (0, immer_1.createDraft)(oldData);
97
+ if (indexToInsert === undefined) {
98
+ draft.push(element);
99
+ }
100
+ else {
101
+ draft.splice(indexToInsert, 0, element);
102
+ }
103
+ const newData = (0, immer_1.finishDraft)(draft);
104
+ (_b = appContext.queryClient) === null || _b === void 0 ? void 0 : _b.setQueryData(queryId, newData);
105
+ }),
106
+ getItems: () => __awaiter(this, void 0, void 0, function* () {
107
+ return data;
108
+ }),
109
+ deleteItem: (element) => __awaiter(this, void 0, void 0, function* () {
110
+ throw new Error("not implemented");
111
+ }),
112
+ });
113
+ }, [appContext.queryClient, data, loader.uid, queryId, refetch, registerComponentApi]);
114
+ return null;
115
+ }
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.mockLoaderRenderer = void 0;
13
+ const jsx_runtime_1 = require("react/jsx-runtime");
14
+ const react_1 = require("react");
15
+ const Loader_1 = require("./Loader");
16
+ const misc_1 = require("@components-core/utils/misc");
17
+ const extractParam_1 = require("@components-core/utils/extractParam");
18
+ const renderers_1 = require("@components-core/renderers");
19
+ const AppContext_1 = require("@components-core/AppContext");
20
+ function ApiLoader({ loader, loaderInProgressChanged, loaderError, loaderLoaded, state }) {
21
+ const appContext = (0, AppContext_1.useAppContext)();
22
+ const waitTime = (0, extractParam_1.extractParam)(state, loader.props.waitTime, appContext);
23
+ const responseObj = (0, extractParam_1.extractParam)(state, loader.props.data, appContext);
24
+ const doLoad = (0, react_1.useCallback)(() => __awaiter(this, void 0, void 0, function* () {
25
+ waitTime && (yield (0, misc_1.asyncWait)(waitTime));
26
+ return responseObj;
27
+ }), [responseObj, waitTime]);
28
+ return ((0, jsx_runtime_1.jsx)(Loader_1.Loader, { state: state, loader: loader, loaderInProgressChanged: loaderInProgressChanged, loaderLoaded: loaderLoaded, loaderError: loaderError, loaderFn: doLoad }));
29
+ }
30
+ exports.mockLoaderRenderer = (0, renderers_1.createLoaderRenderer)("MockLoader", ({ loader, state, loaderInProgressChanged, loaderLoaded, loaderError }) => {
31
+ return ((0, jsx_runtime_1.jsx)(ApiLoader, { loader: loader, state: state, loaderInProgressChanged: loaderInProgressChanged, loaderLoaded: loaderLoaded, loaderError: loaderError }));
32
+ });
@@ -0,0 +1,240 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ Object.defineProperty(exports, "__esModule", { value: true });
35
+ exports.PageableLoader = PageableLoader;
36
+ const react_1 = require("react");
37
+ const react_query_1 = require("@tanstack/react-query");
38
+ const immer_1 = __importStar(require("immer"));
39
+ const extractParam_1 = require("@components-core/utils/extractParam");
40
+ const AppContext_1 = require("@components-core/AppContext");
41
+ const hooks_1 = require("@components-core/utils/hooks");
42
+ function PageableLoader({ state, loader, loaderFn, queryId, direction = "BACKWARD", registerComponentApi, pollIntervalInSeconds, onLoaded, loaderInProgressChanged, loaderLoaded, loaderError, }) {
43
+ const { uid } = loader;
44
+ const appContext = (0, AppContext_1.useAppContext)();
45
+ const queryKey = (0, react_1.useMemo)(() => (queryId ? queryId : [uid, (0, extractParam_1.extractParam)(state, loader.props, appContext)]), [appContext, loader.props, queryId, state, uid]);
46
+ const thizRef = (0, react_1.useRef)(queryKey);
47
+ const { data, status, error, hasNextPage, isFetchingNextPage, hasPreviousPage, isFetchingPreviousPage, isFetching, refetch, fetchPreviousPage, fetchNextPage, } = (0, react_query_1.useInfiniteQuery)({
48
+ queryKey,
49
+ queryFn: (_a) => __awaiter(this, [_a], void 0, function* ({ signal, pageParam }) {
50
+ // console.log("FETCHING PAGE: ", pageParam);
51
+ const { result, prevPageParam, nextPageParam } = yield loaderFn(signal, pageParam);
52
+ // console.log("fetched PAGE: ", { result, prevPageParam, nextPageParam });
53
+ return { result, prevPageParam, nextPageParam };
54
+ }),
55
+ getPreviousPageParam: direction === "BACKWARD" || direction === "BIDIRECTIONAL"
56
+ ? (firstPage, a) => {
57
+ if (!firstPage.prevPageParam) {
58
+ return undefined;
59
+ }
60
+ // console.log("getting previous page param", { firstPage, a });
61
+ return {
62
+ prevPageParam: firstPage.prevPageParam,
63
+ };
64
+ }
65
+ : undefined,
66
+ getNextPageParam: direction === "FORWARD" || direction === "BIDIRECTIONAL"
67
+ ? (lastPage) => {
68
+ if (!lastPage.nextPageParam) {
69
+ return undefined;
70
+ }
71
+ return {
72
+ nextPageParam: lastPage.nextPageParam,
73
+ };
74
+ }
75
+ : undefined,
76
+ });
77
+ //TODO revisit
78
+ // //we clear all the pages, except the last one (it's suitable for the chat app, but for the other direction we'll have to leave the first page)
79
+ // // otherwise it'll keep it in the cache, and refetch all the pages when you come back
80
+ // // see more here: https://stackoverflow.com/questions/71286123/reactquery-useinfinitequery-refetching-issue
81
+ // // and here: https://tanstack.com/query/latest/docs/react/guides/infinite-queries?from=reactQueryV3&original=https%3A%2F%2Ftanstack.com%2Fquery%2Fv3%2Fdocs%2Fguides%2Finfinite-queries#what-happens-when-an-infinite-query-needs-to-be-refetched
82
+ (0, react_1.useEffect)(() => {
83
+ const queryKey = thizRef.current;
84
+ return () => {
85
+ var _a, _b;
86
+ (_a = appContext.queryClient) === null || _a === void 0 ? void 0 : _a.cancelQueries(queryKey);
87
+ (_b = appContext.queryClient) === null || _b === void 0 ? void 0 : _b.setQueryData(queryKey, (old) => {
88
+ if (!old) {
89
+ return old;
90
+ }
91
+ return (0, immer_1.default)(old, (draft) => {
92
+ draft.pages = draft.pages.length ? [draft.pages[draft.pages.length - 1]] : [];
93
+ // draft.pageParams = draft.pageParams.length ? [draft.pageParams[draft.pageParams.length - 1]] : [];
94
+ draft.pageParams = [];
95
+ });
96
+ });
97
+ loaderLoaded(undefined, undefined);
98
+ };
99
+ }, [appContext.queryClient, loaderLoaded, uid]);
100
+ const flatData = (0, react_1.useMemo)(() => {
101
+ if (!data) {
102
+ return [];
103
+ }
104
+ return data.pages.flatMap((d) => d.result);
105
+ }, [data]);
106
+ const prevData = (0, hooks_1.usePrevious)(data);
107
+ const prevError = (0, hooks_1.usePrevious)(error);
108
+ (0, react_1.useLayoutEffect)(() => {
109
+ loaderInProgressChanged(isFetching); //TODO isFetchingPrevPage / nextPage
110
+ }, [isFetching, loaderInProgressChanged]);
111
+ const pageInfo = (0, react_1.useMemo)(() => {
112
+ return {
113
+ hasPrevPage: hasPreviousPage,
114
+ isFetchingPrevPage: isFetchingPreviousPage,
115
+ hasNextPage,
116
+ isFetchingNextPage,
117
+ };
118
+ }, [hasNextPage, hasPreviousPage, isFetchingNextPage, isFetchingPreviousPage]);
119
+ const prevPageInfo = (0, hooks_1.usePrevious)(pageInfo);
120
+ (0, react_1.useLayoutEffect)(() => {
121
+ // console.log("data changed", {
122
+ // status,
123
+ // flatData,
124
+ // pageInfo,
125
+ // });
126
+ if (status === "success" && (prevData !== data || prevPageInfo !== pageInfo)) {
127
+ loaderLoaded(flatData, pageInfo);
128
+ onLoaded === null || onLoaded === void 0 ? void 0 : onLoaded(flatData);
129
+ }
130
+ else if (status === "error" && prevError !== error) {
131
+ loaderError(error);
132
+ }
133
+ }, [
134
+ appContext,
135
+ data,
136
+ error,
137
+ flatData,
138
+ loaderError,
139
+ loaderLoaded,
140
+ onLoaded,
141
+ pageInfo,
142
+ prevData,
143
+ prevError,
144
+ prevPageInfo,
145
+ status,
146
+ ]);
147
+ (0, react_1.useEffect)(() => {
148
+ let intervalId;
149
+ if (pollIntervalInSeconds) {
150
+ intervalId = setInterval(() => {
151
+ refetch();
152
+ }, pollIntervalInSeconds * 1000);
153
+ }
154
+ return () => {
155
+ if (intervalId) {
156
+ clearInterval(intervalId);
157
+ }
158
+ };
159
+ }, [pollIntervalInSeconds, refetch]);
160
+ const fetchPrevPage = (0, react_1.useCallback)(() => {
161
+ return fetchPreviousPage();
162
+ }, [fetchPreviousPage]);
163
+ const stableFetchNextPage = (0, react_1.useCallback)(() => {
164
+ return fetchNextPage();
165
+ }, [fetchNextPage]);
166
+ (0, react_1.useEffect)(() => {
167
+ registerComponentApi({
168
+ fetchPrevPage,
169
+ fetchNextPage: stableFetchNextPage,
170
+ refetch,
171
+ update: (updater) => __awaiter(this, void 0, void 0, function* () {
172
+ var _a, _b;
173
+ const oldData = (_a = appContext.queryClient) === null || _a === void 0 ? void 0 : _a.getQueryData(queryId);
174
+ if (!oldData) {
175
+ //loader not loaded yet, we skip the update
176
+ return;
177
+ }
178
+ const originalFlatItems = oldData.pages.flatMap((d) => d.result);
179
+ const draft = (0, immer_1.createDraft)(oldData);
180
+ const flatItems = [];
181
+ for (let i = 0; i < draft.pages.length; i++) {
182
+ const page = draft.pages[i];
183
+ yield updater(page.result);
184
+ flatItems.push(...page.result);
185
+ }
186
+ if (flatItems.length !== originalFlatItems.length) {
187
+ throw new Error("Use this method for update only. If you want to add or delete, call the addItem/deleteItem method.");
188
+ }
189
+ const newData = (0, immer_1.finishDraft)(draft);
190
+ // console.log("BEFORE: ", appContext.queryClient?.getQueryData(queryId!));
191
+ (_b = appContext.queryClient) === null || _b === void 0 ? void 0 : _b.setQueryData(queryId, newData);
192
+ // console.log("AFTER: ", appContext.queryClient?.getQueryData(queryId!));
193
+ }),
194
+ addItem: (element, indexToInsert) => __awaiter(this, void 0, void 0, function* () {
195
+ var _a, _b;
196
+ const oldData = (_a = appContext.queryClient) === null || _a === void 0 ? void 0 : _a.getQueryData(queryId);
197
+ const draft = (0, immer_1.createDraft)(oldData);
198
+ if (indexToInsert === undefined) {
199
+ draft.pages[draft.pages.length - 1].result.push(element);
200
+ }
201
+ else {
202
+ throw new Error("not implemented");
203
+ // TODO is should be something like this
204
+ // //find the pageIndex and itemIndex in that page
205
+ // let pageIndex = -1;
206
+ // let itemIndex = -1;
207
+ // let i = 0;
208
+ // oldData.pages.forEach((page, index)=>{
209
+ // i += page.result.length;
210
+ // if(i >= indexToInsert){
211
+ // pageIndex = index;
212
+ // itemIndex = i - indexToInsert;
213
+ // return;
214
+ // }
215
+ // });
216
+ // draft.pages[pageIndex].result.splice(itemIndex, 0, element);
217
+ }
218
+ const newData = (0, immer_1.finishDraft)(draft);
219
+ (_b = appContext.queryClient) === null || _b === void 0 ? void 0 : _b.setQueryData(queryId, newData);
220
+ }),
221
+ getItems: () => {
222
+ return flatData;
223
+ },
224
+ deleteItem: (element) => __awaiter(this, void 0, void 0, function* () {
225
+ throw new Error("not implemented");
226
+ }),
227
+ });
228
+ }, [
229
+ appContext.queryClient,
230
+ fetchPrevPage,
231
+ flatData,
232
+ loader.uid,
233
+ queryId,
234
+ queryKey,
235
+ refetch,
236
+ registerComponentApi,
237
+ stableFetchNextPage,
238
+ ]);
239
+ return null;
240
+ }
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createComponentRenderer = createComponentRenderer;
4
+ exports.createPropHolderComponent = createPropHolderComponent;
5
+ exports.createLoaderRenderer = createLoaderRenderer;
6
+ /**
7
+ * This helper function creates a component renderer definition from its arguments.
8
+ * @param type The unique identifier of the component definition
9
+ * @param renderer The function that renders the component definition into a React node
10
+ * @param hints Optional hints to help fix the rendering errors coming from invalid component property definitions
11
+ * @returns The view renderer definition composed of the arguments
12
+ */
13
+ function createComponentRenderer(type, renderer, hints) {
14
+ return {
15
+ type,
16
+ renderer,
17
+ metadata: hints,
18
+ };
19
+ }
20
+ /**
21
+ * Create a non-visual component used for encapsulating property values
22
+ * @param type Component type
23
+ * @param metadata Component metadata
24
+ */
25
+ function createPropHolderComponent(type, metadata) {
26
+ return createComponentRenderer(type, () => {
27
+ throw new Error("Prop holder component, shouldn't render");
28
+ }, metadata);
29
+ }
30
+ /**
31
+ * AppEngine uses React as its UI framework to declare and render loaders. This type declares a function that renders
32
+ * a particular loader definition into its React representation.
33
+ *
34
+ * The type parameter of the function refers to the loader definition the function is about to render.
35
+ * @param type The unique ID of the loader
36
+ * @param renderer The function that renders the loader
37
+ * @param hints Optional hints to help fix the rendering errors coming from invalid component property definitions
38
+ */
39
+ function createLoaderRenderer(type, renderer, hints) {
40
+ return {
41
+ type,
42
+ renderer,
43
+ hints,
44
+ };
45
+ }
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getAppErrors = getAppErrors;
4
+ exports.resetErrors = resetErrors;
5
+ exports.reportEngineError = reportEngineError;
6
+ const EngineError_1 = require("./EngineError");
7
+ const appErrors = [];
8
+ /**
9
+ * Get all errors collected during the last run
10
+ */
11
+ function getAppErrors() {
12
+ return appErrors;
13
+ }
14
+ /**
15
+ * Use this function to reset the errors raised by the execution engine
16
+ */
17
+ function resetErrors() {
18
+ appErrors.length = 0;
19
+ }
20
+ /**
21
+ * Use this function to report an error
22
+ * @param error Error or string describing the error to report
23
+ * @param errorToThrow The error to throw
24
+ */
25
+ function reportEngineError(error, errorToThrow) {
26
+ var _a, _b;
27
+ // --- Wrap a string into an error
28
+ if (typeof error === "string") {
29
+ error = new Error(error);
30
+ }
31
+ let helperMessage = "";
32
+ let colors = [];
33
+ // --- Error-specific helper messages
34
+ if (error instanceof EngineError_1.ScriptParseError) {
35
+ let pos = ((_a = error === null || error === void 0 ? void 0 : error.position) !== null && _a !== void 0 ? _a : 0) - 1;
36
+ if (error.source) {
37
+ while (pos < error.source.length - 1 && error.source[pos] === " ") {
38
+ pos++;
39
+ }
40
+ helperMessage += `%c${error.message}%c\n\n`;
41
+ helperMessage += `${error.source.substring(0, pos)}%c${error.source[pos]}%c${(_b = error.source.substring(pos + 1)) !== null && _b !== void 0 ? _b : ""}\n\n`;
42
+ }
43
+ helperMessage += `%cThe error handler associated with the parsed code did not run.%c`;
44
+ colors = ["color: red", "color: inherited", "color: red", "color: inherited", "color: orange", "color: inherited"];
45
+ }
46
+ else if (error instanceof EngineError_1.StatementExecutionError) {
47
+ helperMessage += `%cError while executing code: ${error.message}%c\n\n${error.source}`;
48
+ colors = ["color: red", "color: inherited"];
49
+ }
50
+ else if (error instanceof EngineError_1.ThrowStatementError) {
51
+ helperMessage += `A 'throw' statement executed:\n\n%c${error.message}%c\n\n${error.errorObject}`;
52
+ colors = ["color: red", "color: inherited"];
53
+ }
54
+ if (helperMessage) {
55
+ console.log(helperMessage, ...colors);
56
+ }
57
+ appErrors.push({ error, helperMessage, colors });
58
+ throw errorToThrow !== null && errorToThrow !== void 0 ? errorToThrow : error;
59
+ }
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CancellationToken = void 0;
4
+ exports.createEvalContext = createEvalContext;
5
+ /**
6
+ * A token that signals the cancellation of an operation
7
+ */
8
+ class CancellationToken {
9
+ constructor() {
10
+ this._cancelled = false;
11
+ }
12
+ get cancelled() {
13
+ return this._cancelled;
14
+ }
15
+ cancel() {
16
+ this._cancelled = true;
17
+ }
18
+ }
19
+ exports.CancellationToken = CancellationToken;
20
+ /**
21
+ * Creates an evaluation context with the given parts
22
+ * @param parts Parts of the evaluation context
23
+ * @returns New evaluation context
24
+ */
25
+ function createEvalContext(parts) {
26
+ return Object.assign({
27
+ mainThread: {
28
+ childThreads: [],
29
+ blocks: [{ vars: {} }],
30
+ loops: [],
31
+ breakLabelValue: -1
32
+ },
33
+ localContext: {}
34
+ }, parts);
35
+ }
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CustomOperationType = void 0;
4
+ var CustomOperationType;
5
+ (function (CustomOperationType) {
6
+ CustomOperationType[CustomOperationType["MemberAccess"] = 0] = "MemberAccess";
7
+ CustomOperationType[CustomOperationType["CalculatedMemberAccess"] = 1] = "CalculatedMemberAccess";
8
+ CustomOperationType[CustomOperationType["UnaryPlus"] = 2] = "UnaryPlus";
9
+ CustomOperationType[CustomOperationType["UnaryMinus"] = 3] = "UnaryMinus";
10
+ CustomOperationType[CustomOperationType["LogicalNot"] = 4] = "LogicalNot";
11
+ CustomOperationType[CustomOperationType["BitwiseNot"] = 5] = "BitwiseNot";
12
+ CustomOperationType[CustomOperationType["Multiply"] = 6] = "Multiply";
13
+ CustomOperationType[CustomOperationType["Divide"] = 7] = "Divide";
14
+ CustomOperationType[CustomOperationType["Remainder"] = 8] = "Remainder";
15
+ CustomOperationType[CustomOperationType["Add"] = 9] = "Add";
16
+ CustomOperationType[CustomOperationType["Subtract"] = 10] = "Subtract";
17
+ CustomOperationType[CustomOperationType["SignedRightShift"] = 11] = "SignedRightShift";
18
+ CustomOperationType[CustomOperationType["UnsignedRightShift"] = 12] = "UnsignedRightShift";
19
+ CustomOperationType[CustomOperationType["LeftShift"] = 13] = "LeftShift";
20
+ CustomOperationType[CustomOperationType["LessThan"] = 14] = "LessThan";
21
+ CustomOperationType[CustomOperationType["LessThanOrEqual"] = 15] = "LessThanOrEqual";
22
+ CustomOperationType[CustomOperationType["GreaterThan"] = 16] = "GreaterThan";
23
+ CustomOperationType[CustomOperationType["GreaterThanOrEqual"] = 17] = "GreaterThanOrEqual";
24
+ CustomOperationType[CustomOperationType["Equal"] = 18] = "Equal";
25
+ CustomOperationType[CustomOperationType["StrictEqual"] = 19] = "StrictEqual";
26
+ CustomOperationType[CustomOperationType["NotEqual"] = 20] = "NotEqual";
27
+ CustomOperationType[CustomOperationType["StrictNotEqual"] = 21] = "StrictNotEqual";
28
+ CustomOperationType[CustomOperationType["BitwiseAnd"] = 22] = "BitwiseAnd";
29
+ CustomOperationType[CustomOperationType["BitwiseXor"] = 23] = "BitwiseXor";
30
+ CustomOperationType[CustomOperationType["BitwiseOr"] = 24] = "BitwiseOr";
31
+ CustomOperationType[CustomOperationType["LogicalAnd"] = 25] = "LogicalAnd";
32
+ CustomOperationType[CustomOperationType["LogicalOr"] = 26] = "LogicalOr";
33
+ CustomOperationType[CustomOperationType["NullCoalesce"] = 27] = "NullCoalesce";
34
+ })(CustomOperationType || (exports.CustomOperationType = CustomOperationType = {}));
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });