@next-core/runtime 1.17.7 → 1.17.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/CustomTemplates.js +4 -4
- package/dist/cjs/CustomTemplates.js.map +1 -1
- package/dist/cjs/auth.js +4 -4
- package/dist/cjs/auth.js.map +1 -1
- package/dist/cjs/internal/CustomTemplates/expandCustomTemplate.js +1 -1
- package/dist/cjs/internal/CustomTemplates/expandCustomTemplate.js.map +1 -1
- package/dist/cjs/internal/Renderer.js +2 -2
- package/dist/cjs/internal/Renderer.js.map +1 -1
- package/dist/cjs/internal/RendererContext.js +9 -10
- package/dist/cjs/internal/RendererContext.js.map +1 -1
- package/dist/cjs/internal/Router.js +6 -6
- package/dist/cjs/internal/Router.js.map +1 -1
- package/dist/cjs/internal/Runtime.js +12 -12
- package/dist/cjs/internal/Runtime.js.map +1 -1
- package/dist/cjs/internal/bindListeners.js +1 -1
- package/dist/cjs/internal/bindListeners.js.map +1 -1
- package/dist/cjs/internal/compute/evaluate.js +3 -3
- package/dist/cjs/internal/compute/evaluate.js.map +1 -1
- package/dist/cjs/internal/compute/getGeneralGlobals.js +2 -2
- package/dist/cjs/internal/compute/getGeneralGlobals.js.map +1 -1
- package/dist/cjs/internal/data/getProviderBrick.js +1 -1
- package/dist/cjs/internal/data/getProviderBrick.js.map +1 -1
- package/dist/cjs/internal/data/resolveData.js +1 -2
- package/dist/cjs/internal/data/resolveData.js.map +1 -1
- package/dist/cjs/internal/fulfilStoryboard.js +1 -1
- package/dist/cjs/internal/fulfilStoryboard.js.map +1 -1
- package/dist/cjs/internal/matchStoryboard.js +2 -2
- package/dist/cjs/internal/matchStoryboard.js.map +1 -1
- package/dist/esm/CustomTemplates.js +4 -4
- package/dist/esm/CustomTemplates.js.map +1 -1
- package/dist/esm/auth.js +4 -4
- package/dist/esm/auth.js.map +1 -1
- package/dist/esm/internal/CustomTemplates/expandCustomTemplate.js +1 -1
- package/dist/esm/internal/CustomTemplates/expandCustomTemplate.js.map +1 -1
- package/dist/esm/internal/Renderer.js +2 -2
- package/dist/esm/internal/Renderer.js.map +1 -1
- package/dist/esm/internal/RendererContext.js +9 -10
- package/dist/esm/internal/RendererContext.js.map +1 -1
- package/dist/esm/internal/Router.js +6 -6
- package/dist/esm/internal/Router.js.map +1 -1
- package/dist/esm/internal/Runtime.js +10 -10
- package/dist/esm/internal/Runtime.js.map +1 -1
- package/dist/esm/internal/bindListeners.js +1 -1
- package/dist/esm/internal/bindListeners.js.map +1 -1
- package/dist/esm/internal/compute/evaluate.js +3 -3
- package/dist/esm/internal/compute/evaluate.js.map +1 -1
- package/dist/esm/internal/compute/getGeneralGlobals.js +2 -2
- package/dist/esm/internal/compute/getGeneralGlobals.js.map +1 -1
- package/dist/esm/internal/data/getProviderBrick.js +1 -1
- package/dist/esm/internal/data/getProviderBrick.js.map +1 -1
- package/dist/esm/internal/fulfilStoryboard.js +1 -1
- package/dist/esm/internal/fulfilStoryboard.js.map +1 -1
- package/dist/esm/internal/matchStoryboard.js +2 -2
- package/dist/esm/internal/matchStoryboard.js.map +1 -1
- package/package.json +13 -13
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bindListeners.js","names":["_cook","require","_general","_checkIf","_computeRealValue","_history","_getProviderBrick","_poll2","_evaluate","_setProperties","_themeAndMode","_utils","_handleHttpError","_Notification","_utils2","_Runtime","bindListeners","brick","eventsMap","runtimeContext","Object","entries","forEach","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","checkIf","else","object","split","handleHistoryAction","args","callback","handleWindowAction","handleLocationAction","handleStorageAction","preventDefault","handleConsoleAction","handleMessageAction","handleHttpError","detail","handleContextAction","batch","handleTplStateAction","type","init","argsFactory","tplHostElement","getTplHostElement","dispatchEvent","CustomEvent","handleFormStateAction","handleMessageDispatcher","applyTheme","theme","applyMode","console","error","handleUseProviderAction","handleCustomAction","providerBrick","getProviderBrick","brickCallback","httpErrorToString","targets","rawTarget","rawTargetRef","computedTarget","isEvaluable","isPreEvaluated","computeRealValue","multiple","Array","from","document","querySelectorAll","found","querySelector","HTMLElement","computedTargetRef","targetRefs","join","map","ref","_tplHostElement$$$get","$$getElementByRef","call","filter","Boolean","useEventAsDefault","setProperties","options","_poll","task","_hooks$flowApi","computedArgs","hooks","flowApi","isFlowApiProvider","getArgsOfFlowApi","callbackFactory","eventCallbackFactory","pollableCallback","progress","success","finally","poll","enabled","startPoll","result","err","baseArgsLength","hasCallback","overrideMethod","useEventDetailAsDefault","undefined","blocked","getHistory","url","features","window","open","batchUpdate","store","updateValues","arg","name","value","updateValue","isBatch","isArray","every","isObject","ctxStore","tplStateStore","getTplStateStore","JSON","stringify","formStateStore","getFormStateStore","location","assign","storage","localStorage","sessionStorage","setItem","removeItem","Notification","show","message","_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\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 let poll: ProviderPollOptions | undefined;\n if (isUseProviderHandler(handler)) {\n poll = computeRealValue(handler.poll, { ...runtimeContext, event }) as\n | ProviderPollOptions\n | undefined;\n }\n\n if (poll?.enabled) {\n startPoll(task, pollableCallback, poll);\n } else {\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}\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":["_cook","require","_general","_checkIf","_computeRealValue","_history","_getProviderBrick","_poll2","_evaluate","_setProperties","_themeAndMode","_utils","_handleHttpError","_Notification","_utils2","_Runtime","bindListeners","brick","eventsMap","runtimeContext","Object","entries","forEach","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","checkIf","else","object","split","handleHistoryAction","args","callback","handleWindowAction","handleLocationAction","handleStorageAction","preventDefault","handleConsoleAction","handleMessageAction","handleHttpError","detail","handleContextAction","batch","handleTplStateAction","type","init","argsFactory","tplHostElement","getTplHostElement","dispatchEvent","CustomEvent","handleFormStateAction","handleMessageDispatcher","applyTheme","theme","applyMode","console","error","handleUseProviderAction","handleCustomAction","providerBrick","getProviderBrick","brickCallback","httpErrorToString","targets","rawTarget","rawTargetRef","computedTarget","isEvaluable","isPreEvaluated","computeRealValue","multiple","Array","from","document","querySelectorAll","found","querySelector","HTMLElement","computedTargetRef","targetRefs","join","map","ref","_tplHostElement$$$get","$$getElementByRef","call","filter","Boolean","useEventAsDefault","setProperties","options","_poll","task","_hooks$flowApi","computedArgs","hooks","flowApi","isFlowApiProvider","getArgsOfFlowApi","callbackFactory","eventCallbackFactory","pollableCallback","progress","success","finally","poll","enabled","startPoll","result","err","baseArgsLength","hasCallback","overrideMethod","useEventDetailAsDefault","undefined","blocked","getHistory","url","features","window","open","batchUpdate","store","updateValues","arg","name","value","updateValue","isBatch","isArray","every","isObject","ctxStore","tplStateStore","getTplStateStore","JSON","stringify","formStateStore","getFormStateStore","location","assign","storage","localStorage","sessionStorage","setItem","removeItem","Notification","show","message","_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\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 let poll: ProviderPollOptions | undefined;\n if (isUseProviderHandler(handler)) {\n poll = computeRealValue(handler.poll, { ...runtimeContext, event }) as\n | ProviderPollOptions\n | undefined;\n }\n\n if (poll?.enabled) {\n startPoll(task, pollableCallback, poll);\n } else {\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}\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":";;;;;;;;;;;;;;;AAcA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,iBAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AACA,IAAAK,iBAAA,GAAAL,OAAA;AACA,IAAAM,MAAA,GAAAN,OAAA;AACA,IAAAO,SAAA,GAAAP,OAAA;AACA,IAAAQ,cAAA,GAAAR,OAAA;AACA,IAAAS,aAAA,GAAAT,OAAA;AAMA,IAAAU,MAAA,GAAAV,OAAA;AAIA,IAAAW,gBAAA,GAAAX,OAAA;AACA,IAAAY,aAAA,GAAAZ,OAAA;AACA,IAAAa,OAAA,GAAAb,OAAA;AAEA,IAAAc,QAAA,GAAAd,OAAA;AAEO,SAASe,aAAaA,CAC3BC,KAA0B,EAC1BC,SAAqC,EACrCC,cAA8B,EACxB;EACN,IAAI,CAACD,SAAS,EAAE;IACd;EACF;EACAE,MAAM,CAACC,OAAO,CAACH,SAAS,CAAC,CAACI,OAAO,CAAC,CAAC,CAACC,SAAS,EAAEC,QAAQ,CAAC,KAAK;IAC3D,MAAMC,QAAQ,GAAGC,eAAe,CAACF,QAAQ,EAAEL,cAAc,EAAE;MACzDQ,OAAO,EAAEV;IACX,CAAC,CAAC;IACFA,KAAK,CAACW,gBAAgB,CAACL,SAAS,EAAEE,QAAQ,CAAC;;IAE3C;IACA,IAAI,CAACR,KAAK,CAACY,WAAW,EAAE;MACtBZ,KAAK,CAACY,WAAW,GAAG,EAAE;IACxB;IACAZ,KAAK,CAACY,WAAW,CAACC,IAAI,CAAC,CAACP,SAAS,EAAEE,QAAQ,CAAC,CAAC;;IAE7C;IACA,IAAI,CAACR,KAAK,CAACc,gBAAgB,EAAE;MAC3Bd,KAAK,CAACc,gBAAgB,GAAG,EAAE;IAC7B;IACA,KAAK,MAAMC,OAAO,IAAK,EAAE,CAAyBC,MAAM,CAACT,QAAQ,CAAC,EAAE;MAClEP,KAAK,CAACc,gBAAgB,CAACD,IAAI,CAAC,CAACP,SAAS,EAAE,IAAI,EAAES,OAAO,CAAC,CAAC;IACzD;EACF,CAAC,CAAC;AACJ;AAEO,SAASE,eAAeA,CAACjB,KAA0B,EAAQ;EAChE,IAAIA,KAAK,CAACY,WAAW,EAAE;IACrB,KAAK,MAAM,CAACN,SAAS,EAAEE,QAAQ,CAAC,IAAIR,KAAK,CAACY,WAAW,EAAE;MACrDZ,KAAK,CAACkB,mBAAmB,CAACZ,SAAS,EAAEE,QAAQ,CAAC;IAChD;IACAR,KAAK,CAACY,WAAW,CAACO,MAAM,GAAG,CAAC;EAC9B;AACF;AAEO,SAASC,gBAAgBA,CAC9BL,OAA0B,EACW;EACrC,OAAO,OAAQA,OAAO,CAA8BM,MAAM,KAAK,QAAQ;AACzE;AAEO,SAASC,oBAAoBA,CAClCP,OAA0B,EACU;EACpC,OAAO,OAAQA,OAAO,CAA6BQ,WAAW,KAAK,QAAQ;AAC7E;AAEO,SAASC,eAAeA,CAC7BT,OAA0B,EACU;EACpC,OAAO,CAAC,EACN,CAAEA,OAAO,CAA6BU,MAAM,IACzCV,OAAO,CAA6BW,SAAS,MAC9CX,OAAO,CAAoCY,MAAM,IAChDZ,OAAO,CAAqCa,UAAU,CAAC,CAC3D;AACH;AAEO,SAASC,sBAAsBA,CACpCd,OAAgC,EACW;EAC3C,OAAO,CAAC,CAAEA,OAAO,CAAoCY,MAAM;AAC7D;AAEO,SAASG,uBAAuBA,CACrCf,OAAgC,EACY;EAC5C,OAAO,CAAC,CAAEA,OAAO,CAAqCa,UAAU;AAClE;AAEO,SAASG,yBAAyBA,CACvChB,OAA0B,EACU;EACpC,OAAO,CAAC,CAAEA,OAAO,CAA6BiB,IAAI;AACpD;AAEO,SAASvB,eAAeA,CAC7BF,QAAiD,EACjDL,cAA8B,EAC9B+B,YAA4B,EAC5B;EACA,OAAO,UAAUC,KAAY,EAAQ;IAAA,IAAAC,cAAA,EAAAC,eAAA;IACnC,KAAK,MAAMrB,OAAO,IAAK,EAAE,CAAyBC,MAAM,CAACT,QAAQ,CAAC,EAAE;MAClE,IAAI,CAAC,IAAA8B,gBAAO,EAACtB,OAAO,EAAE;QAAE,GAAGb,cAAc;QAAEgC;MAAM,CAAC,CAAC,EAAE;QACnD,IAAInB,OAAO,CAACuB,IAAI,EAAE;UAChB7B,eAAe,CAACM,OAAO,CAACuB,IAAI,EAAEpC,cAAc,EAAE+B,YAAY,CAAC,CAACC,KAAK,CAAC;QACpE;QACA;MACF;MAEA,IAAIH,yBAAyB,CAAChB,OAAO,CAAC,EAAE;QACtCN,eAAe,CAACM,OAAO,CAACiB,IAAI,EAAE9B,cAAc,EAAE+B,YAAY,CAAC,CAACC,KAAK,CAAC;MACpE,CAAC,MAAM,IAAId,gBAAgB,CAACL,OAAO,CAAC,EAAE;QACpC,MAAM,CAACwB,MAAM,EAAEZ,MAAM,CAAC,GAAGZ,OAAO,CAACM,MAAM,CAACmB,KAAK,CAAC,GAAG,CAAQ;QACzD,QAAQzB,OAAO,CAACM,MAAM;UACpB,KAAK,cAAc;UACnB,KAAK,iBAAiB;UACtB,KAAK,mBAAmB;UACxB,KAAK,sBAAsB;UAC3B,KAAK,oBAAoB;UACzB,KAAK,eAAe;UACpB,KAAK,gBAAgB;UACrB,KAAK,mBAAmB;UACxB,KAAK,gBAAgB;UACrB,KAAK,iBAAiB;YACpBoB,mBAAmB,CACjBP,KAAK,EACLP,MAAM,EACNZ,OAAO,CAAC2B,IAAI,EACZ3B,OAAO,CAAC4B,QAAQ,EAChBzC,cACF,CAAC;YACD;;UAEF;UACA;UACA;UACA;;UAEA,KAAK,aAAa;YAChB0C,kBAAkB,CAACV,KAAK,EAAEnB,OAAO,CAAC2B,IAAI,EAAExC,cAAc,CAAC;YACvD;UAEF,KAAK,iBAAiB;UACtB,KAAK,iBAAiB;YACpB2C,oBAAoB,CAACX,KAAK,EAAEP,MAAM,EAAEZ,OAAO,CAAC2B,IAAI,EAAExC,cAAc,CAAC;YACjE;UAEF,KAAK,sBAAsB;UAC3B,KAAK,yBAAyB;UAC9B,KAAK,wBAAwB;UAC7B,KAAK,2BAA2B;YAC9B4C,mBAAmB,CACjBZ,KAAK,EACLK,MAAM,EACNZ,MAAM,EACNZ,OAAO,CAAC2B,IAAI,EACZxC,cACF,CAAC;YACD;UAEF,KAAK,sBAAsB;YACzBgC,KAAK,CAACa,cAAc,CAAC,CAAC;YACtB;UAEF,KAAK,aAAa;UAClB,KAAK,eAAe;UACpB,KAAK,cAAc;UACnB,KAAK,cAAc;YACjBC,mBAAmB,CAACd,KAAK,EAAEP,MAAM,EAAEZ,OAAO,CAAC2B,IAAI,EAAExC,cAAc,CAAC;YAChE;UAEF,KAAK,iBAAiB;UACtB,KAAK,eAAe;UACpB,KAAK,cAAc;UACnB,KAAK,cAAc;YACjB+C,mBAAmB,CAACf,KAAK,EAAEP,MAAM,EAAEZ,OAAO,CAAC2B,IAAI,EAAExC,cAAc,CAAC;YAChE;UAEF,KAAK,iBAAiB;YACpB,IAAAgD,gCAAe,EAAEhB,KAAK,CAAiBiB,MAAM,CAAC;YAC9C;UAEF,KAAK,gBAAgB;UACrB,KAAK,iBAAiB;UACtB,KAAK,iBAAiB;UACtB,KAAK,cAAc;YACjBC,mBAAmB,CACjBlB,KAAK,EACLP,MAAM,EACNZ,OAAO,CAAC2B,IAAI,GAAAP,cAAA,GACZpB,OAAO,CAACsC,KAAK,cAAAlB,cAAA,cAAAA,cAAA,GAAI,IAAI,EACrBpB,OAAO,CAAC4B,QAAQ,EAChBzC,cACF,CAAC;YACD;UAEF,KAAK,cAAc;UACnB,KAAK,eAAe;UACpB,KAAK,YAAY;YACfoD,oBAAoB,CAClBpB,KAAK,EACLP,MAAM,EACNZ,OAAO,CAAC2B,IAAI,GAAAN,eAAA,GACZrB,OAAO,CAACsC,KAAK,cAAAjB,eAAA,cAAAA,eAAA,GAAI,IAAI,EACrBrB,OAAO,CAAC4B,QAAQ,EAChBzC,cACF,CAAC;YACD;UAEF,KAAK,mBAAmB;YAAE;cACxB,MAAM,CAACqD,IAAI,EAAEC,IAAI,CAAC,GAAGC,WAAW,CAC9B1C,OAAO,CAAC2B,IAAI,EACZxC,cAAc,EACdgC,KACF,CAA8B;cAC9B,MAAMwB,cAAc,GAAG,IAAAC,wBAAiB,EACtCzD,cAAc,EACda,OAAO,CAACM,MAAM,EACb,KAAIkC,IAAK,EACZ,CAAC;cACDG,cAAc,CAACE,aAAa,CAAC,IAAIC,WAAW,CAACN,IAAI,EAAEC,IAAI,CAAC,CAAC;cACzD;YACF;UAEA,KAAK,kBAAkB;YACrBM,qBAAqB,CACnB5B,KAAK,EACLnB,OAAO,CAAC2B,IAAI,EACZ3B,OAAO,CAAC4B,QAAQ,EAChBzC,cACF,CAAC;YACD;UAEF,KAAK,mBAAmB;UACxB,KAAK,qBAAqB;YACxB6D,uBAAuB,CACrB7B,KAAK,EACLP,MAAM,EACNZ,OAAO,CAAC2B,IAAI,EACZxC,cAAc,EACd+B,YAAY,EACZlB,OAAO,CAAC4B,QACV,CAAC;YACD;UAEF,KAAK,oBAAoB;UACzB,KAAK,qBAAqB;YACxB,IAAAqB,wBAAU,EACRjD,OAAO,CAACM,MAAM,KAAK,oBAAoB,GAAG,MAAM,GAAG,OACrD,CAAC;YACD;UACF,KAAK,gBAAgB;YAAE;cACrB,MAAM,CAAC4C,KAAK,CAAC,GAAGR,WAAW,CAAC1C,OAAO,CAAC2B,IAAI,EAAExC,cAAc,EAAEgC,KAAK,CAAC;cAChE,IAAA8B,wBAAU,EAACC,KAAkB,CAAC;cAC9B;YACF;UACA,KAAK,uBAAuB;UAC5B,KAAK,qBAAqB;YACxB,IAAAC,uBAAS,EACPnD,OAAO,CAACM,MAAM,KAAK,uBAAuB,GACtC,WAAW,GACX,SACN,CAAC;YACD;;UAEF;UACA;;UAEA;;UAEA;;UAEA;YACE;YACA8C,OAAO,CAACC,KAAK,CAAC,gCAAgC,EAAErD,OAAO,CAACM,MAAM,CAAC;QACnE;MACF,CAAC,MAAM,IAAIC,oBAAoB,CAACP,OAAO,CAAC,EAAE;QACxCsD,uBAAuB,CAACnC,KAAK,EAAEnB,OAAO,EAAEb,cAAc,EAAE+B,YAAY,CAAC;MACvE,CAAC,MAAM,IAAIT,eAAe,CAACT,OAAO,CAAC,EAAE;QACnCuD,kBAAkB,CAACpC,KAAK,EAAEnB,OAAO,EAAEb,cAAc,EAAE+B,YAAa,CAAC;MACnE,CAAC,MAAM;QACL;QACAkC,OAAO,CAACC,KAAK,CAAC,wBAAwB,EAAErD,OAAO,CAAC;MAClD;IACF;EACF,CAAC;AACH;AAEA,eAAesD,uBAAuBA,CACpCnC,KAAY,EACZnB,OAAgC,EAChCb,cAA8B,EAC9B+B,YAA4B,EAC5B;EACA,IAAI;IACF,MAAMsC,aAAa,GAAG,MAAM,IAAAC,kCAAgB,EAACzD,OAAO,CAACQ,WAAW,CAAC;IACjE,MAAMI,MAAM,GAAGZ,OAAO,CAACY,MAAM,KAAK,QAAQ,GAAG,SAAS,GAAG,QAAQ;IACjE8C,aAAa,CACXvC,KAAK,EACLqC,aAAa,EACbxD,OAAO,EACPY,MAAM,EACNzB,cAAc,EACd+B,YACF,CAAC;EACH,CAAC,CAAC,OAAOmC,KAAK,EAAE;IACd;IACAD,OAAO,CAACC,KAAK,CAAC,IAAAM,kCAAiB,EAACN,KAAK,CAAC,CAAC;EACzC;AACF;AAEA,SAASE,kBAAkBA,CACzBpC,KAAY,EACZnB,OAAgC,EAChCb,cAA8B,EAC9B+B,YAA2B,EAC3B;EACA,IAAI0C,OAAsB,GAAG,EAAE;EAC/B,MAAMC,SAAS,GAAG7D,OAAO,CAACU,MAAM;EAChC,MAAMoD,YAAY,GAAG9D,OAAO,CAACW,SAAS;EACtC,IAAIoD,cAAc,GAAGF,SAAS;EAC9B;EACA,IACE,OAAOA,SAAS,KAAK,QAAQ,GACzB,IAAAG,iBAAW,EAACH,SAAS,CAAC,GACtB,IAAAI,wBAAc,EAACJ,SAAS,CAAC,EAC7B;IACAE,cAAc,GAAG,IAAAG,kCAAgB,EAACL,SAAS,EAAE;MAAE,GAAG1E,cAAc;MAAEgC;IAAM,CAAC,CAAC;EAC5E;EACA,IAAI,OAAO4C,cAAc,KAAK,QAAQ,EAAE;IACtC,IAAIA,cAAc,KAAK,OAAO,EAAE;MAC9BH,OAAO,CAAC9D,IAAI,CAACoB,YAAY,CAACvB,OAAQ,CAAC;IACrC,CAAC,MAAM,IAAIK,OAAO,CAACmE,QAAQ,EAAE;MAC3BP,OAAO,GAAGQ,KAAK,CAACC,IAAI,CAACC,QAAQ,CAACC,gBAAgB,CAACR,cAAc,CAAC,CAAC;IACjE,CAAC,MAAM;MACL,MAAMS,KAAK,GAAGF,QAAQ,CAACG,aAAa,CAACV,cAAc,CAAgB;MACnE,IAAIS,KAAK,KAAK,IAAI,EAAE;QAClBZ,OAAO,CAAC9D,IAAI,CAAC0E,KAAK,CAAC;MACrB;IACF;EACF,CAAC,MAAM,IAAIT,cAAc,EAAE;IACzB,IAAIA,cAAc,YAAYW,WAAW,EAAE;MACzCd,OAAO,CAAC9D,IAAI,CAACiE,cAA6B,CAAC;IAC7C,CAAC,MAAM;MACL;MACAX,OAAO,CAACC,KAAK,CAAC,oBAAoB,EAAEU,cAAc,CAAC;IACrD;EACF,CAAC,MAAM,IAAID,YAAY,EAAE;IACvB,IAAIa,iBAAiB,GAAGb,YAAY;IACpC;IACA,IACE,OAAOA,YAAY,KAAK,QAAQ,GAC5B,IAAAE,iBAAW,EAACF,YAAY,CAAC,GACzB,IAAAG,wBAAc,EAACH,YAAY,CAAC,EAChC;MACAa,iBAAiB,GAAG,IAAAT,kCAAgB,EAACJ,YAAY,EAAE;QACjD,GAAG3E,cAAc;QACjBgC;MACF,CAAC,CAAsB;IACzB;IACA,MAAMyD,UAAU,GAAI,EAAE,CAAc3E,MAAM,CAAC0E,iBAAiB,CAAC;IAC7D,MAAMhC,cAAc,GAAG,IAAAC,wBAAiB,EACtCzD,cAAc,EACd,WAAW,EACV,KAAIyF,UAAU,CAACC,IAAI,CAAC,IAAI,CAAE,EAC7B,CAAC;IACDjB,OAAO,CAAC9D,IAAI,CACV,GAAI8E,UAAU,CACXE,GAAG,CAAEC,GAAG;MAAA,IAAAC,qBAAA;MAAA,QAAAA,qBAAA,GAAKrC,cAAc,CAACsC,iBAAiB,cAAAD,qBAAA,uBAAhCA,qBAAA,CAAAE,IAAA,CAAAvC,cAAc,EAAqBoC,GAAG,CAAC;IAAA,EAAC,CACrDI,MAAM,CAACC,OAAO,CACnB,CAAC;EACH;EACA,IAAIxB,OAAO,CAACxD,MAAM,KAAK,CAAC,EAAE;IACxB;IACAgD,OAAO,CAACC,KAAK,CAAC,mBAAmB,EAAEQ,SAAS,IAAIC,YAAY,CAAC;IAC7D;EACF;EACA,IAAIhD,sBAAsB,CAACd,OAAO,CAAC,EAAE;IACnC4D,OAAO,CAACtE,OAAO,CAAEoB,MAAM,IAAK;MAC1BgD,aAAa,CACXvC,KAAK,EACLT,MAAM,EACNV,OAAO,EACPA,OAAO,CAACY,MAAM,EACdzB,cAAc,EACd+B,YAAY,EACZ;QACEmE,iBAAiB,EAAE;MACrB,CACF,CAAC;IACH,CAAC,CAAC;EACJ,CAAC,MAAM,IAAItE,uBAAuB,CAACf,OAAO,CAAC,EAAE;IAC3C,IAAAsF,4BAAa,EAAC1B,OAAO,EAAE5D,OAAO,CAACa,UAAU,EAAE;MACzC,GAAG1B,cAAc;MACjBgC;IACF,CAAC,CAAC;EACJ;AACF;AAEA,eAAeuC,aAAaA,CAC1BvC,KAAY,EACZT,MAAmB,EACnBV,OAAiE,EACjEY,MAAc,EACdzB,cAA8B,EAC9B+B,YAA4B,EAC5BqE,OAA4B,EACb;EAAA,IAAAC,KAAA;EACf,IAAI,OAAQ9E,MAAM,CAASE,MAAM,CAAC,KAAK,UAAU,EAAE;IACjD;IACAwC,OAAO,CAACC,KAAK,CAAC,uBAAuB,EAAE;MACrC3C,MAAM;MACNE,MAAM,EAAEA;IACV,CAAC,CAAC;IACF;EACF;EAEA,MAAM6E,IAAI,GAAG,MAAAA,CAAA,KAA8B;IAAA,IAAAC,cAAA;IACzC,IAAIC,YAAY,GAAGjD,WAAW,CAC5B1C,OAAO,CAAC2B,IAAI,EACZxC,cAAc,EACdgC,KAAK,EACLoE,OACF,CAAC;IACD,IACEhF,oBAAoB,CAACP,OAAO,CAAC,IAC7B4F,cAAK,aAALA,cAAK,gBAAAF,cAAA,GAALE,cAAK,CAAEC,OAAO,cAAAH,cAAA,eAAdA,cAAA,CAAgBI,iBAAiB,CAAC9F,OAAO,CAACQ,WAAW,CAAC,EACtD;MACAmF,YAAY,GAAG,MAAMC,cAAK,CAACC,OAAO,CAACE,gBAAgB,CACjD/F,OAAO,CAACQ,WAAW,EACnBmF,YAAY,EACZ/E,MACF,CAAC;IACH;IACA,OAAQF,MAAM,CAASE,MAAM,CAAC,CAAC,GAAG+E,YAAY,CAAC;EACjD,CAAC;EAED,IAAI,CAAC3F,OAAO,CAAC4B,QAAQ,EAAE;IACrB6D,IAAI,CAAC,CAAC;IACN;EACF;EAEA,MAAMO,eAAe,GAAGC,oBAAoB,CAC1CjG,OAAO,CAAC4B,QAAQ,EAChBzC,cAAc,EACd+B,YACF,CAAC;EAED,MAAMgF,gBAA4C,GAAG;IACnDC,QAAQ,EAAEH,eAAe,CAAC,UAAU,CAAC;IACrCI,OAAO,EAAEJ,eAAe,CAAC,SAAS,CAAC;IACnC3C,KAAK,EAAE2C,eAAe,CAAC,OAAO,CAAC;IAC/BK,OAAO,EAAEL,eAAe,CAAC,SAAS;EACpC,CAAC;EAED,IAAIM,IAAqC;EACzC,IAAI/F,oBAAoB,CAACP,OAAO,CAAC,EAAE;IACjCsG,IAAI,GAAG,IAAApC,kCAAgB,EAAClE,OAAO,CAACsG,IAAI,EAAE;MAAE,GAAGnH,cAAc;MAAEgC;IAAM,CAAC,CAErD;EACf;EAEA,KAAAqE,KAAA,GAAIc,IAAI,cAAAd,KAAA,eAAJA,KAAA,CAAMe,OAAO,EAAE;IACjB,IAAAC,gBAAS,EAACf,IAAI,EAAES,gBAAgB,EAAEI,IAAI,CAAC;EACzC,CAAC,MAAM;IACL,IAAI;MACF;MACA,MAAMG,MAAM,GAAG,MAAMhB,IAAI,CAAC,CAAC;MAC3BS,gBAAgB,CAACE,OAAO,CAACK,MAAM,CAAC;IAClC,CAAC,CAAC,OAAOC,GAAG,EAAE;MACZR,gBAAgB,CAAC7C,KAAK,CAACqD,GAAG,CAAC;IAC7B,CAAC,SAAS;MACRR,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC;IAC/B;EACF;AACF;AAEA,SAASxE,mBAAmBA,CAC1BP,KAAY,EACZP,MAUa,EACbe,IAA2B,EAC3BC,QAA+C,EAC/CzC,cAA8B,EAC9B;EACA,IAAIwH,cAAc,GAAG,CAAC;EACtB,IAAIC,WAAW,GAAG,KAAK;EACvB,IAAIC,cAAc,GAAGjG,MAA2B;EAChD,QAAQA,MAAM;IACZ,KAAK,MAAM;IACX,KAAK,SAAS;IACd,KAAK,WAAW;IAChB,KAAK,cAAc;IACnB,KAAK,YAAY;MACf+F,cAAc,GAAG,CAAC;MAClBC,WAAW,GAAG,IAAI;MAClB;IACF,KAAK,QAAQ;MACXA,WAAW,GAAG,IAAI;MAClB;IACF,KAAK,OAAO;MACVD,cAAc,GAAG,CAAC;MAClBE,cAAc,GAAG,iBAAiB;MAClC;EACJ;EACA,IAAIlB,YAAuB,GAAG,EAAE;EAChC,IAAIgB,cAAc,GAAG,CAAC,EAAE;IACtBhB,YAAY,GAAGjD,WAAW,CAACf,IAAI,EAAExC,cAAc,EAAEgC,KAAK,EAAE;MACtD2F,uBAAuB,EAAE;IAC3B,CAAC,CAAC;IACFnB,YAAY,CAACvF,MAAM,GAAGuG,cAAc;EACtC;EACA,IAAIC,WAAW,IAAIhF,QAAQ,EAAE;IAC3B,MAAMoE,eAAe,GAAGC,oBAAoB,CAC1CrE,QAAQ,EACRzC,cAAc,EACd4H,SACF,CAAC;IACDpB,YAAY,CAAC7F,IAAI,CAAEkH,OAAgB,IAAK;MACtChB,eAAe,CAACgB,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC;QAAEA;MAAQ,CAAC,CAAC;MAC3DhB,eAAe,CAAC,SAAS,CAAC,CAAC;QAAEgB;MAAQ,CAAC,CAAC;IACzC,CAAC,CAAC;EACJ;EACC,IAAAC,mBAAU,EAAC,CAAC,CAACJ,cAAc,CAAC,CAC3B,GAAGlB,YACL,CAAC;AACH;AAEA,SAAS9D,kBAAkBA,CACzBV,KAAY,EACZQ,IAA2B,EAC3BxC,cAA8B,EAC9B;EACA,MAAM,CAAC+H,GAAG,EAAExG,MAAM,EAAEyG,QAAQ,CAAC,GAAGzE,WAAW,CAACf,IAAI,EAAExC,cAAc,EAAEgC,KAAK,CAItE;EACDiG,MAAM,CAACC,IAAI,CAACH,GAAG,EAAExG,MAAM,IAAI,OAAO,EAAEyG,QAAQ,CAAC;AAC/C;AAEA,SAASG,WAAWA,CAClB3F,IAAe,EACfW,KAAc,EACd1B,MAA4B,EAC5B2G,KAAiC,EACjCpI,cAA8B,EAC9BgC,KAA0B,EACpB;EACN,IAAImB,KAAK,EAAE;IACTiF,KAAK,CAACC,YAAY,CAChB7F,IAAI,EACJf,MAAM,EACL6G,GAAc,IAAK;MAClB,OAAO/E,WAAW,CAChB+E,GAAG,EACHtI,cAAc,EACdgC,KACF,CAAC,CAAC,CAAC,CAAC;IACN,CACF,CAAC;EACH,CAAC,MAAM;IACLQ,IAAI,CAACrC,OAAO,CAAEmI,GAAG,IAAK;MACpB,MAAM;QAAEC,IAAI;QAAEC;MAAM,CAAC,GAAGjF,WAAW,CACjC,CAAC+E,GAAG,CAAC,EACLtI,cAAc,EACdgC,KACF,CAAC,CAAC,CAAC,CAA2B;MAC9BoG,KAAK,CAACK,WAAW,CAACF,IAAI,EAAEC,KAAK,EAAE/G,MAAM,CAAC;IACxC,CAAC,CAAC;EACJ;AACF;AAEA,SAASyB,mBAAmBA,CAC1BlB,KAAY,EACZP,MAA4B,EAC5Be,IAA2B,EAC3BW,KAAc,EACdV,QAA+C,EAC/CzC,cAA8B,EAC9B;EACA,MAAM0I,OAAO,GAAGzD,KAAK,CAAC0D,OAAO,CAACnG,IAAI,CAAC,IAAIA,IAAI,CAACoG,KAAK,CAACC,iBAAQ,CAAC;EAC3D,IAAIH,OAAO,KAAKjH,MAAM,KAAK,QAAQ,IAAIA,MAAM,KAAK,SAAS,CAAC,EAAE;IAC5D0G,WAAW,CACT3F,IAAI,EACJW,KAAK,EACL1B,MAAM,EACNzB,cAAc,CAAC8I,QAAQ,EACvB9I,cAAc,EACdgC,KACF,CAAC;EACH,CAAC,MAAM;IACL,MAAM,CAACuG,IAAI,EAAEC,KAAK,CAAC,GAAGjF,WAAW,CAACf,IAAI,EAAExC,cAAc,EAAEgC,KAAK,CAAC;IAC9DhC,cAAc,CAAC8I,QAAQ,CAACL,WAAW,CACjCF,IAAI,EACJC,KAAK,EACL/G,MAAM,EACNgB,QAAQ,EACRzC,cACF,CAAC;EACH;AACF;AAEA,SAASoD,oBAAoBA,CAC3BpB,KAAY,EACZP,MAAqC,EACrCe,IAA2B,EAC3BW,KAAc,EACdV,QAA+C,EAC/CzC,cAA8B,EAC9B;EACA,MAAM0I,OAAO,GAAGzD,KAAK,CAAC0D,OAAO,CAACnG,IAAI,CAAC,IAAIA,IAAI,CAACoG,KAAK,CAACC,iBAAQ,CAAC;EAC3D,IAAIH,OAAO,IAAIjH,MAAM,KAAK,QAAQ,EAAE;IAClC,MAAMsH,aAAa,GAAG,IAAAC,uBAAgB,EACpChJ,cAAc,EACb,SAAQyB,MAAO,EAAC,EAChB,KAAIwH,IAAI,CAACC,SAAS,CAAC1G,IAAI,CAAE,EAC5B,CAAC;IACD2F,WAAW,CAAC3F,IAAI,EAAEW,KAAK,EAAE,SAAS,EAAE4F,aAAa,EAAE/I,cAAc,EAAEgC,KAAK,CAAC;EAC3E,CAAC,MAAM;IACL,MAAM,CAACuG,IAAI,EAAEC,KAAK,CAAC,GAAGjF,WAAW,CAACf,IAAI,EAAExC,cAAc,EAAEgC,KAAK,CAAC;IAC9D,MAAM+G,aAAa,GAAG,IAAAC,uBAAgB,EACpChJ,cAAc,EACb,SAAQyB,MAAO,EAAC,EAChB,KAAI8G,IAAK,EACZ,CAAC;IACDQ,aAAa,CAACN,WAAW,CACvBF,IAAI,EACJC,KAAK,EACL/G,MAAM,KAAK,QAAQ,GAAG,SAAS,GAAGA,MAAM,EACxCgB,QAAQ,EACRzC,cACF,CAAC;EACH;AACF;AAEA,SAAS4D,qBAAqBA,CAC5B5B,KAAY,EACZQ,IAA2B,EAC3BC,QAA+C,EAC/CzC,cAA8B,EAC9B;EACA,MAAM,CAACuI,IAAI,EAAEC,KAAK,CAAC,GAAGjF,WAAW,CAACf,IAAI,EAAExC,cAAc,EAAEgC,KAAK,CAAC;EAC9D,MAAMmH,cAAc,GAAG,IAAAC,yBAAiB,EACtCpJ,cAAc,EACd,kBAAkB,EACjB,KAAIuI,IAAK,EACZ,CAAC;EACDY,cAAc,CAACV,WAAW,CACxBF,IAAI,EACJC,KAAK,EACL,SAAS,EACT/F,QAAQ,EACRzC,cACF,CAAC;AACH;AAEA,SAAS2C,oBAAoBA,CAC3BX,KAAY,EACZP,MAA2B,EAC3Be,IAA2B,EAC3BxC,cAA8B,EAC9B;EACA,IAAIyB,MAAM,KAAK,QAAQ,EAAE;IACvB,MAAM,CAACsG,GAAG,CAAC,GAAGxE,WAAW,CAACf,IAAI,EAAExC,cAAc,EAAEgC,KAAK,CAAa;IAClEqH,QAAQ,CAACC,MAAM,CAACvB,GAAG,CAAC;EACtB,CAAC,MAAM;IACLsB,QAAQ,CAAC5H,MAAM,CAAC,CAAC,CAAC;EACpB;AACF;AAEA,SAASmB,mBAAmBA,CAC1BZ,KAAY,EACZK,MAAyC,EACzCZ,MAAgC,EAChCe,IAA2B,EAC3BxC,cAA8B,EAC9B;EACA,MAAMuJ,OAAO,GAAGlH,MAAM,KAAK,cAAc,GAAGmH,YAAY,GAAGC,cAAc;EACzE,MAAM,CAAClB,IAAI,EAAEC,KAAK,CAAC,GAAGjF,WAAW,CAACf,IAAI,EAAExC,cAAc,EAAEgC,KAAK,CAAC;EAC9D,IAAIP,MAAM,KAAK,SAAS,EAAE;IACxB,IAAI+G,KAAK,KAAKZ,SAAS,EAAE;MACvB2B,OAAO,CAACG,OAAO,CAACnB,IAAI,EAAYU,IAAI,CAACC,SAAS,CAACV,KAAK,CAAC,CAAC;IACxD;EACF,CAAC,MAAM;IACLe,OAAO,CAACI,UAAU,CAACpB,IAAc,CAAC;EACpC;AACF;AAEA,SAASzF,mBAAmBA,CAC1Bd,KAAY,EACZP,MAAyC,EACzCe,IAA2B,EAC3BxC,cAA8B,EAC9B;EACA;EACAiE,OAAO,CAACxC,MAAM,CAAC,CACb,GAAG8B,WAAW,CAACf,IAAI,EAAExC,cAAc,EAAEgC,KAAK,EAAE;IAC1CkE,iBAAiB,EAAE;EACrB,CAAC,CACH,CAAC;AACH;AAEA,SAASnD,mBAAmBA,CAC1Bf,KAAY,EACZP,MAA6C,EAC7Ce,IAA2B,EAC3BxC,cAA8B,EAC9B;EACA,MAAMwG,YAAY,GAAGjD,WAAW,CAACf,IAAI,EAAExC,cAAc,EAAEgC,KAAK,EAAE;IAC5DkE,iBAAiB,EAAE;EACrB,CAAC,CAAC;EACF0D,0BAAY,CAACC,IAAI,CAAC;IAChBxG,IAAI,EAAE5B,MAAM;IACZqI,OAAO,EAAEtD,YAAY,CAAC,CAAC;EACzB,CAAC,CAAC;AACJ;AAEA,eAAe3C,uBAAuBA,CACpC7B,KAAY,EACZP,MAAmC,EACnCe,IAA2B,EAC3BxC,cAA8B,EAC9B+B,YAA4B,EAC5BU,QAAoC,EACpC;EACA,MAAM6D,IAAI,GAAGA,CAAA,KAAM;IAAA,IAAAyD,qBAAA;IACjB,MAAMvD,YAAY,GAAGjD,WAAW,CAACf,IAAI,EAAExC,cAAc,EAAEgC,KAAK,CAAC;IAC7D,OAAOyE,cAAK,aAALA,cAAK,gBAAAsD,qBAAA,GAALtD,cAAK,CAAEuD,iBAAiB,cAAAD,qBAAA,uBAAxBA,qBAAA,CAA2BtI,MAAM,CAAC,CAAC,GAAG+E,YAAY,CAAC;EAC5D,CAAC;EACD,IAAI,CAAC/D,QAAQ,EAAE;IACb6D,IAAI,CAAC,CAAC;IACN;EACF;EACA,MAAMO,eAAe,GAAGC,oBAAoB,CAC1CrE,QAAQ,EACRzC,cAAc,EACd+B,YACF,CAAC;EACD,IAAI;IACF,MAAMuF,MAAM,GAAG,MAAMhB,IAAI,CAAC,CAAC;IAC3BO,eAAe,CAAC,SAAS,CAAC,CAACS,MAAM,CAAC;EACpC,CAAC,CAAC,OAAOpD,KAAK,EAAE;IACd2C,eAAe,CAAC,OAAO,CAAC,CAAC3C,KAAK,CAAC;EACjC,CAAC,SAAS;IACR2C,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;EAC9B;AACF;AAEO,SAASC,oBAAoBA,CAClCrE,QAAmC,EACnCzC,cAA8B,EAC9B+B,YAA4B,EAC5B;EACA,OAAO,SAAS8E,eAAeA,CAC7BxD,IAAkD,EAClD;IACA,OAAO,UAAUiE,MAAgB,EAAE;MACjC,MAAMjH,QAAQ,GAAGoC,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAGY,IAAI,CAAC;MACjC,IAAIhD,QAAQ,EAAE;QACZ,IAAI;UACF,MAAM2B,KAAK,GAAG,IAAI2B,WAAW,CAAE,YAAWN,IAAK,EAAC,EAAE;YAChDJ,MAAM,EAAEqE;UACV,CAAC,CAAC;UACF/G,eAAe,CAACF,QAAQ,EAAEL,cAAc,EAAE+B,YAAY,CAAC,CAACC,KAAK,CAAC;QAChE,CAAC,CAAC,OAAOuF,GAAG,EAAE;UACZ;UACA;UACA;UACAtD,OAAO,CAACC,KAAK,CAACqD,GAAG,CAAC;QACpB;MACF,CAAC,MAAM,IAAIlE,IAAI,KAAK,OAAO,EAAE;QAC3B;QACAY,OAAO,CAACC,KAAK,CAAC,2BAA2B,EAAEoD,MAAM,CAAC;MACpD;IACF,CAAC;EACH,CAAC;AACH;AAOA,SAAS/D,WAAWA,CAClBf,IAA2B,EAC3BxC,cAA8B,EAC9BgC,KAAY,EACZoE,OAA2B,GAAG,CAAC,CAAC,EACrB;EACX,OAAOnB,KAAK,CAAC0D,OAAO,CAACnG,IAAI,CAAC,GACrB,IAAAuC,kCAAgB,EAACvC,IAAI,EAAE;IACtB,GAAGxC,cAAc;IACjBgC;EACF,CAAC,CAAC,GACFoE,OAAO,CAACF,iBAAiB,GACzB,CAAClE,KAAK,CAAC,GACPoE,OAAO,CAACuB,uBAAuB,GAC/B,CAAE3F,KAAK,CAAiBiB,MAAM,CAAC,GAC/B,EAAE;AACR"}
|
|
@@ -196,7 +196,7 @@ runtimeContext, options = {}, isAsync) {
|
|
|
196
196
|
if (hasAppUsage.usedArgs.size > 0) {
|
|
197
197
|
var _hooks$checkInstalled;
|
|
198
198
|
// Only wait for specific apps
|
|
199
|
-
blockingList.push(_Runtime.hooks === null || _Runtime.hooks === void 0
|
|
199
|
+
blockingList.push(_Runtime.hooks === null || _Runtime.hooks === void 0 || (_hooks$checkInstalled = _Runtime.hooks.checkInstalledApps) === null || _hooks$checkInstalled === void 0 ? void 0 : _hooks$checkInstalled.waitForCheckingApps([...hasAppUsage.usedArgs]));
|
|
200
200
|
}
|
|
201
201
|
}
|
|
202
202
|
return {
|
|
@@ -224,7 +224,7 @@ runtimeContext, options = {}, isAsync) {
|
|
|
224
224
|
case "APP":
|
|
225
225
|
globalVariables[variableName] = {
|
|
226
226
|
...(0, _lodash.cloneDeep)(app),
|
|
227
|
-
getMenu: _Runtime.hooks === null || _Runtime.hooks === void 0
|
|
227
|
+
getMenu: _Runtime.hooks === null || _Runtime.hooks === void 0 || (_hooks$menu = _Runtime.hooks.menu) === null || _hooks$menu === void 0 ? void 0 : _hooks$menu.getMenuById
|
|
228
228
|
};
|
|
229
229
|
break;
|
|
230
230
|
case "CTX":
|
|
@@ -349,7 +349,7 @@ runtimeContext, options = {}, isAsync) {
|
|
|
349
349
|
globalVariables[variableName] = _WidgetFunctions.widgetFunctions;
|
|
350
350
|
break;
|
|
351
351
|
case "__WIDGET_IMG__":
|
|
352
|
-
globalVariables[variableName] = _Runtime.hooks === null || _Runtime.hooks === void 0
|
|
352
|
+
globalVariables[variableName] = _Runtime.hooks === null || _Runtime.hooks === void 0 || (_hooks$images = _Runtime.hooks.images) === null || _hooks$images === void 0 ? void 0 : _hooks$images.widgetImagesFactory;
|
|
353
353
|
break;
|
|
354
354
|
case "__WIDGET_I18N__":
|
|
355
355
|
globalVariables[variableName] = _WidgetI18n.widgetI18nFactory;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evaluate.js","names":["_cook","require","_loader","_supply","_general","_storyboard","_lodash","_CustomProcessors","_StoryboardFunctions","_getGeneralGlobals","_proxyFactories","_devtools","_mediaQuery","_getStorageItem","_Runtime","_utils","_WidgetFunctions","_WidgetI18n","_hasInstalledApp","_isStrictMode","_utils2","_resolveData","_computeRealValue","symbolForRaw","Symbol","for","symbolForContext","isPreEvaluated","raw","getPreEvaluatedRaw","pre","shouldDismissMarkingComputed","shouldAllowRecursiveEvaluations","possibleErrorConstructs","WeakSet","SyntaxError","TypeError","ReferenceError","getCookErrorConstructor","error","has","constructor","asyncEvaluate","runtimeContext","options","blockingList","run","lowLevelEvaluate","Promise","all","evaluate","isAsync","passByRuntimeContext","omit","menuUsage","usedArgs","Set","hasAppUsage","precooked","preevaluate","withParent","hooks","beforeVisitGlobal","node","parent","collectAppGetMenuUsage","collectInstalledAppsHasUsage","message","errorConstructor","hasNonStaticUsage","Error","globalVariables","attemptToVisitGlobals","lazy","hasOwnProperty","Object","keys","length","usedCtx","usedProcessors","usedStates","tplStateStore","strict","isStrictMode","getTplStateStore","usedFormStates","formStateStore","getFormStateStore","devHook","getDevHook","strictCollectMemberUsage","push","ctxStore","waitFor","usedTpls","tpl","add","loadProcessorsImperatively","getBrickPackages","attemptToCheckPermissions","usedFunctions","checkPermissionsUsage","pendingPermissionsPreCheck","size","menu","usedMenuIds","map","menuId","fetchMenuById","getStoryboardByAppId","_internalApiGetStoryboardInBootstrapData","resolveData","asyncComputeRealValue","_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","cloneDeep","getMenu","getMenuById","getDynamicReadOnlyProxy","get","target","key","getValue","ownKeys","Array","from","getReadOnlyProxy","hasInstalledApp","console","forEachItem","getItem","getStorageItem","getMedia","getRuntime","getMiscSettings","URLSearchParams","params","pathname","pkg","customProcessors","t","k","fromEntries","getAll","warnAboutStrictMode","widgetFunctions","images","widgetImagesFactory","widgetI18nFactory","assign","getGeneralGlobals","storyboardFunctions","appendI18nNamespace","result","cook","expression","source","supply","detail","context","devtoolsHookEmit"],"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 type { RuntimeContext } from \"../interfaces.js\";\nimport { cloneDeep, omit } from \"lodash\";\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 if (!hasOwnProperty(runtimeContext, \"forEachItem\")) {\n // eslint-disable-next-line no-console\n console.error(\n `Using \\`ITEM\\` but no \\`:forEach\\` is found, check your expression: \"${raw}\"`\n );\n } else {\n globalVariables[variableName] = runtimeContext.forEachItem;\n }\n break;\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 return Array.from(usedProcessors);\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: runtimeContext.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","require","_loader","_supply","_general","_storyboard","_lodash","_CustomProcessors","_StoryboardFunctions","_getGeneralGlobals","_proxyFactories","_devtools","_mediaQuery","_getStorageItem","_Runtime","_utils","_WidgetFunctions","_WidgetI18n","_hasInstalledApp","_isStrictMode","_utils2","_resolveData","_computeRealValue","symbolForRaw","Symbol","for","symbolForContext","isPreEvaluated","raw","getPreEvaluatedRaw","pre","shouldDismissMarkingComputed","shouldAllowRecursiveEvaluations","possibleErrorConstructs","WeakSet","SyntaxError","TypeError","ReferenceError","getCookErrorConstructor","error","has","constructor","asyncEvaluate","runtimeContext","options","blockingList","run","lowLevelEvaluate","Promise","all","evaluate","isAsync","passByRuntimeContext","omit","menuUsage","usedArgs","Set","hasAppUsage","precooked","preevaluate","withParent","hooks","beforeVisitGlobal","node","parent","collectAppGetMenuUsage","collectInstalledAppsHasUsage","message","errorConstructor","hasNonStaticUsage","Error","globalVariables","attemptToVisitGlobals","lazy","hasOwnProperty","Object","keys","length","usedCtx","usedProcessors","usedStates","tplStateStore","strict","isStrictMode","getTplStateStore","usedFormStates","formStateStore","getFormStateStore","devHook","getDevHook","strictCollectMemberUsage","push","ctxStore","waitFor","usedTpls","tpl","add","loadProcessorsImperatively","getBrickPackages","attemptToCheckPermissions","usedFunctions","checkPermissionsUsage","pendingPermissionsPreCheck","size","menu","usedMenuIds","map","menuId","fetchMenuById","getStoryboardByAppId","_internalApiGetStoryboardInBootstrapData","resolveData","asyncComputeRealValue","_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","cloneDeep","getMenu","getMenuById","getDynamicReadOnlyProxy","get","target","key","getValue","ownKeys","Array","from","getReadOnlyProxy","hasInstalledApp","console","forEachItem","getItem","getStorageItem","getMedia","getRuntime","getMiscSettings","URLSearchParams","params","pathname","pkg","customProcessors","t","k","fromEntries","getAll","warnAboutStrictMode","widgetFunctions","images","widgetImagesFactory","widgetI18nFactory","assign","getGeneralGlobals","storyboardFunctions","appendI18nNamespace","result","cook","expression","source","supply","detail","context","devtoolsHookEmit"],"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 type { RuntimeContext } from \"../interfaces.js\";\nimport { cloneDeep, omit } from \"lodash\";\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 if (!hasOwnProperty(runtimeContext, \"forEachItem\")) {\n // eslint-disable-next-line no-console\n console.error(\n `Using \\`ITEM\\` but no \\`:forEach\\` is found, check your expression: \"${raw}\"`\n );\n } else {\n globalVariables[variableName] = runtimeContext.forEachItem;\n }\n break;\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 return Array.from(usedProcessors);\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: runtimeContext.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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"}
|
|
@@ -40,14 +40,14 @@ function getIndividualGlobal(variableName, {
|
|
|
40
40
|
case "FN":
|
|
41
41
|
return storyboardFunctions;
|
|
42
42
|
case "IMG":
|
|
43
|
-
return collectCoverage ? fakeImageFactory() : widgetId ? _Runtime.hooks === null || _Runtime.hooks === void 0
|
|
43
|
+
return collectCoverage ? fakeImageFactory() : widgetId ? _Runtime.hooks === null || _Runtime.hooks === void 0 || (_hooks$images = _Runtime.hooks.images) === null || _hooks$images === void 0 ? void 0 : _hooks$images.widgetImagesFactory(widgetId, widgetVersion) : _Runtime.hooks === null || _Runtime.hooks === void 0 || (_hooks$images2 = _Runtime.hooks.images) === null || _hooks$images2 === void 0 ? void 0 : _hooks$images2.imagesFactory(app.id, app.isBuildPush, app.currentVersion);
|
|
44
44
|
case "I18N":
|
|
45
45
|
return collectCoverage ? _lodash.identity : widgetId ? (0, _WidgetI18n.widgetI18nFactory)(widgetId) : _i18n.i18n.getFixedT(null, [appendI18nNamespace, (0, _registerAppI18n.getI18nNamespace)("app", app.id)].filter(Boolean));
|
|
46
46
|
case "I18N_TEXT":
|
|
47
47
|
return collectCoverage ? fakeI18nText : _i18n.i18nText;
|
|
48
48
|
case "PERMISSIONS":
|
|
49
49
|
return (0, _proxyFactories.getReadOnlyProxy)({
|
|
50
|
-
check: collectCoverage ? fakeCheckPermissions : _Runtime.hooks === null || _Runtime.hooks === void 0
|
|
50
|
+
check: collectCoverage ? fakeCheckPermissions : _Runtime.hooks === null || _Runtime.hooks === void 0 || (_hooks$checkPermissio = _Runtime.hooks.checkPermissions) === null || _hooks$checkPermissio === void 0 ? void 0 : _hooks$checkPermissio.checkPermissions
|
|
51
51
|
});
|
|
52
52
|
case "THEME":
|
|
53
53
|
return (0, _proxyFactories.getReadOnlyProxy)({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getGeneralGlobals.js","names":["_lodash","require","_i18n","_WidgetI18n","_proxyFactories","_themeAndMode","_getBasePath","_registerAppI18n","_Runtime","getGeneralGlobals","attemptToVisitGlobals","options","globalVariables","variableName","variable","getIndividualGlobal","undefined","collectCoverage","widgetId","widgetVersion","app","appendI18nNamespace","storyboardFunctions","isStoryboardFunction","_hooks$images","_hooks$images2","_hooks$checkPermissio","getBasePath","replace","fakeImageFactory","hooks","images","widgetImagesFactory","imagesFactory","id","isBuildPush","currentVersion","identity","widgetI18nFactory","i18n","getFixedT","getI18nNamespace","filter","Boolean","fakeI18nText","i18nText","getReadOnlyProxy","check","fakeCheckPermissions","checkPermissions","getTheme","console","href","origin","host","hostname","location","data","en","get","name"],"sources":["../../../../src/internal/compute/getGeneralGlobals.ts"],"sourcesContent":["import { identity } from \"lodash\";\nimport type { MicroApp } from \"@next-core/types\";\nimport { i18n, i18nText } from \"@next-core/i18n\";\nimport { widgetI18nFactory } from \"./WidgetI18n.js\";\nimport { getReadOnlyProxy } from \"../proxyFactories.js\";\nimport { getTheme } from \"../../themeAndMode.js\";\nimport { getBasePath } from \"../../getBasePath.js\";\nimport { getI18nNamespace } from \"../registerAppI18n.js\";\nimport { ImagesFactory, hooks } from \"../Runtime.js\";\n\nexport interface GeneralGlobalsOptions {\n collectCoverage?: unknown;\n widgetId?: string;\n widgetVersion?: string;\n app?: PartialMicroApp;\n appendI18nNamespace?: string;\n storyboardFunctions?: unknown;\n isStoryboardFunction?: boolean;\n}\n\nexport type PartialMicroApp = Pick<MicroApp, \"id\" | \"isBuildPush\">;\n\n// `GeneralGlobals` are globals which are page-state-agnostic,\n// thus they can be used both in storyboard expressions and functions.\nexport function getGeneralGlobals(\n attemptToVisitGlobals: Set<string>,\n options: GeneralGlobalsOptions\n): Record<string, unknown> {\n const globalVariables: Record<string, unknown> = {};\n for (const variableName of attemptToVisitGlobals) {\n const variable = getIndividualGlobal(variableName, options);\n if (variable !== undefined) {\n globalVariables[variableName] = variable;\n }\n }\n return globalVariables;\n}\n\nfunction getIndividualGlobal(\n variableName: string,\n {\n collectCoverage,\n widgetId,\n widgetVersion,\n app,\n appendI18nNamespace,\n storyboardFunctions,\n isStoryboardFunction,\n }: GeneralGlobalsOptions\n): unknown {\n switch (variableName) {\n case \"BASE_URL\":\n return collectCoverage ? \"/next\" : getBasePath().replace(/\\/$/, \"\");\n case \"FN\":\n return storyboardFunctions;\n case \"IMG\":\n return collectCoverage\n ? fakeImageFactory()\n : widgetId\n ? hooks?.images?.widgetImagesFactory(widgetId, widgetVersion)\n : hooks?.images?.imagesFactory(\n app!.id,\n app!.isBuildPush,\n (app as { currentVersion?: string }).currentVersion\n );\n case \"I18N\":\n return collectCoverage\n ? identity\n : widgetId\n ? widgetI18nFactory(widgetId)\n : i18n.getFixedT(\n null,\n [appendI18nNamespace, getI18nNamespace(\"app\", app!.id)].filter(\n Boolean\n ) as string[]\n );\n case \"I18N_TEXT\":\n return collectCoverage ? fakeI18nText : i18nText;\n case \"PERMISSIONS\":\n return getReadOnlyProxy({\n check: collectCoverage\n ? fakeCheckPermissions\n : hooks?.checkPermissions?.checkPermissions,\n });\n case \"THEME\":\n return getReadOnlyProxy({\n getTheme: collectCoverage ? () => \"light\" : getTheme,\n // getCssPropertyValue: collectCoverage ? () => \"\" : getCssPropertyValue,\n });\n case \"console\":\n return isStoryboardFunction ? getReadOnlyProxy(console) : undefined;\n case \"location\":\n return collectCoverage\n ? {\n href: \"http://localhost:3000/functions/test\",\n origin: \"http://localhost:3000\",\n host: \"localhost:3000\",\n hostname: \"localhost\",\n }\n : {\n href: location.href,\n origin: location.origin,\n host: location.host,\n hostname: location.hostname,\n };\n }\n}\n\nfunction fakeI18nText(data: Record<string, string>): string {\n return data?.en;\n}\n\nfunction fakeImageFactory(): ImagesFactory {\n return {\n get(name: string) {\n return `mock/images/${name}`;\n },\n };\n}\n\nfunction fakeCheckPermissions(): boolean {\n return true;\n}\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,eAAA,GAAAH,OAAA;AACA,IAAAI,aAAA,GAAAJ,OAAA;AACA,IAAAK,YAAA,GAAAL,OAAA;AACA,IAAAM,gBAAA,GAAAN,OAAA;AACA,IAAAO,QAAA,GAAAP,OAAA;AAcA;AACA;AACO,SAASQ,iBAAiBA,CAC/BC,qBAAkC,EAClCC,OAA8B,EACL;EACzB,MAAMC,eAAwC,GAAG,CAAC,CAAC;EACnD,KAAK,MAAMC,YAAY,IAAIH,qBAAqB,EAAE;IAChD,MAAMI,QAAQ,GAAGC,mBAAmB,CAACF,YAAY,EAAEF,OAAO,CAAC;IAC3D,IAAIG,QAAQ,KAAKE,SAAS,EAAE;MAC1BJ,eAAe,CAACC,YAAY,CAAC,GAAGC,QAAQ;IAC1C;EACF;EACA,OAAOF,eAAe;AACxB;AAEA,SAASG,mBAAmBA,CAC1BF,YAAoB,EACpB;EACEI,eAAe;EACfC,QAAQ;EACRC,aAAa;EACbC,GAAG;EACHC,mBAAmB;EACnBC,mBAAmB;EACnBC;AACqB,CAAC,EACf;EAAA,IAAAC,aAAA,EAAAC,cAAA,EAAAC,qBAAA;EACT,QAAQb,YAAY;IAClB,KAAK,UAAU;MACb,OAAOI,eAAe,GAAG,OAAO,GAAG,IAAAU,wBAAW,EAAC,CAAC,CAACC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;IACrE,KAAK,IAAI;MACP,OAAON,mBAAmB;IAC5B,KAAK,KAAK;MACR,OAAOL,eAAe,GAClBY,gBAAgB,CAAC,CAAC,GAClBX,QAAQ,GACRY,cAAK,aAALA,cAAK,
|
|
1
|
+
{"version":3,"file":"getGeneralGlobals.js","names":["_lodash","require","_i18n","_WidgetI18n","_proxyFactories","_themeAndMode","_getBasePath","_registerAppI18n","_Runtime","getGeneralGlobals","attemptToVisitGlobals","options","globalVariables","variableName","variable","getIndividualGlobal","undefined","collectCoverage","widgetId","widgetVersion","app","appendI18nNamespace","storyboardFunctions","isStoryboardFunction","_hooks$images","_hooks$images2","_hooks$checkPermissio","getBasePath","replace","fakeImageFactory","hooks","images","widgetImagesFactory","imagesFactory","id","isBuildPush","currentVersion","identity","widgetI18nFactory","i18n","getFixedT","getI18nNamespace","filter","Boolean","fakeI18nText","i18nText","getReadOnlyProxy","check","fakeCheckPermissions","checkPermissions","getTheme","console","href","origin","host","hostname","location","data","en","get","name"],"sources":["../../../../src/internal/compute/getGeneralGlobals.ts"],"sourcesContent":["import { identity } from \"lodash\";\nimport type { MicroApp } from \"@next-core/types\";\nimport { i18n, i18nText } from \"@next-core/i18n\";\nimport { widgetI18nFactory } from \"./WidgetI18n.js\";\nimport { getReadOnlyProxy } from \"../proxyFactories.js\";\nimport { getTheme } from \"../../themeAndMode.js\";\nimport { getBasePath } from \"../../getBasePath.js\";\nimport { getI18nNamespace } from \"../registerAppI18n.js\";\nimport { ImagesFactory, hooks } from \"../Runtime.js\";\n\nexport interface GeneralGlobalsOptions {\n collectCoverage?: unknown;\n widgetId?: string;\n widgetVersion?: string;\n app?: PartialMicroApp;\n appendI18nNamespace?: string;\n storyboardFunctions?: unknown;\n isStoryboardFunction?: boolean;\n}\n\nexport type PartialMicroApp = Pick<MicroApp, \"id\" | \"isBuildPush\">;\n\n// `GeneralGlobals` are globals which are page-state-agnostic,\n// thus they can be used both in storyboard expressions and functions.\nexport function getGeneralGlobals(\n attemptToVisitGlobals: Set<string>,\n options: GeneralGlobalsOptions\n): Record<string, unknown> {\n const globalVariables: Record<string, unknown> = {};\n for (const variableName of attemptToVisitGlobals) {\n const variable = getIndividualGlobal(variableName, options);\n if (variable !== undefined) {\n globalVariables[variableName] = variable;\n }\n }\n return globalVariables;\n}\n\nfunction getIndividualGlobal(\n variableName: string,\n {\n collectCoverage,\n widgetId,\n widgetVersion,\n app,\n appendI18nNamespace,\n storyboardFunctions,\n isStoryboardFunction,\n }: GeneralGlobalsOptions\n): unknown {\n switch (variableName) {\n case \"BASE_URL\":\n return collectCoverage ? \"/next\" : getBasePath().replace(/\\/$/, \"\");\n case \"FN\":\n return storyboardFunctions;\n case \"IMG\":\n return collectCoverage\n ? fakeImageFactory()\n : widgetId\n ? hooks?.images?.widgetImagesFactory(widgetId, widgetVersion)\n : hooks?.images?.imagesFactory(\n app!.id,\n app!.isBuildPush,\n (app as { currentVersion?: string }).currentVersion\n );\n case \"I18N\":\n return collectCoverage\n ? identity\n : widgetId\n ? widgetI18nFactory(widgetId)\n : i18n.getFixedT(\n null,\n [appendI18nNamespace, getI18nNamespace(\"app\", app!.id)].filter(\n Boolean\n ) as string[]\n );\n case \"I18N_TEXT\":\n return collectCoverage ? fakeI18nText : i18nText;\n case \"PERMISSIONS\":\n return getReadOnlyProxy({\n check: collectCoverage\n ? fakeCheckPermissions\n : hooks?.checkPermissions?.checkPermissions,\n });\n case \"THEME\":\n return getReadOnlyProxy({\n getTheme: collectCoverage ? () => \"light\" : getTheme,\n // getCssPropertyValue: collectCoverage ? () => \"\" : getCssPropertyValue,\n });\n case \"console\":\n return isStoryboardFunction ? getReadOnlyProxy(console) : undefined;\n case \"location\":\n return collectCoverage\n ? {\n href: \"http://localhost:3000/functions/test\",\n origin: \"http://localhost:3000\",\n host: \"localhost:3000\",\n hostname: \"localhost\",\n }\n : {\n href: location.href,\n origin: location.origin,\n host: location.host,\n hostname: location.hostname,\n };\n }\n}\n\nfunction fakeI18nText(data: Record<string, string>): string {\n return data?.en;\n}\n\nfunction fakeImageFactory(): ImagesFactory {\n return {\n get(name: string) {\n return `mock/images/${name}`;\n },\n };\n}\n\nfunction fakeCheckPermissions(): boolean {\n return true;\n}\n"],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ var _Runtime = require("../Runtime.js");
|
|
|
9
9
|
const pool = new Map();
|
|
10
10
|
async function getProviderBrick(provider) {
|
|
11
11
|
var _hooks$flowApi;
|
|
12
|
-
const isFlowApi = _Runtime.hooks === null || _Runtime.hooks === void 0
|
|
12
|
+
const isFlowApi = _Runtime.hooks === null || _Runtime.hooks === void 0 || (_hooks$flowApi = _Runtime.hooks.flowApi) === null || _hooks$flowApi === void 0 ? void 0 : _hooks$flowApi.isFlowApiProvider(provider);
|
|
13
13
|
if (isFlowApi) {
|
|
14
14
|
provider = _Runtime.hooks.flowApi.FLOW_API_PROVIDER;
|
|
15
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getProviderBrick.js","names":["_loader","require","_Runtime","pool","Map","getProviderBrick","provider","_hooks$flowApi","isFlowApi","hooks","flowApi","isFlowApiProvider","FLOW_API_PROVIDER","brick","get","includes","customElements","registerFlowApiProvider","loadBricksImperatively","getBrickPackages","Error","document","createElement","set"],"sources":["../../../../src/internal/data/getProviderBrick.ts"],"sourcesContent":["import { loadBricksImperatively } from \"@next-core/loader\";\nimport { getBrickPackages, hooks } from \"../Runtime.js\";\n\nconst pool = new Map<string, HTMLElement>();\nexport async function getProviderBrick(provider: string): Promise<HTMLElement> {\n const isFlowApi = hooks?.flowApi?.isFlowApiProvider(provider);\n if (isFlowApi) {\n provider = hooks!.flowApi!.FLOW_API_PROVIDER;\n }\n\n let brick = pool.get(provider);\n if (brick) {\n return brick;\n }\n\n if (provider.includes(\"-\") && !customElements.get(provider)) {\n if (isFlowApi) {\n hooks!.flowApi!.registerFlowApiProvider();\n } else {\n await loadBricksImperatively([provider], getBrickPackages());\n\n if (!customElements.get(provider)) {\n throw new Error(`Provider not defined: \"${provider}\".`);\n }\n }\n }\n\n brick = document.createElement(provider);\n pool.set(provider, brick);\n return brick;\n}\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAEA,MAAME,IAAI,GAAG,IAAIC,GAAG,CAAsB,CAAC;AACpC,eAAeC,gBAAgBA,CAACC,QAAgB,EAAwB;EAAA,IAAAC,cAAA;EAC7E,MAAMC,SAAS,GAAGC,cAAK,aAALA,cAAK,
|
|
1
|
+
{"version":3,"file":"getProviderBrick.js","names":["_loader","require","_Runtime","pool","Map","getProviderBrick","provider","_hooks$flowApi","isFlowApi","hooks","flowApi","isFlowApiProvider","FLOW_API_PROVIDER","brick","get","includes","customElements","registerFlowApiProvider","loadBricksImperatively","getBrickPackages","Error","document","createElement","set"],"sources":["../../../../src/internal/data/getProviderBrick.ts"],"sourcesContent":["import { loadBricksImperatively } from \"@next-core/loader\";\nimport { getBrickPackages, hooks } from \"../Runtime.js\";\n\nconst pool = new Map<string, HTMLElement>();\nexport async function getProviderBrick(provider: string): Promise<HTMLElement> {\n const isFlowApi = hooks?.flowApi?.isFlowApiProvider(provider);\n if (isFlowApi) {\n provider = hooks!.flowApi!.FLOW_API_PROVIDER;\n }\n\n let brick = pool.get(provider);\n if (brick) {\n return brick;\n }\n\n if (provider.includes(\"-\") && !customElements.get(provider)) {\n if (isFlowApi) {\n hooks!.flowApi!.registerFlowApiProvider();\n } else {\n await loadBricksImperatively([provider], getBrickPackages());\n\n if (!customElements.get(provider)) {\n throw new Error(`Provider not defined: \"${provider}\".`);\n }\n }\n }\n\n brick = document.createElement(provider);\n pool.set(provider, brick);\n return brick;\n}\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAEA,MAAME,IAAI,GAAG,IAAIC,GAAG,CAAsB,CAAC;AACpC,eAAeC,gBAAgBA,CAACC,QAAgB,EAAwB;EAAA,IAAAC,cAAA;EAC7E,MAAMC,SAAS,GAAGC,cAAK,aAALA,cAAK,gBAAAF,cAAA,GAALE,cAAK,CAAEC,OAAO,cAAAH,cAAA,uBAAdA,cAAA,CAAgBI,iBAAiB,CAACL,QAAQ,CAAC;EAC7D,IAAIE,SAAS,EAAE;IACbF,QAAQ,GAAGG,cAAK,CAAEC,OAAO,CAAEE,iBAAiB;EAC9C;EAEA,IAAIC,KAAK,GAAGV,IAAI,CAACW,GAAG,CAACR,QAAQ,CAAC;EAC9B,IAAIO,KAAK,EAAE;IACT,OAAOA,KAAK;EACd;EAEA,IAAIP,QAAQ,CAACS,QAAQ,CAAC,GAAG,CAAC,IAAI,CAACC,cAAc,CAACF,GAAG,CAACR,QAAQ,CAAC,EAAE;IAC3D,IAAIE,SAAS,EAAE;MACbC,cAAK,CAAEC,OAAO,CAAEO,uBAAuB,CAAC,CAAC;IAC3C,CAAC,MAAM;MACL,MAAM,IAAAC,8BAAsB,EAAC,CAACZ,QAAQ,CAAC,EAAE,IAAAa,yBAAgB,EAAC,CAAC,CAAC;MAE5D,IAAI,CAACH,cAAc,CAACF,GAAG,CAACR,QAAQ,CAAC,EAAE;QACjC,MAAM,IAAIc,KAAK,CAAE,0BAAyBd,QAAS,IAAG,CAAC;MACzD;IACF;EACF;EAEAO,KAAK,GAAGQ,QAAQ,CAACC,aAAa,CAAChB,QAAQ,CAAC;EACxCH,IAAI,CAACoB,GAAG,CAACjB,QAAQ,EAAEO,KAAK,CAAC;EACzB,OAAOA,KAAK;AACd"}
|
|
@@ -82,8 +82,7 @@ async function resolveByProvider(brick, useProvider, method, args, options, orig
|
|
|
82
82
|
promise = cache.get(cacheKey);
|
|
83
83
|
}
|
|
84
84
|
if (!promise) {
|
|
85
|
-
promise = (async
|
|
86
|
-
var _hooks$flowApi;
|
|
85
|
+
promise = (async _hooks$flowApi => {
|
|
87
86
|
const finalArgs = _Runtime.hooks !== null && _Runtime.hooks !== void 0 && (_hooks$flowApi = _Runtime.hooks.flowApi) !== null && _hooks$flowApi !== void 0 && _hooks$flowApi.isFlowApiProvider(useProvider) ? await _Runtime.hooks.flowApi.getArgsOfFlowApi(useProvider, args, method) : args;
|
|
88
87
|
return brick.resolve(...finalArgs);
|
|
89
88
|
})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveData.js","names":["_computeRealValue","require","_getProviderBrick","_Runtime","cache","Map","resolveData","resolveConf","runtimeContext","options","useProvider","method","args","onReject","legacyProvider","provider","Error","providerBrick","actualArgs","Promise","all","getProviderBrick","asyncComputeRealValue","promise","resolveByProvider","transform","data","error","isHandleRejectByTransform","clearResolveCache","clear","brick","originalArgs","cacheKey","JSON","stringify","e","get","_hooks$flowApi","finalArgs","hooks","flowApi","isFlowApiProvider","getArgsOfFlowApi","resolve","set"],"sources":["../../../../src/internal/data/resolveData.ts"],"sourcesContent":["import type {\n HandleReject,\n HandleRejectByTransform,\n ResolveConf,\n} from \"@next-core/types\";\nimport { asyncComputeRealValue } from \"../compute/computeRealValue.js\";\nimport { getProviderBrick } from \"./getProviderBrick.js\";\nimport type { RuntimeContext } from \"../interfaces.js\";\nimport { hooks } from \"../Runtime.js\";\n\nconst cache = new Map<string, Promise<unknown>>();\n\nexport interface ResolveOptions {\n /**\n * Cache mode of resolve.\n *\n * See https://developer.mozilla.org/en-US/docs/Web/API/Request/cache\n *\n * - `default`: Looks for a matching cache.\n * - `reload`: Without looking for a matching cache.\n */\n cache?: \"default\" | \"reload\";\n}\n\nexport async function resolveData(\n resolveConf: ResolveConf,\n runtimeContext: RuntimeContext,\n options?: ResolveOptions\n) {\n const { useProvider, method = \"resolve\", args = [], onReject } = resolveConf;\n\n const legacyProvider = (resolveConf as { provider?: string }).provider;\n if (legacyProvider && !useProvider) {\n throw new Error(\n `You're using \"provider: ${legacyProvider}\" which is dropped in v3, please use \"useProvider\" instead`\n );\n }\n\n const [providerBrick, actualArgs] = await Promise.all([\n getProviderBrick(useProvider) as unknown as Promise<\n Record<string, Function>\n >,\n asyncComputeRealValue(args, runtimeContext) as Promise<unknown[]>,\n ]);\n\n const promise = resolveByProvider(\n providerBrick,\n useProvider,\n method,\n actualArgs,\n options,\n args\n );\n\n let { transform } = resolveConf;\n let data: unknown;\n\n try {\n data = await promise;\n // The fetched data and its inner objects should never be *injected* again.\n // recursiveMarkAsInjected(data);\n } catch (error) {\n if (isHandleRejectByTransform(onReject)) {\n transform = onReject.transform;\n data = error;\n } else {\n throw error;\n }\n }\n\n if (!transform) {\n return data;\n }\n\n // Keep backward compatibility of string transform.\n if (typeof transform === \"string\") {\n return { [transform]: data };\n }\n\n return asyncComputeRealValue(transform, { ...runtimeContext, data });\n}\n\nexport function clearResolveCache() {\n cache.clear();\n}\n\nexport async function resolveByProvider(\n brick: Record<string, Function>,\n useProvider: string,\n method: string,\n args: unknown[],\n options?: ResolveOptions,\n originalArgs?: unknown[]\n) {\n let cacheKey: string;\n try {\n // `args` may contain circular references, which makes\n // JSON stringify failed, thus we fallback to original args.\n cacheKey = JSON.stringify({\n useProvider,\n method,\n args,\n });\n } catch (e) {\n if (!originalArgs) {\n throw e;\n }\n cacheKey = JSON.stringify({\n useProvider,\n method,\n originalArgs,\n });\n }\n\n let promise: Promise<unknown> | undefined;\n if (options?.cache !== \"reload\") {\n promise = cache.get(cacheKey);\n }\n if (!promise) {\n promise = (async () => {\n const finalArgs = hooks?.flowApi?.isFlowApiProvider(useProvider)\n ? await hooks.flowApi.getArgsOfFlowApi(useProvider, args, method)\n : args;\n return brick.resolve(...finalArgs);\n })();\n\n cache.set(cacheKey, promise);\n }\n\n return promise;\n}\n\nfunction isHandleRejectByTransform(\n onReject: HandleReject | undefined\n): onReject is HandleRejectByTransform {\n return !!(onReject as HandleRejectByTransform)?.transform;\n}\n"],"mappings":";;;;;;;;AAKA,IAAAA,iBAAA,GAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAD,OAAA;AAEA,IAAAE,QAAA,GAAAF,OAAA;AAEA,MAAMG,KAAK,GAAG,IAAIC,GAAG,CAA2B,CAAC;AAc1C,eAAeC,WAAWA,CAC/BC,WAAwB,EACxBC,cAA8B,EAC9BC,OAAwB,EACxB;EACA,MAAM;IAAEC,WAAW;IAAEC,MAAM,GAAG,SAAS;IAAEC,IAAI,GAAG,EAAE;IAAEC;EAAS,CAAC,GAAGN,WAAW;EAE5E,MAAMO,cAAc,GAAIP,WAAW,CAA2BQ,QAAQ;EACtE,IAAID,cAAc,IAAI,CAACJ,WAAW,EAAE;IAClC,MAAM,IAAIM,KAAK,CACZ,2BAA0BF,cAAe,4DAC5C,CAAC;EACH;EAEA,MAAM,CAACG,aAAa,EAAEC,UAAU,CAAC,GAAG,MAAMC,OAAO,CAACC,GAAG,CAAC,CACpD,IAAAC,kCAAgB,EAACX,WAAW,CAAC,EAG7B,IAAAY,uCAAqB,EAACV,IAAI,EAAEJ,cAAc,CAAC,CAC5C,CAAC;EAEF,MAAMe,OAAO,GAAGC,iBAAiB,CAC/BP,aAAa,EACbP,WAAW,EACXC,MAAM,EACNO,UAAU,EACVT,OAAO,EACPG,IACF,CAAC;EAED,IAAI;IAAEa;EAAU,CAAC,GAAGlB,WAAW;EAC/B,IAAImB,IAAa;EAEjB,IAAI;IACFA,IAAI,GAAG,MAAMH,OAAO;IACpB;IACA;EACF,CAAC,CAAC,OAAOI,KAAK,EAAE;IACd,IAAIC,yBAAyB,CAACf,QAAQ,CAAC,EAAE;MACvCY,SAAS,GAAGZ,QAAQ,CAACY,SAAS;MAC9BC,IAAI,GAAGC,KAAK;IACd,CAAC,MAAM;MACL,MAAMA,KAAK;IACb;EACF;EAEA,IAAI,CAACF,SAAS,EAAE;IACd,OAAOC,IAAI;EACb;;EAEA;EACA,IAAI,OAAOD,SAAS,KAAK,QAAQ,EAAE;IACjC,OAAO;MAAE,CAACA,SAAS,GAAGC;IAAK,CAAC;EAC9B;EAEA,OAAO,IAAAJ,uCAAqB,EAACG,SAAS,EAAE;IAAE,GAAGjB,cAAc;IAAEkB;EAAK,CAAC,CAAC;AACtE;AAEO,SAASG,iBAAiBA,CAAA,EAAG;EAClCzB,KAAK,CAAC0B,KAAK,CAAC,CAAC;AACf;AAEO,eAAeN,iBAAiBA,CACrCO,KAA+B,EAC/BrB,WAAmB,EACnBC,MAAc,EACdC,IAAe,EACfH,OAAwB,EACxBuB,YAAwB,EACxB;EACA,IAAIC,QAAgB;EACpB,IAAI;IACF;IACA;IACAA,QAAQ,GAAGC,IAAI,CAACC,SAAS,CAAC;MACxBzB,WAAW;MACXC,MAAM;MACNC;IACF,CAAC,CAAC;EACJ,CAAC,CAAC,OAAOwB,CAAC,EAAE;IACV,IAAI,CAACJ,YAAY,EAAE;MACjB,MAAMI,CAAC;IACT;IACAH,QAAQ,GAAGC,IAAI,CAACC,SAAS,CAAC;MACxBzB,WAAW;MACXC,MAAM;MACNqB;IACF,CAAC,CAAC;EACJ;EAEA,IAAIT,OAAqC;EACzC,IAAI,CAAAd,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEL,KAAK,MAAK,QAAQ,EAAE;IAC/BmB,OAAO,GAAGnB,KAAK,CAACiC,GAAG,CAACJ,QAAQ,CAAC;EAC/B;EACA,IAAI,CAACV,OAAO,EAAE;IACZA,OAAO,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"resolveData.js","names":["_computeRealValue","require","_getProviderBrick","_Runtime","cache","Map","resolveData","resolveConf","runtimeContext","options","useProvider","method","args","onReject","legacyProvider","provider","Error","providerBrick","actualArgs","Promise","all","getProviderBrick","asyncComputeRealValue","promise","resolveByProvider","transform","data","error","isHandleRejectByTransform","clearResolveCache","clear","brick","originalArgs","cacheKey","JSON","stringify","e","get","_hooks$flowApi","finalArgs","hooks","flowApi","isFlowApiProvider","getArgsOfFlowApi","resolve","set"],"sources":["../../../../src/internal/data/resolveData.ts"],"sourcesContent":["import type {\n HandleReject,\n HandleRejectByTransform,\n ResolveConf,\n} from \"@next-core/types\";\nimport { asyncComputeRealValue } from \"../compute/computeRealValue.js\";\nimport { getProviderBrick } from \"./getProviderBrick.js\";\nimport type { RuntimeContext } from \"../interfaces.js\";\nimport { hooks } from \"../Runtime.js\";\n\nconst cache = new Map<string, Promise<unknown>>();\n\nexport interface ResolveOptions {\n /**\n * Cache mode of resolve.\n *\n * See https://developer.mozilla.org/en-US/docs/Web/API/Request/cache\n *\n * - `default`: Looks for a matching cache.\n * - `reload`: Without looking for a matching cache.\n */\n cache?: \"default\" | \"reload\";\n}\n\nexport async function resolveData(\n resolveConf: ResolveConf,\n runtimeContext: RuntimeContext,\n options?: ResolveOptions\n) {\n const { useProvider, method = \"resolve\", args = [], onReject } = resolveConf;\n\n const legacyProvider = (resolveConf as { provider?: string }).provider;\n if (legacyProvider && !useProvider) {\n throw new Error(\n `You're using \"provider: ${legacyProvider}\" which is dropped in v3, please use \"useProvider\" instead`\n );\n }\n\n const [providerBrick, actualArgs] = await Promise.all([\n getProviderBrick(useProvider) as unknown as Promise<\n Record<string, Function>\n >,\n asyncComputeRealValue(args, runtimeContext) as Promise<unknown[]>,\n ]);\n\n const promise = resolveByProvider(\n providerBrick,\n useProvider,\n method,\n actualArgs,\n options,\n args\n );\n\n let { transform } = resolveConf;\n let data: unknown;\n\n try {\n data = await promise;\n // The fetched data and its inner objects should never be *injected* again.\n // recursiveMarkAsInjected(data);\n } catch (error) {\n if (isHandleRejectByTransform(onReject)) {\n transform = onReject.transform;\n data = error;\n } else {\n throw error;\n }\n }\n\n if (!transform) {\n return data;\n }\n\n // Keep backward compatibility of string transform.\n if (typeof transform === \"string\") {\n return { [transform]: data };\n }\n\n return asyncComputeRealValue(transform, { ...runtimeContext, data });\n}\n\nexport function clearResolveCache() {\n cache.clear();\n}\n\nexport async function resolveByProvider(\n brick: Record<string, Function>,\n useProvider: string,\n method: string,\n args: unknown[],\n options?: ResolveOptions,\n originalArgs?: unknown[]\n) {\n let cacheKey: string;\n try {\n // `args` may contain circular references, which makes\n // JSON stringify failed, thus we fallback to original args.\n cacheKey = JSON.stringify({\n useProvider,\n method,\n args,\n });\n } catch (e) {\n if (!originalArgs) {\n throw e;\n }\n cacheKey = JSON.stringify({\n useProvider,\n method,\n originalArgs,\n });\n }\n\n let promise: Promise<unknown> | undefined;\n if (options?.cache !== \"reload\") {\n promise = cache.get(cacheKey);\n }\n if (!promise) {\n promise = (async () => {\n const finalArgs = hooks?.flowApi?.isFlowApiProvider(useProvider)\n ? await hooks.flowApi.getArgsOfFlowApi(useProvider, args, method)\n : args;\n return brick.resolve(...finalArgs);\n })();\n\n cache.set(cacheKey, promise);\n }\n\n return promise;\n}\n\nfunction isHandleRejectByTransform(\n onReject: HandleReject | undefined\n): onReject is HandleRejectByTransform {\n return !!(onReject as HandleRejectByTransform)?.transform;\n}\n"],"mappings":"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"}
|
|
@@ -17,7 +17,7 @@ async function fulfilStoryboard(storyboard) {
|
|
|
17
17
|
}
|
|
18
18
|
async function doFulfilStoryboard(storyboard) {
|
|
19
19
|
var _hooks$fulfilStoryboa;
|
|
20
|
-
await (_Runtime.hooks === null || _Runtime.hooks === void 0
|
|
20
|
+
await (_Runtime.hooks === null || _Runtime.hooks === void 0 || (_hooks$fulfilStoryboa = _Runtime.hooks.fulfilStoryboard) === null || _hooks$fulfilStoryboa === void 0 ? void 0 : _hooks$fulfilStoryboa.call(_Runtime.hooks, storyboard));
|
|
21
21
|
(0, _registerAppI18n.registerAppI18n)(storyboard);
|
|
22
22
|
Object.assign(storyboard, {
|
|
23
23
|
$$fulfilled: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fulfilStoryboard.js","names":["_Runtime","require","_registerAppI18n","fulfilStoryboard","storyboard","$$fulfilled","$$fulfilling","doFulfilStoryboard","_hooks$fulfilStoryboa","hooks","call","registerAppI18n","Object","assign"],"sources":["../../../src/internal/fulfilStoryboard.ts"],"sourcesContent":["import type { RuntimeStoryboard } from \"@next-core/types\";\nimport { hooks } from \"./Runtime.js\";\nimport { registerAppI18n } from \"./registerAppI18n.js\";\n\nexport async function fulfilStoryboard(storyboard: RuntimeStoryboard) {\n if (storyboard.$$fulfilled) {\n return;\n }\n if (!storyboard.$$fulfilling) {\n storyboard.$$fulfilling = doFulfilStoryboard(storyboard);\n }\n return storyboard.$$fulfilling;\n}\n\nasync function doFulfilStoryboard(storyboard: RuntimeStoryboard) {\n await hooks?.fulfilStoryboard?.(storyboard);\n registerAppI18n(storyboard);\n Object.assign(storyboard, {\n $$fulfilled: true,\n $$fulfilling: null,\n });\n}\n"],"mappings":";;;;;;AACA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAD,OAAA;AAEO,eAAeE,gBAAgBA,CAACC,UAA6B,EAAE;EACpE,IAAIA,UAAU,CAACC,WAAW,EAAE;IAC1B;EACF;EACA,IAAI,CAACD,UAAU,CAACE,YAAY,EAAE;IAC5BF,UAAU,CAACE,YAAY,GAAGC,kBAAkB,CAACH,UAAU,CAAC;EAC1D;EACA,OAAOA,UAAU,CAACE,YAAY;AAChC;AAEA,eAAeC,kBAAkBA,CAACH,UAA6B,EAAE;EAAA,IAAAI,qBAAA;EAC/D,OAAMC,cAAK,aAALA,cAAK,
|
|
1
|
+
{"version":3,"file":"fulfilStoryboard.js","names":["_Runtime","require","_registerAppI18n","fulfilStoryboard","storyboard","$$fulfilled","$$fulfilling","doFulfilStoryboard","_hooks$fulfilStoryboa","hooks","call","registerAppI18n","Object","assign"],"sources":["../../../src/internal/fulfilStoryboard.ts"],"sourcesContent":["import type { RuntimeStoryboard } from \"@next-core/types\";\nimport { hooks } from \"./Runtime.js\";\nimport { registerAppI18n } from \"./registerAppI18n.js\";\n\nexport async function fulfilStoryboard(storyboard: RuntimeStoryboard) {\n if (storyboard.$$fulfilled) {\n return;\n }\n if (!storyboard.$$fulfilling) {\n storyboard.$$fulfilling = doFulfilStoryboard(storyboard);\n }\n return storyboard.$$fulfilling;\n}\n\nasync function doFulfilStoryboard(storyboard: RuntimeStoryboard) {\n await hooks?.fulfilStoryboard?.(storyboard);\n registerAppI18n(storyboard);\n Object.assign(storyboard, {\n $$fulfilled: true,\n $$fulfilling: null,\n });\n}\n"],"mappings":";;;;;;AACA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAD,OAAA;AAEO,eAAeE,gBAAgBA,CAACC,UAA6B,EAAE;EACpE,IAAIA,UAAU,CAACC,WAAW,EAAE;IAC1B;EACF;EACA,IAAI,CAACD,UAAU,CAACE,YAAY,EAAE;IAC5BF,UAAU,CAACE,YAAY,GAAGC,kBAAkB,CAACH,UAAU,CAAC;EAC1D;EACA,OAAOA,UAAU,CAACE,YAAY;AAChC;AAEA,eAAeC,kBAAkBA,CAACH,UAA6B,EAAE;EAAA,IAAAI,qBAAA;EAC/D,OAAMC,cAAK,aAALA,cAAK,gBAAAD,qBAAA,GAALC,cAAK,CAAEN,gBAAgB,cAAAK,qBAAA,uBAAvBA,qBAAA,CAAAE,IAAA,CAAAD,cAAK,EAAqBL,UAAU,CAAC;EAC3C,IAAAO,gCAAe,EAACP,UAAU,CAAC;EAC3BQ,MAAM,CAACC,MAAM,CAACT,UAAU,EAAE;IACxBC,WAAW,EAAE,IAAI;IACjBC,YAAY,EAAE;EAChB,CAAC,CAAC;AACJ"}
|
|
@@ -12,8 +12,8 @@ function matchStoryboard(storyboards, pathname) {
|
|
|
12
12
|
// E.g., `/legacy/tool` will match first before `/legacy`.
|
|
13
13
|
// This enables two apps with relationship of parent-child of homepage.
|
|
14
14
|
const sortedStoryboards = (0, _lodash.orderBy)(storyboards, storyboard => {
|
|
15
|
-
var _storyboard$app$homep, _storyboard$app
|
|
16
|
-
return (_storyboard$app$homep = (_storyboard$app = storyboard.app) === null || _storyboard$app === void 0
|
|
15
|
+
var _storyboard$app$homep, _storyboard$app;
|
|
16
|
+
return (_storyboard$app$homep = (_storyboard$app = storyboard.app) === null || _storyboard$app === void 0 || (_storyboard$app = _storyboard$app.homepage) === null || _storyboard$app === void 0 ? void 0 : _storyboard$app.length) !== null && _storyboard$app$homep !== void 0 ? _storyboard$app$homep : 0;
|
|
17
17
|
}, "desc");
|
|
18
18
|
for (const storyboard of sortedStoryboards) {
|
|
19
19
|
const homepage = storyboard.app.homepage;
|