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.
- package/dist/Pdf-DeGhSMXe.mjs +19537 -0
- package/dist/Pdf.css +1 -0
- package/dist/apiInterceptorWorker-CwuUhYyc.mjs +9229 -0
- package/dist/array-USo-Szhp.mjs +12 -0
- package/dist/index-C24dkfpd.mjs +1434 -0
- package/dist/index-ao27SnVp.mjs +145185 -0
- package/dist/index.css +1 -0
- package/dist/nivo-bar.es-CWh0ZlxB.mjs +1666 -0
- package/dist/nivo-geo.es-BTqNt5Db.mjs +1579 -0
- package/dist/nivo-legends.es-BuIxHGSU.mjs +6916 -0
- package/dist/nivo-pie.es-BvCBFA0L.mjs +700 -0
- package/dist/react-apexcharts.min-DqWuDOyO.mjs +8881 -0
- package/dist/scripts/bin/bootstrap.js +11 -0
- package/dist/scripts/bin/build.js +256 -0
- package/dist/scripts/bin/index.js +88 -0
- package/dist/scripts/bin/preview.js +27 -0
- package/dist/scripts/bin/start.js +41 -0
- package/dist/scripts/bin/vite-ueml-plugin.js +113 -0
- package/dist/scripts/bin/viteConfig.js +112 -0
- package/dist/scripts/src/abstractions/ActionDefs.js +2 -0
- package/dist/scripts/src/abstractions/AppContextDefs.js +2 -0
- package/dist/scripts/src/abstractions/BlockScope.js +4 -0
- package/dist/scripts/src/abstractions/ComponentDefs.js +2 -0
- package/dist/scripts/src/abstractions/ComponentDescriptorDefs.js +2 -0
- package/dist/scripts/src/abstractions/ContainerDefs.js +2 -0
- package/dist/scripts/src/abstractions/FunctionDefs.js +2 -0
- package/dist/scripts/src/abstractions/RendererDefs.js +2 -0
- package/dist/scripts/src/abstractions/scripting/ScriptParserError.js +2 -0
- package/dist/scripts/src/abstractions/scripting/ScriptingSourceTree.js +2 -0
- package/dist/scripts/src/abstractions/scripting/Token.js +110 -0
- package/dist/scripts/src/components/App/App.js +253 -0
- package/dist/scripts/src/components/App/AppLayoutContext.js +9 -0
- package/dist/scripts/src/components/App/AppStateContext.js +9 -0
- package/dist/scripts/src/components/App/Sheet.js +89 -0
- package/dist/scripts/src/components/AppHeader/AppHeader.js +121 -0
- package/dist/scripts/src/components/AppState/AppState.js +29 -0
- package/dist/scripts/src/components/Avatar/Avatar.js +81 -0
- package/dist/scripts/src/components/Badge/Badge.js +56 -0
- package/dist/scripts/src/components/BarChart/BarChart.js +199 -0
- package/dist/scripts/src/components/Bookmark/Bookmark.js +11 -0
- package/dist/scripts/src/components/Button/Button.js +196 -0
- package/dist/scripts/src/components/Card/Card.js +65 -0
- package/dist/scripts/src/components/ChangeListener/ChangeListener.js +43 -0
- package/dist/scripts/src/components/Chart/Chart.js +158 -0
- package/dist/scripts/src/components/Checkbox/Checkbox.js +43 -0
- package/dist/scripts/src/components/Combobox/Combobox.js +145 -0
- package/dist/scripts/src/components/ComponentProvider.js +357 -0
- package/dist/scripts/src/components/ContentSeparator/ContentSeparator.js +40 -0
- package/dist/scripts/src/components/DatePicker/DatePicker.js +196 -0
- package/dist/scripts/src/components/DropdownMenu/DropdownMenu.js +175 -0
- package/dist/scripts/src/components/EmojiSelector/EmojiSelector.js +56 -0
- package/dist/scripts/src/components/FileInput/FileInput.js +127 -0
- package/dist/scripts/src/components/FileUploadDropZone/FileUploadDropZone.js +106 -0
- package/dist/scripts/src/components/FlowLayout/FlowLayout.js +139 -0
- package/dist/scripts/src/components/Footer/Footer.js +42 -0
- package/dist/scripts/src/components/Form/Form.js +320 -0
- package/dist/scripts/src/components/Form/FormContext.js +9 -0
- package/dist/scripts/src/components/Form/formActions.js +86 -0
- package/dist/scripts/src/components/FormItem/FormItem.js +204 -0
- package/dist/scripts/src/components/FormItem/HelperText.js +27 -0
- package/dist/scripts/src/components/FormItem/ItemWithLabel.js +39 -0
- package/dist/scripts/src/components/FormItem/Validations.js +346 -0
- package/dist/scripts/src/components/FormSection/FormSection.js +45 -0
- package/dist/scripts/src/components/Heading/Heading.js +206 -0
- package/dist/scripts/src/components/HoverCard/HoverCard.js +45 -0
- package/dist/scripts/src/components/Icon/ApiIcon.js +10 -0
- package/dist/scripts/src/components/Icon/Attach.js +10 -0
- package/dist/scripts/src/components/Icon/Binding.js +11 -0
- package/dist/scripts/src/components/Icon/BoardIcon.js +7 -0
- package/dist/scripts/src/components/Icon/BoxIcon.js +10 -0
- package/dist/scripts/src/components/Icon/CheckIcon.js +7 -0
- package/dist/scripts/src/components/Icon/ChevronDownIcon.js +7 -0
- package/dist/scripts/src/components/Icon/ChevronLeft.js +7 -0
- package/dist/scripts/src/components/Icon/ChevronRight.js +7 -0
- package/dist/scripts/src/components/Icon/ChevronUpIcon.js +7 -0
- package/dist/scripts/src/components/Icon/CodeFileIcon.js +10 -0
- package/dist/scripts/src/components/Icon/CodeSandbox.js +10 -0
- package/dist/scripts/src/components/Icon/CompactListIcon.js +7 -0
- package/dist/scripts/src/components/Icon/ContentCopyIcon.js +7 -0
- package/dist/scripts/src/components/Icon/DatabaseIcon.js +11 -0
- package/dist/scripts/src/components/Icon/DocFileIcon.js +10 -0
- package/dist/scripts/src/components/Icon/DocIcon.js +10 -0
- package/dist/scripts/src/components/Icon/DotMenuHorizontalIcon.js +7 -0
- package/dist/scripts/src/components/Icon/DotMenuIcon.js +7 -0
- package/dist/scripts/src/components/Icon/EmailIcon.js +7 -0
- package/dist/scripts/src/components/Icon/EmptyFolderIcon.js +10 -0
- package/dist/scripts/src/components/Icon/ErrorIcon.js +7 -0
- package/dist/scripts/src/components/Icon/ExpressionIcon.js +10 -0
- package/dist/scripts/src/components/Icon/FillPlusCricleIcon.js +7 -0
- package/dist/scripts/src/components/Icon/FilterIcon.js +10 -0
- package/dist/scripts/src/components/Icon/FolderIcon.js +10 -0
- package/dist/scripts/src/components/Icon/GlobeIcon.js +7 -0
- package/dist/scripts/src/components/Icon/HomeIcon.js +7 -0
- package/dist/scripts/src/components/Icon/HyperLinkIcon.js +7 -0
- package/dist/scripts/src/components/Icon/Icon.js +101 -0
- package/dist/scripts/src/components/Icon/ImageFileIcon.js +10 -0
- package/dist/scripts/src/components/Icon/LinkIcon.js +7 -0
- package/dist/scripts/src/components/Icon/ListIcon.js +7 -0
- package/dist/scripts/src/components/Icon/LooseListIcon.js +7 -0
- package/dist/scripts/src/components/Icon/MoonIcon.js +10 -0
- package/dist/scripts/src/components/Icon/MoreOptionsIcon.js +7 -0
- package/dist/scripts/src/components/Icon/PDFIcon.js +10 -0
- package/dist/scripts/src/components/Icon/PenIcon.js +7 -0
- package/dist/scripts/src/components/Icon/PhoneIcon.js +7 -0
- package/dist/scripts/src/components/Icon/PhotoIcon.js +10 -0
- package/dist/scripts/src/components/Icon/PlusIcon.js +7 -0
- package/dist/scripts/src/components/Icon/SearchIcon.js +7 -0
- package/dist/scripts/src/components/Icon/ShareIcon.js +10 -0
- package/dist/scripts/src/components/Icon/SunIcon.js +10 -0
- package/dist/scripts/src/components/Icon/TrashIcon.js +7 -0
- package/dist/scripts/src/components/Icon/TxtIcon.js +10 -0
- package/dist/scripts/src/components/Icon/UnknownFileIcon.js +10 -0
- package/dist/scripts/src/components/Icon/UnlinkIcon.js +10 -0
- package/dist/scripts/src/components/Icon/UserIcon.js +7 -0
- package/dist/scripts/src/components/Icon/WarningIcon.js +7 -0
- package/dist/scripts/src/components/Icon/XlsIcon.js +10 -0
- package/dist/scripts/src/components/IconProvider.js +249 -0
- package/dist/scripts/src/components/IconRegistryContext.js +307 -0
- package/dist/scripts/src/components/Image/Image.js +34 -0
- package/dist/scripts/src/components/Input/InputAdornment.js +14 -0
- package/dist/scripts/src/components/Input/input-abstractions.js +44 -0
- package/dist/scripts/src/components/Items/Items.js +48 -0
- package/dist/scripts/src/components/Link/Link.js +72 -0
- package/dist/scripts/src/components/List/List.js +442 -0
- package/dist/scripts/src/components/Logo/Logo.js +25 -0
- package/dist/scripts/src/components/Map/Map.js +60 -0
- package/dist/scripts/src/components/Map/world_countries.json +45307 -0
- package/dist/scripts/src/components/Markdown/Markdown.js +120 -0
- package/dist/scripts/src/components/ModalDialog/ConfirmationModalContextProvider.js +106 -0
- package/dist/scripts/src/components/ModalDialog/Dialog.js +20 -0
- package/dist/scripts/src/components/ModalDialog/ModalDialog.js +145 -0
- package/dist/scripts/src/components/MultiCombobox/MultiCombobox.js +249 -0
- package/dist/scripts/src/components/MultiSelect/MultiSelect.js +192 -0
- package/dist/scripts/src/components/NavGroup/NavGroup.js +113 -0
- package/dist/scripts/src/components/NavLink/NavLink.js +115 -0
- package/dist/scripts/src/components/NavPanel/NavPanel.js +101 -0
- package/dist/scripts/src/components/NoResult/NoResult.js +39 -0
- package/dist/scripts/src/components/NumberBox/NumberBox.js +373 -0
- package/dist/scripts/src/components/Option/Option.js +41 -0
- package/dist/scripts/src/components/PageMetaTitle/PageMetaTitle.js +22 -0
- package/dist/scripts/src/components/Pages/Pages.js +74 -0
- package/dist/scripts/src/components/Pdf/LazyPdf.js +44 -0
- package/dist/scripts/src/components/Pdf/Pdf.js +19 -0
- package/dist/scripts/src/components/PieChart/PieChart.js +184 -0
- package/dist/scripts/src/components/PositionedContainer/PositionedContainer.js +29 -0
- package/dist/scripts/src/components/ProgressBar/ProgressBar.js +38 -0
- package/dist/scripts/src/components/Queue/Queue.js +286 -0
- package/dist/scripts/src/components/Queue/queueActions.js +87 -0
- package/dist/scripts/src/components/RadioGroup/RadioGroup.js +144 -0
- package/dist/scripts/src/components/RealTimeAdapter/RealTimeAdapter.js +147 -0
- package/dist/scripts/src/components/Redirect/Redirect.js +10 -0
- package/dist/scripts/src/components/Select/Select.js +139 -0
- package/dist/scripts/src/components/Select/SelectContext.js +45 -0
- package/dist/scripts/src/components/SelectionStore/SelectionStore.js +88 -0
- package/dist/scripts/src/components/SpaceFiller/SpaceFiller.js +22 -0
- package/dist/scripts/src/components/Spinner/Spinner.js +59 -0
- package/dist/scripts/src/components/Splitter/Splitter.js +205 -0
- package/dist/scripts/src/components/Splitter/utils.js +17 -0
- package/dist/scripts/src/components/Stack/Stack.js +117 -0
- package/dist/scripts/src/components/StickyBox/StickyBox.js +33 -0
- package/dist/scripts/src/components/Switch/Switch.js +50 -0
- package/dist/scripts/src/components/Table/Table.js +499 -0
- package/dist/scripts/src/components/Table/useRowSelection.js +169 -0
- package/dist/scripts/src/components/TableColumnDef/TableColumnDef.js +44 -0
- package/dist/scripts/src/components/TableColumnDef/TableContext.js +12 -0
- package/dist/scripts/src/components/Tabs/Tabs.js +85 -0
- package/dist/scripts/src/components/Text/Text.js +175 -0
- package/dist/scripts/src/components/TextArea/TextArea.js +194 -0
- package/dist/scripts/src/components/TextArea/TextAreaResizable.js +63 -0
- package/dist/scripts/src/components/TextArea/useComposedRef.js +50 -0
- package/dist/scripts/src/components/TextBox/TextBox.js +145 -0
- package/dist/scripts/src/components/Theme/NotificationToast.js +39 -0
- package/dist/scripts/src/components/Theme/Theme.js +153 -0
- package/dist/scripts/src/components/ThemeChanger/ThemeChanger.js +125 -0
- package/dist/scripts/src/components/Toggle/Toggle.js +88 -0
- package/dist/scripts/src/components/Tree/TreeComponent.js +79 -0
- package/dist/scripts/src/components/ValidationSummary/ValidationSummary.js +59 -0
- package/dist/scripts/src/components/ViewComponentRegistryContext.js +34 -0
- package/dist/scripts/src/components/abstractions.js +2 -0
- package/dist/scripts/src/components/chart-color-schemes.js +43 -0
- package/dist/scripts/src/components/component-utils.js +32 -0
- package/dist/scripts/src/components/container-helpers.js +18 -0
- package/dist/scripts/src/components-core/ApiBoundComponent.js +189 -0
- package/dist/scripts/src/components-core/AppContext.js +17 -0
- package/dist/scripts/src/components-core/ChildrenSlot.js +10 -0
- package/dist/scripts/src/components-core/Component.js +280 -0
- package/dist/scripts/src/components-core/ComponentDecorator.js +63 -0
- package/dist/scripts/src/components-core/CompoundComponent.js +132 -0
- package/dist/scripts/src/components-core/EngineError.js +91 -0
- package/dist/scripts/src/components-core/ErrorBoundary.js +58 -0
- package/dist/scripts/src/components-core/Fragment.js +14 -0
- package/dist/scripts/src/components-core/InvalidComponent.js +15 -0
- package/dist/scripts/src/components-core/LoaderComponent.js +78 -0
- package/dist/scripts/src/components-core/RestApiProxy.js +341 -0
- package/dist/scripts/src/components-core/RootComponent.js +272 -0
- package/dist/scripts/src/components-core/RouteContext.js +45 -0
- package/dist/scripts/src/components-core/ScrollContext.js +9 -0
- package/dist/scripts/src/components-core/UnknownComponent.js +15 -0
- package/dist/scripts/src/components-core/abstractions/ComponentRenderer.js +2 -0
- package/dist/scripts/src/components-core/abstractions/LoaderRenderer.js +2 -0
- package/dist/scripts/src/components-core/abstractions/containers.js +18 -0
- package/dist/scripts/src/components-core/abstractions/treeAbstractions.js +2 -0
- package/dist/scripts/src/components-core/action/ApiAction.js +276 -0
- package/dist/scripts/src/components-core/action/DownloadFileAction.js +80 -0
- package/dist/scripts/src/components-core/action/NavigateAction.js +20 -0
- package/dist/scripts/src/components-core/action/TimedAction.js +21 -0
- package/dist/scripts/src/components-core/action/UploadAction.js +88 -0
- package/dist/scripts/src/components-core/action/actions.js +15 -0
- package/dist/scripts/src/components-core/appContext/date-functions.js +19 -0
- package/dist/scripts/src/components-core/appContext/misc-utils.js +12 -0
- package/dist/scripts/src/components-core/component-hooks.js +25 -0
- package/dist/scripts/src/components-core/constants.js +18 -0
- package/dist/scripts/src/components-core/container/Container.js +1110 -0
- package/dist/scripts/src/components-core/container/ContainerComponentDef.js +16 -0
- package/dist/scripts/src/components-core/container/buildProxy.js +54 -0
- package/dist/scripts/src/components-core/container/collectFnVarDeps.js +26 -0
- package/dist/scripts/src/components-core/container/valueExtractor.js +195 -0
- package/dist/scripts/src/components-core/descriptorHelper.js +75 -0
- package/dist/scripts/src/components-core/interception/abstractions.js +2 -0
- package/dist/scripts/src/components-core/interception/useApiInterceptorContext.js +9 -0
- package/dist/scripts/src/components-core/loader/ApiLoader.js +46 -0
- package/dist/scripts/src/components-core/loader/DataLoader.js +160 -0
- package/dist/scripts/src/components-core/loader/ExternalDataLoader.js +52 -0
- package/dist/scripts/src/components-core/loader/Loader.js +115 -0
- package/dist/scripts/src/components-core/loader/MockLoaderRenderer.js +32 -0
- package/dist/scripts/src/components-core/loader/PageableLoader.js +240 -0
- package/dist/scripts/src/components-core/renderers.js +45 -0
- package/dist/scripts/src/components-core/reportEngineError.js +59 -0
- package/dist/scripts/src/components-core/script-runner/BindingTreeEvaluationContext.js +35 -0
- package/dist/scripts/src/components-core/script-runner/ICustomOperations.js +34 -0
- package/dist/scripts/src/components-core/script-runner/LogicalThread.js +2 -0
- package/dist/scripts/src/components-core/script-runner/LoopScope.js +2 -0
- package/dist/scripts/src/components-core/script-runner/ParameterParser.js +117 -0
- package/dist/scripts/src/components-core/script-runner/TryScope.js +2 -0
- package/dist/scripts/src/components-core/script-runner/asyncProxy.js +96 -0
- package/dist/scripts/src/components-core/script-runner/bannedFunctions.js +34 -0
- package/dist/scripts/src/components-core/script-runner/custom-operations-registry.js +40 -0
- package/dist/scripts/src/components-core/script-runner/custom-ui-data.js +40 -0
- package/dist/scripts/src/components-core/script-runner/eval-tree-async.js +551 -0
- package/dist/scripts/src/components-core/script-runner/eval-tree-common.js +498 -0
- package/dist/scripts/src/components-core/script-runner/eval-tree-sync.js +434 -0
- package/dist/scripts/src/components-core/script-runner/modules.js +250 -0
- package/dist/scripts/src/components-core/script-runner/process-statement-async.js +818 -0
- package/dist/scripts/src/components-core/script-runner/process-statement-common.js +193 -0
- package/dist/scripts/src/components-core/script-runner/process-statement-sync.js +740 -0
- package/dist/scripts/src/components-core/script-runner/statement-queue.js +62 -0
- package/dist/scripts/src/components-core/script-runner/visitors.js +352 -0
- package/dist/scripts/src/components-core/theming/ThemeContext.js +43 -0
- package/dist/scripts/src/components-core/theming/ThemeProvider.js +334 -0
- package/dist/scripts/src/components-core/theming/abstractions.js +11 -0
- package/dist/scripts/src/components-core/theming/extendThemeUtils.js +114 -0
- package/dist/scripts/src/components-core/theming/hvar.js +105 -0
- package/dist/scripts/src/components-core/theming/themeVars.js +62 -0
- package/dist/scripts/src/components-core/theming/themes/base-utils.js +31 -0
- package/dist/scripts/src/components-core/theming/themes/palette.js +53 -0
- package/dist/scripts/src/components-core/theming/themes/root.js +257 -0
- package/dist/scripts/src/components-core/theming/themes/solid.js +16 -0
- package/dist/scripts/src/components-core/theming/themes/theme-colors.js +407 -0
- package/dist/scripts/src/components-core/theming/themes/xmlui.js +32 -0
- package/dist/scripts/src/components-core/theming/transformThemeVars.js +286 -0
- package/dist/scripts/src/components-core/utils/DataLoaderQueryKeyGenerator.js +34 -0
- package/dist/scripts/src/components-core/utils/LruCache.js +184 -0
- package/dist/scripts/src/components-core/utils/actionUtils.js +32 -0
- package/dist/scripts/src/components-core/utils/classnames.js +58 -0
- package/dist/scripts/src/components-core/utils/css-utils.js +127 -0
- package/dist/scripts/src/components-core/utils/date-utils.js +78 -0
- package/dist/scripts/src/components-core/utils/extractParam.js +148 -0
- package/dist/scripts/src/components-core/utils/hooks.js +221 -0
- package/dist/scripts/src/components-core/utils/mergeProps.js +45 -0
- package/dist/scripts/src/components-core/utils/misc.js +460 -0
- package/dist/scripts/src/components-core/utils/statementUtils.js +205 -0
- package/dist/scripts/src/components-core/utils/treeUtils.js +48 -0
- package/dist/scripts/src/components-core/xmlui-parser.js +52 -0
- package/dist/scripts/src/parsers/scripting/InputStream.js +59 -0
- package/dist/scripts/src/parsers/scripting/Lexer.js +1028 -0
- package/dist/scripts/src/parsers/scripting/Parser.js +2647 -0
- package/dist/scripts/src/parsers/scripting/ParserError.js +46 -0
- package/dist/scripts/src/parsers/scripting/TokenTrait.js +109 -0
- package/dist/scripts/src/parsers/scripting/code-behind-collect.js +118 -0
- package/dist/scripts/src/parsers/scripting/tree-visitor.js +602 -0
- package/dist/scripts/src/parsers/style-parser/StyleInputStream.js +39 -0
- package/dist/scripts/src/parsers/style-parser/StyleLexer.js +621 -0
- package/dist/scripts/src/parsers/style-parser/StyleParser.js +1000 -0
- package/dist/scripts/src/parsers/style-parser/errors.js +37 -0
- package/dist/scripts/src/parsers/style-parser/source-tree.js +2 -0
- package/dist/scripts/src/parsers/style-parser/style-compiler.js +513 -0
- package/dist/scripts/src/parsers/style-parser/tokens.js +42 -0
- package/dist/scripts/src/parsers/ueml/ParserError.js +54 -0
- package/dist/scripts/src/parsers/ueml/UemlHelper.js +579 -0
- package/dist/scripts/src/parsers/ueml/UemlInputStream.js +59 -0
- package/dist/scripts/src/parsers/ueml/UemlLexer.js +868 -0
- package/dist/scripts/src/parsers/ueml/UemlParser.js +1439 -0
- package/dist/scripts/src/parsers/ueml/UemlToken.js +24 -0
- package/dist/scripts/src/parsers/ueml/fileExtensions.js +6 -0
- package/dist/scripts/src/parsers/ueml/source-tree.js +2 -0
- package/dist/scripts/src/parsers/ueml/ueml-tree.js +2 -0
- package/dist/scripts/src/parsers/xmlui-parser/CharacterCodes.js +136 -0
- package/dist/scripts/src/parsers/xmlui-parser/diagnostics.js +100 -0
- package/dist/scripts/src/parsers/xmlui-parser/parser.js +476 -0
- package/dist/scripts/src/parsers/xmlui-parser/scanner.js +415 -0
- package/dist/scripts/src/parsers/xmlui-parser/syntax-kind.js +106 -0
- package/dist/scripts/src/parsers/xmlui-parser/syntax-node.js +2 -0
- package/dist/scripts/src/parsers/xmlui-parser/transform.js +922 -0
- package/dist/scripts/src/parsers/xmlui-parser/utils.js +83 -0
- package/dist/xmlui.es.d.ts +1667 -0
- package/dist/xmlui.es.js +17 -0
- package/dist/xmlui.umd.js +1589 -0
- package/package.json +175 -0
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseParameterString = parseParameterString;
|
|
4
|
+
const Parser_1 = require("../../parsers/scripting/Parser");
|
|
5
|
+
/**
|
|
6
|
+
* This function parses a parameter string and splits them into string literal and binding expression sections
|
|
7
|
+
* @param source String to parse
|
|
8
|
+
* @returns Parameter string sections
|
|
9
|
+
*/
|
|
10
|
+
function parseParameterString(source) {
|
|
11
|
+
const result = [];
|
|
12
|
+
if (source === undefined || source === null)
|
|
13
|
+
return result;
|
|
14
|
+
let phase = ParsePhase.StringLiteral;
|
|
15
|
+
let section = "";
|
|
16
|
+
let escape = "";
|
|
17
|
+
for (let i = 0; i < source.length; i++) {
|
|
18
|
+
const ch = source[i];
|
|
19
|
+
switch (phase) {
|
|
20
|
+
case ParsePhase.StringLiteral:
|
|
21
|
+
if (ch === "\\") {
|
|
22
|
+
phase = ParsePhase.Escape;
|
|
23
|
+
escape = "\\";
|
|
24
|
+
}
|
|
25
|
+
else if (ch === "{") {
|
|
26
|
+
// --- A new expression starts, close the previous string literal
|
|
27
|
+
if (section !== "") {
|
|
28
|
+
result.push({
|
|
29
|
+
type: "literal",
|
|
30
|
+
value: section
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
// --- Start a new section
|
|
34
|
+
section = "";
|
|
35
|
+
phase = ParsePhase.ExprStart;
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
section += ch;
|
|
39
|
+
}
|
|
40
|
+
break;
|
|
41
|
+
case ParsePhase.Escape:
|
|
42
|
+
if (ch === "\\") {
|
|
43
|
+
// --- Go on with escape
|
|
44
|
+
escape += ch;
|
|
45
|
+
break;
|
|
46
|
+
}
|
|
47
|
+
if (ch === "{") {
|
|
48
|
+
// --- End escape as a literal section without the first "\" escape character
|
|
49
|
+
section += escape.substring(1) + ch;
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
// --- End escape as a literal section with the full sequence
|
|
53
|
+
section += escape + ch;
|
|
54
|
+
}
|
|
55
|
+
phase = ParsePhase.StringLiteral;
|
|
56
|
+
break;
|
|
57
|
+
case ParsePhase.ExprStart:
|
|
58
|
+
const exprSource = source.substring(i);
|
|
59
|
+
const parser = new Parser_1.Parser(source.substring(i));
|
|
60
|
+
let expr = null;
|
|
61
|
+
try {
|
|
62
|
+
expr = parser.parseExpr();
|
|
63
|
+
}
|
|
64
|
+
catch (err) {
|
|
65
|
+
throw new Error(`Cannot parse expression: '${exprSource}': ${err}`);
|
|
66
|
+
}
|
|
67
|
+
const tail = parser.getTail();
|
|
68
|
+
if (!tail || tail.trim().length < 1 || tail.trim()[0] !== "}") {
|
|
69
|
+
// --- Unclosed expression, back to its beginning
|
|
70
|
+
throw new Error(`Unclosed expression: '${exprSource}'`);
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
// --- Successfully parsed expression
|
|
74
|
+
result.push({
|
|
75
|
+
type: "expression",
|
|
76
|
+
value: expr
|
|
77
|
+
});
|
|
78
|
+
// --- Skip the parsed part of the expression, and start a new literal section
|
|
79
|
+
i = source.length - tail.length;
|
|
80
|
+
section = "";
|
|
81
|
+
}
|
|
82
|
+
phase = ParsePhase.StringLiteral;
|
|
83
|
+
break;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
// --- Process the last segment
|
|
87
|
+
switch (phase) {
|
|
88
|
+
case ParsePhase.StringLiteral:
|
|
89
|
+
if (section !== "") {
|
|
90
|
+
result.push({
|
|
91
|
+
type: "literal",
|
|
92
|
+
value: section
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
break;
|
|
96
|
+
case ParsePhase.Escape:
|
|
97
|
+
result.push({
|
|
98
|
+
type: "literal",
|
|
99
|
+
value: section + escape
|
|
100
|
+
});
|
|
101
|
+
break;
|
|
102
|
+
case ParsePhase.ExprStart:
|
|
103
|
+
result.push({
|
|
104
|
+
type: "literal",
|
|
105
|
+
value: section + "{"
|
|
106
|
+
});
|
|
107
|
+
break;
|
|
108
|
+
}
|
|
109
|
+
// --- Done.
|
|
110
|
+
return result;
|
|
111
|
+
}
|
|
112
|
+
var ParsePhase;
|
|
113
|
+
(function (ParsePhase) {
|
|
114
|
+
ParsePhase[ParsePhase["StringLiteral"] = 0] = "StringLiteral";
|
|
115
|
+
ParsePhase[ParsePhase["Escape"] = 1] = "Escape";
|
|
116
|
+
ParsePhase[ParsePhase["ExprStart"] = 2] = "ExprStart";
|
|
117
|
+
})(ParsePhase || (ParsePhase = {}));
|
|
@@ -0,0 +1,96 @@
|
|
|
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.getAsyncProxy = getAsyncProxy;
|
|
13
|
+
/**
|
|
14
|
+
* Gets a proxy function for one that does not support async operations
|
|
15
|
+
* @param fn Function to replace with a proxy
|
|
16
|
+
* @param origArgs Original function arguments
|
|
17
|
+
* @param context Function context ("this" of the function invocation)
|
|
18
|
+
* @return The proxy, if found; otherwise the original function
|
|
19
|
+
*/
|
|
20
|
+
function getAsyncProxy(fn, origArgs, context) {
|
|
21
|
+
const proxyFn = asyncProxies.get(fn);
|
|
22
|
+
if (!proxyFn)
|
|
23
|
+
return fn;
|
|
24
|
+
origArgs.unshift(context);
|
|
25
|
+
return proxyFn;
|
|
26
|
+
}
|
|
27
|
+
// Async implementations for JavaScript functions that do not support async arguments
|
|
28
|
+
const asyncProxies = new Map();
|
|
29
|
+
asyncProxies.set(Array.prototype.filter, asyncFilter);
|
|
30
|
+
asyncProxies.set(Array.prototype.forEach, asyncForEach);
|
|
31
|
+
asyncProxies.set(Array.prototype.map, asyncMap);
|
|
32
|
+
asyncProxies.set(Array.prototype.every, asyncEvery);
|
|
33
|
+
asyncProxies.set(Array.prototype.findIndex, asyncFindIndex);
|
|
34
|
+
asyncProxies.set(Array.prototype.find, asyncFind);
|
|
35
|
+
asyncProxies.set(Array.prototype.flatMap, asyncFlatMap);
|
|
36
|
+
asyncProxies.set(Array.prototype.some, asyncSome);
|
|
37
|
+
// The async implementation of Array.prototype.some
|
|
38
|
+
function asyncSome(arr, predicate) {
|
|
39
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
40
|
+
const results = yield Promise.all(arr.map(predicate));
|
|
41
|
+
return arr.some((_v, index) => results[index]);
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
// The async implementation of Array.prototype.filter
|
|
45
|
+
function asyncFilter(arr, predicate) {
|
|
46
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
47
|
+
const results = yield Promise.all(arr.map(predicate));
|
|
48
|
+
return arr.filter((_v, index) => results[index]);
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
// The async implementation of Array.prototype.forEach
|
|
52
|
+
function asyncForEach(arr, predicate) {
|
|
53
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
54
|
+
for (let i = 0; i < arr.length; i++) {
|
|
55
|
+
yield predicate(arr[i], i, arr);
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
// The async implementation of Array.prototype.map
|
|
60
|
+
function asyncMap(arr, predicate) {
|
|
61
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
62
|
+
const result = [];
|
|
63
|
+
for (let i = 0; i < arr.length; i++) {
|
|
64
|
+
result.push(yield predicate(arr[i], i, arr));
|
|
65
|
+
}
|
|
66
|
+
return result;
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
// The async implementation of Array.prototype.asyncEvery
|
|
70
|
+
function asyncEvery(arr, callback) {
|
|
71
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
72
|
+
const results = yield Promise.all(arr.map(callback));
|
|
73
|
+
return results.every((_v, index) => results[index]);
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
// The async implementation of Array.prototype.asyncFind
|
|
77
|
+
function asyncFind(arr, predicate) {
|
|
78
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
79
|
+
const results = yield Promise.all(arr.map(predicate));
|
|
80
|
+
return arr.find((_v, index) => results[index]);
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
// The async implementation of Array.prototype.asyncFindIndex
|
|
84
|
+
function asyncFindIndex(arr, predicate) {
|
|
85
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
86
|
+
const results = yield Promise.all(arr.map(predicate));
|
|
87
|
+
return arr.findIndex((_v, index) => results[index]);
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
// The async implementation of Array.prototype.asyncFlatMap
|
|
91
|
+
function asyncFlatMap(arr, predicate) {
|
|
92
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
93
|
+
const results = yield Promise.all(arr.map(predicate));
|
|
94
|
+
return arr.flatMap((_v, index) => results[index]);
|
|
95
|
+
});
|
|
96
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isBannedFunction = isBannedFunction;
|
|
4
|
+
/**
|
|
5
|
+
* Checks if the specified function object is banned from running.
|
|
6
|
+
* @param func Function to check
|
|
7
|
+
* @return Information about the banned state, including a helper text
|
|
8
|
+
*/
|
|
9
|
+
function isBannedFunction(func) {
|
|
10
|
+
if (func === undefined) {
|
|
11
|
+
return { banned: false };
|
|
12
|
+
}
|
|
13
|
+
const bannedInfo = bannedFunctions.find(f => f.func === func);
|
|
14
|
+
return bannedInfo
|
|
15
|
+
? { banned: true, func: bannedInfo.func, help: bannedInfo.help }
|
|
16
|
+
: { banned: false };
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* List of global functions we do not allow to call
|
|
20
|
+
*/
|
|
21
|
+
const bannedFunctions = [
|
|
22
|
+
{ func: globalThis.cancelAnimationFrame },
|
|
23
|
+
{ func: globalThis.cancelIdleCallback },
|
|
24
|
+
{ func: globalThis.clearInterval },
|
|
25
|
+
{ func: globalThis.clearImmediate },
|
|
26
|
+
{ func: globalThis.clearTimeout },
|
|
27
|
+
{ func: globalThis.eval },
|
|
28
|
+
{ func: globalThis.queueMicrotask },
|
|
29
|
+
{ func: globalThis.requestAnimationFrame },
|
|
30
|
+
{ func: globalThis.requestIdleCallback },
|
|
31
|
+
{ func: globalThis.setImmediate },
|
|
32
|
+
{ func: globalThis.setInterval },
|
|
33
|
+
{ func: globalThis.setTimeout, help: "Use 'delay'" },
|
|
34
|
+
];
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.customOperationsRegistry = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Represents a registry for custom operations
|
|
6
|
+
*/
|
|
7
|
+
class CustomOperationsRegistry {
|
|
8
|
+
constructor() {
|
|
9
|
+
// --- Stores the register objects by their type ID
|
|
10
|
+
this._registry = new Map();
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Registers the specified calculator
|
|
14
|
+
* @param key Custom data object type
|
|
15
|
+
* @param calculator Calculator instance
|
|
16
|
+
*/
|
|
17
|
+
register(key, calculator) {
|
|
18
|
+
this._registry.set(key, calculator);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Gets the operation object for the specified type
|
|
22
|
+
* @param key Type key
|
|
23
|
+
* @return Operations object, if found; otherwise, undefined
|
|
24
|
+
*/
|
|
25
|
+
getOperationsObjectByKey(key) {
|
|
26
|
+
return this._registry.get(key);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Gets all registered custom operations
|
|
30
|
+
*/
|
|
31
|
+
getAllOperations() {
|
|
32
|
+
return new Map(this._registry);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
// --- Register supported types
|
|
36
|
+
const internalRegistry = new CustomOperationsRegistry();
|
|
37
|
+
/**
|
|
38
|
+
* The singleton instance of our registry
|
|
39
|
+
*/
|
|
40
|
+
exports.customOperationsRegistry = internalRegistry;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OverflowInCalculationError = exports.UnexpectedTypeError = void 0;
|
|
4
|
+
exports.isCustomUiData = isCustomUiData;
|
|
5
|
+
/**
|
|
6
|
+
* Type guard function for the CustomUiData type
|
|
7
|
+
* @param data Object to guard
|
|
8
|
+
*/
|
|
9
|
+
function isCustomUiData(data) {
|
|
10
|
+
return data._custom_data_type_ !== undefined;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Base class for all custom UI data related errors
|
|
14
|
+
*/
|
|
15
|
+
class CustomUiDataError extends Error {
|
|
16
|
+
constructor(message) {
|
|
17
|
+
super(message);
|
|
18
|
+
Object.setPrototypeOf(this, CustomUiDataError.prototype);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* This error is raised when an operation gets an unexpected type
|
|
23
|
+
*/
|
|
24
|
+
class UnexpectedTypeError extends CustomUiDataError {
|
|
25
|
+
constructor(expectedType, detail) {
|
|
26
|
+
super(`You must use ${expectedType} with the operation${detail ? " (" + detail + ")" : ""}`);
|
|
27
|
+
Object.setPrototypeOf(this, UnexpectedTypeError.prototype);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
exports.UnexpectedTypeError = UnexpectedTypeError;
|
|
31
|
+
/**
|
|
32
|
+
* This error is raised when an operation gets an unexpected type
|
|
33
|
+
*/
|
|
34
|
+
class OverflowInCalculationError extends CustomUiDataError {
|
|
35
|
+
constructor(number) {
|
|
36
|
+
super(`The decimal ${number} is too large to be saved`);
|
|
37
|
+
Object.setPrototypeOf(this, OverflowInCalculationError.prototype);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
exports.OverflowInCalculationError = OverflowInCalculationError;
|