@next-core/runtime 1.38.2 → 1.39.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 (170) hide show
  1. package/dist/cjs/CustomProcessors.js.map +1 -1
  2. package/dist/cjs/CustomTemplates.js.map +1 -1
  3. package/dist/cjs/Dialog.js.map +1 -1
  4. package/dist/cjs/Notification.js.map +1 -1
  5. package/dist/cjs/StoryboardFunctionRegistry.js.map +1 -1
  6. package/dist/cjs/auth.js.map +1 -1
  7. package/dist/cjs/createRoot.js.map +1 -1
  8. package/dist/cjs/fetchByProvider.js.map +1 -1
  9. package/dist/cjs/getBasePath.js.map +1 -1
  10. package/dist/cjs/getPageInfo.js.map +1 -1
  11. package/dist/cjs/getRealValue.js.map +1 -1
  12. package/dist/cjs/getV2RuntimeFromDll.js.map +1 -1
  13. package/dist/cjs/handleHttpError.js.map +1 -1
  14. package/dist/cjs/history.js.map +1 -1
  15. package/dist/cjs/index.js.map +1 -1
  16. package/dist/cjs/internal/CustomTemplates/bindTemplateProxy.js.map +1 -1
  17. package/dist/cjs/internal/CustomTemplates/constants.js.map +1 -1
  18. package/dist/cjs/internal/CustomTemplates/expandCustomTemplate.js.map +1 -1
  19. package/dist/cjs/internal/CustomTemplates/setupTemplateProxy.js.map +1 -1
  20. package/dist/cjs/internal/CustomTemplates/setupUseBrickInTemplate.js.map +1 -1
  21. package/dist/cjs/internal/CustomTemplates/utils.js.map +1 -1
  22. package/dist/cjs/internal/FormRenderer/constants.js.map +1 -1
  23. package/dist/cjs/internal/FormRenderer/expandFormRenderer.js.map +1 -1
  24. package/dist/cjs/internal/FormRenderer/getDefaultProperties.js.map +1 -1
  25. package/dist/cjs/internal/FormRenderer/interfaces.js.map +1 -1
  26. package/dist/cjs/internal/FormRenderer/utils.js.map +1 -1
  27. package/dist/cjs/internal/Renderer.js.map +1 -1
  28. package/dist/cjs/internal/RendererContext.js +59 -59
  29. package/dist/cjs/internal/RendererContext.js.map +1 -1
  30. package/dist/cjs/internal/Router.js +51 -51
  31. package/dist/cjs/internal/Router.js.map +1 -1
  32. package/dist/cjs/internal/Runtime.js +8 -30
  33. package/dist/cjs/internal/Runtime.js.map +1 -1
  34. package/dist/cjs/internal/abortController.js.map +1 -1
  35. package/dist/cjs/internal/bindListeners.js.map +1 -1
  36. package/dist/cjs/internal/compute/StoryboardFunctions.js.map +1 -1
  37. package/dist/cjs/internal/compute/WidgetFunctions.js.map +1 -1
  38. package/dist/cjs/internal/compute/WidgetI18n.js.map +1 -1
  39. package/dist/cjs/internal/compute/checkIf.js.map +1 -1
  40. package/dist/cjs/internal/compute/computeRealProperties.js.map +1 -1
  41. package/dist/cjs/internal/compute/computeRealValue.js.map +1 -1
  42. package/dist/cjs/internal/compute/evaluate.js.map +1 -1
  43. package/dist/cjs/internal/compute/getGeneralGlobals.js.map +1 -1
  44. package/dist/cjs/internal/compute/getNextStateOfUseBrick.js.map +1 -1
  45. package/dist/cjs/internal/compute/getStorageItem.js.map +1 -1
  46. package/dist/cjs/internal/compute/getTracks.js.map +1 -1
  47. package/dist/cjs/internal/compute/listenOnTrackingContext.js.map +1 -1
  48. package/dist/cjs/internal/compute/markAsComputed.js.map +1 -1
  49. package/dist/cjs/internal/compute/setProperties.js.map +1 -1
  50. package/dist/cjs/internal/compute/setRealProperties.js.map +1 -1
  51. package/dist/cjs/internal/customizeColorTheme.js.map +1 -1
  52. package/dist/cjs/internal/data/DataStore.js.map +1 -1
  53. package/dist/cjs/internal/data/getProviderBrick.js.map +1 -1
  54. package/dist/cjs/internal/data/realTimeDataInspect.js.map +1 -1
  55. package/dist/cjs/internal/data/resolveData.js.map +1 -1
  56. package/dist/cjs/internal/data/resolveDataStore.js.map +1 -1
  57. package/dist/cjs/internal/devtools.js.map +1 -1
  58. package/dist/cjs/internal/enums.js.map +1 -1
  59. package/dist/cjs/internal/fulfilStoryboard.js.map +1 -1
  60. package/dist/cjs/internal/hasInstalledApp.js.map +1 -1
  61. package/dist/cjs/internal/historyExtended.js.map +1 -1
  62. package/dist/cjs/internal/i18n.js.map +1 -1
  63. package/dist/cjs/internal/injected.js.map +1 -1
  64. package/dist/cjs/internal/insertPreviewRoutes.js.map +1 -1
  65. package/dist/cjs/internal/interfaces.js.map +1 -1
  66. package/dist/cjs/internal/matchPath.js.map +1 -1
  67. package/dist/cjs/internal/matchRoutes.js.map +1 -1
  68. package/dist/cjs/internal/matchStoryboard.js.map +1 -1
  69. package/dist/cjs/internal/mediaQuery.js.map +1 -1
  70. package/dist/cjs/internal/mount.js.map +1 -1
  71. package/dist/cjs/internal/poll.js.map +1 -1
  72. package/dist/cjs/internal/proxyFactories.js.map +1 -1
  73. package/dist/cjs/internal/registerAppI18n.js.map +1 -1
  74. package/dist/cjs/internal/registerCustomTemplates.js.map +1 -1
  75. package/dist/cjs/internal/secret_internals.js.map +1 -1
  76. package/dist/cjs/internal/setupRootRuntimeContext.js.map +1 -1
  77. package/dist/cjs/internal/test_only.js.map +1 -1
  78. package/dist/cjs/isStrictMode.js.map +1 -1
  79. package/dist/cjs/setAppVariable.js.map +1 -1
  80. package/dist/cjs/setLoginStateCookie.js.map +1 -1
  81. package/dist/cjs/setUIVersion.js.map +1 -1
  82. package/dist/cjs/setWatermark.js.map +1 -1
  83. package/dist/cjs/themeAndMode.js.map +1 -1
  84. package/dist/esm/CustomProcessors.js +1 -2
  85. package/dist/esm/CustomProcessors.js.map +1 -1
  86. package/dist/esm/CustomTemplates.js +1 -2
  87. package/dist/esm/CustomTemplates.js.map +1 -1
  88. package/dist/esm/Dialog.js.map +1 -1
  89. package/dist/esm/Notification.js.map +1 -1
  90. package/dist/esm/StoryboardFunctionRegistry.js.map +1 -1
  91. package/dist/esm/auth.js.map +1 -1
  92. package/dist/esm/createRoot.js.map +1 -1
  93. package/dist/esm/fetchByProvider.js.map +1 -1
  94. package/dist/esm/getBasePath.js.map +1 -1
  95. package/dist/esm/getPageInfo.js.map +1 -1
  96. package/dist/esm/getRealValue.js.map +1 -1
  97. package/dist/esm/getV2RuntimeFromDll.js.map +1 -1
  98. package/dist/esm/handleHttpError.js.map +1 -1
  99. package/dist/esm/history.js.map +1 -1
  100. package/dist/esm/index.js.map +1 -1
  101. package/dist/esm/internal/CustomTemplates/bindTemplateProxy.js.map +1 -1
  102. package/dist/esm/internal/CustomTemplates/constants.js.map +1 -1
  103. package/dist/esm/internal/CustomTemplates/expandCustomTemplate.js.map +1 -1
  104. package/dist/esm/internal/CustomTemplates/setupTemplateProxy.js.map +1 -1
  105. package/dist/esm/internal/CustomTemplates/setupUseBrickInTemplate.js.map +1 -1
  106. package/dist/esm/internal/CustomTemplates/utils.js.map +1 -1
  107. package/dist/esm/internal/FormRenderer/constants.js.map +1 -1
  108. package/dist/esm/internal/FormRenderer/expandFormRenderer.js.map +1 -1
  109. package/dist/esm/internal/FormRenderer/getDefaultProperties.js.map +1 -1
  110. package/dist/esm/internal/FormRenderer/interfaces.js.map +1 -1
  111. package/dist/esm/internal/FormRenderer/utils.js.map +1 -1
  112. package/dist/esm/internal/Renderer.js.map +1 -1
  113. package/dist/esm/internal/RendererContext.js +3 -3
  114. package/dist/esm/internal/RendererContext.js.map +1 -1
  115. package/dist/esm/internal/Router.js +3 -3
  116. package/dist/esm/internal/Router.js.map +1 -1
  117. package/dist/esm/internal/Runtime.js +5 -31
  118. package/dist/esm/internal/Runtime.js.map +1 -1
  119. package/dist/esm/internal/abortController.js.map +1 -1
  120. package/dist/esm/internal/bindListeners.js.map +1 -1
  121. package/dist/esm/internal/compute/StoryboardFunctions.js.map +1 -1
  122. package/dist/esm/internal/compute/WidgetFunctions.js.map +1 -1
  123. package/dist/esm/internal/compute/WidgetI18n.js.map +1 -1
  124. package/dist/esm/internal/compute/checkIf.js.map +1 -1
  125. package/dist/esm/internal/compute/computeRealProperties.js.map +1 -1
  126. package/dist/esm/internal/compute/computeRealValue.js.map +1 -1
  127. package/dist/esm/internal/compute/evaluate.js.map +1 -1
  128. package/dist/esm/internal/compute/getGeneralGlobals.js.map +1 -1
  129. package/dist/esm/internal/compute/getNextStateOfUseBrick.js.map +1 -1
  130. package/dist/esm/internal/compute/getStorageItem.js.map +1 -1
  131. package/dist/esm/internal/compute/getTracks.js.map +1 -1
  132. package/dist/esm/internal/compute/listenOnTrackingContext.js.map +1 -1
  133. package/dist/esm/internal/compute/markAsComputed.js.map +1 -1
  134. package/dist/esm/internal/compute/setProperties.js.map +1 -1
  135. package/dist/esm/internal/compute/setRealProperties.js.map +1 -1
  136. package/dist/esm/internal/customizeColorTheme.js.map +1 -1
  137. package/dist/esm/internal/data/DataStore.js.map +1 -1
  138. package/dist/esm/internal/data/getProviderBrick.js.map +1 -1
  139. package/dist/esm/internal/data/realTimeDataInspect.js.map +1 -1
  140. package/dist/esm/internal/data/resolveData.js.map +1 -1
  141. package/dist/esm/internal/data/resolveDataStore.js.map +1 -1
  142. package/dist/esm/internal/devtools.js.map +1 -1
  143. package/dist/esm/internal/enums.js.map +1 -1
  144. package/dist/esm/internal/fulfilStoryboard.js.map +1 -1
  145. package/dist/esm/internal/hasInstalledApp.js.map +1 -1
  146. package/dist/esm/internal/historyExtended.js.map +1 -1
  147. package/dist/esm/internal/i18n.js.map +1 -1
  148. package/dist/esm/internal/injected.js.map +1 -1
  149. package/dist/esm/internal/insertPreviewRoutes.js.map +1 -1
  150. package/dist/esm/internal/interfaces.js.map +1 -1
  151. package/dist/esm/internal/matchPath.js.map +1 -1
  152. package/dist/esm/internal/matchRoutes.js.map +1 -1
  153. package/dist/esm/internal/matchStoryboard.js.map +1 -1
  154. package/dist/esm/internal/mediaQuery.js.map +1 -1
  155. package/dist/esm/internal/mount.js.map +1 -1
  156. package/dist/esm/internal/poll.js.map +1 -1
  157. package/dist/esm/internal/proxyFactories.js.map +1 -1
  158. package/dist/esm/internal/registerAppI18n.js.map +1 -1
  159. package/dist/esm/internal/registerCustomTemplates.js.map +1 -1
  160. package/dist/esm/internal/secret_internals.js.map +1 -1
  161. package/dist/esm/internal/setupRootRuntimeContext.js.map +1 -1
  162. package/dist/esm/internal/test_only.js.map +1 -1
  163. package/dist/esm/isStrictMode.js.map +1 -1
  164. package/dist/esm/setAppVariable.js.map +1 -1
  165. package/dist/esm/setLoginStateCookie.js.map +1 -1
  166. package/dist/esm/setUIVersion.js.map +1 -1
  167. package/dist/esm/setWatermark.js.map +1 -1
  168. package/dist/esm/themeAndMode.js.map +1 -1
  169. package/dist/types/tsdoc-metadata.json +1 -1
  170. package/package.json +13 -13
@@ -1 +1 @@
1
- {"version":3,"file":"bindListeners.js","names":["isEvaluable","isObject","checkIf","computeRealValue","getHistory","getProviderBrick","startPoll","isPreEvaluated","setProperties","applyMode","applyTheme","getTplHostElement","getTplStateStore","handleHttpError","httpErrorToString","Notification","getFormStateStore","hooks","bindListeners","brick","eventsMap","runtimeContext","Object","entries","forEach","_ref","eventType","handlers","listener","listenerFactory","element","addEventListener","$$listeners","push","$$eventListeners","handler","concat","unbindListeners","removeEventListener","length","isBuiltinHandler","action","isUseProviderHandler","useProvider","isCustomHandler","target","targetRef","method","properties","isExecuteCustomHandler","isSetPropsCustomHandler","isConditionalEventHandler","then","runtimeBrick","event","_handler$batch","_handler$batch2","_objectSpread","else","object","split","handleHistoryAction","args","callback","handleWindowAction","handleLocationAction","handleStorageAction","preventDefault","stopPropagation","handleConsoleAction","handleMessageAction","detail","handleContextAction","batch","handleTplStateAction","type","init","argsFactory","tplHostElement","dispatchEvent","CustomEvent","handleFormStateAction","handleMessageDispatcher","theme","console","error","handleUseProviderAction","handleCustomAction","_x","_x2","_x3","_x4","_handleUseProviderAction","apply","arguments","_asyncToGenerator","providerBrick","brickCallback","targets","rawTarget","rawTargetRef","computedTarget","multiple","Array","from","document","querySelectorAll","found","querySelector","HTMLElement","computedTargetRef","targetRefs","join","map","ref","_tplHostElement$$$get","$$getElementByRef","call","filter","Boolean","useEventAsDefault","_x5","_x6","_x7","_x8","_x9","_x10","_x11","_brickCallback","options","task","_ref2","_hooks$flowApi","computedArgs","flowApi","isFlowApiProvider","getArgsOfFlowApi","callbackFactory","eventCallbackFactory","pollableCallback","progress","success","finally","_handler$poll","pollRuntimeContext","pollEnabled","poll","enabled","result","err","baseArgsLength","hasCallback","overrideMethod","useEventDetailAsDefault","undefined","blocked","url","features","window","open","batchUpdate","store","updateValues","arg","name","value","updateValue","isBatch","isArray","every","ctxStore","tplStateStore","JSON","stringify","formStateStore","location","assign","storage","localStorage","sessionStorage","setItem","removeItem","show","message","_x12","_x13","_x14","_x15","_x16","_x17","_handleMessageDispatcher","_hooks$messageDispatc","messageDispatcher"],"sources":["../../../src/internal/bindListeners.ts"],"sourcesContent":["import type {\n BrickEventHandler,\n BrickEventHandlerCallback,\n BrickEventsMap,\n BuiltinBrickEventHandler,\n CustomBrickEventHandler,\n ExecuteCustomBrickEventHandler,\n ProviderPollOptions,\n SetPropsCustomBrickEventHandler,\n SiteTheme,\n UseProviderEventHandler,\n ConditionalEventHandler,\n BatchUpdateContextItem,\n} from \"@next-core/types\";\nimport { isEvaluable } from \"@next-core/cook\";\nimport { isObject } from \"@next-core/utils/general\";\nimport { checkIf } from \"./compute/checkIf.js\";\nimport { computeRealValue } from \"./compute/computeRealValue.js\";\nimport { getHistory } from \"../history.js\";\nimport { getProviderBrick } from \"./data/getProviderBrick.js\";\nimport { PollableCallback, startPoll } from \"./poll.js\";\nimport { isPreEvaluated } from \"./compute/evaluate.js\";\nimport { setProperties } from \"./compute/setProperties.js\";\nimport { applyMode, applyTheme } from \"../themeAndMode.js\";\nimport type {\n ElementHolder,\n RuntimeBrickElement,\n RuntimeContext,\n} from \"./interfaces.js\";\nimport {\n getTplHostElement,\n getTplStateStore,\n} from \"./CustomTemplates/utils.js\";\nimport { handleHttpError, httpErrorToString } from \"../handleHttpError.js\";\nimport { Notification } from \"../Notification.js\";\nimport { getFormStateStore } from \"./FormRenderer/utils.js\";\nimport { DataStore } from \"./data/DataStore.js\";\nimport { hooks } from \"./Runtime.js\";\n\nexport function bindListeners(\n brick: RuntimeBrickElement,\n eventsMap: BrickEventsMap | undefined,\n runtimeContext: RuntimeContext\n): void {\n if (!eventsMap) {\n return;\n }\n Object.entries(eventsMap).forEach(([eventType, handlers]) => {\n const listener = listenerFactory(handlers, runtimeContext, {\n element: brick,\n });\n brick.addEventListener(eventType, listener);\n\n // Remember added listeners for unbinding.\n if (!brick.$$listeners) {\n brick.$$listeners = [];\n }\n brick.$$listeners.push([eventType, listener]);\n\n // Remember added listeners for devtools.\n if (!brick.$$eventListeners) {\n brick.$$eventListeners = [];\n }\n for (const handler of ([] as BrickEventHandler[]).concat(handlers)) {\n brick.$$eventListeners.push([eventType, null, handler]);\n }\n });\n}\n\nexport function unbindListeners(brick: RuntimeBrickElement): void {\n if (brick.$$listeners) {\n for (const [eventType, listener] of brick.$$listeners) {\n brick.removeEventListener(eventType, listener);\n }\n brick.$$listeners.length = 0;\n }\n}\n\nexport function isBuiltinHandler(\n handler: BrickEventHandler\n): handler is BuiltinBrickEventHandler {\n return typeof (handler as BuiltinBrickEventHandler).action === \"string\";\n}\n\nexport function isUseProviderHandler(\n handler: BrickEventHandler\n): handler is UseProviderEventHandler {\n return typeof (handler as UseProviderEventHandler).useProvider === \"string\";\n}\n\nexport function isCustomHandler(\n handler: BrickEventHandler\n): handler is CustomBrickEventHandler {\n return !!(\n ((handler as CustomBrickEventHandler).target ||\n (handler as CustomBrickEventHandler).targetRef) &&\n ((handler as ExecuteCustomBrickEventHandler).method ||\n (handler as SetPropsCustomBrickEventHandler).properties)\n );\n}\n\nexport function isExecuteCustomHandler(\n handler: CustomBrickEventHandler\n): handler is ExecuteCustomBrickEventHandler {\n return !!(handler as ExecuteCustomBrickEventHandler).method;\n}\n\nexport function isSetPropsCustomHandler(\n handler: CustomBrickEventHandler\n): handler is SetPropsCustomBrickEventHandler {\n return !!(handler as SetPropsCustomBrickEventHandler).properties;\n}\n\nexport function isConditionalEventHandler(\n handler: BrickEventHandler\n): handler is ConditionalEventHandler {\n return !!(handler as ConditionalEventHandler).then;\n}\n\nexport function listenerFactory(\n handlers: BrickEventHandler | BrickEventHandler[],\n runtimeContext: RuntimeContext,\n runtimeBrick?: ElementHolder\n) {\n return function (event: Event): void {\n for (const handler of ([] as BrickEventHandler[]).concat(handlers)) {\n if (!checkIf(handler, { ...runtimeContext, event })) {\n if (handler.else) {\n listenerFactory(handler.else, runtimeContext, runtimeBrick)(event);\n }\n continue;\n }\n\n if (isConditionalEventHandler(handler)) {\n listenerFactory(handler.then, runtimeContext, runtimeBrick)(event);\n } else if (isBuiltinHandler(handler)) {\n const [object, method] = handler.action.split(\".\") as any;\n switch (handler.action) {\n case \"history.push\":\n case \"history.replace\":\n case \"history.pushQuery\":\n case \"history.replaceQuery\":\n case \"history.pushAnchor\":\n case \"history.block\":\n case \"history.goBack\":\n case \"history.goForward\":\n case \"history.reload\":\n case \"history.unblock\":\n handleHistoryAction(\n event,\n method,\n handler.args,\n handler.callback,\n runtimeContext\n );\n break;\n\n // case \"segue.push\":\n // case \"segue.replace\":\n // case \"alias.push\":\n // case \"alias.replace\":\n\n case \"window.open\":\n handleWindowAction(event, handler.args, runtimeContext);\n break;\n\n case \"location.reload\":\n case \"location.assign\":\n handleLocationAction(event, method, handler.args, runtimeContext);\n break;\n\n case \"localStorage.setItem\":\n case \"localStorage.removeItem\":\n case \"sessionStorage.setItem\":\n case \"sessionStorage.removeItem\":\n handleStorageAction(\n event,\n object,\n method,\n handler.args,\n runtimeContext\n );\n break;\n\n case \"event.preventDefault\":\n event.preventDefault();\n break;\n case \"event.stopPropagation\":\n event.stopPropagation();\n break;\n\n case \"console.log\":\n case \"console.error\":\n case \"console.warn\":\n case \"console.info\":\n handleConsoleAction(event, method, handler.args, runtimeContext);\n break;\n\n case \"message.success\":\n case \"message.error\":\n case \"message.info\":\n case \"message.warn\":\n handleMessageAction(event, method, handler.args, runtimeContext);\n break;\n\n case \"handleHttpError\":\n handleHttpError((event as CustomEvent).detail);\n break;\n\n case \"context.assign\":\n case \"context.replace\":\n case \"context.refresh\":\n case \"context.load\":\n handleContextAction(\n event,\n method,\n handler.args,\n handler.batch ?? true,\n handler.callback,\n runtimeContext\n );\n break;\n\n case \"state.update\":\n case \"state.refresh\":\n case \"state.load\":\n handleTplStateAction(\n event,\n method,\n handler.args,\n handler.batch ?? true,\n handler.callback,\n runtimeContext\n );\n break;\n\n case \"tpl.dispatchEvent\": {\n const [type, init] = argsFactory(\n handler.args,\n runtimeContext,\n event\n ) as [string, CustomEventInit];\n const tplHostElement = getTplHostElement(\n runtimeContext,\n handler.action,\n `: ${type}`\n );\n tplHostElement.dispatchEvent(new CustomEvent(type, init));\n break;\n }\n\n case \"formstate.update\":\n handleFormStateAction(\n event,\n handler.args,\n handler.callback,\n runtimeContext\n );\n break;\n\n case \"message.subscribe\":\n case \"message.unsubscribe\":\n handleMessageDispatcher(\n event,\n method,\n handler.args,\n runtimeContext,\n runtimeBrick,\n handler.callback\n );\n break;\n\n case \"theme.setDarkTheme\":\n case \"theme.setLightTheme\":\n applyTheme(\n handler.action === \"theme.setDarkTheme\" ? \"dark\" : \"light\"\n );\n break;\n case \"theme.setTheme\": {\n const [theme] = argsFactory(handler.args, runtimeContext, event);\n applyTheme(theme as SiteTheme);\n break;\n }\n case \"mode.setDashboardMode\":\n case \"mode.setDefaultMode\":\n applyMode(\n handler.action === \"mode.setDashboardMode\"\n ? \"dashboard\"\n : \"default\"\n );\n break;\n\n // case \"menu.clearMenuTitleCache\":\n // case \"menu.clearMenuCache\":\n\n // case \"analytics.event\":\n\n // case \"preview.debug\":\n\n default:\n // eslint-disable-next-line no-console\n console.error(\"unknown event listener action:\", handler.action);\n }\n } else if (isUseProviderHandler(handler)) {\n handleUseProviderAction(event, handler, runtimeContext, runtimeBrick);\n } else if (isCustomHandler(handler)) {\n handleCustomAction(event, handler, runtimeContext, runtimeBrick!);\n } else {\n // eslint-disable-next-line no-console\n console.error(\"unknown event handler:\", handler);\n }\n }\n };\n}\n\nasync function handleUseProviderAction(\n event: Event,\n handler: UseProviderEventHandler,\n runtimeContext: RuntimeContext,\n runtimeBrick?: ElementHolder\n) {\n try {\n const providerBrick = await getProviderBrick(handler.useProvider);\n const method = handler.method !== \"saveAs\" ? \"resolve\" : \"saveAs\";\n brickCallback(\n event,\n providerBrick,\n handler,\n method,\n runtimeContext,\n runtimeBrick\n );\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(httpErrorToString(error));\n }\n}\n\nfunction handleCustomAction(\n event: Event,\n handler: CustomBrickEventHandler,\n runtimeContext: RuntimeContext,\n runtimeBrick: ElementHolder\n) {\n let targets: HTMLElement[] = [];\n const rawTarget = handler.target;\n const rawTargetRef = handler.targetRef;\n let computedTarget = rawTarget;\n // Allow `target` to be set as evaluable string.\n if (\n typeof rawTarget === \"string\"\n ? isEvaluable(rawTarget)\n : isPreEvaluated(rawTarget)\n ) {\n computedTarget = computeRealValue(rawTarget, { ...runtimeContext, event });\n }\n if (typeof computedTarget === \"string\") {\n if (computedTarget === \"_self\") {\n targets.push(runtimeBrick.element!);\n } else if (handler.multiple) {\n targets = Array.from(document.querySelectorAll(computedTarget));\n } else {\n const found = document.querySelector(computedTarget) as HTMLElement;\n if (found !== null) {\n targets.push(found);\n }\n }\n } else if (computedTarget) {\n if (computedTarget instanceof HTMLElement) {\n targets.push(computedTarget as HTMLElement);\n } else {\n // eslint-disable-next-line no-console\n console.error(\"unexpected target:\", computedTarget);\n }\n } else if (rawTargetRef) {\n let computedTargetRef = rawTargetRef;\n // Allow `targetRef` to be set as evaluable string.\n if (\n typeof rawTargetRef === \"string\"\n ? isEvaluable(rawTargetRef)\n : isPreEvaluated(rawTargetRef)\n ) {\n computedTargetRef = computeRealValue(rawTargetRef, {\n ...runtimeContext,\n event,\n }) as string | string[];\n }\n const targetRefs = ([] as string[]).concat(computedTargetRef);\n const tplHostElement = getTplHostElement(\n runtimeContext,\n \"targetRef\",\n `: ${targetRefs.join(\", \")}`\n );\n targets.push(\n ...(targetRefs\n .map((ref) => tplHostElement.$$getElementByRef?.(ref))\n .filter(Boolean) as HTMLElement[])\n );\n }\n if (targets.length === 0) {\n // eslint-disable-next-line no-console\n console.error(\"target not found:\", rawTarget || rawTargetRef);\n return;\n }\n if (isExecuteCustomHandler(handler)) {\n targets.forEach((target) => {\n brickCallback(\n event,\n target,\n handler,\n handler.method,\n runtimeContext,\n runtimeBrick,\n {\n useEventAsDefault: true,\n }\n );\n });\n } else if (isSetPropsCustomHandler(handler)) {\n setProperties(targets, handler.properties, {\n ...runtimeContext,\n event,\n });\n }\n}\n\nasync function brickCallback(\n event: Event,\n target: HTMLElement,\n handler: ExecuteCustomBrickEventHandler | UseProviderEventHandler,\n method: string,\n runtimeContext: RuntimeContext,\n runtimeBrick?: ElementHolder,\n options?: ArgsFactoryOptions\n): Promise<void> {\n if (typeof (target as any)[method] !== \"function\") {\n // eslint-disable-next-line no-console\n console.error(\"target has no method:\", {\n target,\n method: method,\n });\n return;\n }\n\n const task = async (): Promise<unknown> => {\n let computedArgs = argsFactory(\n handler.args,\n runtimeContext,\n event,\n options\n );\n if (\n isUseProviderHandler(handler) &&\n hooks?.flowApi?.isFlowApiProvider(handler.useProvider)\n ) {\n computedArgs = await hooks.flowApi.getArgsOfFlowApi(\n handler.useProvider,\n computedArgs,\n method\n );\n }\n return (target as any)[method](...computedArgs);\n };\n\n if (!handler.callback) {\n task();\n return;\n }\n\n const callbackFactory = eventCallbackFactory(\n handler.callback,\n runtimeContext,\n runtimeBrick\n );\n\n const pollableCallback: Required<PollableCallback> = {\n progress: callbackFactory(\"progress\"),\n success: callbackFactory(\"success\"),\n error: callbackFactory(\"error\"),\n finally: callbackFactory(\"finally\"),\n };\n\n if (isUseProviderHandler(handler)) {\n const pollRuntimeContext = {\n ...runtimeContext,\n event,\n };\n const pollEnabled = computeRealValue(\n handler.poll?.enabled,\n pollRuntimeContext\n ) as boolean | undefined;\n\n if (pollEnabled) {\n startPoll(\n task,\n pollableCallback,\n handler.poll as ProviderPollOptions,\n pollRuntimeContext\n );\n\n return;\n }\n }\n\n try {\n // Try to catch synchronized tasks too.\n const result = await task();\n pollableCallback.success(result);\n } catch (err) {\n pollableCallback.error(err);\n } finally {\n pollableCallback[\"finally\"]();\n }\n}\n\nfunction handleHistoryAction(\n event: Event,\n method:\n | \"push\"\n | \"replace\"\n | \"pushQuery\"\n | \"replaceQuery\"\n | \"pushAnchor\"\n | \"block\"\n | \"goBack\"\n | \"goForward\"\n | \"reload\"\n | \"unblock\",\n args: unknown[] | undefined,\n callback: BrickEventHandlerCallback | undefined,\n runtimeContext: RuntimeContext\n) {\n let baseArgsLength = 0;\n let hasCallback = false;\n let overrideMethod = method as \"setBlockMessage\";\n switch (method) {\n case \"push\":\n case \"replace\":\n case \"pushQuery\":\n case \"replaceQuery\":\n case \"pushAnchor\":\n baseArgsLength = 2;\n hasCallback = true;\n break;\n case \"reload\":\n hasCallback = true;\n break;\n case \"block\":\n baseArgsLength = 1;\n overrideMethod = \"setBlockMessage\";\n break;\n }\n let computedArgs: unknown[] = [];\n if (baseArgsLength > 0) {\n computedArgs = argsFactory(args, runtimeContext, event, {\n useEventDetailAsDefault: true,\n });\n computedArgs.length = baseArgsLength;\n }\n if (hasCallback && callback) {\n const callbackFactory = eventCallbackFactory(\n callback,\n runtimeContext,\n undefined\n );\n computedArgs.push((blocked: boolean) => {\n callbackFactory(blocked ? \"error\" : \"success\")({ blocked });\n callbackFactory(\"finally\")({ blocked });\n });\n }\n (getHistory()[overrideMethod] as (...args: unknown[]) => unknown)(\n ...computedArgs\n );\n}\n\nfunction handleWindowAction(\n event: Event,\n args: unknown[] | undefined,\n runtimeContext: RuntimeContext\n) {\n const [url, target, features] = argsFactory(args, runtimeContext, event) as [\n string,\n string,\n string,\n ];\n window.open(url, target || \"_self\", features);\n}\n\nfunction batchUpdate(\n args: unknown[],\n batch: boolean,\n method: \"replace\" | \"assign\",\n store: DataStore<\"CTX\" | \"STATE\">,\n runtimeContext: RuntimeContext,\n event: CustomEvent | Event\n): void {\n if (batch) {\n store.updateValues(\n args as BatchUpdateContextItem[],\n method,\n (arg: unknown[]) => {\n return argsFactory(\n arg,\n runtimeContext,\n event\n )[0] as BatchUpdateContextItem;\n }\n );\n } else {\n args.forEach((arg) => {\n const { name, value } = argsFactory(\n [arg],\n runtimeContext,\n event\n )[0] as BatchUpdateContextItem;\n store.updateValue(name, value, method);\n });\n }\n}\n\nfunction handleContextAction(\n event: Event,\n method: \"assign\" | \"replace\",\n args: unknown[] | undefined,\n batch: boolean,\n callback: BrickEventHandlerCallback | undefined,\n runtimeContext: RuntimeContext\n) {\n const isBatch = Array.isArray(args) && args.every(isObject);\n if (isBatch && (method === \"assign\" || method === \"replace\")) {\n batchUpdate(\n args,\n batch,\n method,\n runtimeContext.ctxStore,\n runtimeContext,\n event\n );\n } else {\n const [name, value] = argsFactory(args, runtimeContext, event);\n runtimeContext.ctxStore.updateValue(\n name as string,\n value,\n method,\n callback,\n runtimeContext\n );\n }\n}\n\nfunction handleTplStateAction(\n event: Event,\n method: \"update\" | \"refresh\" | \"load\",\n args: unknown[] | undefined,\n batch: boolean,\n callback: BrickEventHandlerCallback | undefined,\n runtimeContext: RuntimeContext\n) {\n const isBatch = Array.isArray(args) && args.every(isObject);\n if (isBatch && method === \"update\") {\n const tplStateStore = getTplStateStore(\n runtimeContext,\n `state.${method}`,\n `: ${JSON.stringify(args)}`\n );\n batchUpdate(args, batch, \"replace\", tplStateStore, runtimeContext, event);\n } else {\n const [name, value] = argsFactory(args, runtimeContext, event);\n const tplStateStore = getTplStateStore(\n runtimeContext,\n `state.${method}`,\n `: ${name}`\n );\n tplStateStore.updateValue(\n name as string,\n value,\n method === \"update\" ? \"replace\" : method,\n callback,\n runtimeContext\n );\n }\n}\n\nfunction handleFormStateAction(\n event: Event,\n args: unknown[] | undefined,\n callback: BrickEventHandlerCallback | undefined,\n runtimeContext: RuntimeContext\n) {\n const [name, value] = argsFactory(args, runtimeContext, event);\n const formStateStore = getFormStateStore(\n runtimeContext,\n \"formstate.update\",\n `: ${name}`\n );\n formStateStore.updateValue(\n name as string,\n value,\n \"replace\",\n callback,\n runtimeContext\n );\n}\n\nfunction handleLocationAction(\n event: Event,\n method: \"assign\" | \"reload\",\n args: unknown[] | undefined,\n runtimeContext: RuntimeContext\n) {\n if (method === \"assign\") {\n const [url] = argsFactory(args, runtimeContext, event) as [string];\n location.assign(url);\n } else {\n location[method]();\n }\n}\n\nfunction handleStorageAction(\n event: Event,\n object: \"localStorage\" | \"sessionStorage\",\n method: \"setItem\" | \"removeItem\",\n args: unknown[] | undefined,\n runtimeContext: RuntimeContext\n) {\n const storage = object === \"localStorage\" ? localStorage : sessionStorage;\n const [name, value] = argsFactory(args, runtimeContext, event);\n if (method === \"setItem\") {\n if (value !== undefined) {\n storage.setItem(name as string, JSON.stringify(value));\n }\n } else {\n storage.removeItem(name as string);\n }\n}\n\nfunction handleConsoleAction(\n event: Event,\n method: \"log\" | \"error\" | \"warn\" | \"info\",\n args: unknown[] | undefined,\n runtimeContext: RuntimeContext\n) {\n // eslint-disable-next-line no-console\n console[method](\n ...argsFactory(args, runtimeContext, event, {\n useEventAsDefault: true,\n })\n );\n}\n\nfunction handleMessageAction(\n event: Event,\n method: \"success\" | \"error\" | \"info\" | \"warn\",\n args: unknown[] | undefined,\n runtimeContext: RuntimeContext\n) {\n const computedArgs = argsFactory(args, runtimeContext, event, {\n useEventAsDefault: true,\n });\n Notification.show({\n type: method,\n message: computedArgs[0] as string,\n });\n}\n\nasync function handleMessageDispatcher(\n event: Event,\n method: \"subscribe\" | \"unsubscribe\",\n args: unknown[] | undefined,\n runtimeContext: RuntimeContext,\n runtimeBrick?: ElementHolder,\n callback?: BrickEventHandlerCallback\n) {\n const task = () => {\n const computedArgs = argsFactory(args, runtimeContext, event);\n return hooks?.messageDispatcher?.[method](...computedArgs);\n };\n if (!callback) {\n task();\n return;\n }\n const callbackFactory = eventCallbackFactory(\n callback,\n runtimeContext,\n runtimeBrick\n );\n try {\n const result = await task();\n callbackFactory(\"success\")(result);\n } catch (error) {\n callbackFactory(\"error\")(error);\n } finally {\n callbackFactory(\"finally\")();\n }\n}\n\nexport function eventCallbackFactory(\n callback: BrickEventHandlerCallback,\n runtimeContext: RuntimeContext,\n runtimeBrick?: ElementHolder\n) {\n return function callbackFactory(\n type: \"success\" | \"error\" | \"finally\" | \"progress\"\n ) {\n return function (result?: unknown) {\n const handlers = callback?.[type];\n if (handlers) {\n try {\n const event = new CustomEvent(`callback.${type}`, {\n detail: result,\n });\n listenerFactory(handlers, runtimeContext, runtimeBrick)(event);\n } catch (err) {\n // Do not throw errors in `callback.success` or `callback.progress`,\n // to avoid the following triggering of `callback.error`.\n // eslint-disable-next-line\n console.error(err);\n }\n } else if (type === \"error\") {\n // eslint-disable-next-line\n console.error(\"Unhandled callback error:\", result);\n }\n };\n };\n}\n\ninterface ArgsFactoryOptions {\n useEventAsDefault?: boolean;\n useEventDetailAsDefault?: boolean;\n}\n\nfunction argsFactory(\n args: unknown[] | undefined,\n runtimeContext: RuntimeContext,\n event: Event,\n options: ArgsFactoryOptions = {}\n): unknown[] {\n return Array.isArray(args)\n ? (computeRealValue(args, {\n ...runtimeContext,\n event,\n }) as unknown[])\n : options.useEventAsDefault\n ? [event]\n : options.useEventDetailAsDefault\n ? [(event as CustomEvent).detail]\n : [];\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"bindListeners.js","names":["isEvaluable","isObject","checkIf","computeRealValue","getHistory","getProviderBrick","startPoll","isPreEvaluated","setProperties","applyMode","applyTheme","getTplHostElement","getTplStateStore","handleHttpError","httpErrorToString","Notification","getFormStateStore","hooks","bindListeners","brick","eventsMap","runtimeContext","Object","entries","forEach","_ref","eventType","handlers","listener","listenerFactory","element","addEventListener","$$listeners","push","$$eventListeners","handler","concat","unbindListeners","removeEventListener","length","isBuiltinHandler","action","isUseProviderHandler","useProvider","isCustomHandler","target","targetRef","method","properties","isExecuteCustomHandler","isSetPropsCustomHandler","isConditionalEventHandler","then","runtimeBrick","event","_handler$batch","_handler$batch2","_objectSpread","else","object","split","handleHistoryAction","args","callback","handleWindowAction","handleLocationAction","handleStorageAction","preventDefault","stopPropagation","handleConsoleAction","handleMessageAction","detail","handleContextAction","batch","handleTplStateAction","type","init","argsFactory","tplHostElement","dispatchEvent","CustomEvent","handleFormStateAction","handleMessageDispatcher","theme","console","error","handleUseProviderAction","handleCustomAction","_x","_x2","_x3","_x4","_handleUseProviderAction","apply","arguments","_asyncToGenerator","providerBrick","brickCallback","targets","rawTarget","rawTargetRef","computedTarget","multiple","Array","from","document","querySelectorAll","found","querySelector","HTMLElement","computedTargetRef","targetRefs","join","map","ref","_tplHostElement$$$get","$$getElementByRef","call","filter","Boolean","useEventAsDefault","_x5","_x6","_x7","_x8","_x9","_x10","_x11","_brickCallback","options","task","_ref2","_hooks$flowApi","computedArgs","flowApi","isFlowApiProvider","getArgsOfFlowApi","callbackFactory","eventCallbackFactory","pollableCallback","progress","success","finally","_handler$poll","pollRuntimeContext","pollEnabled","poll","enabled","result","err","baseArgsLength","hasCallback","overrideMethod","useEventDetailAsDefault","undefined","blocked","url","features","window","open","batchUpdate","store","updateValues","arg","name","value","updateValue","isBatch","isArray","every","ctxStore","tplStateStore","JSON","stringify","formStateStore","location","assign","storage","localStorage","sessionStorage","setItem","removeItem","show","message","_x12","_x13","_x14","_x15","_x16","_x17","_handleMessageDispatcher","_hooks$messageDispatc","messageDispatcher"],"sources":["../../../src/internal/bindListeners.ts"],"sourcesContent":["import type {\n BrickEventHandler,\n BrickEventHandlerCallback,\n BrickEventsMap,\n BuiltinBrickEventHandler,\n CustomBrickEventHandler,\n ExecuteCustomBrickEventHandler,\n ProviderPollOptions,\n SetPropsCustomBrickEventHandler,\n SiteTheme,\n UseProviderEventHandler,\n ConditionalEventHandler,\n BatchUpdateContextItem,\n} from \"@next-core/types\";\nimport { isEvaluable } from \"@next-core/cook\";\nimport { isObject } from \"@next-core/utils/general\";\nimport { checkIf } from \"./compute/checkIf.js\";\nimport { computeRealValue } from \"./compute/computeRealValue.js\";\nimport { getHistory } from \"../history.js\";\nimport { getProviderBrick } from \"./data/getProviderBrick.js\";\nimport { PollableCallback, startPoll } from \"./poll.js\";\nimport { isPreEvaluated } from \"./compute/evaluate.js\";\nimport { setProperties } from \"./compute/setProperties.js\";\nimport { applyMode, applyTheme } from \"../themeAndMode.js\";\nimport type {\n ElementHolder,\n RuntimeBrickElement,\n RuntimeContext,\n} from \"./interfaces.js\";\nimport {\n getTplHostElement,\n getTplStateStore,\n} from \"./CustomTemplates/utils.js\";\nimport { handleHttpError, httpErrorToString } from \"../handleHttpError.js\";\nimport { Notification } from \"../Notification.js\";\nimport { getFormStateStore } from \"./FormRenderer/utils.js\";\nimport { DataStore } from \"./data/DataStore.js\";\nimport { hooks } from \"./Runtime.js\";\n\nexport function bindListeners(\n brick: RuntimeBrickElement,\n eventsMap: BrickEventsMap | undefined,\n runtimeContext: RuntimeContext\n): void {\n if (!eventsMap) {\n return;\n }\n Object.entries(eventsMap).forEach(([eventType, handlers]) => {\n const listener = listenerFactory(handlers, runtimeContext, {\n element: brick,\n });\n brick.addEventListener(eventType, listener);\n\n // Remember added listeners for unbinding.\n if (!brick.$$listeners) {\n brick.$$listeners = [];\n }\n brick.$$listeners.push([eventType, listener]);\n\n // Remember added listeners for devtools.\n if (!brick.$$eventListeners) {\n brick.$$eventListeners = [];\n }\n for (const handler of ([] as BrickEventHandler[]).concat(handlers)) {\n brick.$$eventListeners.push([eventType, null, handler]);\n }\n });\n}\n\nexport function unbindListeners(brick: RuntimeBrickElement): void {\n if (brick.$$listeners) {\n for (const [eventType, listener] of brick.$$listeners) {\n brick.removeEventListener(eventType, listener);\n }\n brick.$$listeners.length = 0;\n }\n}\n\nexport function isBuiltinHandler(\n handler: BrickEventHandler\n): handler is BuiltinBrickEventHandler {\n return typeof (handler as BuiltinBrickEventHandler).action === \"string\";\n}\n\nexport function isUseProviderHandler(\n handler: BrickEventHandler\n): handler is UseProviderEventHandler {\n return typeof (handler as UseProviderEventHandler).useProvider === \"string\";\n}\n\nexport function isCustomHandler(\n handler: BrickEventHandler\n): handler is CustomBrickEventHandler {\n return !!(\n ((handler as CustomBrickEventHandler).target ||\n (handler as CustomBrickEventHandler).targetRef) &&\n ((handler as ExecuteCustomBrickEventHandler).method ||\n (handler as SetPropsCustomBrickEventHandler).properties)\n );\n}\n\nexport function isExecuteCustomHandler(\n handler: CustomBrickEventHandler\n): handler is ExecuteCustomBrickEventHandler {\n return !!(handler as ExecuteCustomBrickEventHandler).method;\n}\n\nexport function isSetPropsCustomHandler(\n handler: CustomBrickEventHandler\n): handler is SetPropsCustomBrickEventHandler {\n return !!(handler as SetPropsCustomBrickEventHandler).properties;\n}\n\nexport function isConditionalEventHandler(\n handler: BrickEventHandler\n): handler is ConditionalEventHandler {\n return !!(handler as ConditionalEventHandler).then;\n}\n\nexport function listenerFactory(\n handlers: BrickEventHandler | BrickEventHandler[],\n runtimeContext: RuntimeContext,\n runtimeBrick?: ElementHolder\n) {\n return function (event: Event): void {\n for (const handler of ([] as BrickEventHandler[]).concat(handlers)) {\n if (!checkIf(handler, { ...runtimeContext, event })) {\n if (handler.else) {\n listenerFactory(handler.else, runtimeContext, runtimeBrick)(event);\n }\n continue;\n }\n\n if (isConditionalEventHandler(handler)) {\n listenerFactory(handler.then, runtimeContext, runtimeBrick)(event);\n } else if (isBuiltinHandler(handler)) {\n const [object, method] = handler.action.split(\".\") as any;\n switch (handler.action) {\n case \"history.push\":\n case \"history.replace\":\n case \"history.pushQuery\":\n case \"history.replaceQuery\":\n case \"history.pushAnchor\":\n case \"history.block\":\n case \"history.goBack\":\n case \"history.goForward\":\n case \"history.reload\":\n case \"history.unblock\":\n handleHistoryAction(\n event,\n method,\n handler.args,\n handler.callback,\n runtimeContext\n );\n break;\n\n // case \"segue.push\":\n // case \"segue.replace\":\n // case \"alias.push\":\n // case \"alias.replace\":\n\n case \"window.open\":\n handleWindowAction(event, handler.args, runtimeContext);\n break;\n\n case \"location.reload\":\n case \"location.assign\":\n handleLocationAction(event, method, handler.args, runtimeContext);\n break;\n\n case \"localStorage.setItem\":\n case \"localStorage.removeItem\":\n case \"sessionStorage.setItem\":\n case \"sessionStorage.removeItem\":\n handleStorageAction(\n event,\n object,\n method,\n handler.args,\n runtimeContext\n );\n break;\n\n case \"event.preventDefault\":\n event.preventDefault();\n break;\n case \"event.stopPropagation\":\n event.stopPropagation();\n break;\n\n case \"console.log\":\n case \"console.error\":\n case \"console.warn\":\n case \"console.info\":\n handleConsoleAction(event, method, handler.args, runtimeContext);\n break;\n\n case \"message.success\":\n case \"message.error\":\n case \"message.info\":\n case \"message.warn\":\n handleMessageAction(event, method, handler.args, runtimeContext);\n break;\n\n case \"handleHttpError\":\n handleHttpError((event as CustomEvent).detail);\n break;\n\n case \"context.assign\":\n case \"context.replace\":\n case \"context.refresh\":\n case \"context.load\":\n handleContextAction(\n event,\n method,\n handler.args,\n handler.batch ?? true,\n handler.callback,\n runtimeContext\n );\n break;\n\n case \"state.update\":\n case \"state.refresh\":\n case \"state.load\":\n handleTplStateAction(\n event,\n method,\n handler.args,\n handler.batch ?? true,\n handler.callback,\n runtimeContext\n );\n break;\n\n case \"tpl.dispatchEvent\": {\n const [type, init] = argsFactory(\n handler.args,\n runtimeContext,\n event\n ) as [string, CustomEventInit];\n const tplHostElement = getTplHostElement(\n runtimeContext,\n handler.action,\n `: ${type}`\n );\n tplHostElement.dispatchEvent(new CustomEvent(type, init));\n break;\n }\n\n case \"formstate.update\":\n handleFormStateAction(\n event,\n handler.args,\n handler.callback,\n runtimeContext\n );\n break;\n\n case \"message.subscribe\":\n case \"message.unsubscribe\":\n handleMessageDispatcher(\n event,\n method,\n handler.args,\n runtimeContext,\n runtimeBrick,\n handler.callback\n );\n break;\n\n case \"theme.setDarkTheme\":\n case \"theme.setLightTheme\":\n applyTheme(\n handler.action === \"theme.setDarkTheme\" ? \"dark\" : \"light\"\n );\n break;\n case \"theme.setTheme\": {\n const [theme] = argsFactory(handler.args, runtimeContext, event);\n applyTheme(theme as SiteTheme);\n break;\n }\n case \"mode.setDashboardMode\":\n case \"mode.setDefaultMode\":\n applyMode(\n handler.action === \"mode.setDashboardMode\"\n ? \"dashboard\"\n : \"default\"\n );\n break;\n\n // case \"menu.clearMenuTitleCache\":\n // case \"menu.clearMenuCache\":\n\n // case \"analytics.event\":\n\n // case \"preview.debug\":\n\n default:\n // eslint-disable-next-line no-console\n console.error(\"unknown event listener action:\", handler.action);\n }\n } else if (isUseProviderHandler(handler)) {\n handleUseProviderAction(event, handler, runtimeContext, runtimeBrick);\n } else if (isCustomHandler(handler)) {\n handleCustomAction(event, handler, runtimeContext, runtimeBrick!);\n } else {\n // eslint-disable-next-line no-console\n console.error(\"unknown event handler:\", handler);\n }\n }\n };\n}\n\nasync function handleUseProviderAction(\n event: Event,\n handler: UseProviderEventHandler,\n runtimeContext: RuntimeContext,\n runtimeBrick?: ElementHolder\n) {\n try {\n const providerBrick = await getProviderBrick(handler.useProvider);\n const method = handler.method !== \"saveAs\" ? \"resolve\" : \"saveAs\";\n brickCallback(\n event,\n providerBrick,\n handler,\n method,\n runtimeContext,\n runtimeBrick\n );\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(httpErrorToString(error));\n }\n}\n\nfunction handleCustomAction(\n event: Event,\n handler: CustomBrickEventHandler,\n runtimeContext: RuntimeContext,\n runtimeBrick: ElementHolder\n) {\n let targets: HTMLElement[] = [];\n const rawTarget = handler.target;\n const rawTargetRef = handler.targetRef;\n let computedTarget = rawTarget;\n // Allow `target` to be set as evaluable string.\n if (\n typeof rawTarget === \"string\"\n ? isEvaluable(rawTarget)\n : isPreEvaluated(rawTarget)\n ) {\n computedTarget = computeRealValue(rawTarget, { ...runtimeContext, event });\n }\n if (typeof computedTarget === \"string\") {\n if (computedTarget === \"_self\") {\n targets.push(runtimeBrick.element!);\n } else if (handler.multiple) {\n targets = Array.from(document.querySelectorAll(computedTarget));\n } else {\n const found = document.querySelector(computedTarget) as HTMLElement;\n if (found !== null) {\n targets.push(found);\n }\n }\n } else if (computedTarget) {\n if (computedTarget instanceof HTMLElement) {\n targets.push(computedTarget as HTMLElement);\n } else {\n // eslint-disable-next-line no-console\n console.error(\"unexpected target:\", computedTarget);\n }\n } else if (rawTargetRef) {\n let computedTargetRef = rawTargetRef;\n // Allow `targetRef` to be set as evaluable string.\n if (\n typeof rawTargetRef === \"string\"\n ? isEvaluable(rawTargetRef)\n : isPreEvaluated(rawTargetRef)\n ) {\n computedTargetRef = computeRealValue(rawTargetRef, {\n ...runtimeContext,\n event,\n }) as string | string[];\n }\n const targetRefs = ([] as string[]).concat(computedTargetRef);\n const tplHostElement = getTplHostElement(\n runtimeContext,\n \"targetRef\",\n `: ${targetRefs.join(\", \")}`\n );\n targets.push(\n ...(targetRefs\n .map((ref) => tplHostElement.$$getElementByRef?.(ref))\n .filter(Boolean) as HTMLElement[])\n );\n }\n if (targets.length === 0) {\n // eslint-disable-next-line no-console\n console.error(\"target not found:\", rawTarget || rawTargetRef);\n return;\n }\n if (isExecuteCustomHandler(handler)) {\n targets.forEach((target) => {\n brickCallback(\n event,\n target,\n handler,\n handler.method,\n runtimeContext,\n runtimeBrick,\n {\n useEventAsDefault: true,\n }\n );\n });\n } else if (isSetPropsCustomHandler(handler)) {\n setProperties(targets, handler.properties, {\n ...runtimeContext,\n event,\n });\n }\n}\n\nasync function brickCallback(\n event: Event,\n target: HTMLElement,\n handler: ExecuteCustomBrickEventHandler | UseProviderEventHandler,\n method: string,\n runtimeContext: RuntimeContext,\n runtimeBrick?: ElementHolder,\n options?: ArgsFactoryOptions\n): Promise<void> {\n if (typeof (target as any)[method] !== \"function\") {\n // eslint-disable-next-line no-console\n console.error(\"target has no method:\", {\n target,\n method: method,\n });\n return;\n }\n\n const task = async (): Promise<unknown> => {\n let computedArgs = argsFactory(\n handler.args,\n runtimeContext,\n event,\n options\n );\n if (\n isUseProviderHandler(handler) &&\n hooks?.flowApi?.isFlowApiProvider(handler.useProvider)\n ) {\n computedArgs = await hooks.flowApi.getArgsOfFlowApi(\n handler.useProvider,\n computedArgs,\n method\n );\n }\n return (target as any)[method](...computedArgs);\n };\n\n if (!handler.callback) {\n task();\n return;\n }\n\n const callbackFactory = eventCallbackFactory(\n handler.callback,\n runtimeContext,\n runtimeBrick\n );\n\n const pollableCallback: Required<PollableCallback> = {\n progress: callbackFactory(\"progress\"),\n success: callbackFactory(\"success\"),\n error: callbackFactory(\"error\"),\n finally: callbackFactory(\"finally\"),\n };\n\n if (isUseProviderHandler(handler)) {\n const pollRuntimeContext = {\n ...runtimeContext,\n event,\n };\n const pollEnabled = computeRealValue(\n handler.poll?.enabled,\n pollRuntimeContext\n ) as boolean | undefined;\n\n if (pollEnabled) {\n startPoll(\n task,\n pollableCallback,\n handler.poll as ProviderPollOptions,\n pollRuntimeContext\n );\n\n return;\n }\n }\n\n try {\n // Try to catch synchronized tasks too.\n const result = await task();\n pollableCallback.success(result);\n } catch (err) {\n pollableCallback.error(err);\n } finally {\n pollableCallback[\"finally\"]();\n }\n}\n\nfunction handleHistoryAction(\n event: Event,\n method:\n | \"push\"\n | \"replace\"\n | \"pushQuery\"\n | \"replaceQuery\"\n | \"pushAnchor\"\n | \"block\"\n | \"goBack\"\n | \"goForward\"\n | \"reload\"\n | \"unblock\",\n args: unknown[] | undefined,\n callback: BrickEventHandlerCallback | undefined,\n runtimeContext: RuntimeContext\n) {\n let baseArgsLength = 0;\n let hasCallback = false;\n let overrideMethod = method as \"setBlockMessage\";\n switch (method) {\n case \"push\":\n case \"replace\":\n case \"pushQuery\":\n case \"replaceQuery\":\n case \"pushAnchor\":\n baseArgsLength = 2;\n hasCallback = true;\n break;\n case \"reload\":\n hasCallback = true;\n break;\n case \"block\":\n baseArgsLength = 1;\n overrideMethod = \"setBlockMessage\";\n break;\n }\n let computedArgs: unknown[] = [];\n if (baseArgsLength > 0) {\n computedArgs = argsFactory(args, runtimeContext, event, {\n useEventDetailAsDefault: true,\n });\n computedArgs.length = baseArgsLength;\n }\n if (hasCallback && callback) {\n const callbackFactory = eventCallbackFactory(\n callback,\n runtimeContext,\n undefined\n );\n computedArgs.push((blocked: boolean) => {\n callbackFactory(blocked ? \"error\" : \"success\")({ blocked });\n callbackFactory(\"finally\")({ blocked });\n });\n }\n (getHistory()[overrideMethod] as (...args: unknown[]) => unknown)(\n ...computedArgs\n );\n}\n\nfunction handleWindowAction(\n event: Event,\n args: unknown[] | undefined,\n runtimeContext: RuntimeContext\n) {\n const [url, target, features] = argsFactory(args, runtimeContext, event) as [\n string,\n string,\n string,\n ];\n window.open(url, target || \"_self\", features);\n}\n\nfunction batchUpdate(\n args: unknown[],\n batch: boolean,\n method: \"replace\" | \"assign\",\n store: DataStore<\"CTX\" | \"STATE\">,\n runtimeContext: RuntimeContext,\n event: CustomEvent | Event\n): void {\n if (batch) {\n store.updateValues(\n args as BatchUpdateContextItem[],\n method,\n (arg: unknown[]) => {\n return argsFactory(\n arg,\n runtimeContext,\n event\n )[0] as BatchUpdateContextItem;\n }\n );\n } else {\n args.forEach((arg) => {\n const { name, value } = argsFactory(\n [arg],\n runtimeContext,\n event\n )[0] as BatchUpdateContextItem;\n store.updateValue(name, value, method);\n });\n }\n}\n\nfunction handleContextAction(\n event: Event,\n method: \"assign\" | \"replace\",\n args: unknown[] | undefined,\n batch: boolean,\n callback: BrickEventHandlerCallback | undefined,\n runtimeContext: RuntimeContext\n) {\n const isBatch = Array.isArray(args) && args.every(isObject);\n if (isBatch && (method === \"assign\" || method === \"replace\")) {\n batchUpdate(\n args,\n batch,\n method,\n runtimeContext.ctxStore,\n runtimeContext,\n event\n );\n } else {\n const [name, value] = argsFactory(args, runtimeContext, event);\n runtimeContext.ctxStore.updateValue(\n name as string,\n value,\n method,\n callback,\n runtimeContext\n );\n }\n}\n\nfunction handleTplStateAction(\n event: Event,\n method: \"update\" | \"refresh\" | \"load\",\n args: unknown[] | undefined,\n batch: boolean,\n callback: BrickEventHandlerCallback | undefined,\n runtimeContext: RuntimeContext\n) {\n const isBatch = Array.isArray(args) && args.every(isObject);\n if (isBatch && method === \"update\") {\n const tplStateStore = getTplStateStore(\n runtimeContext,\n `state.${method}`,\n `: ${JSON.stringify(args)}`\n );\n batchUpdate(args, batch, \"replace\", tplStateStore, runtimeContext, event);\n } else {\n const [name, value] = argsFactory(args, runtimeContext, event);\n const tplStateStore = getTplStateStore(\n runtimeContext,\n `state.${method}`,\n `: ${name}`\n );\n tplStateStore.updateValue(\n name as string,\n value,\n method === \"update\" ? \"replace\" : method,\n callback,\n runtimeContext\n );\n }\n}\n\nfunction handleFormStateAction(\n event: Event,\n args: unknown[] | undefined,\n callback: BrickEventHandlerCallback | undefined,\n runtimeContext: RuntimeContext\n) {\n const [name, value] = argsFactory(args, runtimeContext, event);\n const formStateStore = getFormStateStore(\n runtimeContext,\n \"formstate.update\",\n `: ${name}`\n );\n formStateStore.updateValue(\n name as string,\n value,\n \"replace\",\n callback,\n runtimeContext\n );\n}\n\nfunction handleLocationAction(\n event: Event,\n method: \"assign\" | \"reload\",\n args: unknown[] | undefined,\n runtimeContext: RuntimeContext\n) {\n if (method === \"assign\") {\n const [url] = argsFactory(args, runtimeContext, event) as [string];\n location.assign(url);\n } else {\n location[method]();\n }\n}\n\nfunction handleStorageAction(\n event: Event,\n object: \"localStorage\" | \"sessionStorage\",\n method: \"setItem\" | \"removeItem\",\n args: unknown[] | undefined,\n runtimeContext: RuntimeContext\n) {\n const storage = object === \"localStorage\" ? localStorage : sessionStorage;\n const [name, value] = argsFactory(args, runtimeContext, event);\n if (method === \"setItem\") {\n if (value !== undefined) {\n storage.setItem(name as string, JSON.stringify(value));\n }\n } else {\n storage.removeItem(name as string);\n }\n}\n\nfunction handleConsoleAction(\n event: Event,\n method: \"log\" | \"error\" | \"warn\" | \"info\",\n args: unknown[] | undefined,\n runtimeContext: RuntimeContext\n) {\n // eslint-disable-next-line no-console\n console[method](\n ...argsFactory(args, runtimeContext, event, {\n useEventAsDefault: true,\n })\n );\n}\n\nfunction handleMessageAction(\n event: Event,\n method: \"success\" | \"error\" | \"info\" | \"warn\",\n args: unknown[] | undefined,\n runtimeContext: RuntimeContext\n) {\n const computedArgs = argsFactory(args, runtimeContext, event, {\n useEventAsDefault: true,\n });\n Notification.show({\n type: method,\n message: computedArgs[0] as string,\n });\n}\n\nasync function handleMessageDispatcher(\n event: Event,\n method: \"subscribe\" | \"unsubscribe\",\n args: unknown[] | undefined,\n runtimeContext: RuntimeContext,\n runtimeBrick?: ElementHolder,\n callback?: BrickEventHandlerCallback\n) {\n const task = () => {\n const computedArgs = argsFactory(args, runtimeContext, event);\n return hooks?.messageDispatcher?.[method](...computedArgs);\n };\n if (!callback) {\n task();\n return;\n }\n const callbackFactory = eventCallbackFactory(\n callback,\n runtimeContext,\n runtimeBrick\n );\n try {\n const result = await task();\n callbackFactory(\"success\")(result);\n } catch (error) {\n callbackFactory(\"error\")(error);\n } finally {\n callbackFactory(\"finally\")();\n }\n}\n\nexport function eventCallbackFactory(\n callback: BrickEventHandlerCallback,\n runtimeContext: RuntimeContext,\n runtimeBrick?: ElementHolder\n) {\n return function callbackFactory(\n type: \"success\" | \"error\" | \"finally\" | \"progress\"\n ) {\n return function (result?: unknown) {\n const handlers = callback?.[type];\n if (handlers) {\n try {\n const event = new CustomEvent(`callback.${type}`, {\n detail: result,\n });\n listenerFactory(handlers, runtimeContext, runtimeBrick)(event);\n } catch (err) {\n // Do not throw errors in `callback.success` or `callback.progress`,\n // to avoid the following triggering of `callback.error`.\n // eslint-disable-next-line\n console.error(err);\n }\n } else if (type === \"error\") {\n // eslint-disable-next-line\n console.error(\"Unhandled callback error:\", result);\n }\n };\n };\n}\n\ninterface ArgsFactoryOptions {\n useEventAsDefault?: boolean;\n useEventDetailAsDefault?: boolean;\n}\n\nfunction argsFactory(\n args: unknown[] | undefined,\n runtimeContext: RuntimeContext,\n event: Event,\n options: ArgsFactoryOptions = {}\n): unknown[] {\n return Array.isArray(args)\n ? (computeRealValue(args, {\n ...runtimeContext,\n event,\n }) as unknown[])\n : options.useEventAsDefault\n ? [event]\n : options.useEventDetailAsDefault\n ? [(event as CustomEvent).detail]\n : [];\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"StoryboardFunctions.js","names":["StoryboardFunctionRegistryFactory","storyboardFunctions","registerStoryboardFunctions","checkPermissionsUsage"],"sources":["../../../../src/internal/compute/StoryboardFunctions.ts"],"sourcesContent":["import { StoryboardFunctionRegistryFactory } from \"../../StoryboardFunctionRegistry.js\";\n\nexport const {\n storyboardFunctions,\n registerStoryboardFunctions,\n checkPermissionsUsage,\n} = StoryboardFunctionRegistryFactory();\n"],"mappings":"AAAA,SAASA,iCAAiC,QAAQ,qCAAqC;AAEvF,OAAO,IAAM;EACXC,mBAAmB;EACnBC,2BAA2B;EAC3BC;AACF,CAAC,GAAGH,iCAAiC,CAAC,CAAC"}
1
+ {"version":3,"file":"StoryboardFunctions.js","names":["StoryboardFunctionRegistryFactory","storyboardFunctions","registerStoryboardFunctions","checkPermissionsUsage"],"sources":["../../../../src/internal/compute/StoryboardFunctions.ts"],"sourcesContent":["import { StoryboardFunctionRegistryFactory } from \"../../StoryboardFunctionRegistry.js\";\n\nexport const {\n storyboardFunctions,\n registerStoryboardFunctions,\n checkPermissionsUsage,\n} = StoryboardFunctionRegistryFactory();\n"],"mappings":"AAAA,SAASA,iCAAiC,QAAQ,qCAAqC;AAEvF,OAAO,IAAM;EACXC,mBAAmB;EACnBC,2BAA2B;EAC3BC;AACF,CAAC,GAAGH,iCAAiC,CAAC,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"WidgetFunctions.js","names":["StoryboardFunctionRegistryFactory","getV2RuntimeFromDll","widgetFunctionRegistry","Map","widgetFunctions","Proxy","Object","freeze","get","target","key","registerWidgetFunctionsV3","widgetId","functions","widgetVersion","has","Error","concat","storyboardFunctions","registerStoryboardFunctions","set","registerWidgetFunctionsV2Factory","v2Kit","getRuntime","registerWidgetFunctions"],"sources":["../../../../src/internal/compute/WidgetFunctions.ts"],"sourcesContent":["import { StoryboardFunction } from \"@next-core/types\";\nimport {\n ReadonlyStoryboardFunctions,\n StoryboardFunctionRegistryFactory,\n} from \"../../StoryboardFunctionRegistry.js\";\nimport { getV2RuntimeFromDll } from \"../../getV2RuntimeFromDll.js\";\n\nconst widgetFunctionRegistry = new Map<string, ReadonlyStoryboardFunctions>();\n\nexport const widgetFunctions = new Proxy(Object.freeze({}), {\n get(target, key: string) {\n return widgetFunctionRegistry.get(key);\n },\n}) as Readonly<Record<string, ReadonlyStoryboardFunctions>>;\n\nfunction registerWidgetFunctionsV3(\n widgetId: string,\n functions: StoryboardFunction[],\n widgetVersion?: string\n): void {\n if (widgetFunctionRegistry.has(widgetId)) {\n // eslint-disable-next-line no-console\n throw new Error(`Widget functions of \"${widgetId}\" already registered`);\n }\n const { storyboardFunctions, registerStoryboardFunctions } =\n StoryboardFunctionRegistryFactory({ widgetId, widgetVersion });\n widgetFunctionRegistry.set(widgetId, storyboardFunctions);\n registerStoryboardFunctions(functions);\n}\n\n// istanbul ignore next\nfunction registerWidgetFunctionsV2Factory() {\n const v2Kit = getV2RuntimeFromDll();\n if (v2Kit) {\n return function (\n widgetId: string,\n functions: StoryboardFunction[],\n widgetVersion?: string\n ) {\n return v2Kit\n .getRuntime()\n .registerWidgetFunctions(widgetId, functions, widgetVersion);\n };\n }\n}\n\n// istanbul ignore next\nexport const registerWidgetFunctions =\n registerWidgetFunctionsV2Factory() || registerWidgetFunctionsV3;\n"],"mappings":"AACA,SAEEA,iCAAiC,QAC5B,qCAAqC;AAC5C,SAASC,mBAAmB,QAAQ,8BAA8B;AAElE,IAAMC,sBAAsB,GAAG,IAAIC,GAAG,CAAsC,CAAC;AAE7E,OAAO,IAAMC,eAAe,GAAG,IAAIC,KAAK,CAACC,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;EAC1DC,GAAGA,CAACC,MAAM,EAAEC,GAAW,EAAE;IACvB,OAAOR,sBAAsB,CAACM,GAAG,CAACE,GAAG,CAAC;EACxC;AACF,CAAC,CAA0D;AAE3D,SAASC,yBAAyBA,CAChCC,QAAgB,EAChBC,SAA+B,EAC/BC,aAAsB,EAChB;EACN,IAAIZ,sBAAsB,CAACa,GAAG,CAACH,QAAQ,CAAC,EAAE;IACxC;IACA,MAAM,IAAII,KAAK,0BAAAC,MAAA,CAAyBL,QAAQ,0BAAsB,CAAC;EACzE;EACA,IAAM;IAAEM,mBAAmB;IAAEC;EAA4B,CAAC,GACxDnB,iCAAiC,CAAC;IAAEY,QAAQ;IAAEE;EAAc,CAAC,CAAC;EAChEZ,sBAAsB,CAACkB,GAAG,CAACR,QAAQ,EAAEM,mBAAmB,CAAC;EACzDC,2BAA2B,CAACN,SAAS,CAAC;AACxC;;AAEA;AACA,SAASQ,gCAAgCA,CAAA,EAAG;EAC1C,IAAMC,KAAK,GAAGrB,mBAAmB,CAAC,CAAC;EACnC,IAAIqB,KAAK,EAAE;IACT,OAAO,UACLV,QAAgB,EAChBC,SAA+B,EAC/BC,aAAsB,EACtB;MACA,OAAOQ,KAAK,CACTC,UAAU,CAAC,CAAC,CACZC,uBAAuB,CAACZ,QAAQ,EAAEC,SAAS,EAAEC,aAAa,CAAC;IAChE,CAAC;EACH;AACF;;AAEA;AACA,OAAO,IAAMU,uBAAuB,GAClCH,gCAAgC,CAAC,CAAC,IAAIV,yBAAyB"}
1
+ {"version":3,"file":"WidgetFunctions.js","names":["StoryboardFunctionRegistryFactory","getV2RuntimeFromDll","widgetFunctionRegistry","Map","widgetFunctions","Proxy","Object","freeze","get","target","key","registerWidgetFunctionsV3","widgetId","functions","widgetVersion","has","Error","concat","storyboardFunctions","registerStoryboardFunctions","set","registerWidgetFunctionsV2Factory","v2Kit","getRuntime","registerWidgetFunctions"],"sources":["../../../../src/internal/compute/WidgetFunctions.ts"],"sourcesContent":["import { StoryboardFunction } from \"@next-core/types\";\nimport {\n ReadonlyStoryboardFunctions,\n StoryboardFunctionRegistryFactory,\n} from \"../../StoryboardFunctionRegistry.js\";\nimport { getV2RuntimeFromDll } from \"../../getV2RuntimeFromDll.js\";\n\nconst widgetFunctionRegistry = new Map<string, ReadonlyStoryboardFunctions>();\n\nexport const widgetFunctions = new Proxy(Object.freeze({}), {\n get(target, key: string) {\n return widgetFunctionRegistry.get(key);\n },\n}) as Readonly<Record<string, ReadonlyStoryboardFunctions>>;\n\nfunction registerWidgetFunctionsV3(\n widgetId: string,\n functions: StoryboardFunction[],\n widgetVersion?: string\n): void {\n if (widgetFunctionRegistry.has(widgetId)) {\n // eslint-disable-next-line no-console\n throw new Error(`Widget functions of \"${widgetId}\" already registered`);\n }\n const { storyboardFunctions, registerStoryboardFunctions } =\n StoryboardFunctionRegistryFactory({ widgetId, widgetVersion });\n widgetFunctionRegistry.set(widgetId, storyboardFunctions);\n registerStoryboardFunctions(functions);\n}\n\n// istanbul ignore next\nfunction registerWidgetFunctionsV2Factory() {\n const v2Kit = getV2RuntimeFromDll();\n if (v2Kit) {\n return function (\n widgetId: string,\n functions: StoryboardFunction[],\n widgetVersion?: string\n ) {\n return v2Kit\n .getRuntime()\n .registerWidgetFunctions(widgetId, functions, widgetVersion);\n };\n }\n}\n\n// istanbul ignore next\nexport const registerWidgetFunctions =\n registerWidgetFunctionsV2Factory() || registerWidgetFunctionsV3;\n"],"mappings":"AACA,SAEEA,iCAAiC,QAC5B,qCAAqC;AAC5C,SAASC,mBAAmB,QAAQ,8BAA8B;AAElE,IAAMC,sBAAsB,GAAG,IAAIC,GAAG,CAAsC,CAAC;AAE7E,OAAO,IAAMC,eAAe,GAAG,IAAIC,KAAK,CAACC,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;EAC1DC,GAAGA,CAACC,MAAM,EAAEC,GAAW,EAAE;IACvB,OAAOR,sBAAsB,CAACM,GAAG,CAACE,GAAG,CAAC;EACxC;AACF,CAAC,CAA0D;AAE3D,SAASC,yBAAyBA,CAChCC,QAAgB,EAChBC,SAA+B,EAC/BC,aAAsB,EAChB;EACN,IAAIZ,sBAAsB,CAACa,GAAG,CAACH,QAAQ,CAAC,EAAE;IACxC;IACA,MAAM,IAAII,KAAK,0BAAAC,MAAA,CAAyBL,QAAQ,0BAAsB,CAAC;EACzE;EACA,IAAM;IAAEM,mBAAmB;IAAEC;EAA4B,CAAC,GACxDnB,iCAAiC,CAAC;IAAEY,QAAQ;IAAEE;EAAc,CAAC,CAAC;EAChEZ,sBAAsB,CAACkB,GAAG,CAACR,QAAQ,EAAEM,mBAAmB,CAAC;EACzDC,2BAA2B,CAACN,SAAS,CAAC;AACxC;;AAEA;AACA,SAASQ,gCAAgCA,CAAA,EAAG;EAC1C,IAAMC,KAAK,GAAGrB,mBAAmB,CAAC,CAAC;EACnC,IAAIqB,KAAK,EAAE;IACT,OAAO,UACLV,QAAgB,EAChBC,SAA+B,EAC/BC,aAAsB,EACtB;MACA,OAAOQ,KAAK,CACTC,UAAU,CAAC,CAAC,CACZC,uBAAuB,CAACZ,QAAQ,EAAEC,SAAS,EAAEC,aAAa,CAAC;IAChE,CAAC;EACH;AACF;;AAEA;AACA,OAAO,IAAMU,uBAAuB,GAClCH,gCAAgC,CAAC,CAAC,IAAIV,yBAAyB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"WidgetI18n.js","names":["i18n","getI18nNamespace","getV2RuntimeFromDll","registerWidgetI18nV3","widgetId","i18nData","ns","Object","entries","forEach","_ref","lang","resources","addResourceBundle","widgetI18nFactory","getFixedT","registerWidgetI18nV2Factory","v2Kit","getRuntime","registerWidgetI18n"],"sources":["../../../../src/internal/compute/WidgetI18n.ts"],"sourcesContent":["import { i18n } from \"@next-core/i18n\";\nimport type { MetaI18n } from \"@next-core/types\";\nimport { getI18nNamespace } from \"../registerAppI18n.js\";\nimport { getV2RuntimeFromDll } from \"../../getV2RuntimeFromDll.js\";\n\nfunction registerWidgetI18nV3(widgetId: string, i18nData: MetaI18n): void {\n const ns = getI18nNamespace(\"widget\", widgetId);\n Object.entries(i18nData).forEach(([lang, resources]) => {\n i18n.addResourceBundle(lang, ns, resources);\n });\n}\n\nexport function widgetI18nFactory(widgetId: string) {\n return i18n.getFixedT(null, getI18nNamespace(\"widget\", widgetId));\n}\n\n// istanbul ignore next\nfunction registerWidgetI18nV2Factory() {\n const v2Kit = getV2RuntimeFromDll();\n if (v2Kit) {\n return function (widgetId: string, i18nData: MetaI18n) {\n return v2Kit.getRuntime().registerWidgetI18n(widgetId, i18nData);\n };\n }\n}\n\n// istanbul ignore next\nexport const registerWidgetI18n =\n registerWidgetI18nV2Factory() || registerWidgetI18nV3;\n"],"mappings":"AAAA,SAASA,IAAI,QAAQ,iBAAiB;AAEtC,SAASC,gBAAgB,QAAQ,uBAAuB;AACxD,SAASC,mBAAmB,QAAQ,8BAA8B;AAElE,SAASC,oBAAoBA,CAACC,QAAgB,EAAEC,QAAkB,EAAQ;EACxE,IAAMC,EAAE,GAAGL,gBAAgB,CAAC,QAAQ,EAAEG,QAAQ,CAAC;EAC/CG,MAAM,CAACC,OAAO,CAACH,QAAQ,CAAC,CAACI,OAAO,CAACC,IAAA,IAAuB;IAAA,IAAtB,CAACC,IAAI,EAAEC,SAAS,CAAC,GAAAF,IAAA;IACjDV,IAAI,CAACa,iBAAiB,CAACF,IAAI,EAAEL,EAAE,EAAEM,SAAS,CAAC;EAC7C,CAAC,CAAC;AACJ;AAEA,OAAO,SAASE,iBAAiBA,CAACV,QAAgB,EAAE;EAClD,OAAOJ,IAAI,CAACe,SAAS,CAAC,IAAI,EAAEd,gBAAgB,CAAC,QAAQ,EAAEG,QAAQ,CAAC,CAAC;AACnE;;AAEA;AACA,SAASY,2BAA2BA,CAAA,EAAG;EACrC,IAAMC,KAAK,GAAGf,mBAAmB,CAAC,CAAC;EACnC,IAAIe,KAAK,EAAE;IACT,OAAO,UAAUb,QAAgB,EAAEC,QAAkB,EAAE;MACrD,OAAOY,KAAK,CAACC,UAAU,CAAC,CAAC,CAACC,kBAAkB,CAACf,QAAQ,EAAEC,QAAQ,CAAC;IAClE,CAAC;EACH;AACF;;AAEA;AACA,OAAO,IAAMc,kBAAkB,GAC7BH,2BAA2B,CAAC,CAAC,IAAIb,oBAAoB"}
1
+ {"version":3,"file":"WidgetI18n.js","names":["i18n","getI18nNamespace","getV2RuntimeFromDll","registerWidgetI18nV3","widgetId","i18nData","ns","Object","entries","forEach","_ref","lang","resources","addResourceBundle","widgetI18nFactory","getFixedT","registerWidgetI18nV2Factory","v2Kit","getRuntime","registerWidgetI18n"],"sources":["../../../../src/internal/compute/WidgetI18n.ts"],"sourcesContent":["import { i18n } from \"@next-core/i18n\";\nimport type { MetaI18n } from \"@next-core/types\";\nimport { getI18nNamespace } from \"../registerAppI18n.js\";\nimport { getV2RuntimeFromDll } from \"../../getV2RuntimeFromDll.js\";\n\nfunction registerWidgetI18nV3(widgetId: string, i18nData: MetaI18n): void {\n const ns = getI18nNamespace(\"widget\", widgetId);\n Object.entries(i18nData).forEach(([lang, resources]) => {\n i18n.addResourceBundle(lang, ns, resources);\n });\n}\n\nexport function widgetI18nFactory(widgetId: string) {\n return i18n.getFixedT(null, getI18nNamespace(\"widget\", widgetId));\n}\n\n// istanbul ignore next\nfunction registerWidgetI18nV2Factory() {\n const v2Kit = getV2RuntimeFromDll();\n if (v2Kit) {\n return function (widgetId: string, i18nData: MetaI18n) {\n return v2Kit.getRuntime().registerWidgetI18n(widgetId, i18nData);\n };\n }\n}\n\n// istanbul ignore next\nexport const registerWidgetI18n =\n registerWidgetI18nV2Factory() || registerWidgetI18nV3;\n"],"mappings":"AAAA,SAASA,IAAI,QAAQ,iBAAiB;AAEtC,SAASC,gBAAgB,QAAQ,uBAAuB;AACxD,SAASC,mBAAmB,QAAQ,8BAA8B;AAElE,SAASC,oBAAoBA,CAACC,QAAgB,EAAEC,QAAkB,EAAQ;EACxE,IAAMC,EAAE,GAAGL,gBAAgB,CAAC,QAAQ,EAAEG,QAAQ,CAAC;EAC/CG,MAAM,CAACC,OAAO,CAACH,QAAQ,CAAC,CAACI,OAAO,CAACC,IAAA,IAAuB;IAAA,IAAtB,CAACC,IAAI,EAAEC,SAAS,CAAC,GAAAF,IAAA;IACjDV,IAAI,CAACa,iBAAiB,CAACF,IAAI,EAAEL,EAAE,EAAEM,SAAS,CAAC;EAC7C,CAAC,CAAC;AACJ;AAEA,OAAO,SAASE,iBAAiBA,CAACV,QAAgB,EAAE;EAClD,OAAOJ,IAAI,CAACe,SAAS,CAAC,IAAI,EAAEd,gBAAgB,CAAC,QAAQ,EAAEG,QAAQ,CAAC,CAAC;AACnE;;AAEA;AACA,SAASY,2BAA2BA,CAAA,EAAG;EACrC,IAAMC,KAAK,GAAGf,mBAAmB,CAAC,CAAC;EACnC,IAAIe,KAAK,EAAE;IACT,OAAO,UAAUb,QAAgB,EAAEC,QAAkB,EAAE;MACrD,OAAOY,KAAK,CAACC,UAAU,CAAC,CAAC,CAACC,kBAAkB,CAACf,QAAQ,EAAEC,QAAQ,CAAC;IAClE,CAAC;EACH;AACF;;AAEA;AACA,OAAO,IAAMc,kBAAkB,GAC7BH,2BAA2B,CAAC,CAAC,IAAIb,oBAAoB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"checkIf.js","names":["hasOwnProperty","isObject","asyncComputeRealValue","computeRealValue","isPreEvaluated","resolveData","getV2RuntimeFromDll","asyncCheckIf","_x","_x2","_asyncCheckIf","apply","arguments","_asyncToGenerator","ifContainer","runtimeContext","if","checkIf","checkIfOfComputed","asyncCheckBrickIf","_x3","_x4","_asyncCheckBrickIf","brickConf","resolved","checkIfByTransformV3","data","checkIfByTransformV2Factory","v2Kit","looseCheckIfByTransform","checkIfByTransform"],"sources":["../../../../src/internal/compute/checkIf.ts"],"sourcesContent":["import { hasOwnProperty, isObject } from \"@next-core/utils/general\";\nimport type { BrickConf, ResolveConf } from \"@next-core/types\";\nimport { asyncComputeRealValue, computeRealValue } from \"./computeRealValue.js\";\nimport { isPreEvaluated } from \"./evaluate.js\";\nimport { resolveData } from \"../data/resolveData.js\";\nimport type { RuntimeContext } from \"../interfaces.js\";\nimport { getV2RuntimeFromDll } from \"../../getV2RuntimeFromDll.js\";\n\n/**\n * 包含 `if` 条件判断的对象。\n */\nexport interface IfContainer {\n /**\n * 条件判断,可以为表达式字符串。\n *\n * @example\n *\n * ```yaml\n * - brick: your.any-brick\n * if: '<% FLAGS[\"your-feature-flag\"] %>'\n * ```\n */\n if?: unknown;\n}\n\nexport async function asyncCheckIf(\n ifContainer: IfContainer,\n runtimeContext: RuntimeContext\n): Promise<boolean> {\n return (\n !hasOwnProperty(ifContainer, \"if\") ||\n !!(typeof ifContainer.if === \"string\" || isPreEvaluated(ifContainer.if)\n ? await asyncComputeRealValue(ifContainer.if, runtimeContext)\n : ifContainer.if)\n );\n}\n\nexport function checkIf(\n ifContainer: IfContainer,\n runtimeContext: RuntimeContext\n): boolean {\n return (\n !hasOwnProperty(ifContainer, \"if\") ||\n !!(typeof ifContainer.if === \"string\" || isPreEvaluated(ifContainer.if)\n ? computeRealValue(ifContainer.if, runtimeContext)\n : ifContainer.if)\n );\n}\n\nexport function checkIfOfComputed(ifContainer: IfContainer): boolean {\n return !hasOwnProperty(ifContainer, \"if\") || !!ifContainer.if;\n}\n\nexport async function asyncCheckBrickIf(\n brickConf: BrickConf,\n runtimeContext: RuntimeContext\n): Promise<boolean> {\n if (isObject(brickConf.if) && !isPreEvaluated(brickConf.if)) {\n const resolved = (await resolveData(\n brickConf.if as ResolveConf,\n runtimeContext\n )) as { if?: unknown };\n return checkIfOfComputed(resolved);\n }\n return asyncCheckIf(brickConf, runtimeContext);\n}\n\nfunction checkIfByTransformV3(ifContainer: IfContainer, data: unknown) {\n return checkIf(ifContainer, { data } as RuntimeContext);\n}\n\n// istanbul ignore next\nfunction checkIfByTransformV2Factory() {\n const v2Kit = getV2RuntimeFromDll();\n if (v2Kit) {\n return v2Kit.looseCheckIfByTransform;\n }\n}\n\n// istanbul ignore next\nexport const checkIfByTransform =\n checkIfByTransformV2Factory() || checkIfByTransformV3;\n"],"mappings":";AAAA,SAASA,cAAc,EAAEC,QAAQ,QAAQ,0BAA0B;AAEnE,SAASC,qBAAqB,EAAEC,gBAAgB,QAAQ,uBAAuB;AAC/E,SAASC,cAAc,QAAQ,eAAe;AAC9C,SAASC,WAAW,QAAQ,wBAAwB;AAEpD,SAASC,mBAAmB,QAAQ,8BAA8B;;AAElE;AACA;AACA;;AAeA,gBAAsBC,YAAYA,CAAAC,EAAA,EAAAC,GAAA;EAAA,OAAAC,aAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAUjC,SAAAF,cAAA;EAAAA,aAAA,GAAAG,iBAAA,CAVM,WACLC,WAAwB,EACxBC,cAA8B,EACZ;IAClB,OACE,CAACf,cAAc,CAACc,WAAW,EAAE,IAAI,CAAC,IAClC,CAAC,EAAE,OAAOA,WAAW,CAACE,EAAE,KAAK,QAAQ,IAAIZ,cAAc,CAACU,WAAW,CAACE,EAAE,CAAC,SAC7Dd,qBAAqB,CAACY,WAAW,CAACE,EAAE,EAAED,cAAc,CAAC,GAC3DD,WAAW,CAACE,EAAE,CAAC;EAEvB,CAAC;EAAA,OAAAN,aAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAED,OAAO,SAASK,OAAOA,CACrBH,WAAwB,EACxBC,cAA8B,EACrB;EACT,OACE,CAACf,cAAc,CAACc,WAAW,EAAE,IAAI,CAAC,IAClC,CAAC,EAAE,OAAOA,WAAW,CAACE,EAAE,KAAK,QAAQ,IAAIZ,cAAc,CAACU,WAAW,CAACE,EAAE,CAAC,GACnEb,gBAAgB,CAACW,WAAW,CAACE,EAAE,EAAED,cAAc,CAAC,GAChDD,WAAW,CAACE,EAAE,CAAC;AAEvB;AAEA,OAAO,SAASE,iBAAiBA,CAACJ,WAAwB,EAAW;EACnE,OAAO,CAACd,cAAc,CAACc,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAACA,WAAW,CAACE,EAAE;AAC/D;AAEA,gBAAsBG,iBAAiBA,CAAAC,GAAA,EAAAC,GAAA;EAAA,OAAAC,kBAAA,CAAAX,KAAA,OAAAC,SAAA;AAAA;AAYtC,SAAAU,mBAAA;EAAAA,kBAAA,GAAAT,iBAAA,CAZM,WACLU,SAAoB,EACpBR,cAA8B,EACZ;IAClB,IAAId,QAAQ,CAACsB,SAAS,CAACP,EAAE,CAAC,IAAI,CAACZ,cAAc,CAACmB,SAAS,CAACP,EAAE,CAAC,EAAE;MAC3D,IAAMQ,QAAQ,SAAUnB,WAAW,CACjCkB,SAAS,CAACP,EAAE,EACZD,cACF,CAAsB;MACtB,OAAOG,iBAAiB,CAACM,QAAQ,CAAC;IACpC;IACA,OAAOjB,YAAY,CAACgB,SAAS,EAAER,cAAc,CAAC;EAChD,CAAC;EAAA,OAAAO,kBAAA,CAAAX,KAAA,OAAAC,SAAA;AAAA;AAED,SAASa,oBAAoBA,CAACX,WAAwB,EAAEY,IAAa,EAAE;EACrE,OAAOT,OAAO,CAACH,WAAW,EAAE;IAAEY;EAAK,CAAmB,CAAC;AACzD;;AAEA;AACA,SAASC,2BAA2BA,CAAA,EAAG;EACrC,IAAMC,KAAK,GAAGtB,mBAAmB,CAAC,CAAC;EACnC,IAAIsB,KAAK,EAAE;IACT,OAAOA,KAAK,CAACC,uBAAuB;EACtC;AACF;;AAEA;AACA,OAAO,IAAMC,kBAAkB,GAC7BH,2BAA2B,CAAC,CAAC,IAAIF,oBAAoB"}
1
+ {"version":3,"file":"checkIf.js","names":["hasOwnProperty","isObject","asyncComputeRealValue","computeRealValue","isPreEvaluated","resolveData","getV2RuntimeFromDll","asyncCheckIf","_x","_x2","_asyncCheckIf","apply","arguments","_asyncToGenerator","ifContainer","runtimeContext","if","checkIf","checkIfOfComputed","asyncCheckBrickIf","_x3","_x4","_asyncCheckBrickIf","brickConf","resolved","checkIfByTransformV3","data","checkIfByTransformV2Factory","v2Kit","looseCheckIfByTransform","checkIfByTransform"],"sources":["../../../../src/internal/compute/checkIf.ts"],"sourcesContent":["import { hasOwnProperty, isObject } from \"@next-core/utils/general\";\nimport type { BrickConf, ResolveConf } from \"@next-core/types\";\nimport { asyncComputeRealValue, computeRealValue } from \"./computeRealValue.js\";\nimport { isPreEvaluated } from \"./evaluate.js\";\nimport { resolveData } from \"../data/resolveData.js\";\nimport type { RuntimeContext } from \"../interfaces.js\";\nimport { getV2RuntimeFromDll } from \"../../getV2RuntimeFromDll.js\";\n\n/**\n * 包含 `if` 条件判断的对象。\n */\nexport interface IfContainer {\n /**\n * 条件判断,可以为表达式字符串。\n *\n * @example\n *\n * ```yaml\n * - brick: your.any-brick\n * if: '<% FLAGS[\"your-feature-flag\"] %>'\n * ```\n */\n if?: unknown;\n}\n\nexport async function asyncCheckIf(\n ifContainer: IfContainer,\n runtimeContext: RuntimeContext\n): Promise<boolean> {\n return (\n !hasOwnProperty(ifContainer, \"if\") ||\n !!(typeof ifContainer.if === \"string\" || isPreEvaluated(ifContainer.if)\n ? await asyncComputeRealValue(ifContainer.if, runtimeContext)\n : ifContainer.if)\n );\n}\n\nexport function checkIf(\n ifContainer: IfContainer,\n runtimeContext: RuntimeContext\n): boolean {\n return (\n !hasOwnProperty(ifContainer, \"if\") ||\n !!(typeof ifContainer.if === \"string\" || isPreEvaluated(ifContainer.if)\n ? computeRealValue(ifContainer.if, runtimeContext)\n : ifContainer.if)\n );\n}\n\nexport function checkIfOfComputed(ifContainer: IfContainer): boolean {\n return !hasOwnProperty(ifContainer, \"if\") || !!ifContainer.if;\n}\n\nexport async function asyncCheckBrickIf(\n brickConf: BrickConf,\n runtimeContext: RuntimeContext\n): Promise<boolean> {\n if (isObject(brickConf.if) && !isPreEvaluated(brickConf.if)) {\n const resolved = (await resolveData(\n brickConf.if as ResolveConf,\n runtimeContext\n )) as { if?: unknown };\n return checkIfOfComputed(resolved);\n }\n return asyncCheckIf(brickConf, runtimeContext);\n}\n\nfunction checkIfByTransformV3(ifContainer: IfContainer, data: unknown) {\n return checkIf(ifContainer, { data } as RuntimeContext);\n}\n\n// istanbul ignore next\nfunction checkIfByTransformV2Factory() {\n const v2Kit = getV2RuntimeFromDll();\n if (v2Kit) {\n return v2Kit.looseCheckIfByTransform;\n }\n}\n\n// istanbul ignore next\nexport const checkIfByTransform =\n checkIfByTransformV2Factory() || checkIfByTransformV3;\n"],"mappings":";AAAA,SAASA,cAAc,EAAEC,QAAQ,QAAQ,0BAA0B;AAEnE,SAASC,qBAAqB,EAAEC,gBAAgB,QAAQ,uBAAuB;AAC/E,SAASC,cAAc,QAAQ,eAAe;AAC9C,SAASC,WAAW,QAAQ,wBAAwB;AAEpD,SAASC,mBAAmB,QAAQ,8BAA8B;;AAElE;AACA;AACA;;AAeA,gBAAsBC,YAAYA,CAAAC,EAAA,EAAAC,GAAA;EAAA,OAAAC,aAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAUjC,SAAAF,cAAA;EAAAA,aAAA,GAAAG,iBAAA,CAVM,WACLC,WAAwB,EACxBC,cAA8B,EACZ;IAClB,OACE,CAACf,cAAc,CAACc,WAAW,EAAE,IAAI,CAAC,IAClC,CAAC,EAAE,OAAOA,WAAW,CAACE,EAAE,KAAK,QAAQ,IAAIZ,cAAc,CAACU,WAAW,CAACE,EAAE,CAAC,SAC7Dd,qBAAqB,CAACY,WAAW,CAACE,EAAE,EAAED,cAAc,CAAC,GAC3DD,WAAW,CAACE,EAAE,CAAC;EAEvB,CAAC;EAAA,OAAAN,aAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAED,OAAO,SAASK,OAAOA,CACrBH,WAAwB,EACxBC,cAA8B,EACrB;EACT,OACE,CAACf,cAAc,CAACc,WAAW,EAAE,IAAI,CAAC,IAClC,CAAC,EAAE,OAAOA,WAAW,CAACE,EAAE,KAAK,QAAQ,IAAIZ,cAAc,CAACU,WAAW,CAACE,EAAE,CAAC,GACnEb,gBAAgB,CAACW,WAAW,CAACE,EAAE,EAAED,cAAc,CAAC,GAChDD,WAAW,CAACE,EAAE,CAAC;AAEvB;AAEA,OAAO,SAASE,iBAAiBA,CAACJ,WAAwB,EAAW;EACnE,OAAO,CAACd,cAAc,CAACc,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAACA,WAAW,CAACE,EAAE;AAC/D;AAEA,gBAAsBG,iBAAiBA,CAAAC,GAAA,EAAAC,GAAA;EAAA,OAAAC,kBAAA,CAAAX,KAAA,OAAAC,SAAA;AAAA;AAYtC,SAAAU,mBAAA;EAAAA,kBAAA,GAAAT,iBAAA,CAZM,WACLU,SAAoB,EACpBR,cAA8B,EACZ;IAClB,IAAId,QAAQ,CAACsB,SAAS,CAACP,EAAE,CAAC,IAAI,CAACZ,cAAc,CAACmB,SAAS,CAACP,EAAE,CAAC,EAAE;MAC3D,IAAMQ,QAAQ,SAAUnB,WAAW,CACjCkB,SAAS,CAACP,EAAE,EACZD,cACF,CAAsB;MACtB,OAAOG,iBAAiB,CAACM,QAAQ,CAAC;IACpC;IACA,OAAOjB,YAAY,CAACgB,SAAS,EAAER,cAAc,CAAC;EAChD,CAAC;EAAA,OAAAO,kBAAA,CAAAX,KAAA,OAAAC,SAAA;AAAA;AAED,SAASa,oBAAoBA,CAACX,WAAwB,EAAEY,IAAa,EAAE;EACrE,OAAOT,OAAO,CAACH,WAAW,EAAE;IAAEY;EAAK,CAAmB,CAAC;AACzD;;AAEA;AACA,SAASC,2BAA2BA,CAAA,EAAG;EACrC,IAAMC,KAAK,GAAGtB,mBAAmB,CAAC,CAAC;EACnC,IAAIsB,KAAK,EAAE;IACT,OAAOA,KAAK,CAACC,uBAAuB;EACtC;AACF;;AAEA;AACA,OAAO,IAAMC,kBAAkB,GAC7BH,2BAA2B,CAAC,CAAC,IAAIF,oBAAoB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"computeRealProperties.js","names":["isObject","asyncComputeRealValue","computeRealValue","StateOfUseBrick","getTracks","asyncComputeRealPropertyEntries","properties","runtimeContext","trackingContextList","Object","entries","map","_ref","propName","propValue","contextNames","stateNames","formStateNames","push","asyncValue","$$lazyForUseBrick","$$stateOfUseBrick","USE_BRICK","INITIAL","computePropertyValue","_x","_x2","_computePropertyValue","apply","arguments","_asyncToGenerator","asyncPropertyEntries","name","ignoreUndefined","value","undefined","constructAsyncProperties","_x3","_constructAsyncProperties","props","computeRealProperties","fromEntries","_ref2","realValue","filter","Boolean"],"sources":["../../../../src/internal/compute/computeRealProperties.ts"],"sourcesContent":["import { isObject } from \"@next-core/utils/general\";\nimport { asyncComputeRealValue, computeRealValue } from \"./computeRealValue.js\";\nimport { TrackingContextItem } from \"./listenOnTrackingContext.js\";\nimport type { AsyncPropertyEntry, RuntimeContext } from \"../interfaces.js\";\nimport { StateOfUseBrick } from \"./getNextStateOfUseBrick.js\";\nimport { getTracks } from \"./getTracks.js\";\n\nexport function asyncComputeRealPropertyEntries(\n properties: Record<string, unknown> | undefined,\n runtimeContext: RuntimeContext,\n trackingContextList: TrackingContextItem[]\n): AsyncPropertyEntry[] {\n if (isObject(properties)) {\n return Object.entries(properties).map<[string, Promise<unknown>]>(\n ([propName, propValue]) => {\n const { contextNames, stateNames, formStateNames } =\n getTracks(propValue);\n if (contextNames || stateNames || formStateNames) {\n trackingContextList.push({\n contextNames,\n stateNames,\n formStateNames,\n propName,\n propValue,\n });\n }\n // Related: https://github.com/facebook/react/issues/11347\n const asyncValue = asyncComputeRealValue(propValue, runtimeContext, {\n $$lazyForUseBrick: true,\n $$stateOfUseBrick:\n propName === \"useBrick\"\n ? StateOfUseBrick.USE_BRICK\n : StateOfUseBrick.INITIAL,\n });\n return [propName, asyncValue];\n }\n );\n }\n\n return [];\n}\n\nexport async function computePropertyValue(\n asyncPropertyEntries: AsyncPropertyEntry[],\n propName: string\n): Promise<unknown> {\n for (const [name, asyncValue, ignoreUndefined] of asyncPropertyEntries) {\n if (name === propName) {\n const value = await asyncValue;\n if (value !== undefined || !ignoreUndefined) {\n return value;\n }\n }\n }\n}\n\nexport async function constructAsyncProperties(\n asyncPropertyEntries: AsyncPropertyEntry[]\n): Promise<Record<string, unknown>> {\n const props: Record<string, unknown> = {};\n for (const [propName, asyncValue, ignoreUndefined] of asyncPropertyEntries) {\n const value = await asyncValue;\n if (\n (value !== undefined || !ignoreUndefined) &&\n // For `style` and `dataset`, only object is acceptable.\n ((propName !== \"style\" && propName !== \"dataset\") || isObject(value))\n ) {\n props[propName] = value;\n }\n }\n return props;\n}\n\nexport function computeRealProperties(\n properties: Record<string, unknown> | undefined,\n runtimeContext: RuntimeContext\n): Record<string, unknown> {\n if (isObject(properties)) {\n return Object.fromEntries(\n Object.entries(properties)\n .map<[string, unknown] | undefined>(([propName, propValue]) => {\n // Related: https://github.com/facebook/react/issues/11347\n const realValue = computeRealValue(propValue, runtimeContext, {\n $$lazyForUseBrick: true,\n $$stateOfUseBrick:\n propName === \"useBrick\"\n ? StateOfUseBrick.USE_BRICK\n : StateOfUseBrick.INITIAL,\n });\n // For `style` and `dataset`, only object is acceptable.\n if (\n (propName !== \"style\" && propName !== \"dataset\") ||\n isObject(realValue)\n ) {\n return [propName, realValue];\n }\n })\n .filter(Boolean) as [string, unknown][]\n );\n }\n\n return {};\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"computeRealProperties.js","names":["isObject","asyncComputeRealValue","computeRealValue","StateOfUseBrick","getTracks","asyncComputeRealPropertyEntries","properties","runtimeContext","trackingContextList","Object","entries","map","_ref","propName","propValue","contextNames","stateNames","formStateNames","push","asyncValue","$$lazyForUseBrick","$$stateOfUseBrick","USE_BRICK","INITIAL","computePropertyValue","_x","_x2","_computePropertyValue","apply","arguments","_asyncToGenerator","asyncPropertyEntries","name","ignoreUndefined","value","undefined","constructAsyncProperties","_x3","_constructAsyncProperties","props","computeRealProperties","fromEntries","_ref2","realValue","filter","Boolean"],"sources":["../../../../src/internal/compute/computeRealProperties.ts"],"sourcesContent":["import { isObject } from \"@next-core/utils/general\";\nimport { asyncComputeRealValue, computeRealValue } from \"./computeRealValue.js\";\nimport { TrackingContextItem } from \"./listenOnTrackingContext.js\";\nimport type { AsyncPropertyEntry, RuntimeContext } from \"../interfaces.js\";\nimport { StateOfUseBrick } from \"./getNextStateOfUseBrick.js\";\nimport { getTracks } from \"./getTracks.js\";\n\nexport function asyncComputeRealPropertyEntries(\n properties: Record<string, unknown> | undefined,\n runtimeContext: RuntimeContext,\n trackingContextList: TrackingContextItem[]\n): AsyncPropertyEntry[] {\n if (isObject(properties)) {\n return Object.entries(properties).map<[string, Promise<unknown>]>(\n ([propName, propValue]) => {\n const { contextNames, stateNames, formStateNames } =\n getTracks(propValue);\n if (contextNames || stateNames || formStateNames) {\n trackingContextList.push({\n contextNames,\n stateNames,\n formStateNames,\n propName,\n propValue,\n });\n }\n // Related: https://github.com/facebook/react/issues/11347\n const asyncValue = asyncComputeRealValue(propValue, runtimeContext, {\n $$lazyForUseBrick: true,\n $$stateOfUseBrick:\n propName === \"useBrick\"\n ? StateOfUseBrick.USE_BRICK\n : StateOfUseBrick.INITIAL,\n });\n return [propName, asyncValue];\n }\n );\n }\n\n return [];\n}\n\nexport async function computePropertyValue(\n asyncPropertyEntries: AsyncPropertyEntry[],\n propName: string\n): Promise<unknown> {\n for (const [name, asyncValue, ignoreUndefined] of asyncPropertyEntries) {\n if (name === propName) {\n const value = await asyncValue;\n if (value !== undefined || !ignoreUndefined) {\n return value;\n }\n }\n }\n}\n\nexport async function constructAsyncProperties(\n asyncPropertyEntries: AsyncPropertyEntry[]\n): Promise<Record<string, unknown>> {\n const props: Record<string, unknown> = {};\n for (const [propName, asyncValue, ignoreUndefined] of asyncPropertyEntries) {\n const value = await asyncValue;\n if (\n (value !== undefined || !ignoreUndefined) &&\n // For `style` and `dataset`, only object is acceptable.\n ((propName !== \"style\" && propName !== \"dataset\") || isObject(value))\n ) {\n props[propName] = value;\n }\n }\n return props;\n}\n\nexport function computeRealProperties(\n properties: Record<string, unknown> | undefined,\n runtimeContext: RuntimeContext\n): Record<string, unknown> {\n if (isObject(properties)) {\n return Object.fromEntries(\n Object.entries(properties)\n .map<[string, unknown] | undefined>(([propName, propValue]) => {\n // Related: https://github.com/facebook/react/issues/11347\n const realValue = computeRealValue(propValue, runtimeContext, {\n $$lazyForUseBrick: true,\n $$stateOfUseBrick:\n propName === \"useBrick\"\n ? StateOfUseBrick.USE_BRICK\n : StateOfUseBrick.INITIAL,\n });\n // For `style` and `dataset`, only object is acceptable.\n if (\n (propName !== \"style\" && propName !== \"dataset\") ||\n isObject(realValue)\n ) {\n return [propName, realValue];\n }\n })\n .filter(Boolean) as [string, unknown][]\n );\n }\n\n return {};\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"computeRealValue.js","names":["isEvaluable","hasOwnProperty","isObject","transformAndInject","transform","inject","asyncEvaluate","isPreEvaluated","evaluate","shouldDismissMarkingComputed","getNextStateOfUseBrick","isLazyContentInUseBrick","hasBeenComputed","markAsComputed","asyncComputeRealValue","_x","_x2","_asyncComputeRealValue","apply","arguments","_asyncToGenerator","value","runtimeContext","internalOptions","length","undefined","preEvaluated","lazy","$$lazyForUseBrick","$$stateOfUseBrick","result","dismissMarkingComputed","noInject","identity","Array","isArray","nextOptions","getNextComputeOptions","Promise","all","map","v","Object","fromEntries","entries","_ref2","k","concat","ignoreSymbols","getOwnPropertySymbols","computeRealValue","_ref","key","_objectSpread"],"sources":["../../../../src/internal/compute/computeRealValue.ts"],"sourcesContent":["import { isEvaluable } from \"@next-core/cook\";\nimport { hasOwnProperty, isObject } from \"@next-core/utils/general\";\nimport { transformAndInject, transform, inject } from \"@next-core/inject\";\nimport {\n asyncEvaluate,\n isPreEvaluated,\n evaluate,\n shouldDismissMarkingComputed,\n} from \"./evaluate.js\";\nimport type { RuntimeContext } from \"../interfaces.js\";\nimport {\n StateOfUseBrick,\n getNextStateOfUseBrick,\n isLazyContentInUseBrick,\n} from \"./getNextStateOfUseBrick.js\";\nimport { hasBeenComputed, markAsComputed } from \"./markAsComputed.js\";\n\nexport interface ComputeOptions {\n $$lazyForUseBrick?: boolean;\n $$stateOfUseBrick?: StateOfUseBrick;\n ignoreSymbols?: boolean;\n noInject?: boolean;\n}\n\nexport async function asyncComputeRealValue(\n value: unknown,\n runtimeContext: RuntimeContext,\n internalOptions: ComputeOptions = {}\n): Promise<unknown> {\n const preEvaluated = isPreEvaluated(value);\n\n if (preEvaluated || typeof value === \"string\") {\n // For `useBrick`, some fields such as `properties`/`transform`/`events`/`if`,\n // are kept and to be evaluated later.\n const lazy =\n internalOptions.$$lazyForUseBrick &&\n isLazyContentInUseBrick(internalOptions.$$stateOfUseBrick);\n\n let result: unknown;\n let dismissMarkingComputed = lazy;\n\n if (preEvaluated || isEvaluable(value as string)) {\n result = await asyncEvaluate(value, runtimeContext, { lazy });\n dismissMarkingComputed = shouldDismissMarkingComputed(value);\n } else {\n result = lazy\n ? value\n : (hasOwnProperty(runtimeContext, \"data\")\n ? internalOptions.noInject\n ? transform\n : transformAndInject\n : internalOptions.noInject\n ? identity\n : inject)(value, runtimeContext);\n }\n\n if (!dismissMarkingComputed) {\n markAsComputed(result);\n }\n\n return result;\n }\n\n if (\n !isObject(value) ||\n hasBeenComputed(value) ||\n typeof value === \"function\"\n ) {\n return value;\n }\n\n if (Array.isArray(value)) {\n const nextOptions = getNextComputeOptions(internalOptions, true);\n return Promise.all(\n value.map((v) => asyncComputeRealValue(v, runtimeContext, nextOptions))\n );\n }\n\n return Object.fromEntries(\n (\n await Promise.all(\n Object.entries(value).map(([k, v]) =>\n Promise.all([\n asyncComputeRealValue(k, runtimeContext),\n asyncComputeRealValue(\n v,\n runtimeContext,\n getNextComputeOptions(internalOptions, false, k)\n ),\n ])\n )\n )\n ).concat(\n internalOptions.ignoreSymbols\n ? []\n : Object.getOwnPropertySymbols(value).map((k) => [\n k,\n (value as Record<string | symbol, unknown>)[k],\n ])\n )\n );\n}\n\nexport function computeRealValue(\n value: unknown,\n runtimeContext: RuntimeContext,\n internalOptions: ComputeOptions = {}\n): unknown {\n const preEvaluated = isPreEvaluated(value);\n\n if (preEvaluated || typeof value === \"string\") {\n // For `useBrick`, some fields such as `properties`/`transform`/`events`/`if`,\n // are kept and to be evaluated later.\n const lazy =\n internalOptions.$$lazyForUseBrick &&\n isLazyContentInUseBrick(internalOptions.$$stateOfUseBrick);\n\n let result: unknown;\n let dismissMarkingComputed = lazy;\n\n if (preEvaluated || isEvaluable(value as string)) {\n result = evaluate(value, runtimeContext);\n dismissMarkingComputed = shouldDismissMarkingComputed(value);\n } else {\n result = lazy\n ? value\n : (hasOwnProperty(runtimeContext, \"data\")\n ? internalOptions.noInject\n ? transform\n : transformAndInject\n : internalOptions.noInject\n ? identity\n : inject)(value, runtimeContext);\n }\n\n if (!dismissMarkingComputed) {\n markAsComputed(result);\n }\n\n return result;\n }\n\n if (\n !isObject(value) ||\n hasBeenComputed(value) ||\n typeof value === \"function\"\n ) {\n return value;\n }\n\n if (Array.isArray(value)) {\n const nextOptions = getNextComputeOptions(internalOptions, true);\n return value.map((v) => computeRealValue(v, runtimeContext, nextOptions));\n }\n\n return Object.fromEntries(\n Object.entries(value)\n .map(([k, v]) => [\n computeRealValue(k, runtimeContext),\n computeRealValue(\n v,\n runtimeContext,\n getNextComputeOptions(internalOptions, false, k)\n ),\n ])\n .concat(\n internalOptions.ignoreSymbols\n ? []\n : Object.getOwnPropertySymbols(value).map((k) => [\n k,\n (value as Record<string | symbol, unknown>)[k],\n ])\n )\n );\n}\n\nfunction getNextComputeOptions(\n internalOptions: ComputeOptions,\n isArray: boolean,\n key?: string\n): ComputeOptions {\n return internalOptions.$$lazyForUseBrick\n ? {\n ...internalOptions,\n $$stateOfUseBrick: getNextStateOfUseBrick(\n internalOptions.$$stateOfUseBrick,\n isArray,\n key\n ),\n }\n : internalOptions;\n}\n\nfunction identity<T>(value: T): T {\n return value;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"computeRealValue.js","names":["isEvaluable","hasOwnProperty","isObject","transformAndInject","transform","inject","asyncEvaluate","isPreEvaluated","evaluate","shouldDismissMarkingComputed","getNextStateOfUseBrick","isLazyContentInUseBrick","hasBeenComputed","markAsComputed","asyncComputeRealValue","_x","_x2","_asyncComputeRealValue","apply","arguments","_asyncToGenerator","value","runtimeContext","internalOptions","length","undefined","preEvaluated","lazy","$$lazyForUseBrick","$$stateOfUseBrick","result","dismissMarkingComputed","noInject","identity","Array","isArray","nextOptions","getNextComputeOptions","Promise","all","map","v","Object","fromEntries","entries","_ref2","k","concat","ignoreSymbols","getOwnPropertySymbols","computeRealValue","_ref","key","_objectSpread"],"sources":["../../../../src/internal/compute/computeRealValue.ts"],"sourcesContent":["import { isEvaluable } from \"@next-core/cook\";\nimport { hasOwnProperty, isObject } from \"@next-core/utils/general\";\nimport { transformAndInject, transform, inject } from \"@next-core/inject\";\nimport {\n asyncEvaluate,\n isPreEvaluated,\n evaluate,\n shouldDismissMarkingComputed,\n} from \"./evaluate.js\";\nimport type { RuntimeContext } from \"../interfaces.js\";\nimport {\n StateOfUseBrick,\n getNextStateOfUseBrick,\n isLazyContentInUseBrick,\n} from \"./getNextStateOfUseBrick.js\";\nimport { hasBeenComputed, markAsComputed } from \"./markAsComputed.js\";\n\nexport interface ComputeOptions {\n $$lazyForUseBrick?: boolean;\n $$stateOfUseBrick?: StateOfUseBrick;\n ignoreSymbols?: boolean;\n noInject?: boolean;\n}\n\nexport async function asyncComputeRealValue(\n value: unknown,\n runtimeContext: RuntimeContext,\n internalOptions: ComputeOptions = {}\n): Promise<unknown> {\n const preEvaluated = isPreEvaluated(value);\n\n if (preEvaluated || typeof value === \"string\") {\n // For `useBrick`, some fields such as `properties`/`transform`/`events`/`if`,\n // are kept and to be evaluated later.\n const lazy =\n internalOptions.$$lazyForUseBrick &&\n isLazyContentInUseBrick(internalOptions.$$stateOfUseBrick);\n\n let result: unknown;\n let dismissMarkingComputed = lazy;\n\n if (preEvaluated || isEvaluable(value as string)) {\n result = await asyncEvaluate(value, runtimeContext, { lazy });\n dismissMarkingComputed = shouldDismissMarkingComputed(value);\n } else {\n result = lazy\n ? value\n : (hasOwnProperty(runtimeContext, \"data\")\n ? internalOptions.noInject\n ? transform\n : transformAndInject\n : internalOptions.noInject\n ? identity\n : inject)(value, runtimeContext);\n }\n\n if (!dismissMarkingComputed) {\n markAsComputed(result);\n }\n\n return result;\n }\n\n if (\n !isObject(value) ||\n hasBeenComputed(value) ||\n typeof value === \"function\"\n ) {\n return value;\n }\n\n if (Array.isArray(value)) {\n const nextOptions = getNextComputeOptions(internalOptions, true);\n return Promise.all(\n value.map((v) => asyncComputeRealValue(v, runtimeContext, nextOptions))\n );\n }\n\n return Object.fromEntries(\n (\n await Promise.all(\n Object.entries(value).map(([k, v]) =>\n Promise.all([\n asyncComputeRealValue(k, runtimeContext),\n asyncComputeRealValue(\n v,\n runtimeContext,\n getNextComputeOptions(internalOptions, false, k)\n ),\n ])\n )\n )\n ).concat(\n internalOptions.ignoreSymbols\n ? []\n : Object.getOwnPropertySymbols(value).map((k) => [\n k,\n (value as Record<string | symbol, unknown>)[k],\n ])\n )\n );\n}\n\nexport function computeRealValue(\n value: unknown,\n runtimeContext: RuntimeContext,\n internalOptions: ComputeOptions = {}\n): unknown {\n const preEvaluated = isPreEvaluated(value);\n\n if (preEvaluated || typeof value === \"string\") {\n // For `useBrick`, some fields such as `properties`/`transform`/`events`/`if`,\n // are kept and to be evaluated later.\n const lazy =\n internalOptions.$$lazyForUseBrick &&\n isLazyContentInUseBrick(internalOptions.$$stateOfUseBrick);\n\n let result: unknown;\n let dismissMarkingComputed = lazy;\n\n if (preEvaluated || isEvaluable(value as string)) {\n result = evaluate(value, runtimeContext);\n dismissMarkingComputed = shouldDismissMarkingComputed(value);\n } else {\n result = lazy\n ? value\n : (hasOwnProperty(runtimeContext, \"data\")\n ? internalOptions.noInject\n ? transform\n : transformAndInject\n : internalOptions.noInject\n ? identity\n : inject)(value, runtimeContext);\n }\n\n if (!dismissMarkingComputed) {\n markAsComputed(result);\n }\n\n return result;\n }\n\n if (\n !isObject(value) ||\n hasBeenComputed(value) ||\n typeof value === \"function\"\n ) {\n return value;\n }\n\n if (Array.isArray(value)) {\n const nextOptions = getNextComputeOptions(internalOptions, true);\n return value.map((v) => computeRealValue(v, runtimeContext, nextOptions));\n }\n\n return Object.fromEntries(\n Object.entries(value)\n .map(([k, v]) => [\n computeRealValue(k, runtimeContext),\n computeRealValue(\n v,\n runtimeContext,\n getNextComputeOptions(internalOptions, false, k)\n ),\n ])\n .concat(\n internalOptions.ignoreSymbols\n ? []\n : Object.getOwnPropertySymbols(value).map((k) => [\n k,\n (value as Record<string | symbol, unknown>)[k],\n ])\n )\n );\n}\n\nfunction getNextComputeOptions(\n internalOptions: ComputeOptions,\n isArray: boolean,\n key?: string\n): ComputeOptions {\n return internalOptions.$$lazyForUseBrick\n ? {\n ...internalOptions,\n $$stateOfUseBrick: getNextStateOfUseBrick(\n internalOptions.$$stateOfUseBrick,\n isArray,\n key\n ),\n }\n : internalOptions;\n}\n\nfunction identity<T>(value: T): T {\n return value;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"evaluate.js","names":["cook","preevaluate","shouldAllowRecursiveEvaluations","loadProcessorsImperatively","supply","hasOwnProperty","strictCollectMemberUsage","collectAppGetMenuUsage","collectInstalledAppsHasUsage","cloneDeep","omit","customProcessors","checkPermissionsUsage","storyboardFunctions","getGeneralGlobals","getDynamicReadOnlyProxy","getReadOnlyProxy","devtoolsHookEmit","getDevHook","getMedia","getStorageItem","_internalApiGetStoryboardInBootstrapData","getBrickPackages","getRuntime","hooks","getTplStateStore","widgetFunctions","widgetI18nFactory","hasInstalledApp","isStrictMode","warnAboutStrictMode","getFormStateStore","resolveData","asyncComputeRealValue","symbolForRaw","Symbol","for","symbolForContext","isPreEvaluated","raw","getPreEvaluatedRaw","pre","shouldDismissMarkingComputed","possibleErrorConstructs","WeakSet","SyntaxError","TypeError","ReferenceError","getCookErrorConstructor","error","has","constructor","asyncEvaluate","_x","_x2","_x3","_asyncEvaluate","apply","arguments","_asyncToGenerator","runtimeContext","options","blockingList","run","lowLevelEvaluate","Promise","all","evaluate","length","undefined","isAsync","passByRuntimeContext","_objectSpread","menuUsage","usedArgs","Set","hasAppUsage","precooked","withParent","beforeVisitGlobal","node","parent","message","concat","errorConstructor","hasNonStaticUsage","Error","globalVariables","attemptToVisitGlobals","lazy","Object","keys","usedCtx","usedProcessors","usedStates","tplStateStore","strict","usedFormStates","formStateStore","devHook","push","ctxStore","waitFor","usedTpls","tpl","add","attemptToCheckPermissions","usedFunctions","pendingPermissionsPreCheck","size","menu","usedMenuIds","map","menuId","fetchMenuById","getStoryboardByAppId","_hooks$checkInstalled","checkInstalledApps","waitForCheckingApps","_runtimeContext$overr","_hooks$menu","_match$params","_hooks$images","app","currentApp","location","query","match","flags","sys","data","event","overrideApp","variableName","hash","substring","getMenu","getMenuById","get","target","key","getValue","ownKeys","Array","from","property","console","getItem","getMiscSettings","URLSearchParams","params","pathname","pkg","t","k","processor","namespace","split","fromEntries","getAll","images","widgetImagesFactory","assign","appendI18nNamespace","result","expression","source","detail","context"],"sources":["../../../../src/internal/compute/evaluate.ts"],"sourcesContent":["import {\n cook,\n preevaluate,\n PreevaluateResult,\n shouldAllowRecursiveEvaluations,\n} from \"@next-core/cook\";\nimport { loadProcessorsImperatively } from \"@next-core/loader\";\nimport { supply } from \"@next-core/supply\";\nimport { hasOwnProperty } from \"@next-core/utils/general\";\nimport {\n strictCollectMemberUsage,\n collectAppGetMenuUsage,\n collectInstalledAppsHasUsage,\n MemberCallUsage,\n} from \"@next-core/utils/storyboard\";\nimport { cloneDeep, omit } from \"lodash\";\nimport type { RuntimeContext } from \"../interfaces.js\";\nimport { customProcessors } from \"../../CustomProcessors.js\";\nimport {\n checkPermissionsUsage,\n storyboardFunctions,\n} from \"./StoryboardFunctions.js\";\nimport { getGeneralGlobals } from \"./getGeneralGlobals.js\";\nimport {\n getDynamicReadOnlyProxy,\n getReadOnlyProxy,\n} from \"../proxyFactories.js\";\nimport { devtoolsHookEmit, getDevHook } from \"../devtools.js\";\nimport { getMedia } from \"../mediaQuery.js\";\nimport { getStorageItem } from \"./getStorageItem.js\";\nimport {\n _internalApiGetStoryboardInBootstrapData,\n getBrickPackages,\n getRuntime,\n hooks,\n} from \"../Runtime.js\";\nimport type { DataStore } from \"../data/DataStore.js\";\nimport { getTplStateStore } from \"../CustomTemplates/utils.js\";\nimport { widgetFunctions } from \"./WidgetFunctions.js\";\nimport { widgetI18nFactory } from \"./WidgetI18n.js\";\nimport { hasInstalledApp } from \"../hasInstalledApp.js\";\nimport { isStrictMode, warnAboutStrictMode } from \"../../isStrictMode.js\";\nimport { getFormStateStore } from \"../FormRenderer/utils.js\";\nimport { resolveData } from \"../data/resolveData.js\";\nimport { asyncComputeRealValue } from \"./computeRealValue.js\";\n\nconst symbolForRaw = Symbol.for(\"pre.evaluated.raw\");\nconst symbolForContext = Symbol.for(\"pre.evaluated.context\");\n\nexport interface PreEvaluated {\n [symbolForRaw]: string;\n [symbolForContext]: RuntimeContext;\n}\n\nexport interface EvaluateOptions {\n lazy?: boolean;\n evaluationId?: number;\n}\n\nexport function isPreEvaluated(raw: unknown): raw is PreEvaluated {\n return !!(raw as PreEvaluated)?.[symbolForRaw];\n}\n\nexport function getPreEvaluatedRaw(pre: PreEvaluated): string {\n return pre[symbolForRaw];\n}\n\nexport function shouldDismissMarkingComputed(\n raw: string | PreEvaluated\n): boolean {\n if (typeof raw === \"string\") {\n return shouldAllowRecursiveEvaluations(raw);\n }\n return shouldAllowRecursiveEvaluations(raw[symbolForRaw]);\n}\n\nconst possibleErrorConstructs = new WeakSet<ErrorConstructor>([\n SyntaxError,\n TypeError,\n ReferenceError,\n]);\n\nexport function getCookErrorConstructor(error: any): ErrorConstructor {\n return possibleErrorConstructs.has(error.constructor)\n ? error.constructor\n : TypeError;\n}\n\nexport async function asyncEvaluate(\n raw: string | PreEvaluated, // string or pre-evaluated object.\n runtimeContext: RuntimeContext,\n options?: EvaluateOptions\n): Promise<unknown> {\n const { blockingList, run } = lowLevelEvaluate(\n raw,\n runtimeContext,\n options,\n true\n );\n await Promise.all(blockingList);\n return run();\n}\n\nexport function evaluate(\n raw: string | PreEvaluated, // string or pre-evaluated object.\n runtimeContext: RuntimeContext,\n options?: EvaluateOptions\n): Promise<unknown> {\n const { run } = lowLevelEvaluate(raw, runtimeContext, options, false);\n return run();\n}\n\nfunction lowLevelEvaluate(\n raw: string | PreEvaluated, // string or pre-evaluated object.\n runtimeContext: RuntimeContext,\n options: EvaluateOptions = {},\n isAsync?: boolean\n): {\n blockingList: (Promise<unknown> | undefined)[];\n run: Function;\n} {\n const blockingList: (Promise<unknown> | undefined)[] = [];\n if (typeof raw !== \"string\") {\n // If the `raw` is not a string, it must be a pre-evaluated object.\n // Then fulfil the context, and restore the original `raw`.\n\n const passByRuntimeContext = omit(runtimeContext, [\n \"pendingPermissionsPreCheck\",\n \"tplStateStoreMap\",\n \"tplStateStoreScope\",\n \"formStateStoreMap\",\n \"formStateStoreScope\",\n ]);\n\n runtimeContext = {\n ...raw[symbolForContext],\n ...passByRuntimeContext,\n };\n raw = raw[symbolForRaw];\n }\n\n // Collect `APP.getMenu(...)` usage before evaluating.\n const menuUsage: MemberCallUsage = {\n usedArgs: new Set(),\n };\n const hasAppUsage: MemberCallUsage = {\n usedArgs: new Set(),\n };\n\n // A `SyntaxError` maybe thrown.\n let precooked: PreevaluateResult;\n try {\n precooked = preevaluate(raw, {\n withParent: true,\n hooks: {\n beforeVisitGlobal(node, parent) {\n collectAppGetMenuUsage(menuUsage, node, parent!);\n collectInstalledAppsHasUsage(hasAppUsage, node, parent!);\n },\n },\n });\n } catch (error: any) {\n const message = `${error.message}, in \"${raw}\"`;\n const errorConstructor = getCookErrorConstructor(error);\n throw new errorConstructor(message);\n }\n\n if (menuUsage.hasNonStaticUsage) {\n throw new Error(\n `Non-static usage of \"APP.getMenu\" is prohibited in v3, check your expression: \"${raw}\"`\n );\n }\n\n if (hasAppUsage.hasNonStaticUsage) {\n throw new Error(\n `Non-static usage of \"INSTALLED_APPS.has\" is prohibited in v3, check your expression: \"${raw}\"`\n );\n }\n\n const globalVariables: Record<string, unknown> = {};\n const { attemptToVisitGlobals } = precooked;\n\n // Ignore evaluating if required `event/DATA` is missing in\n // context. Since they are are provided in different context, whenever\n // missing one of them, memorize the current context for later consuming.\n if (\n options.lazy ||\n (attemptToVisitGlobals.has(\"EVENT\") &&\n !hasOwnProperty(runtimeContext, \"event\")) ||\n (attemptToVisitGlobals.has(\"DATA\") &&\n !hasOwnProperty(runtimeContext, \"data\"))\n ) {\n return {\n blockingList,\n run() {\n return Object.keys(runtimeContext).length > 0\n ? ({\n [symbolForRaw]: raw,\n [symbolForContext]: runtimeContext,\n } as PreEvaluated)\n : raw;\n },\n };\n }\n\n let usedCtx: Set<string>;\n let usedProcessors: Set<string>;\n let usedStates: Set<string>;\n let tplStateStore: DataStore<\"STATE\"> | undefined;\n const strict = isStrictMode(runtimeContext);\n\n // For existed TPL usage, treat it as a STATE.\n if (\n attemptToVisitGlobals.has(\"STATE\") ||\n (!strict && attemptToVisitGlobals.has(\"TPL\"))\n ) {\n tplStateStore = getTplStateStore(runtimeContext, \"STATE\", `: \"${raw}\"`);\n }\n\n let usedFormStates: Set<string>;\n let formStateStore: DataStore<\"FORM_STATE\"> | undefined;\n if (attemptToVisitGlobals.has(\"FORM_STATE\")) {\n formStateStore = getFormStateStore(\n runtimeContext,\n \"FORM_STATE\",\n `: \"${raw}\"`\n );\n }\n\n const devHook = getDevHook();\n if (isAsync || devHook) {\n if (attemptToVisitGlobals.has(\"CTX\")) {\n usedCtx = strictCollectMemberUsage(raw, \"CTX\");\n isAsync && blockingList.push(runtimeContext.ctxStore.waitFor(usedCtx));\n }\n\n if (tplStateStore) {\n usedStates = strictCollectMemberUsage(raw, \"STATE\");\n // istanbul ignore if\n if (!strict) {\n const usedTpls = strictCollectMemberUsage(raw, \"TPL\");\n for (const tpl of usedTpls) {\n usedStates.add(tpl);\n }\n }\n isAsync && blockingList.push(tplStateStore.waitFor(usedStates));\n }\n\n if (formStateStore) {\n usedFormStates = strictCollectMemberUsage(raw, \"FORM_STATE\");\n isAsync && blockingList.push(formStateStore.waitFor(usedFormStates));\n }\n\n if (attemptToVisitGlobals.has(\"PROCESSORS\")) {\n usedProcessors = strictCollectMemberUsage(raw, \"PROCESSORS\", 2);\n isAsync &&\n blockingList.push(\n loadProcessorsImperatively(usedProcessors, getBrickPackages())\n );\n }\n }\n\n if (isAsync) {\n let attemptToCheckPermissions = attemptToVisitGlobals.has(\"PERMISSIONS\");\n // There maybe `PERMISSIONS.check()` usage in functions\n if (!attemptToCheckPermissions && attemptToVisitGlobals.has(\"FN\")) {\n const usedFunctions = [...strictCollectMemberUsage(raw, \"FN\")];\n attemptToCheckPermissions = checkPermissionsUsage(usedFunctions);\n }\n\n if (attemptToCheckPermissions) {\n blockingList.push(...runtimeContext.pendingPermissionsPreCheck);\n }\n\n if (menuUsage.usedArgs.size > 0 && hooks?.menu) {\n // Block evaluating if has `APP.getMenu(...)` usage.\n const usedMenuIds = [...menuUsage.usedArgs];\n blockingList.push(\n Promise.all(\n usedMenuIds.map((menuId) =>\n hooks!.menu!.fetchMenuById(menuId, runtimeContext, {\n getStoryboardByAppId: _internalApiGetStoryboardInBootstrapData,\n resolveData,\n asyncComputeRealValue,\n })\n )\n )\n );\n }\n\n if (hasAppUsage.usedArgs.size > 0) {\n // Only wait for specific apps\n blockingList.push(\n hooks?.checkInstalledApps?.waitForCheckingApps([\n ...hasAppUsage.usedArgs,\n ])\n );\n }\n }\n\n return {\n blockingList,\n run() {\n const {\n app: currentApp,\n location,\n query,\n match,\n flags,\n sys,\n ctxStore,\n data,\n event,\n } = runtimeContext;\n const app = runtimeContext.overrideApp ?? currentApp;\n\n for (const variableName of attemptToVisitGlobals) {\n switch (variableName) {\n // case \"ALIAS\":\n case \"ANCHOR\":\n globalVariables[variableName] = location.hash\n ? location.hash.substring(1)\n : null;\n break;\n case \"APP\":\n globalVariables[variableName] = {\n ...cloneDeep(app),\n getMenu: hooks?.menu?.getMenuById,\n };\n break;\n case \"CTX\":\n globalVariables[variableName] = getDynamicReadOnlyProxy({\n get(target, key) {\n return ctxStore.getValue(key as string);\n },\n ownKeys() {\n return Array.from(usedCtx);\n },\n });\n break;\n case \"DATA\":\n globalVariables[variableName] = data;\n break;\n case \"EVENT\":\n globalVariables[variableName] = event;\n break;\n case \"FLAGS\":\n globalVariables[variableName] = getReadOnlyProxy(flags);\n break;\n case \"FORM_STATE\":\n globalVariables[variableName] = getDynamicReadOnlyProxy({\n get(target, key) {\n return formStateStore!.getValue(key as string);\n },\n ownKeys() {\n return Array.from(usedFormStates);\n },\n });\n break;\n case \"HASH\":\n globalVariables[variableName] = location.hash;\n break;\n case \"INSTALLED_APPS\":\n globalVariables[variableName] = getReadOnlyProxy({\n has: hasInstalledApp,\n });\n break;\n case \"ITEM\":\n case \"INDEX\": {\n const property =\n variableName === \"ITEM\" ? \"forEachItem\" : \"forEachIndex\";\n if (!hasOwnProperty(runtimeContext, property)) {\n // eslint-disable-next-line no-console\n console.error(\n `Using \\`${variableName}\\` but no \\`:forEach\\` is found, check your expression: \"${raw}\"`\n );\n } else {\n globalVariables[variableName] = runtimeContext[property];\n }\n break;\n }\n case \"LOCAL_STORAGE\":\n globalVariables[variableName] = getReadOnlyProxy({\n getItem: getStorageItem(\"local\"),\n });\n break;\n case \"MEDIA\":\n globalVariables[variableName] = getReadOnlyProxy(getMedia());\n break;\n case \"MISC\":\n globalVariables[variableName] = getRuntime().getMiscSettings();\n break;\n case \"PARAMS\":\n globalVariables[variableName] = new URLSearchParams(query);\n break;\n case \"PATH\":\n globalVariables[variableName] = getReadOnlyProxy(\n match?.params ?? {}\n );\n break;\n case \"PATH_NAME\":\n globalVariables[variableName] = location.pathname;\n break;\n case \"PROCESSORS\":\n globalVariables[variableName] = getDynamicReadOnlyProxy({\n get(target, key) {\n const pkg = customProcessors.get(key as string);\n if (!pkg) {\n throw new Error(\n `'PROCESSORS.${\n key as string\n }' is not registered! Have you installed the relevant brick package?`\n );\n }\n return getDynamicReadOnlyProxy({\n get(t, k) {\n return pkg.get(k as string);\n },\n ownKeys() {\n return Array.from(pkg.keys());\n },\n });\n },\n ownKeys() {\n const keys = new Set<string>();\n for (const processor of usedProcessors) {\n const namespace = processor.split(\".\")[0];\n keys.add(namespace);\n }\n return Array.from(keys);\n },\n });\n break;\n case \"QUERY\":\n globalVariables[variableName] = Object.fromEntries(\n Array.from(query.keys()).map((key) => [key, query.get(key)])\n );\n break;\n case \"QUERY_ARRAY\":\n globalVariables[variableName] = Object.fromEntries(\n Array.from(query.keys()).map((key) => [key, query.getAll(key)])\n );\n // case \"SEGUE\":\n break;\n case \"SESSION_STORAGE\":\n globalVariables[variableName] = getReadOnlyProxy({\n getItem: getStorageItem(\"session\"),\n });\n break;\n // istanbul ignore next\n case \"TPL\":\n warnAboutStrictMode(\n strict,\n 'Using \"TPL\" in expression',\n `check your expression: \"${raw}\"`\n );\n if (strict) {\n break;\n }\n // eslint-disable-next-line no-fallthrough\n case \"STATE\":\n globalVariables[variableName] = getDynamicReadOnlyProxy({\n get(target, key) {\n return tplStateStore!.getValue(key as string);\n },\n ownKeys() {\n return Array.from(usedStates);\n },\n });\n break;\n case \"SYS\":\n globalVariables[variableName] = getReadOnlyProxy(sys ?? {});\n break;\n case \"__WIDGET_FN__\":\n globalVariables[variableName] = widgetFunctions;\n break;\n case \"__WIDGET_IMG__\":\n globalVariables[variableName] = hooks?.images?.widgetImagesFactory;\n break;\n case \"__WIDGET_I18N__\":\n globalVariables[variableName] = widgetI18nFactory;\n break;\n }\n }\n\n Object.assign(\n globalVariables,\n getGeneralGlobals(precooked.attemptToVisitGlobals, {\n storyboardFunctions,\n app: app,\n appendI18nNamespace: runtimeContext.appendI18nNamespace,\n })\n );\n\n try {\n const result = cook(precooked.expression, precooked.source, {\n globalVariables: supply(\n precooked.attemptToVisitGlobals,\n globalVariables\n ),\n });\n const detail = { raw, context: globalVariables, result };\n devtoolsHookEmit(\"evaluation\", detail);\n return result;\n } catch (error: any) {\n const message = `${error.message}, in \"${raw}\"`;\n const errorConstructor = getCookErrorConstructor(error);\n throw new errorConstructor(message);\n }\n },\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"evaluate.js","names":["cook","preevaluate","shouldAllowRecursiveEvaluations","loadProcessorsImperatively","supply","hasOwnProperty","strictCollectMemberUsage","collectAppGetMenuUsage","collectInstalledAppsHasUsage","cloneDeep","omit","customProcessors","checkPermissionsUsage","storyboardFunctions","getGeneralGlobals","getDynamicReadOnlyProxy","getReadOnlyProxy","devtoolsHookEmit","getDevHook","getMedia","getStorageItem","_internalApiGetStoryboardInBootstrapData","getBrickPackages","getRuntime","hooks","getTplStateStore","widgetFunctions","widgetI18nFactory","hasInstalledApp","isStrictMode","warnAboutStrictMode","getFormStateStore","resolveData","asyncComputeRealValue","symbolForRaw","Symbol","for","symbolForContext","isPreEvaluated","raw","getPreEvaluatedRaw","pre","shouldDismissMarkingComputed","possibleErrorConstructs","WeakSet","SyntaxError","TypeError","ReferenceError","getCookErrorConstructor","error","has","constructor","asyncEvaluate","_x","_x2","_x3","_asyncEvaluate","apply","arguments","_asyncToGenerator","runtimeContext","options","blockingList","run","lowLevelEvaluate","Promise","all","evaluate","length","undefined","isAsync","passByRuntimeContext","_objectSpread","menuUsage","usedArgs","Set","hasAppUsage","precooked","withParent","beforeVisitGlobal","node","parent","message","concat","errorConstructor","hasNonStaticUsage","Error","globalVariables","attemptToVisitGlobals","lazy","Object","keys","usedCtx","usedProcessors","usedStates","tplStateStore","strict","usedFormStates","formStateStore","devHook","push","ctxStore","waitFor","usedTpls","tpl","add","attemptToCheckPermissions","usedFunctions","pendingPermissionsPreCheck","size","menu","usedMenuIds","map","menuId","fetchMenuById","getStoryboardByAppId","_hooks$checkInstalled","checkInstalledApps","waitForCheckingApps","_runtimeContext$overr","_hooks$menu","_match$params","_hooks$images","app","currentApp","location","query","match","flags","sys","data","event","overrideApp","variableName","hash","substring","getMenu","getMenuById","get","target","key","getValue","ownKeys","Array","from","property","console","getItem","getMiscSettings","URLSearchParams","params","pathname","pkg","t","k","processor","namespace","split","fromEntries","getAll","images","widgetImagesFactory","assign","appendI18nNamespace","result","expression","source","detail","context"],"sources":["../../../../src/internal/compute/evaluate.ts"],"sourcesContent":["import {\n cook,\n preevaluate,\n PreevaluateResult,\n shouldAllowRecursiveEvaluations,\n} from \"@next-core/cook\";\nimport { loadProcessorsImperatively } from \"@next-core/loader\";\nimport { supply } from \"@next-core/supply\";\nimport { hasOwnProperty } from \"@next-core/utils/general\";\nimport {\n strictCollectMemberUsage,\n collectAppGetMenuUsage,\n collectInstalledAppsHasUsage,\n MemberCallUsage,\n} from \"@next-core/utils/storyboard\";\nimport { cloneDeep, omit } from \"lodash\";\nimport type { RuntimeContext } from \"../interfaces.js\";\nimport { customProcessors } from \"../../CustomProcessors.js\";\nimport {\n checkPermissionsUsage,\n storyboardFunctions,\n} from \"./StoryboardFunctions.js\";\nimport { getGeneralGlobals } from \"./getGeneralGlobals.js\";\nimport {\n getDynamicReadOnlyProxy,\n getReadOnlyProxy,\n} from \"../proxyFactories.js\";\nimport { devtoolsHookEmit, getDevHook } from \"../devtools.js\";\nimport { getMedia } from \"../mediaQuery.js\";\nimport { getStorageItem } from \"./getStorageItem.js\";\nimport {\n _internalApiGetStoryboardInBootstrapData,\n getBrickPackages,\n getRuntime,\n hooks,\n} from \"../Runtime.js\";\nimport type { DataStore } from \"../data/DataStore.js\";\nimport { getTplStateStore } from \"../CustomTemplates/utils.js\";\nimport { widgetFunctions } from \"./WidgetFunctions.js\";\nimport { widgetI18nFactory } from \"./WidgetI18n.js\";\nimport { hasInstalledApp } from \"../hasInstalledApp.js\";\nimport { isStrictMode, warnAboutStrictMode } from \"../../isStrictMode.js\";\nimport { getFormStateStore } from \"../FormRenderer/utils.js\";\nimport { resolveData } from \"../data/resolveData.js\";\nimport { asyncComputeRealValue } from \"./computeRealValue.js\";\n\nconst symbolForRaw = Symbol.for(\"pre.evaluated.raw\");\nconst symbolForContext = Symbol.for(\"pre.evaluated.context\");\n\nexport interface PreEvaluated {\n [symbolForRaw]: string;\n [symbolForContext]: RuntimeContext;\n}\n\nexport interface EvaluateOptions {\n lazy?: boolean;\n evaluationId?: number;\n}\n\nexport function isPreEvaluated(raw: unknown): raw is PreEvaluated {\n return !!(raw as PreEvaluated)?.[symbolForRaw];\n}\n\nexport function getPreEvaluatedRaw(pre: PreEvaluated): string {\n return pre[symbolForRaw];\n}\n\nexport function shouldDismissMarkingComputed(\n raw: string | PreEvaluated\n): boolean {\n if (typeof raw === \"string\") {\n return shouldAllowRecursiveEvaluations(raw);\n }\n return shouldAllowRecursiveEvaluations(raw[symbolForRaw]);\n}\n\nconst possibleErrorConstructs = new WeakSet<ErrorConstructor>([\n SyntaxError,\n TypeError,\n ReferenceError,\n]);\n\nexport function getCookErrorConstructor(error: any): ErrorConstructor {\n return possibleErrorConstructs.has(error.constructor)\n ? error.constructor\n : TypeError;\n}\n\nexport async function asyncEvaluate(\n raw: string | PreEvaluated, // string or pre-evaluated object.\n runtimeContext: RuntimeContext,\n options?: EvaluateOptions\n): Promise<unknown> {\n const { blockingList, run } = lowLevelEvaluate(\n raw,\n runtimeContext,\n options,\n true\n );\n await Promise.all(blockingList);\n return run();\n}\n\nexport function evaluate(\n raw: string | PreEvaluated, // string or pre-evaluated object.\n runtimeContext: RuntimeContext,\n options?: EvaluateOptions\n): Promise<unknown> {\n const { run } = lowLevelEvaluate(raw, runtimeContext, options, false);\n return run();\n}\n\nfunction lowLevelEvaluate(\n raw: string | PreEvaluated, // string or pre-evaluated object.\n runtimeContext: RuntimeContext,\n options: EvaluateOptions = {},\n isAsync?: boolean\n): {\n blockingList: (Promise<unknown> | undefined)[];\n run: Function;\n} {\n const blockingList: (Promise<unknown> | undefined)[] = [];\n if (typeof raw !== \"string\") {\n // If the `raw` is not a string, it must be a pre-evaluated object.\n // Then fulfil the context, and restore the original `raw`.\n\n const passByRuntimeContext = omit(runtimeContext, [\n \"pendingPermissionsPreCheck\",\n \"tplStateStoreMap\",\n \"tplStateStoreScope\",\n \"formStateStoreMap\",\n \"formStateStoreScope\",\n ]);\n\n runtimeContext = {\n ...raw[symbolForContext],\n ...passByRuntimeContext,\n };\n raw = raw[symbolForRaw];\n }\n\n // Collect `APP.getMenu(...)` usage before evaluating.\n const menuUsage: MemberCallUsage = {\n usedArgs: new Set(),\n };\n const hasAppUsage: MemberCallUsage = {\n usedArgs: new Set(),\n };\n\n // A `SyntaxError` maybe thrown.\n let precooked: PreevaluateResult;\n try {\n precooked = preevaluate(raw, {\n withParent: true,\n hooks: {\n beforeVisitGlobal(node, parent) {\n collectAppGetMenuUsage(menuUsage, node, parent!);\n collectInstalledAppsHasUsage(hasAppUsage, node, parent!);\n },\n },\n });\n } catch (error: any) {\n const message = `${error.message}, in \"${raw}\"`;\n const errorConstructor = getCookErrorConstructor(error);\n throw new errorConstructor(message);\n }\n\n if (menuUsage.hasNonStaticUsage) {\n throw new Error(\n `Non-static usage of \"APP.getMenu\" is prohibited in v3, check your expression: \"${raw}\"`\n );\n }\n\n if (hasAppUsage.hasNonStaticUsage) {\n throw new Error(\n `Non-static usage of \"INSTALLED_APPS.has\" is prohibited in v3, check your expression: \"${raw}\"`\n );\n }\n\n const globalVariables: Record<string, unknown> = {};\n const { attemptToVisitGlobals } = precooked;\n\n // Ignore evaluating if required `event/DATA` is missing in\n // context. Since they are are provided in different context, whenever\n // missing one of them, memorize the current context for later consuming.\n if (\n options.lazy ||\n (attemptToVisitGlobals.has(\"EVENT\") &&\n !hasOwnProperty(runtimeContext, \"event\")) ||\n (attemptToVisitGlobals.has(\"DATA\") &&\n !hasOwnProperty(runtimeContext, \"data\"))\n ) {\n return {\n blockingList,\n run() {\n return Object.keys(runtimeContext).length > 0\n ? ({\n [symbolForRaw]: raw,\n [symbolForContext]: runtimeContext,\n } as PreEvaluated)\n : raw;\n },\n };\n }\n\n let usedCtx: Set<string>;\n let usedProcessors: Set<string>;\n let usedStates: Set<string>;\n let tplStateStore: DataStore<\"STATE\"> | undefined;\n const strict = isStrictMode(runtimeContext);\n\n // For existed TPL usage, treat it as a STATE.\n if (\n attemptToVisitGlobals.has(\"STATE\") ||\n (!strict && attemptToVisitGlobals.has(\"TPL\"))\n ) {\n tplStateStore = getTplStateStore(runtimeContext, \"STATE\", `: \"${raw}\"`);\n }\n\n let usedFormStates: Set<string>;\n let formStateStore: DataStore<\"FORM_STATE\"> | undefined;\n if (attemptToVisitGlobals.has(\"FORM_STATE\")) {\n formStateStore = getFormStateStore(\n runtimeContext,\n \"FORM_STATE\",\n `: \"${raw}\"`\n );\n }\n\n const devHook = getDevHook();\n if (isAsync || devHook) {\n if (attemptToVisitGlobals.has(\"CTX\")) {\n usedCtx = strictCollectMemberUsage(raw, \"CTX\");\n isAsync && blockingList.push(runtimeContext.ctxStore.waitFor(usedCtx));\n }\n\n if (tplStateStore) {\n usedStates = strictCollectMemberUsage(raw, \"STATE\");\n // istanbul ignore if\n if (!strict) {\n const usedTpls = strictCollectMemberUsage(raw, \"TPL\");\n for (const tpl of usedTpls) {\n usedStates.add(tpl);\n }\n }\n isAsync && blockingList.push(tplStateStore.waitFor(usedStates));\n }\n\n if (formStateStore) {\n usedFormStates = strictCollectMemberUsage(raw, \"FORM_STATE\");\n isAsync && blockingList.push(formStateStore.waitFor(usedFormStates));\n }\n\n if (attemptToVisitGlobals.has(\"PROCESSORS\")) {\n usedProcessors = strictCollectMemberUsage(raw, \"PROCESSORS\", 2);\n isAsync &&\n blockingList.push(\n loadProcessorsImperatively(usedProcessors, getBrickPackages())\n );\n }\n }\n\n if (isAsync) {\n let attemptToCheckPermissions = attemptToVisitGlobals.has(\"PERMISSIONS\");\n // There maybe `PERMISSIONS.check()` usage in functions\n if (!attemptToCheckPermissions && attemptToVisitGlobals.has(\"FN\")) {\n const usedFunctions = [...strictCollectMemberUsage(raw, \"FN\")];\n attemptToCheckPermissions = checkPermissionsUsage(usedFunctions);\n }\n\n if (attemptToCheckPermissions) {\n blockingList.push(...runtimeContext.pendingPermissionsPreCheck);\n }\n\n if (menuUsage.usedArgs.size > 0 && hooks?.menu) {\n // Block evaluating if has `APP.getMenu(...)` usage.\n const usedMenuIds = [...menuUsage.usedArgs];\n blockingList.push(\n Promise.all(\n usedMenuIds.map((menuId) =>\n hooks!.menu!.fetchMenuById(menuId, runtimeContext, {\n getStoryboardByAppId: _internalApiGetStoryboardInBootstrapData,\n resolveData,\n asyncComputeRealValue,\n })\n )\n )\n );\n }\n\n if (hasAppUsage.usedArgs.size > 0) {\n // Only wait for specific apps\n blockingList.push(\n hooks?.checkInstalledApps?.waitForCheckingApps([\n ...hasAppUsage.usedArgs,\n ])\n );\n }\n }\n\n return {\n blockingList,\n run() {\n const {\n app: currentApp,\n location,\n query,\n match,\n flags,\n sys,\n ctxStore,\n data,\n event,\n } = runtimeContext;\n const app = runtimeContext.overrideApp ?? currentApp;\n\n for (const variableName of attemptToVisitGlobals) {\n switch (variableName) {\n // case \"ALIAS\":\n case \"ANCHOR\":\n globalVariables[variableName] = location.hash\n ? location.hash.substring(1)\n : null;\n break;\n case \"APP\":\n globalVariables[variableName] = {\n ...cloneDeep(app),\n getMenu: hooks?.menu?.getMenuById,\n };\n break;\n case \"CTX\":\n globalVariables[variableName] = getDynamicReadOnlyProxy({\n get(target, key) {\n return ctxStore.getValue(key as string);\n },\n ownKeys() {\n return Array.from(usedCtx);\n },\n });\n break;\n case \"DATA\":\n globalVariables[variableName] = data;\n break;\n case \"EVENT\":\n globalVariables[variableName] = event;\n break;\n case \"FLAGS\":\n globalVariables[variableName] = getReadOnlyProxy(flags);\n break;\n case \"FORM_STATE\":\n globalVariables[variableName] = getDynamicReadOnlyProxy({\n get(target, key) {\n return formStateStore!.getValue(key as string);\n },\n ownKeys() {\n return Array.from(usedFormStates);\n },\n });\n break;\n case \"HASH\":\n globalVariables[variableName] = location.hash;\n break;\n case \"INSTALLED_APPS\":\n globalVariables[variableName] = getReadOnlyProxy({\n has: hasInstalledApp,\n });\n break;\n case \"ITEM\":\n case \"INDEX\": {\n const property =\n variableName === \"ITEM\" ? \"forEachItem\" : \"forEachIndex\";\n if (!hasOwnProperty(runtimeContext, property)) {\n // eslint-disable-next-line no-console\n console.error(\n `Using \\`${variableName}\\` but no \\`:forEach\\` is found, check your expression: \"${raw}\"`\n );\n } else {\n globalVariables[variableName] = runtimeContext[property];\n }\n break;\n }\n case \"LOCAL_STORAGE\":\n globalVariables[variableName] = getReadOnlyProxy({\n getItem: getStorageItem(\"local\"),\n });\n break;\n case \"MEDIA\":\n globalVariables[variableName] = getReadOnlyProxy(getMedia());\n break;\n case \"MISC\":\n globalVariables[variableName] = getRuntime().getMiscSettings();\n break;\n case \"PARAMS\":\n globalVariables[variableName] = new URLSearchParams(query);\n break;\n case \"PATH\":\n globalVariables[variableName] = getReadOnlyProxy(\n match?.params ?? {}\n );\n break;\n case \"PATH_NAME\":\n globalVariables[variableName] = location.pathname;\n break;\n case \"PROCESSORS\":\n globalVariables[variableName] = getDynamicReadOnlyProxy({\n get(target, key) {\n const pkg = customProcessors.get(key as string);\n if (!pkg) {\n throw new Error(\n `'PROCESSORS.${\n key as string\n }' is not registered! Have you installed the relevant brick package?`\n );\n }\n return getDynamicReadOnlyProxy({\n get(t, k) {\n return pkg.get(k as string);\n },\n ownKeys() {\n return Array.from(pkg.keys());\n },\n });\n },\n ownKeys() {\n const keys = new Set<string>();\n for (const processor of usedProcessors) {\n const namespace = processor.split(\".\")[0];\n keys.add(namespace);\n }\n return Array.from(keys);\n },\n });\n break;\n case \"QUERY\":\n globalVariables[variableName] = Object.fromEntries(\n Array.from(query.keys()).map((key) => [key, query.get(key)])\n );\n break;\n case \"QUERY_ARRAY\":\n globalVariables[variableName] = Object.fromEntries(\n Array.from(query.keys()).map((key) => [key, query.getAll(key)])\n );\n // case \"SEGUE\":\n break;\n case \"SESSION_STORAGE\":\n globalVariables[variableName] = getReadOnlyProxy({\n getItem: getStorageItem(\"session\"),\n });\n break;\n // istanbul ignore next\n case \"TPL\":\n warnAboutStrictMode(\n strict,\n 'Using \"TPL\" in expression',\n `check your expression: \"${raw}\"`\n );\n if (strict) {\n break;\n }\n // eslint-disable-next-line no-fallthrough\n case \"STATE\":\n globalVariables[variableName] = getDynamicReadOnlyProxy({\n get(target, key) {\n return tplStateStore!.getValue(key as string);\n },\n ownKeys() {\n return Array.from(usedStates);\n },\n });\n break;\n case \"SYS\":\n globalVariables[variableName] = getReadOnlyProxy(sys ?? {});\n break;\n case \"__WIDGET_FN__\":\n globalVariables[variableName] = widgetFunctions;\n break;\n case \"__WIDGET_IMG__\":\n globalVariables[variableName] = hooks?.images?.widgetImagesFactory;\n break;\n case \"__WIDGET_I18N__\":\n globalVariables[variableName] = widgetI18nFactory;\n break;\n }\n }\n\n Object.assign(\n globalVariables,\n getGeneralGlobals(precooked.attemptToVisitGlobals, {\n storyboardFunctions,\n app: app,\n appendI18nNamespace: runtimeContext.appendI18nNamespace,\n })\n );\n\n try {\n const result = cook(precooked.expression, precooked.source, {\n globalVariables: supply(\n precooked.attemptToVisitGlobals,\n globalVariables\n ),\n });\n const detail = { raw, context: globalVariables, result };\n devtoolsHookEmit(\"evaluation\", detail);\n return result;\n } catch (error: any) {\n const message = `${error.message}, in \"${raw}\"`;\n const errorConstructor = getCookErrorConstructor(error);\n throw new errorConstructor(message);\n }\n },\n };\n}\n"],"mappings":"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","ignoreList":[]}