@next-core/runtime 1.38.1 → 1.38.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (172) hide show
  1. package/dist/cjs/CustomProcessors.js.map +1 -1
  2. package/dist/cjs/CustomTemplates.js.map +1 -1
  3. package/dist/cjs/Dialog.js.map +1 -1
  4. package/dist/cjs/Notification.js.map +1 -1
  5. package/dist/cjs/StoryboardFunctionRegistry.js.map +1 -1
  6. package/dist/cjs/auth.js.map +1 -1
  7. package/dist/cjs/createRoot.js.map +1 -1
  8. package/dist/cjs/fetchByProvider.js.map +1 -1
  9. package/dist/cjs/getBasePath.js.map +1 -1
  10. package/dist/cjs/getPageInfo.js.map +1 -1
  11. package/dist/cjs/getRealValue.js.map +1 -1
  12. package/dist/cjs/getV2RuntimeFromDll.js.map +1 -1
  13. package/dist/cjs/handleHttpError.js.map +1 -1
  14. package/dist/cjs/history.js.map +1 -1
  15. package/dist/cjs/index.js.map +1 -1
  16. package/dist/cjs/internal/CustomTemplates/bindTemplateProxy.js.map +1 -1
  17. package/dist/cjs/internal/CustomTemplates/constants.js.map +1 -1
  18. package/dist/cjs/internal/CustomTemplates/expandCustomTemplate.js.map +1 -1
  19. package/dist/cjs/internal/CustomTemplates/setupTemplateProxy.js.map +1 -1
  20. package/dist/cjs/internal/CustomTemplates/setupUseBrickInTemplate.js.map +1 -1
  21. package/dist/cjs/internal/CustomTemplates/utils.js.map +1 -1
  22. package/dist/cjs/internal/FormRenderer/constants.js.map +1 -1
  23. package/dist/cjs/internal/FormRenderer/expandFormRenderer.js.map +1 -1
  24. package/dist/cjs/internal/FormRenderer/getDefaultProperties.js.map +1 -1
  25. package/dist/cjs/internal/FormRenderer/interfaces.js.map +1 -1
  26. package/dist/cjs/internal/FormRenderer/utils.js.map +1 -1
  27. package/dist/cjs/internal/Renderer.js +2 -3
  28. package/dist/cjs/internal/Renderer.js.map +1 -1
  29. package/dist/cjs/internal/RendererContext.js +59 -59
  30. package/dist/cjs/internal/RendererContext.js.map +1 -1
  31. package/dist/cjs/internal/Router.js +51 -51
  32. package/dist/cjs/internal/Router.js.map +1 -1
  33. package/dist/cjs/internal/Runtime.js +8 -8
  34. package/dist/cjs/internal/Runtime.js.map +1 -1
  35. package/dist/cjs/internal/abortController.js.map +1 -1
  36. package/dist/cjs/internal/bindListeners.js.map +1 -1
  37. package/dist/cjs/internal/compute/StoryboardFunctions.js.map +1 -1
  38. package/dist/cjs/internal/compute/WidgetFunctions.js.map +1 -1
  39. package/dist/cjs/internal/compute/WidgetI18n.js.map +1 -1
  40. package/dist/cjs/internal/compute/checkIf.js.map +1 -1
  41. package/dist/cjs/internal/compute/computeRealProperties.js.map +1 -1
  42. package/dist/cjs/internal/compute/computeRealValue.js.map +1 -1
  43. package/dist/cjs/internal/compute/evaluate.js.map +1 -1
  44. package/dist/cjs/internal/compute/getGeneralGlobals.js.map +1 -1
  45. package/dist/cjs/internal/compute/getNextStateOfUseBrick.js.map +1 -1
  46. package/dist/cjs/internal/compute/getStorageItem.js.map +1 -1
  47. package/dist/cjs/internal/compute/getTracks.js.map +1 -1
  48. package/dist/cjs/internal/compute/listenOnTrackingContext.js.map +1 -1
  49. package/dist/cjs/internal/compute/markAsComputed.js.map +1 -1
  50. package/dist/cjs/internal/compute/setProperties.js.map +1 -1
  51. package/dist/cjs/internal/compute/setRealProperties.js.map +1 -1
  52. package/dist/cjs/internal/customizeColorTheme.js.map +1 -1
  53. package/dist/cjs/internal/data/DataStore.js.map +1 -1
  54. package/dist/cjs/internal/data/getProviderBrick.js.map +1 -1
  55. package/dist/cjs/internal/data/realTimeDataInspect.js.map +1 -1
  56. package/dist/cjs/internal/data/resolveData.js.map +1 -1
  57. package/dist/cjs/internal/data/resolveDataStore.js.map +1 -1
  58. package/dist/cjs/internal/devtools.js.map +1 -1
  59. package/dist/cjs/internal/enums.js.map +1 -1
  60. package/dist/cjs/internal/fulfilStoryboard.js.map +1 -1
  61. package/dist/cjs/internal/hasInstalledApp.js.map +1 -1
  62. package/dist/cjs/internal/historyExtended.js.map +1 -1
  63. package/dist/cjs/internal/i18n.js.map +1 -1
  64. package/dist/cjs/internal/injected.js.map +1 -1
  65. package/dist/cjs/internal/insertPreviewRoutes.js.map +1 -1
  66. package/dist/cjs/internal/interfaces.js.map +1 -1
  67. package/dist/cjs/internal/matchPath.js.map +1 -1
  68. package/dist/cjs/internal/matchRoutes.js.map +1 -1
  69. package/dist/cjs/internal/matchStoryboard.js.map +1 -1
  70. package/dist/cjs/internal/mediaQuery.js.map +1 -1
  71. package/dist/cjs/internal/mount.js.map +1 -1
  72. package/dist/cjs/internal/poll.js.map +1 -1
  73. package/dist/cjs/internal/proxyFactories.js.map +1 -1
  74. package/dist/cjs/internal/registerAppI18n.js.map +1 -1
  75. package/dist/cjs/internal/registerCustomTemplates.js.map +1 -1
  76. package/dist/cjs/internal/secret_internals.js.map +1 -1
  77. package/dist/cjs/internal/setupRootRuntimeContext.js.map +1 -1
  78. package/dist/cjs/internal/test_only.js.map +1 -1
  79. package/dist/cjs/isStrictMode.js.map +1 -1
  80. package/dist/cjs/setAppVariable.js.map +1 -1
  81. package/dist/cjs/setLoginStateCookie.js.map +1 -1
  82. package/dist/cjs/setUIVersion.js.map +1 -1
  83. package/dist/cjs/setWatermark.js.map +1 -1
  84. package/dist/cjs/themeAndMode.js.map +1 -1
  85. package/dist/esm/CustomProcessors.js +1 -2
  86. package/dist/esm/CustomProcessors.js.map +1 -1
  87. package/dist/esm/CustomTemplates.js +1 -2
  88. package/dist/esm/CustomTemplates.js.map +1 -1
  89. package/dist/esm/Dialog.js.map +1 -1
  90. package/dist/esm/Notification.js.map +1 -1
  91. package/dist/esm/StoryboardFunctionRegistry.js.map +1 -1
  92. package/dist/esm/auth.js.map +1 -1
  93. package/dist/esm/createRoot.js.map +1 -1
  94. package/dist/esm/fetchByProvider.js.map +1 -1
  95. package/dist/esm/getBasePath.js.map +1 -1
  96. package/dist/esm/getPageInfo.js.map +1 -1
  97. package/dist/esm/getRealValue.js.map +1 -1
  98. package/dist/esm/getV2RuntimeFromDll.js.map +1 -1
  99. package/dist/esm/handleHttpError.js.map +1 -1
  100. package/dist/esm/history.js.map +1 -1
  101. package/dist/esm/index.js.map +1 -1
  102. package/dist/esm/internal/CustomTemplates/bindTemplateProxy.js.map +1 -1
  103. package/dist/esm/internal/CustomTemplates/constants.js.map +1 -1
  104. package/dist/esm/internal/CustomTemplates/expandCustomTemplate.js.map +1 -1
  105. package/dist/esm/internal/CustomTemplates/setupTemplateProxy.js.map +1 -1
  106. package/dist/esm/internal/CustomTemplates/setupUseBrickInTemplate.js.map +1 -1
  107. package/dist/esm/internal/CustomTemplates/utils.js.map +1 -1
  108. package/dist/esm/internal/FormRenderer/constants.js.map +1 -1
  109. package/dist/esm/internal/FormRenderer/expandFormRenderer.js.map +1 -1
  110. package/dist/esm/internal/FormRenderer/getDefaultProperties.js.map +1 -1
  111. package/dist/esm/internal/FormRenderer/interfaces.js.map +1 -1
  112. package/dist/esm/internal/FormRenderer/utils.js.map +1 -1
  113. package/dist/esm/internal/Renderer.js +2 -3
  114. package/dist/esm/internal/Renderer.js.map +1 -1
  115. package/dist/esm/internal/RendererContext.js +3 -3
  116. package/dist/esm/internal/RendererContext.js.map +1 -1
  117. package/dist/esm/internal/Router.js +3 -3
  118. package/dist/esm/internal/Router.js.map +1 -1
  119. package/dist/esm/internal/Runtime.js +3 -3
  120. package/dist/esm/internal/Runtime.js.map +1 -1
  121. package/dist/esm/internal/abortController.js.map +1 -1
  122. package/dist/esm/internal/bindListeners.js.map +1 -1
  123. package/dist/esm/internal/compute/StoryboardFunctions.js.map +1 -1
  124. package/dist/esm/internal/compute/WidgetFunctions.js.map +1 -1
  125. package/dist/esm/internal/compute/WidgetI18n.js.map +1 -1
  126. package/dist/esm/internal/compute/checkIf.js.map +1 -1
  127. package/dist/esm/internal/compute/computeRealProperties.js.map +1 -1
  128. package/dist/esm/internal/compute/computeRealValue.js.map +1 -1
  129. package/dist/esm/internal/compute/evaluate.js.map +1 -1
  130. package/dist/esm/internal/compute/getGeneralGlobals.js.map +1 -1
  131. package/dist/esm/internal/compute/getNextStateOfUseBrick.js.map +1 -1
  132. package/dist/esm/internal/compute/getStorageItem.js.map +1 -1
  133. package/dist/esm/internal/compute/getTracks.js.map +1 -1
  134. package/dist/esm/internal/compute/listenOnTrackingContext.js.map +1 -1
  135. package/dist/esm/internal/compute/markAsComputed.js.map +1 -1
  136. package/dist/esm/internal/compute/setProperties.js.map +1 -1
  137. package/dist/esm/internal/compute/setRealProperties.js.map +1 -1
  138. package/dist/esm/internal/customizeColorTheme.js.map +1 -1
  139. package/dist/esm/internal/data/DataStore.js.map +1 -1
  140. package/dist/esm/internal/data/getProviderBrick.js.map +1 -1
  141. package/dist/esm/internal/data/realTimeDataInspect.js.map +1 -1
  142. package/dist/esm/internal/data/resolveData.js.map +1 -1
  143. package/dist/esm/internal/data/resolveDataStore.js.map +1 -1
  144. package/dist/esm/internal/devtools.js.map +1 -1
  145. package/dist/esm/internal/enums.js.map +1 -1
  146. package/dist/esm/internal/fulfilStoryboard.js.map +1 -1
  147. package/dist/esm/internal/hasInstalledApp.js.map +1 -1
  148. package/dist/esm/internal/historyExtended.js.map +1 -1
  149. package/dist/esm/internal/i18n.js.map +1 -1
  150. package/dist/esm/internal/injected.js.map +1 -1
  151. package/dist/esm/internal/insertPreviewRoutes.js.map +1 -1
  152. package/dist/esm/internal/interfaces.js.map +1 -1
  153. package/dist/esm/internal/matchPath.js.map +1 -1
  154. package/dist/esm/internal/matchRoutes.js.map +1 -1
  155. package/dist/esm/internal/matchStoryboard.js.map +1 -1
  156. package/dist/esm/internal/mediaQuery.js.map +1 -1
  157. package/dist/esm/internal/mount.js.map +1 -1
  158. package/dist/esm/internal/poll.js.map +1 -1
  159. package/dist/esm/internal/proxyFactories.js.map +1 -1
  160. package/dist/esm/internal/registerAppI18n.js.map +1 -1
  161. package/dist/esm/internal/registerCustomTemplates.js.map +1 -1
  162. package/dist/esm/internal/secret_internals.js.map +1 -1
  163. package/dist/esm/internal/setupRootRuntimeContext.js.map +1 -1
  164. package/dist/esm/internal/test_only.js.map +1 -1
  165. package/dist/esm/isStrictMode.js.map +1 -1
  166. package/dist/esm/setAppVariable.js.map +1 -1
  167. package/dist/esm/setLoginStateCookie.js.map +1 -1
  168. package/dist/esm/setUIVersion.js.map +1 -1
  169. package/dist/esm/setWatermark.js.map +1 -1
  170. package/dist/esm/themeAndMode.js.map +1 -1
  171. package/dist/types/tsdoc-metadata.json +1 -1
  172. package/package.json +13 -13
@@ -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","property","console","getItem","getStorageItem","getMedia","getRuntime","getMiscSettings","URLSearchParams","params","pathname","pkg","customProcessors","t","k","processor","namespace","split","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 { cloneDeep, omit } from \"lodash\";\nimport type { RuntimeContext } from \"../interfaces.js\";\nimport { customProcessors } from \"../../CustomProcessors.js\";\nimport {\n checkPermissionsUsage,\n storyboardFunctions,\n} from \"./StoryboardFunctions.js\";\nimport { getGeneralGlobals } from \"./getGeneralGlobals.js\";\nimport {\n getDynamicReadOnlyProxy,\n getReadOnlyProxy,\n} from \"../proxyFactories.js\";\nimport { devtoolsHookEmit, getDevHook } from \"../devtools.js\";\nimport { getMedia } from \"../mediaQuery.js\";\nimport { getStorageItem } from \"./getStorageItem.js\";\nimport {\n _internalApiGetStoryboardInBootstrapData,\n getBrickPackages,\n getRuntime,\n hooks,\n} from \"../Runtime.js\";\nimport type { DataStore } from \"../data/DataStore.js\";\nimport { getTplStateStore } from \"../CustomTemplates/utils.js\";\nimport { widgetFunctions } from \"./WidgetFunctions.js\";\nimport { widgetI18nFactory } from \"./WidgetI18n.js\";\nimport { hasInstalledApp } from \"../hasInstalledApp.js\";\nimport { isStrictMode, warnAboutStrictMode } from \"../../isStrictMode.js\";\nimport { getFormStateStore } from \"../FormRenderer/utils.js\";\nimport { resolveData } from \"../data/resolveData.js\";\nimport { asyncComputeRealValue } from \"./computeRealValue.js\";\n\nconst symbolForRaw = Symbol.for(\"pre.evaluated.raw\");\nconst symbolForContext = Symbol.for(\"pre.evaluated.context\");\n\nexport interface PreEvaluated {\n [symbolForRaw]: string;\n [symbolForContext]: RuntimeContext;\n}\n\nexport interface EvaluateOptions {\n lazy?: boolean;\n evaluationId?: number;\n}\n\nexport function isPreEvaluated(raw: unknown): raw is PreEvaluated {\n return !!(raw as PreEvaluated)?.[symbolForRaw];\n}\n\nexport function getPreEvaluatedRaw(pre: PreEvaluated): string {\n return pre[symbolForRaw];\n}\n\nexport function shouldDismissMarkingComputed(\n raw: string | PreEvaluated\n): boolean {\n if (typeof raw === \"string\") {\n return shouldAllowRecursiveEvaluations(raw);\n }\n return shouldAllowRecursiveEvaluations(raw[symbolForRaw]);\n}\n\nconst possibleErrorConstructs = new WeakSet<ErrorConstructor>([\n SyntaxError,\n TypeError,\n ReferenceError,\n]);\n\nexport function getCookErrorConstructor(error: any): ErrorConstructor {\n return possibleErrorConstructs.has(error.constructor)\n ? error.constructor\n : TypeError;\n}\n\nexport async function asyncEvaluate(\n raw: string | PreEvaluated, // string or pre-evaluated object.\n runtimeContext: RuntimeContext,\n options?: EvaluateOptions\n): Promise<unknown> {\n const { blockingList, run } = lowLevelEvaluate(\n raw,\n runtimeContext,\n options,\n true\n );\n await Promise.all(blockingList);\n return run();\n}\n\nexport function evaluate(\n raw: string | PreEvaluated, // string or pre-evaluated object.\n runtimeContext: RuntimeContext,\n options?: EvaluateOptions\n): Promise<unknown> {\n const { run } = lowLevelEvaluate(raw, runtimeContext, options, false);\n return run();\n}\n\nfunction lowLevelEvaluate(\n raw: string | PreEvaluated, // string or pre-evaluated object.\n runtimeContext: RuntimeContext,\n options: EvaluateOptions = {},\n isAsync?: boolean\n): {\n blockingList: (Promise<unknown> | undefined)[];\n run: Function;\n} {\n const blockingList: (Promise<unknown> | undefined)[] = [];\n if (typeof raw !== \"string\") {\n // If the `raw` is not a string, it must be a pre-evaluated object.\n // Then fulfil the context, and restore the original `raw`.\n\n const passByRuntimeContext = omit(runtimeContext, [\n \"pendingPermissionsPreCheck\",\n \"tplStateStoreMap\",\n \"tplStateStoreScope\",\n \"formStateStoreMap\",\n \"formStateStoreScope\",\n ]);\n\n runtimeContext = {\n ...raw[symbolForContext],\n ...passByRuntimeContext,\n };\n raw = raw[symbolForRaw];\n }\n\n // Collect `APP.getMenu(...)` usage before evaluating.\n const menuUsage: MemberCallUsage = {\n usedArgs: new Set(),\n };\n const hasAppUsage: MemberCallUsage = {\n usedArgs: new Set(),\n };\n\n // A `SyntaxError` maybe thrown.\n let precooked: PreevaluateResult;\n try {\n precooked = preevaluate(raw, {\n withParent: true,\n hooks: {\n beforeVisitGlobal(node, parent) {\n collectAppGetMenuUsage(menuUsage, node, parent!);\n collectInstalledAppsHasUsage(hasAppUsage, node, parent!);\n },\n },\n });\n } catch (error: any) {\n const message = `${error.message}, in \"${raw}\"`;\n const errorConstructor = getCookErrorConstructor(error);\n throw new errorConstructor(message);\n }\n\n if (menuUsage.hasNonStaticUsage) {\n throw new Error(\n `Non-static usage of \"APP.getMenu\" is prohibited in v3, check your expression: \"${raw}\"`\n );\n }\n\n if (hasAppUsage.hasNonStaticUsage) {\n throw new Error(\n `Non-static usage of \"INSTALLED_APPS.has\" is prohibited in v3, check your expression: \"${raw}\"`\n );\n }\n\n const globalVariables: Record<string, unknown> = {};\n const { attemptToVisitGlobals } = precooked;\n\n // Ignore evaluating if required `event/DATA` is missing in\n // context. Since they are are provided in different context, whenever\n // missing one of them, memorize the current context for later consuming.\n if (\n options.lazy ||\n (attemptToVisitGlobals.has(\"EVENT\") &&\n !hasOwnProperty(runtimeContext, \"event\")) ||\n (attemptToVisitGlobals.has(\"DATA\") &&\n !hasOwnProperty(runtimeContext, \"data\"))\n ) {\n return {\n blockingList,\n run() {\n return Object.keys(runtimeContext).length > 0\n ? ({\n [symbolForRaw]: raw,\n [symbolForContext]: runtimeContext,\n } as PreEvaluated)\n : raw;\n },\n };\n }\n\n let usedCtx: Set<string>;\n let usedProcessors: Set<string>;\n let usedStates: Set<string>;\n let tplStateStore: DataStore<\"STATE\"> | undefined;\n const strict = isStrictMode(runtimeContext);\n\n // For existed TPL usage, treat it as a STATE.\n if (\n attemptToVisitGlobals.has(\"STATE\") ||\n (!strict && attemptToVisitGlobals.has(\"TPL\"))\n ) {\n tplStateStore = getTplStateStore(runtimeContext, \"STATE\", `: \"${raw}\"`);\n }\n\n let usedFormStates: Set<string>;\n let formStateStore: DataStore<\"FORM_STATE\"> | undefined;\n if (attemptToVisitGlobals.has(\"FORM_STATE\")) {\n formStateStore = getFormStateStore(\n runtimeContext,\n \"FORM_STATE\",\n `: \"${raw}\"`\n );\n }\n\n const devHook = getDevHook();\n if (isAsync || devHook) {\n if (attemptToVisitGlobals.has(\"CTX\")) {\n usedCtx = strictCollectMemberUsage(raw, \"CTX\");\n isAsync && blockingList.push(runtimeContext.ctxStore.waitFor(usedCtx));\n }\n\n if (tplStateStore) {\n usedStates = strictCollectMemberUsage(raw, \"STATE\");\n // istanbul ignore if\n if (!strict) {\n const usedTpls = strictCollectMemberUsage(raw, \"TPL\");\n for (const tpl of usedTpls) {\n usedStates.add(tpl);\n }\n }\n isAsync && blockingList.push(tplStateStore.waitFor(usedStates));\n }\n\n if (formStateStore) {\n usedFormStates = strictCollectMemberUsage(raw, \"FORM_STATE\");\n isAsync && blockingList.push(formStateStore.waitFor(usedFormStates));\n }\n\n if (attemptToVisitGlobals.has(\"PROCESSORS\")) {\n usedProcessors = strictCollectMemberUsage(raw, \"PROCESSORS\", 2);\n isAsync &&\n blockingList.push(\n loadProcessorsImperatively(usedProcessors, getBrickPackages())\n );\n }\n }\n\n if (isAsync) {\n let attemptToCheckPermissions = attemptToVisitGlobals.has(\"PERMISSIONS\");\n // There maybe `PERMISSIONS.check()` usage in functions\n if (!attemptToCheckPermissions && attemptToVisitGlobals.has(\"FN\")) {\n const usedFunctions = [...strictCollectMemberUsage(raw, \"FN\")];\n attemptToCheckPermissions = checkPermissionsUsage(usedFunctions);\n }\n\n if (attemptToCheckPermissions) {\n blockingList.push(...runtimeContext.pendingPermissionsPreCheck);\n }\n\n if (menuUsage.usedArgs.size > 0 && hooks?.menu) {\n // Block evaluating if has `APP.getMenu(...)` usage.\n const usedMenuIds = [...menuUsage.usedArgs];\n blockingList.push(\n Promise.all(\n usedMenuIds.map((menuId) =>\n hooks!.menu!.fetchMenuById(menuId, runtimeContext, {\n getStoryboardByAppId: _internalApiGetStoryboardInBootstrapData,\n resolveData,\n asyncComputeRealValue,\n })\n )\n )\n );\n }\n\n if (hasAppUsage.usedArgs.size > 0) {\n // Only wait for specific apps\n blockingList.push(\n hooks?.checkInstalledApps?.waitForCheckingApps([\n ...hasAppUsage.usedArgs,\n ])\n );\n }\n }\n\n return {\n blockingList,\n run() {\n const {\n app: currentApp,\n location,\n query,\n match,\n flags,\n sys,\n ctxStore,\n data,\n event,\n } = runtimeContext;\n const app = runtimeContext.overrideApp ?? currentApp;\n\n for (const variableName of attemptToVisitGlobals) {\n switch (variableName) {\n // case \"ALIAS\":\n case \"ANCHOR\":\n globalVariables[variableName] = location.hash\n ? location.hash.substring(1)\n : null;\n break;\n case \"APP\":\n globalVariables[variableName] = {\n ...cloneDeep(app),\n getMenu: hooks?.menu?.getMenuById,\n };\n break;\n case \"CTX\":\n globalVariables[variableName] = getDynamicReadOnlyProxy({\n get(target, key) {\n return ctxStore.getValue(key as string);\n },\n ownKeys() {\n return Array.from(usedCtx);\n },\n });\n break;\n case \"DATA\":\n globalVariables[variableName] = data;\n break;\n case \"EVENT\":\n globalVariables[variableName] = event;\n break;\n case \"FLAGS\":\n globalVariables[variableName] = getReadOnlyProxy(flags);\n break;\n case \"FORM_STATE\":\n globalVariables[variableName] = getDynamicReadOnlyProxy({\n get(target, key) {\n return formStateStore!.getValue(key as string);\n },\n ownKeys() {\n return Array.from(usedFormStates);\n },\n });\n break;\n case \"HASH\":\n globalVariables[variableName] = location.hash;\n break;\n case \"INSTALLED_APPS\":\n globalVariables[variableName] = getReadOnlyProxy({\n has: hasInstalledApp,\n });\n break;\n case \"ITEM\":\n case \"INDEX\": {\n const property =\n variableName === \"ITEM\" ? \"forEachItem\" : \"forEachIndex\";\n if (!hasOwnProperty(runtimeContext, property)) {\n // eslint-disable-next-line no-console\n console.error(\n `Using \\`${variableName}\\` but no \\`:forEach\\` is found, check your expression: \"${raw}\"`\n );\n } else {\n globalVariables[variableName] = runtimeContext[property];\n }\n break;\n }\n case \"LOCAL_STORAGE\":\n globalVariables[variableName] = getReadOnlyProxy({\n getItem: getStorageItem(\"local\"),\n });\n break;\n case \"MEDIA\":\n globalVariables[variableName] = getReadOnlyProxy(getMedia());\n break;\n case \"MISC\":\n globalVariables[variableName] = getRuntime().getMiscSettings();\n break;\n case \"PARAMS\":\n globalVariables[variableName] = new URLSearchParams(query);\n break;\n case \"PATH\":\n globalVariables[variableName] = getReadOnlyProxy(\n match?.params ?? {}\n );\n break;\n case \"PATH_NAME\":\n globalVariables[variableName] = location.pathname;\n break;\n case \"PROCESSORS\":\n globalVariables[variableName] = getDynamicReadOnlyProxy({\n get(target, key) {\n const pkg = customProcessors.get(key as string);\n if (!pkg) {\n throw new Error(\n `'PROCESSORS.${\n key as string\n }' is not registered! Have you installed the relevant brick package?`\n );\n }\n return getDynamicReadOnlyProxy({\n get(t, k) {\n return pkg.get(k as string);\n },\n ownKeys() {\n return Array.from(pkg.keys());\n },\n });\n },\n ownKeys() {\n const keys = new Set<string>();\n for (const processor of usedProcessors) {\n const namespace = processor.split(\".\")[0];\n keys.add(namespace);\n }\n return Array.from(keys);\n },\n });\n break;\n case \"QUERY\":\n globalVariables[variableName] = Object.fromEntries(\n Array.from(query.keys()).map((key) => [key, query.get(key)])\n );\n break;\n case \"QUERY_ARRAY\":\n globalVariables[variableName] = Object.fromEntries(\n Array.from(query.keys()).map((key) => [key, query.getAll(key)])\n );\n // case \"SEGUE\":\n break;\n case \"SESSION_STORAGE\":\n globalVariables[variableName] = getReadOnlyProxy({\n getItem: getStorageItem(\"session\"),\n });\n break;\n // istanbul ignore next\n case \"TPL\":\n warnAboutStrictMode(\n strict,\n 'Using \"TPL\" in expression',\n `check your expression: \"${raw}\"`\n );\n if (strict) {\n break;\n }\n // eslint-disable-next-line no-fallthrough\n case \"STATE\":\n globalVariables[variableName] = getDynamicReadOnlyProxy({\n get(target, key) {\n return tplStateStore!.getValue(key as string);\n },\n ownKeys() {\n return Array.from(usedStates);\n },\n });\n break;\n case \"SYS\":\n globalVariables[variableName] = getReadOnlyProxy(sys ?? {});\n break;\n case \"__WIDGET_FN__\":\n globalVariables[variableName] = widgetFunctions;\n break;\n case \"__WIDGET_IMG__\":\n globalVariables[variableName] = hooks?.images?.widgetImagesFactory;\n break;\n case \"__WIDGET_I18N__\":\n globalVariables[variableName] = widgetI18nFactory;\n break;\n }\n }\n\n Object.assign(\n globalVariables,\n getGeneralGlobals(precooked.attemptToVisitGlobals, {\n storyboardFunctions,\n app: app,\n appendI18nNamespace: runtimeContext.appendI18nNamespace,\n })\n );\n\n try {\n const result = cook(precooked.expression, precooked.source, {\n globalVariables: supply(\n precooked.attemptToVisitGlobals,\n globalVariables\n ),\n });\n const detail = { raw, context: globalVariables, result };\n devtoolsHookEmit(\"evaluation\", detail);\n return result;\n } catch (error: any) {\n const message = `${error.message}, in \"${raw}\"`;\n const errorConstructor = getCookErrorConstructor(error);\n throw new errorConstructor(message);\n }\n },\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"evaluate.js","names":["_cook","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","property","console","getItem","getStorageItem","getMedia","getRuntime","getMiscSettings","URLSearchParams","params","pathname","pkg","customProcessors","t","k","processor","namespace","split","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 { cloneDeep, omit } from \"lodash\";\nimport type { RuntimeContext } from \"../interfaces.js\";\nimport { customProcessors } from \"../../CustomProcessors.js\";\nimport {\n checkPermissionsUsage,\n storyboardFunctions,\n} from \"./StoryboardFunctions.js\";\nimport { getGeneralGlobals } from \"./getGeneralGlobals.js\";\nimport {\n getDynamicReadOnlyProxy,\n getReadOnlyProxy,\n} from \"../proxyFactories.js\";\nimport { devtoolsHookEmit, getDevHook } from \"../devtools.js\";\nimport { getMedia } from \"../mediaQuery.js\";\nimport { getStorageItem } from \"./getStorageItem.js\";\nimport {\n _internalApiGetStoryboardInBootstrapData,\n getBrickPackages,\n getRuntime,\n hooks,\n} from \"../Runtime.js\";\nimport type { DataStore } from \"../data/DataStore.js\";\nimport { getTplStateStore } from \"../CustomTemplates/utils.js\";\nimport { widgetFunctions } from \"./WidgetFunctions.js\";\nimport { widgetI18nFactory } from \"./WidgetI18n.js\";\nimport { hasInstalledApp } from \"../hasInstalledApp.js\";\nimport { isStrictMode, warnAboutStrictMode } from \"../../isStrictMode.js\";\nimport { getFormStateStore } from \"../FormRenderer/utils.js\";\nimport { resolveData } from \"../data/resolveData.js\";\nimport { asyncComputeRealValue } from \"./computeRealValue.js\";\n\nconst symbolForRaw = Symbol.for(\"pre.evaluated.raw\");\nconst symbolForContext = Symbol.for(\"pre.evaluated.context\");\n\nexport interface PreEvaluated {\n [symbolForRaw]: string;\n [symbolForContext]: RuntimeContext;\n}\n\nexport interface EvaluateOptions {\n lazy?: boolean;\n evaluationId?: number;\n}\n\nexport function isPreEvaluated(raw: unknown): raw is PreEvaluated {\n return !!(raw as PreEvaluated)?.[symbolForRaw];\n}\n\nexport function getPreEvaluatedRaw(pre: PreEvaluated): string {\n return pre[symbolForRaw];\n}\n\nexport function shouldDismissMarkingComputed(\n raw: string | PreEvaluated\n): boolean {\n if (typeof raw === \"string\") {\n return shouldAllowRecursiveEvaluations(raw);\n }\n return shouldAllowRecursiveEvaluations(raw[symbolForRaw]);\n}\n\nconst possibleErrorConstructs = new WeakSet<ErrorConstructor>([\n SyntaxError,\n TypeError,\n ReferenceError,\n]);\n\nexport function getCookErrorConstructor(error: any): ErrorConstructor {\n return possibleErrorConstructs.has(error.constructor)\n ? error.constructor\n : TypeError;\n}\n\nexport async function asyncEvaluate(\n raw: string | PreEvaluated, // string or pre-evaluated object.\n runtimeContext: RuntimeContext,\n options?: EvaluateOptions\n): Promise<unknown> {\n const { blockingList, run } = lowLevelEvaluate(\n raw,\n runtimeContext,\n options,\n true\n );\n await Promise.all(blockingList);\n return run();\n}\n\nexport function evaluate(\n raw: string | PreEvaluated, // string or pre-evaluated object.\n runtimeContext: RuntimeContext,\n options?: EvaluateOptions\n): Promise<unknown> {\n const { run } = lowLevelEvaluate(raw, runtimeContext, options, false);\n return run();\n}\n\nfunction lowLevelEvaluate(\n raw: string | PreEvaluated, // string or pre-evaluated object.\n runtimeContext: RuntimeContext,\n options: EvaluateOptions = {},\n isAsync?: boolean\n): {\n blockingList: (Promise<unknown> | undefined)[];\n run: Function;\n} {\n const blockingList: (Promise<unknown> | undefined)[] = [];\n if (typeof raw !== \"string\") {\n // If the `raw` is not a string, it must be a pre-evaluated object.\n // Then fulfil the context, and restore the original `raw`.\n\n const passByRuntimeContext = omit(runtimeContext, [\n \"pendingPermissionsPreCheck\",\n \"tplStateStoreMap\",\n \"tplStateStoreScope\",\n \"formStateStoreMap\",\n \"formStateStoreScope\",\n ]);\n\n runtimeContext = {\n ...raw[symbolForContext],\n ...passByRuntimeContext,\n };\n raw = raw[symbolForRaw];\n }\n\n // Collect `APP.getMenu(...)` usage before evaluating.\n const menuUsage: MemberCallUsage = {\n usedArgs: new Set(),\n };\n const hasAppUsage: MemberCallUsage = {\n usedArgs: new Set(),\n };\n\n // A `SyntaxError` maybe thrown.\n let precooked: PreevaluateResult;\n try {\n precooked = preevaluate(raw, {\n withParent: true,\n hooks: {\n beforeVisitGlobal(node, parent) {\n collectAppGetMenuUsage(menuUsage, node, parent!);\n collectInstalledAppsHasUsage(hasAppUsage, node, parent!);\n },\n },\n });\n } catch (error: any) {\n const message = `${error.message}, in \"${raw}\"`;\n const errorConstructor = getCookErrorConstructor(error);\n throw new errorConstructor(message);\n }\n\n if (menuUsage.hasNonStaticUsage) {\n throw new Error(\n `Non-static usage of \"APP.getMenu\" is prohibited in v3, check your expression: \"${raw}\"`\n );\n }\n\n if (hasAppUsage.hasNonStaticUsage) {\n throw new Error(\n `Non-static usage of \"INSTALLED_APPS.has\" is prohibited in v3, check your expression: \"${raw}\"`\n );\n }\n\n const globalVariables: Record<string, unknown> = {};\n const { attemptToVisitGlobals } = precooked;\n\n // Ignore evaluating if required `event/DATA` is missing in\n // context. Since they are are provided in different context, whenever\n // missing one of them, memorize the current context for later consuming.\n if (\n options.lazy ||\n (attemptToVisitGlobals.has(\"EVENT\") &&\n !hasOwnProperty(runtimeContext, \"event\")) ||\n (attemptToVisitGlobals.has(\"DATA\") &&\n !hasOwnProperty(runtimeContext, \"data\"))\n ) {\n return {\n blockingList,\n run() {\n return Object.keys(runtimeContext).length > 0\n ? ({\n [symbolForRaw]: raw,\n [symbolForContext]: runtimeContext,\n } as PreEvaluated)\n : raw;\n },\n };\n }\n\n let usedCtx: Set<string>;\n let usedProcessors: Set<string>;\n let usedStates: Set<string>;\n let tplStateStore: DataStore<\"STATE\"> | undefined;\n const strict = isStrictMode(runtimeContext);\n\n // For existed TPL usage, treat it as a STATE.\n if (\n attemptToVisitGlobals.has(\"STATE\") ||\n (!strict && attemptToVisitGlobals.has(\"TPL\"))\n ) {\n tplStateStore = getTplStateStore(runtimeContext, \"STATE\", `: \"${raw}\"`);\n }\n\n let usedFormStates: Set<string>;\n let formStateStore: DataStore<\"FORM_STATE\"> | undefined;\n if (attemptToVisitGlobals.has(\"FORM_STATE\")) {\n formStateStore = getFormStateStore(\n runtimeContext,\n \"FORM_STATE\",\n `: \"${raw}\"`\n );\n }\n\n const devHook = getDevHook();\n if (isAsync || devHook) {\n if (attemptToVisitGlobals.has(\"CTX\")) {\n usedCtx = strictCollectMemberUsage(raw, \"CTX\");\n isAsync && blockingList.push(runtimeContext.ctxStore.waitFor(usedCtx));\n }\n\n if (tplStateStore) {\n usedStates = strictCollectMemberUsage(raw, \"STATE\");\n // istanbul ignore if\n if (!strict) {\n const usedTpls = strictCollectMemberUsage(raw, \"TPL\");\n for (const tpl of usedTpls) {\n usedStates.add(tpl);\n }\n }\n isAsync && blockingList.push(tplStateStore.waitFor(usedStates));\n }\n\n if (formStateStore) {\n usedFormStates = strictCollectMemberUsage(raw, \"FORM_STATE\");\n isAsync && blockingList.push(formStateStore.waitFor(usedFormStates));\n }\n\n if (attemptToVisitGlobals.has(\"PROCESSORS\")) {\n usedProcessors = strictCollectMemberUsage(raw, \"PROCESSORS\", 2);\n isAsync &&\n blockingList.push(\n loadProcessorsImperatively(usedProcessors, getBrickPackages())\n );\n }\n }\n\n if (isAsync) {\n let attemptToCheckPermissions = attemptToVisitGlobals.has(\"PERMISSIONS\");\n // There maybe `PERMISSIONS.check()` usage in functions\n if (!attemptToCheckPermissions && attemptToVisitGlobals.has(\"FN\")) {\n const usedFunctions = [...strictCollectMemberUsage(raw, \"FN\")];\n attemptToCheckPermissions = checkPermissionsUsage(usedFunctions);\n }\n\n if (attemptToCheckPermissions) {\n blockingList.push(...runtimeContext.pendingPermissionsPreCheck);\n }\n\n if (menuUsage.usedArgs.size > 0 && hooks?.menu) {\n // Block evaluating if has `APP.getMenu(...)` usage.\n const usedMenuIds = [...menuUsage.usedArgs];\n blockingList.push(\n Promise.all(\n usedMenuIds.map((menuId) =>\n hooks!.menu!.fetchMenuById(menuId, runtimeContext, {\n getStoryboardByAppId: _internalApiGetStoryboardInBootstrapData,\n resolveData,\n asyncComputeRealValue,\n })\n )\n )\n );\n }\n\n if (hasAppUsage.usedArgs.size > 0) {\n // Only wait for specific apps\n blockingList.push(\n hooks?.checkInstalledApps?.waitForCheckingApps([\n ...hasAppUsage.usedArgs,\n ])\n );\n }\n }\n\n return {\n blockingList,\n run() {\n const {\n app: currentApp,\n location,\n query,\n match,\n flags,\n sys,\n ctxStore,\n data,\n event,\n } = runtimeContext;\n const app = runtimeContext.overrideApp ?? currentApp;\n\n for (const variableName of attemptToVisitGlobals) {\n switch (variableName) {\n // case \"ALIAS\":\n case \"ANCHOR\":\n globalVariables[variableName] = location.hash\n ? location.hash.substring(1)\n : null;\n break;\n case \"APP\":\n globalVariables[variableName] = {\n ...cloneDeep(app),\n getMenu: hooks?.menu?.getMenuById,\n };\n break;\n case \"CTX\":\n globalVariables[variableName] = getDynamicReadOnlyProxy({\n get(target, key) {\n return ctxStore.getValue(key as string);\n },\n ownKeys() {\n return Array.from(usedCtx);\n },\n });\n break;\n case \"DATA\":\n globalVariables[variableName] = data;\n break;\n case \"EVENT\":\n globalVariables[variableName] = event;\n break;\n case \"FLAGS\":\n globalVariables[variableName] = getReadOnlyProxy(flags);\n break;\n case \"FORM_STATE\":\n globalVariables[variableName] = getDynamicReadOnlyProxy({\n get(target, key) {\n return formStateStore!.getValue(key as string);\n },\n ownKeys() {\n return Array.from(usedFormStates);\n },\n });\n break;\n case \"HASH\":\n globalVariables[variableName] = location.hash;\n break;\n case \"INSTALLED_APPS\":\n globalVariables[variableName] = getReadOnlyProxy({\n has: hasInstalledApp,\n });\n break;\n case \"ITEM\":\n case \"INDEX\": {\n const property =\n variableName === \"ITEM\" ? \"forEachItem\" : \"forEachIndex\";\n if (!hasOwnProperty(runtimeContext, property)) {\n // eslint-disable-next-line no-console\n console.error(\n `Using \\`${variableName}\\` but no \\`:forEach\\` is found, check your expression: \"${raw}\"`\n );\n } else {\n globalVariables[variableName] = runtimeContext[property];\n }\n break;\n }\n case \"LOCAL_STORAGE\":\n globalVariables[variableName] = getReadOnlyProxy({\n getItem: getStorageItem(\"local\"),\n });\n break;\n case \"MEDIA\":\n globalVariables[variableName] = getReadOnlyProxy(getMedia());\n break;\n case \"MISC\":\n globalVariables[variableName] = getRuntime().getMiscSettings();\n break;\n case \"PARAMS\":\n globalVariables[variableName] = new URLSearchParams(query);\n break;\n case \"PATH\":\n globalVariables[variableName] = getReadOnlyProxy(\n match?.params ?? {}\n );\n break;\n case \"PATH_NAME\":\n globalVariables[variableName] = location.pathname;\n break;\n case \"PROCESSORS\":\n globalVariables[variableName] = getDynamicReadOnlyProxy({\n get(target, key) {\n const pkg = customProcessors.get(key as string);\n if (!pkg) {\n throw new Error(\n `'PROCESSORS.${\n key as string\n }' is not registered! Have you installed the relevant brick package?`\n );\n }\n return getDynamicReadOnlyProxy({\n get(t, k) {\n return pkg.get(k as string);\n },\n ownKeys() {\n return Array.from(pkg.keys());\n },\n });\n },\n ownKeys() {\n const keys = new Set<string>();\n for (const processor of usedProcessors) {\n const namespace = processor.split(\".\")[0];\n keys.add(namespace);\n }\n return Array.from(keys);\n },\n });\n break;\n case \"QUERY\":\n globalVariables[variableName] = Object.fromEntries(\n Array.from(query.keys()).map((key) => [key, query.get(key)])\n );\n break;\n case \"QUERY_ARRAY\":\n globalVariables[variableName] = Object.fromEntries(\n Array.from(query.keys()).map((key) => [key, query.getAll(key)])\n );\n // case \"SEGUE\":\n break;\n case \"SESSION_STORAGE\":\n globalVariables[variableName] = getReadOnlyProxy({\n getItem: getStorageItem(\"session\"),\n });\n break;\n // istanbul ignore next\n case \"TPL\":\n warnAboutStrictMode(\n strict,\n 'Using \"TPL\" in expression',\n `check your expression: \"${raw}\"`\n );\n if (strict) {\n break;\n }\n // eslint-disable-next-line no-fallthrough\n case \"STATE\":\n globalVariables[variableName] = getDynamicReadOnlyProxy({\n get(target, key) {\n return tplStateStore!.getValue(key as string);\n },\n ownKeys() {\n return Array.from(usedStates);\n },\n });\n break;\n case \"SYS\":\n globalVariables[variableName] = getReadOnlyProxy(sys ?? {});\n break;\n case \"__WIDGET_FN__\":\n globalVariables[variableName] = widgetFunctions;\n break;\n case \"__WIDGET_IMG__\":\n globalVariables[variableName] = hooks?.images?.widgetImagesFactory;\n break;\n case \"__WIDGET_I18N__\":\n globalVariables[variableName] = widgetI18nFactory;\n break;\n }\n }\n\n Object.assign(\n globalVariables,\n getGeneralGlobals(precooked.attemptToVisitGlobals, {\n storyboardFunctions,\n app: app,\n appendI18nNamespace: runtimeContext.appendI18nNamespace,\n })\n );\n\n try {\n const result = cook(precooked.expression, precooked.source, {\n globalVariables: supply(\n precooked.attemptToVisitGlobals,\n globalVariables\n ),\n });\n const detail = { raw, context: globalVariables, result };\n devtoolsHookEmit(\"evaluation\", detail);\n return result;\n } catch (error: any) {\n const message = `${error.message}, in \"${raw}\"`;\n const errorConstructor = getCookErrorConstructor(error);\n throw new errorConstructor(message);\n }\n },\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -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":"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"}
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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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"getNextStateOfUseBrick.js","names":["StateOfUseBrick","exports","isLazyContentInUseBrick","state","USE_BRICK_PROPERTIES","USE_BRICK_TRANSFORM","USE_BRICK_EVENTS","USE_BRICK_IF","USE_BRICK_LIFECYCLE","USE_BRICK_DATA_SOURCE","getNextStateOfUseBrick","isArray","key","USE_BRICK","USE_BRICK_ITEM","USE_BRICK_SLOTS_ITEM_BRICKS","USE_BRICK_SLOTS_ITEM_BRICKS_ITEM","INITIAL","USE_BRICK_SLOTS","USE_BRICK_SLOTS_ITEM"],"sources":["../../../../src/internal/compute/getNextStateOfUseBrick.ts"],"sourcesContent":["export enum StateOfUseBrick {\n INITIAL,\n USE_BRICK,\n USE_BRICK_ITEM,\n USE_BRICK_PROPERTIES,\n // Compatible mode\n USE_BRICK_TRANSFORM,\n USE_BRICK_EVENTS,\n USE_BRICK_IF,\n USE_BRICK_SLOTS,\n USE_BRICK_SLOTS_ITEM,\n USE_BRICK_SLOTS_ITEM_BRICKS,\n USE_BRICK_SLOTS_ITEM_BRICKS_ITEM,\n USE_BRICK_LIFECYCLE,\n USE_BRICK_DATA_SOURCE,\n}\n\nexport function isLazyContentInUseBrick(\n state: StateOfUseBrick | undefined\n): boolean {\n switch (state) {\n case StateOfUseBrick.USE_BRICK_PROPERTIES:\n case StateOfUseBrick.USE_BRICK_TRANSFORM:\n case StateOfUseBrick.USE_BRICK_EVENTS:\n case StateOfUseBrick.USE_BRICK_IF:\n case StateOfUseBrick.USE_BRICK_LIFECYCLE:\n case StateOfUseBrick.USE_BRICK_DATA_SOURCE:\n return true;\n }\n return false;\n}\n\nexport function getNextStateOfUseBrick(\n state: StateOfUseBrick | undefined,\n isArray?: boolean,\n key?: string\n): StateOfUseBrick | undefined {\n if (isLazyContentInUseBrick(state)) {\n return state;\n }\n if (isArray) {\n switch (state) {\n case StateOfUseBrick.USE_BRICK:\n return StateOfUseBrick.USE_BRICK_ITEM;\n case StateOfUseBrick.USE_BRICK_SLOTS_ITEM_BRICKS:\n return StateOfUseBrick.USE_BRICK_SLOTS_ITEM_BRICKS_ITEM;\n }\n } else {\n switch (state) {\n case StateOfUseBrick.INITIAL:\n if (key === \"useBrick\") {\n return StateOfUseBrick.USE_BRICK;\n }\n break;\n case StateOfUseBrick.USE_BRICK:\n case StateOfUseBrick.USE_BRICK_ITEM:\n case StateOfUseBrick.USE_BRICK_SLOTS_ITEM_BRICKS_ITEM: {\n switch (key) {\n case \"properties\":\n return StateOfUseBrick.USE_BRICK_PROPERTIES;\n case \"transform\":\n return StateOfUseBrick.USE_BRICK_TRANSFORM;\n case \"dataSource\":\n return StateOfUseBrick.USE_BRICK_DATA_SOURCE;\n case \"events\":\n return StateOfUseBrick.USE_BRICK_EVENTS;\n case \"slots\":\n return StateOfUseBrick.USE_BRICK_SLOTS;\n case \"children\":\n return StateOfUseBrick.USE_BRICK_SLOTS_ITEM_BRICKS;\n case \"if\":\n return StateOfUseBrick.USE_BRICK_IF;\n case \"lifeCycle\":\n return StateOfUseBrick.USE_BRICK_LIFECYCLE;\n }\n break;\n }\n case StateOfUseBrick.USE_BRICK_SLOTS:\n return StateOfUseBrick.USE_BRICK_SLOTS_ITEM;\n case StateOfUseBrick.USE_BRICK_SLOTS_ITEM:\n if (key === \"bricks\") {\n return StateOfUseBrick.USE_BRICK_SLOTS_ITEM_BRICKS;\n }\n break;\n }\n }\n return StateOfUseBrick.INITIAL;\n}\n"],"mappings":";;;;;;;;IAAYA,eAAe,GAAAC,OAAA,CAAAD,eAAA,0BAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA;AAiBpB,SAASE,uBAAuBA,CACrCC,KAAkC,EACzB;EACT,QAAQA,KAAK;IACX,KAAKH,eAAe,CAACI,oBAAoB;IACzC,KAAKJ,eAAe,CAACK,mBAAmB;IACxC,KAAKL,eAAe,CAACM,gBAAgB;IACrC,KAAKN,eAAe,CAACO,YAAY;IACjC,KAAKP,eAAe,CAACQ,mBAAmB;IACxC,KAAKR,eAAe,CAACS,qBAAqB;MACxC,OAAO,IAAI;EACf;EACA,OAAO,KAAK;AACd;AAEO,SAASC,sBAAsBA,CACpCP,KAAkC,EAClCQ,OAAiB,EACjBC,GAAY,EACiB;EAC7B,IAAIV,uBAAuB,CAACC,KAAK,CAAC,EAAE;IAClC,OAAOA,KAAK;EACd;EACA,IAAIQ,OAAO,EAAE;IACX,QAAQR,KAAK;MACX,KAAKH,eAAe,CAACa,SAAS;QAC5B,OAAOb,eAAe,CAACc,cAAc;MACvC,KAAKd,eAAe,CAACe,2BAA2B;QAC9C,OAAOf,eAAe,CAACgB,gCAAgC;IAC3D;EACF,CAAC,MAAM;IACL,QAAQb,KAAK;MACX,KAAKH,eAAe,CAACiB,OAAO;QAC1B,IAAIL,GAAG,KAAK,UAAU,EAAE;UACtB,OAAOZ,eAAe,CAACa,SAAS;QAClC;QACA;MACF,KAAKb,eAAe,CAACa,SAAS;MAC9B,KAAKb,eAAe,CAACc,cAAc;MACnC,KAAKd,eAAe,CAACgB,gCAAgC;QAAE;UACrD,QAAQJ,GAAG;YACT,KAAK,YAAY;cACf,OAAOZ,eAAe,CAACI,oBAAoB;YAC7C,KAAK,WAAW;cACd,OAAOJ,eAAe,CAACK,mBAAmB;YAC5C,KAAK,YAAY;cACf,OAAOL,eAAe,CAACS,qBAAqB;YAC9C,KAAK,QAAQ;cACX,OAAOT,eAAe,CAACM,gBAAgB;YACzC,KAAK,OAAO;cACV,OAAON,eAAe,CAACkB,eAAe;YACxC,KAAK,UAAU;cACb,OAAOlB,eAAe,CAACe,2BAA2B;YACpD,KAAK,IAAI;cACP,OAAOf,eAAe,CAACO,YAAY;YACrC,KAAK,WAAW;cACd,OAAOP,eAAe,CAACQ,mBAAmB;UAC9C;UACA;QACF;MACA,KAAKR,eAAe,CAACkB,eAAe;QAClC,OAAOlB,eAAe,CAACmB,oBAAoB;MAC7C,KAAKnB,eAAe,CAACmB,oBAAoB;QACvC,IAAIP,GAAG,KAAK,QAAQ,EAAE;UACpB,OAAOZ,eAAe,CAACe,2BAA2B;QACpD;QACA;IACJ;EACF;EACA,OAAOf,eAAe,CAACiB,OAAO;AAChC"}
1
+ {"version":3,"file":"getNextStateOfUseBrick.js","names":["StateOfUseBrick","exports","isLazyContentInUseBrick","state","USE_BRICK_PROPERTIES","USE_BRICK_TRANSFORM","USE_BRICK_EVENTS","USE_BRICK_IF","USE_BRICK_LIFECYCLE","USE_BRICK_DATA_SOURCE","getNextStateOfUseBrick","isArray","key","USE_BRICK","USE_BRICK_ITEM","USE_BRICK_SLOTS_ITEM_BRICKS","USE_BRICK_SLOTS_ITEM_BRICKS_ITEM","INITIAL","USE_BRICK_SLOTS","USE_BRICK_SLOTS_ITEM"],"sources":["../../../../src/internal/compute/getNextStateOfUseBrick.ts"],"sourcesContent":["export enum StateOfUseBrick {\n INITIAL,\n USE_BRICK,\n USE_BRICK_ITEM,\n USE_BRICK_PROPERTIES,\n // Compatible mode\n USE_BRICK_TRANSFORM,\n USE_BRICK_EVENTS,\n USE_BRICK_IF,\n USE_BRICK_SLOTS,\n USE_BRICK_SLOTS_ITEM,\n USE_BRICK_SLOTS_ITEM_BRICKS,\n USE_BRICK_SLOTS_ITEM_BRICKS_ITEM,\n USE_BRICK_LIFECYCLE,\n USE_BRICK_DATA_SOURCE,\n}\n\nexport function isLazyContentInUseBrick(\n state: StateOfUseBrick | undefined\n): boolean {\n switch (state) {\n case StateOfUseBrick.USE_BRICK_PROPERTIES:\n case StateOfUseBrick.USE_BRICK_TRANSFORM:\n case StateOfUseBrick.USE_BRICK_EVENTS:\n case StateOfUseBrick.USE_BRICK_IF:\n case StateOfUseBrick.USE_BRICK_LIFECYCLE:\n case StateOfUseBrick.USE_BRICK_DATA_SOURCE:\n return true;\n }\n return false;\n}\n\nexport function getNextStateOfUseBrick(\n state: StateOfUseBrick | undefined,\n isArray?: boolean,\n key?: string\n): StateOfUseBrick | undefined {\n if (isLazyContentInUseBrick(state)) {\n return state;\n }\n if (isArray) {\n switch (state) {\n case StateOfUseBrick.USE_BRICK:\n return StateOfUseBrick.USE_BRICK_ITEM;\n case StateOfUseBrick.USE_BRICK_SLOTS_ITEM_BRICKS:\n return StateOfUseBrick.USE_BRICK_SLOTS_ITEM_BRICKS_ITEM;\n }\n } else {\n switch (state) {\n case StateOfUseBrick.INITIAL:\n if (key === \"useBrick\") {\n return StateOfUseBrick.USE_BRICK;\n }\n break;\n case StateOfUseBrick.USE_BRICK:\n case StateOfUseBrick.USE_BRICK_ITEM:\n case StateOfUseBrick.USE_BRICK_SLOTS_ITEM_BRICKS_ITEM: {\n switch (key) {\n case \"properties\":\n return StateOfUseBrick.USE_BRICK_PROPERTIES;\n case \"transform\":\n return StateOfUseBrick.USE_BRICK_TRANSFORM;\n case \"dataSource\":\n return StateOfUseBrick.USE_BRICK_DATA_SOURCE;\n case \"events\":\n return StateOfUseBrick.USE_BRICK_EVENTS;\n case \"slots\":\n return StateOfUseBrick.USE_BRICK_SLOTS;\n case \"children\":\n return StateOfUseBrick.USE_BRICK_SLOTS_ITEM_BRICKS;\n case \"if\":\n return StateOfUseBrick.USE_BRICK_IF;\n case \"lifeCycle\":\n return StateOfUseBrick.USE_BRICK_LIFECYCLE;\n }\n break;\n }\n case StateOfUseBrick.USE_BRICK_SLOTS:\n return StateOfUseBrick.USE_BRICK_SLOTS_ITEM;\n case StateOfUseBrick.USE_BRICK_SLOTS_ITEM:\n if (key === \"bricks\") {\n return StateOfUseBrick.USE_BRICK_SLOTS_ITEM_BRICKS;\n }\n break;\n }\n }\n return StateOfUseBrick.INITIAL;\n}\n"],"mappings":";;;;;;;;IAAYA,eAAe,GAAAC,OAAA,CAAAD,eAAA,0BAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA;AAiBpB,SAASE,uBAAuBA,CACrCC,KAAkC,EACzB;EACT,QAAQA,KAAK;IACX,KAAKH,eAAe,CAACI,oBAAoB;IACzC,KAAKJ,eAAe,CAACK,mBAAmB;IACxC,KAAKL,eAAe,CAACM,gBAAgB;IACrC,KAAKN,eAAe,CAACO,YAAY;IACjC,KAAKP,eAAe,CAACQ,mBAAmB;IACxC,KAAKR,eAAe,CAACS,qBAAqB;MACxC,OAAO,IAAI;EACf;EACA,OAAO,KAAK;AACd;AAEO,SAASC,sBAAsBA,CACpCP,KAAkC,EAClCQ,OAAiB,EACjBC,GAAY,EACiB;EAC7B,IAAIV,uBAAuB,CAACC,KAAK,CAAC,EAAE;IAClC,OAAOA,KAAK;EACd;EACA,IAAIQ,OAAO,EAAE;IACX,QAAQR,KAAK;MACX,KAAKH,eAAe,CAACa,SAAS;QAC5B,OAAOb,eAAe,CAACc,cAAc;MACvC,KAAKd,eAAe,CAACe,2BAA2B;QAC9C,OAAOf,eAAe,CAACgB,gCAAgC;IAC3D;EACF,CAAC,MAAM;IACL,QAAQb,KAAK;MACX,KAAKH,eAAe,CAACiB,OAAO;QAC1B,IAAIL,GAAG,KAAK,UAAU,EAAE;UACtB,OAAOZ,eAAe,CAACa,SAAS;QAClC;QACA;MACF,KAAKb,eAAe,CAACa,SAAS;MAC9B,KAAKb,eAAe,CAACc,cAAc;MACnC,KAAKd,eAAe,CAACgB,gCAAgC;QAAE;UACrD,QAAQJ,GAAG;YACT,KAAK,YAAY;cACf,OAAOZ,eAAe,CAACI,oBAAoB;YAC7C,KAAK,WAAW;cACd,OAAOJ,eAAe,CAACK,mBAAmB;YAC5C,KAAK,YAAY;cACf,OAAOL,eAAe,CAACS,qBAAqB;YAC9C,KAAK,QAAQ;cACX,OAAOT,eAAe,CAACM,gBAAgB;YACzC,KAAK,OAAO;cACV,OAAON,eAAe,CAACkB,eAAe;YACxC,KAAK,UAAU;cACb,OAAOlB,eAAe,CAACe,2BAA2B;YACpD,KAAK,IAAI;cACP,OAAOf,eAAe,CAACO,YAAY;YACrC,KAAK,WAAW;cACd,OAAOP,eAAe,CAACQ,mBAAmB;UAC9C;UACA;QACF;MACA,KAAKR,eAAe,CAACkB,eAAe;QAClC,OAAOlB,eAAe,CAACmB,oBAAoB;MAC7C,KAAKnB,eAAe,CAACmB,oBAAoB;QACvC,IAAIP,GAAG,KAAK,QAAQ,EAAE;UACpB,OAAOZ,eAAe,CAACe,2BAA2B;QACpD;QACA;IACJ;EACF;EACA,OAAOf,eAAe,CAACiB,OAAO;AAChC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"getStorageItem.js","names":["getStorageItem","storageType","name","_storage$getItem","storage","localStorage","sessionStorage","JSON","parse","getItem"],"sources":["../../../../src/internal/compute/getStorageItem.ts"],"sourcesContent":["export function getStorageItem(storageType: \"local\" | \"session\") {\n return function (name: string) {\n const storage = storageType === \"local\" ? localStorage : sessionStorage;\n return JSON.parse(storage.getItem(name) ?? \"null\");\n };\n}\n"],"mappings":";;;;;;AAAO,SAASA,cAAcA,CAACC,WAAgC,EAAE;EAC/D,OAAO,UAAUC,IAAY,EAAE;IAAA,IAAAC,gBAAA;IAC7B,MAAMC,OAAO,GAAGH,WAAW,KAAK,OAAO,GAAGI,YAAY,GAAGC,cAAc;IACvE,OAAOC,IAAI,CAACC,KAAK,EAAAL,gBAAA,GAACC,OAAO,CAACK,OAAO,CAACP,IAAI,CAAC,cAAAC,gBAAA,cAAAA,gBAAA,GAAI,MAAM,CAAC;EACpD,CAAC;AACH"}
1
+ {"version":3,"file":"getStorageItem.js","names":["getStorageItem","storageType","name","_storage$getItem","storage","localStorage","sessionStorage","JSON","parse","getItem"],"sources":["../../../../src/internal/compute/getStorageItem.ts"],"sourcesContent":["export function getStorageItem(storageType: \"local\" | \"session\") {\n return function (name: string) {\n const storage = storageType === \"local\" ? localStorage : sessionStorage;\n return JSON.parse(storage.getItem(name) ?? \"null\");\n };\n}\n"],"mappings":";;;;;;AAAO,SAASA,cAAcA,CAACC,WAAgC,EAAE;EAC/D,OAAO,UAAUC,IAAY,EAAE;IAAA,IAAAC,gBAAA;IAC7B,MAAMC,OAAO,GAAGH,WAAW,KAAK,OAAO,GAAGI,YAAY,GAAGC,cAAc;IACvE,OAAOC,IAAI,CAACC,KAAK,EAAAL,gBAAA,GAACC,OAAO,CAACK,OAAO,CAACP,IAAI,CAAC,cAAAC,gBAAA,cAAAA,gBAAA,GAAI,MAAM,CAAC;EACpD,CAAC;AACH","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"getTracks.js","names":["_cook","require","_storyboard","_evaluate","getTracks","value","contextNames","stateNames","formStateNames","isEvaluable","isPreEvaluated","raw","getPreEvaluatedRaw","isTrackAll","result","trackAll","context","state","formState","track"],"sources":["../../../../src/internal/compute/getTracks.ts"],"sourcesContent":["import { isEvaluable, isTrackAll } from \"@next-core/cook\";\nimport { track, trackAll } from \"@next-core/utils/storyboard\";\nimport {\n PreEvaluated,\n getPreEvaluatedRaw,\n isPreEvaluated,\n} from \"./evaluate.js\";\n\nexport function getTracks(value: unknown) {\n let contextNames: string[] | Set<string> | false = false;\n let stateNames: string[] | Set<string> | false = false;\n let formStateNames: string[] | Set<string> | false = false;\n if (typeof value === \"string\" ? isEvaluable(value) : isPreEvaluated(value)) {\n const raw =\n typeof value === \"string\"\n ? value\n : getPreEvaluatedRaw(value as PreEvaluated);\n if (isTrackAll(raw)) {\n const result = trackAll(raw);\n if (result) {\n contextNames = result.context;\n stateNames = result.state;\n formStateNames = result.formState;\n }\n } else {\n contextNames = track(raw, \"track context\", \"CTX\");\n stateNames = track(raw, \"track state\", \"STATE\");\n formStateNames = track(raw, \"track formstate\", \"FORM_STATE\");\n }\n }\n\n return { contextNames, stateNames, formStateNames };\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AAMO,SAASG,SAASA,CAACC,KAAc,EAAE;EACxC,IAAIC,YAA4C,GAAG,KAAK;EACxD,IAAIC,UAA0C,GAAG,KAAK;EACtD,IAAIC,cAA8C,GAAG,KAAK;EAC1D,IAAI,OAAOH,KAAK,KAAK,QAAQ,GAAG,IAAAI,iBAAW,EAACJ,KAAK,CAAC,GAAG,IAAAK,wBAAc,EAACL,KAAK,CAAC,EAAE;IAC1E,MAAMM,GAAG,GACP,OAAON,KAAK,KAAK,QAAQ,GACrBA,KAAK,GACL,IAAAO,4BAAkB,EAACP,KAAqB,CAAC;IAC/C,IAAI,IAAAQ,gBAAU,EAACF,GAAG,CAAC,EAAE;MACnB,MAAMG,MAAM,GAAG,IAAAC,oBAAQ,EAACJ,GAAG,CAAC;MAC5B,IAAIG,MAAM,EAAE;QACVR,YAAY,GAAGQ,MAAM,CAACE,OAAO;QAC7BT,UAAU,GAAGO,MAAM,CAACG,KAAK;QACzBT,cAAc,GAAGM,MAAM,CAACI,SAAS;MACnC;IACF,CAAC,MAAM;MACLZ,YAAY,GAAG,IAAAa,iBAAK,EAACR,GAAG,EAAE,eAAe,EAAE,KAAK,CAAC;MACjDJ,UAAU,GAAG,IAAAY,iBAAK,EAACR,GAAG,EAAE,aAAa,EAAE,OAAO,CAAC;MAC/CH,cAAc,GAAG,IAAAW,iBAAK,EAACR,GAAG,EAAE,iBAAiB,EAAE,YAAY,CAAC;IAC9D;EACF;EAEA,OAAO;IAAEL,YAAY;IAAEC,UAAU;IAAEC;EAAe,CAAC;AACrD"}
1
+ {"version":3,"file":"getTracks.js","names":["_cook","require","_storyboard","_evaluate","getTracks","value","contextNames","stateNames","formStateNames","isEvaluable","isPreEvaluated","raw","getPreEvaluatedRaw","isTrackAll","result","trackAll","context","state","formState","track"],"sources":["../../../../src/internal/compute/getTracks.ts"],"sourcesContent":["import { isEvaluable, isTrackAll } from \"@next-core/cook\";\nimport { track, trackAll } from \"@next-core/utils/storyboard\";\nimport {\n PreEvaluated,\n getPreEvaluatedRaw,\n isPreEvaluated,\n} from \"./evaluate.js\";\n\nexport function getTracks(value: unknown) {\n let contextNames: string[] | Set<string> | false = false;\n let stateNames: string[] | Set<string> | false = false;\n let formStateNames: string[] | Set<string> | false = false;\n if (typeof value === \"string\" ? isEvaluable(value) : isPreEvaluated(value)) {\n const raw =\n typeof value === \"string\"\n ? value\n : getPreEvaluatedRaw(value as PreEvaluated);\n if (isTrackAll(raw)) {\n const result = trackAll(raw);\n if (result) {\n contextNames = result.context;\n stateNames = result.state;\n formStateNames = result.formState;\n }\n } else {\n contextNames = track(raw, \"track context\", \"CTX\");\n stateNames = track(raw, \"track state\", \"STATE\");\n formStateNames = track(raw, \"track formstate\", \"FORM_STATE\");\n }\n }\n\n return { contextNames, stateNames, formStateNames };\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AAMO,SAASG,SAASA,CAACC,KAAc,EAAE;EACxC,IAAIC,YAA4C,GAAG,KAAK;EACxD,IAAIC,UAA0C,GAAG,KAAK;EACtD,IAAIC,cAA8C,GAAG,KAAK;EAC1D,IAAI,OAAOH,KAAK,KAAK,QAAQ,GAAG,IAAAI,iBAAW,EAACJ,KAAK,CAAC,GAAG,IAAAK,wBAAc,EAACL,KAAK,CAAC,EAAE;IAC1E,MAAMM,GAAG,GACP,OAAON,KAAK,KAAK,QAAQ,GACrBA,KAAK,GACL,IAAAO,4BAAkB,EAACP,KAAqB,CAAC;IAC/C,IAAI,IAAAQ,gBAAU,EAACF,GAAG,CAAC,EAAE;MACnB,MAAMG,MAAM,GAAG,IAAAC,oBAAQ,EAACJ,GAAG,CAAC;MAC5B,IAAIG,MAAM,EAAE;QACVR,YAAY,GAAGQ,MAAM,CAACE,OAAO;QAC7BT,UAAU,GAAGO,MAAM,CAACG,KAAK;QACzBT,cAAc,GAAGM,MAAM,CAACI,SAAS;MACnC;IACF,CAAC,MAAM;MACLZ,YAAY,GAAG,IAAAa,iBAAK,EAACR,GAAG,EAAE,eAAe,EAAE,KAAK,CAAC;MACjDJ,UAAU,GAAG,IAAAY,iBAAK,EAACR,GAAG,EAAE,aAAa,EAAE,OAAO,CAAC;MAC/CH,cAAc,GAAG,IAAAW,iBAAK,EAACR,GAAG,EAAE,iBAAiB,EAAE,YAAY,CAAC;IAC9D;EACF;EAEA,OAAO;IAAEL,YAAY;IAAEC,UAAU;IAAEC;EAAe,CAAC;AACrD","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"listenOnTrackingContext.js","names":["_setProperties","require","_utils","_utils2","listenOnTrackingContext","brick","trackingContextList","track","listener","element","setProperties","propName","propValue","runtimeContext","contextNames","contextName","ctxStore","onChange","stateNames","tplStateStore","getTplStateStore","stateName","formStateNames","formStateStore","getFormStateStore"],"sources":["../../../../src/internal/compute/listenOnTrackingContext.ts"],"sourcesContent":["import { setProperties } from \"./setProperties.js\";\nimport type { RuntimeBrick } from \"../interfaces.js\";\nimport { getTplStateStore } from \"../CustomTemplates/utils.js\";\nimport { getFormStateStore } from \"../FormRenderer/utils.js\";\n\nexport interface TrackingContextItem {\n contextNames: string[] | Set<string> | false;\n stateNames: string[] | Set<string> | false;\n formStateNames: string[] | Set<string> | false;\n propName: string;\n propValue: unknown;\n}\n\nexport function listenOnTrackingContext(\n brick: RuntimeBrick,\n trackingContextList: TrackingContextItem[]\n): void {\n for (const track of trackingContextList) {\n const listener = (): void => {\n if (brick.element) {\n setProperties(\n brick.element,\n { [track.propName]: track.propValue },\n brick.runtimeContext\n );\n }\n };\n if (track.contextNames) {\n for (const contextName of track.contextNames) {\n brick.runtimeContext.ctxStore.onChange(contextName, listener);\n }\n }\n if (track.stateNames) {\n const tplStateStore = getTplStateStore(\n brick.runtimeContext,\n \"STATE\",\n `: \"${track.propValue}\"`\n );\n for (const stateName of track.stateNames) {\n tplStateStore.onChange(stateName, listener);\n }\n }\n if (track.formStateNames) {\n const formStateStore = getFormStateStore(\n brick.runtimeContext,\n \"FORM_STATE\",\n `: \"${track.propValue}\"`\n );\n for (const stateName of track.formStateNames) {\n formStateStore.onChange(stateName, listener);\n }\n }\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAUO,SAASG,uBAAuBA,CACrCC,KAAmB,EACnBC,mBAA0C,EACpC;EACN,KAAK,MAAMC,KAAK,IAAID,mBAAmB,EAAE;IACvC,MAAME,QAAQ,GAAGA,CAAA,KAAY;MAC3B,IAAIH,KAAK,CAACI,OAAO,EAAE;QACjB,IAAAC,4BAAa,EACXL,KAAK,CAACI,OAAO,EACb;UAAE,CAACF,KAAK,CAACI,QAAQ,GAAGJ,KAAK,CAACK;QAAU,CAAC,EACrCP,KAAK,CAACQ,cACR,CAAC;MACH;IACF,CAAC;IACD,IAAIN,KAAK,CAACO,YAAY,EAAE;MACtB,KAAK,MAAMC,WAAW,IAAIR,KAAK,CAACO,YAAY,EAAE;QAC5CT,KAAK,CAACQ,cAAc,CAACG,QAAQ,CAACC,QAAQ,CAACF,WAAW,EAAEP,QAAQ,CAAC;MAC/D;IACF;IACA,IAAID,KAAK,CAACW,UAAU,EAAE;MACpB,MAAMC,aAAa,GAAG,IAAAC,uBAAgB,EACpCf,KAAK,CAACQ,cAAc,EACpB,OAAO,EACN,MAAKN,KAAK,CAACK,SAAU,GACxB,CAAC;MACD,KAAK,MAAMS,SAAS,IAAId,KAAK,CAACW,UAAU,EAAE;QACxCC,aAAa,CAACF,QAAQ,CAACI,SAAS,EAAEb,QAAQ,CAAC;MAC7C;IACF;IACA,IAAID,KAAK,CAACe,cAAc,EAAE;MACxB,MAAMC,cAAc,GAAG,IAAAC,yBAAiB,EACtCnB,KAAK,CAACQ,cAAc,EACpB,YAAY,EACX,MAAKN,KAAK,CAACK,SAAU,GACxB,CAAC;MACD,KAAK,MAAMS,SAAS,IAAId,KAAK,CAACe,cAAc,EAAE;QAC5CC,cAAc,CAACN,QAAQ,CAACI,SAAS,EAAEb,QAAQ,CAAC;MAC9C;IACF;EACF;AACF"}
1
+ {"version":3,"file":"listenOnTrackingContext.js","names":["_setProperties","require","_utils","_utils2","listenOnTrackingContext","brick","trackingContextList","track","listener","element","setProperties","propName","propValue","runtimeContext","contextNames","contextName","ctxStore","onChange","stateNames","tplStateStore","getTplStateStore","stateName","formStateNames","formStateStore","getFormStateStore"],"sources":["../../../../src/internal/compute/listenOnTrackingContext.ts"],"sourcesContent":["import { setProperties } from \"./setProperties.js\";\nimport type { RuntimeBrick } from \"../interfaces.js\";\nimport { getTplStateStore } from \"../CustomTemplates/utils.js\";\nimport { getFormStateStore } from \"../FormRenderer/utils.js\";\n\nexport interface TrackingContextItem {\n contextNames: string[] | Set<string> | false;\n stateNames: string[] | Set<string> | false;\n formStateNames: string[] | Set<string> | false;\n propName: string;\n propValue: unknown;\n}\n\nexport function listenOnTrackingContext(\n brick: RuntimeBrick,\n trackingContextList: TrackingContextItem[]\n): void {\n for (const track of trackingContextList) {\n const listener = (): void => {\n if (brick.element) {\n setProperties(\n brick.element,\n { [track.propName]: track.propValue },\n brick.runtimeContext\n );\n }\n };\n if (track.contextNames) {\n for (const contextName of track.contextNames) {\n brick.runtimeContext.ctxStore.onChange(contextName, listener);\n }\n }\n if (track.stateNames) {\n const tplStateStore = getTplStateStore(\n brick.runtimeContext,\n \"STATE\",\n `: \"${track.propValue}\"`\n );\n for (const stateName of track.stateNames) {\n tplStateStore.onChange(stateName, listener);\n }\n }\n if (track.formStateNames) {\n const formStateStore = getFormStateStore(\n brick.runtimeContext,\n \"FORM_STATE\",\n `: \"${track.propValue}\"`\n );\n for (const stateName of track.formStateNames) {\n formStateStore.onChange(stateName, listener);\n }\n }\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAUO,SAASG,uBAAuBA,CACrCC,KAAmB,EACnBC,mBAA0C,EACpC;EACN,KAAK,MAAMC,KAAK,IAAID,mBAAmB,EAAE;IACvC,MAAME,QAAQ,GAAGA,CAAA,KAAY;MAC3B,IAAIH,KAAK,CAACI,OAAO,EAAE;QACjB,IAAAC,4BAAa,EACXL,KAAK,CAACI,OAAO,EACb;UAAE,CAACF,KAAK,CAACI,QAAQ,GAAGJ,KAAK,CAACK;QAAU,CAAC,EACrCP,KAAK,CAACQ,cACR,CAAC;MACH;IACF,CAAC;IACD,IAAIN,KAAK,CAACO,YAAY,EAAE;MACtB,KAAK,MAAMC,WAAW,IAAIR,KAAK,CAACO,YAAY,EAAE;QAC5CT,KAAK,CAACQ,cAAc,CAACG,QAAQ,CAACC,QAAQ,CAACF,WAAW,EAAEP,QAAQ,CAAC;MAC/D;IACF;IACA,IAAID,KAAK,CAACW,UAAU,EAAE;MACpB,MAAMC,aAAa,GAAG,IAAAC,uBAAgB,EACpCf,KAAK,CAACQ,cAAc,EACpB,OAAO,EACN,MAAKN,KAAK,CAACK,SAAU,GACxB,CAAC;MACD,KAAK,MAAMS,SAAS,IAAId,KAAK,CAACW,UAAU,EAAE;QACxCC,aAAa,CAACF,QAAQ,CAACI,SAAS,EAAEb,QAAQ,CAAC;MAC7C;IACF;IACA,IAAID,KAAK,CAACe,cAAc,EAAE;MACxB,MAAMC,cAAc,GAAG,IAAAC,yBAAiB,EACtCnB,KAAK,CAACQ,cAAc,EACpB,YAAY,EACX,MAAKN,KAAK,CAACK,SAAU,GACxB,CAAC;MACD,KAAK,MAAMS,SAAS,IAAId,KAAK,CAACe,cAAc,EAAE;QAC5CC,cAAc,CAACN,QAAQ,CAACI,SAAS,EAAEb,QAAQ,CAAC;MAC9C;IACF;EACF;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"markAsComputed.js","names":["_general","require","computed","WeakSet","markAsComputed","value","isObject","hasBeenComputed","add","Array","isArray","forEach","proto","Object","getPrototypeOf","constructor","values","object","has","resetAllComputedMarks"],"sources":["../../../../src/internal/compute/markAsComputed.ts"],"sourcesContent":["import { isObject } from \"@next-core/utils/general\";\n\nlet computed = new WeakSet();\n\n// The computed (or transformed) result should never be *computed* again.\n// So does the fetched data from a remote api.\nexport function markAsComputed(value: unknown): void {\n if (isObject(value)) {\n if (!hasBeenComputed(value)) {\n computed.add(value);\n if (Array.isArray(value)) {\n value.forEach(markAsComputed);\n } else {\n // Only mark pure objects.\n const proto = Object.getPrototypeOf(value);\n if (!proto || proto.constructor === Object) {\n Object.values(value).forEach(markAsComputed);\n }\n }\n }\n }\n}\n\nexport function hasBeenComputed(object: unknown): boolean {\n return computed.has(object as object);\n}\n\nexport function resetAllComputedMarks(): void {\n computed = new WeakSet();\n}\n"],"mappings":";;;;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAEA,IAAIC,QAAQ,GAAG,IAAIC,OAAO,CAAC,CAAC;;AAE5B;AACA;AACO,SAASC,cAAcA,CAACC,KAAc,EAAQ;EACnD,IAAI,IAAAC,iBAAQ,EAACD,KAAK,CAAC,EAAE;IACnB,IAAI,CAACE,eAAe,CAACF,KAAK,CAAC,EAAE;MAC3BH,QAAQ,CAACM,GAAG,CAACH,KAAK,CAAC;MACnB,IAAII,KAAK,CAACC,OAAO,CAACL,KAAK,CAAC,EAAE;QACxBA,KAAK,CAACM,OAAO,CAACP,cAAc,CAAC;MAC/B,CAAC,MAAM;QACL;QACA,MAAMQ,KAAK,GAAGC,MAAM,CAACC,cAAc,CAACT,KAAK,CAAC;QAC1C,IAAI,CAACO,KAAK,IAAIA,KAAK,CAACG,WAAW,KAAKF,MAAM,EAAE;UAC1CA,MAAM,CAACG,MAAM,CAACX,KAAK,CAAC,CAACM,OAAO,CAACP,cAAc,CAAC;QAC9C;MACF;IACF;EACF;AACF;AAEO,SAASG,eAAeA,CAACU,MAAe,EAAW;EACxD,OAAOf,QAAQ,CAACgB,GAAG,CAACD,MAAgB,CAAC;AACvC;AAEO,SAASE,qBAAqBA,CAAA,EAAS;EAC5CjB,QAAQ,GAAG,IAAIC,OAAO,CAAC,CAAC;AAC1B"}
1
+ {"version":3,"file":"markAsComputed.js","names":["_general","require","computed","WeakSet","markAsComputed","value","isObject","hasBeenComputed","add","Array","isArray","forEach","proto","Object","getPrototypeOf","constructor","values","object","has","resetAllComputedMarks"],"sources":["../../../../src/internal/compute/markAsComputed.ts"],"sourcesContent":["import { isObject } from \"@next-core/utils/general\";\n\nlet computed = new WeakSet();\n\n// The computed (or transformed) result should never be *computed* again.\n// So does the fetched data from a remote api.\nexport function markAsComputed(value: unknown): void {\n if (isObject(value)) {\n if (!hasBeenComputed(value)) {\n computed.add(value);\n if (Array.isArray(value)) {\n value.forEach(markAsComputed);\n } else {\n // Only mark pure objects.\n const proto = Object.getPrototypeOf(value);\n if (!proto || proto.constructor === Object) {\n Object.values(value).forEach(markAsComputed);\n }\n }\n }\n }\n}\n\nexport function hasBeenComputed(object: unknown): boolean {\n return computed.has(object as object);\n}\n\nexport function resetAllComputedMarks(): void {\n computed = new WeakSet();\n}\n"],"mappings":";;;;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAEA,IAAIC,QAAQ,GAAG,IAAIC,OAAO,CAAC,CAAC;;AAE5B;AACA;AACO,SAASC,cAAcA,CAACC,KAAc,EAAQ;EACnD,IAAI,IAAAC,iBAAQ,EAACD,KAAK,CAAC,EAAE;IACnB,IAAI,CAACE,eAAe,CAACF,KAAK,CAAC,EAAE;MAC3BH,QAAQ,CAACM,GAAG,CAACH,KAAK,CAAC;MACnB,IAAII,KAAK,CAACC,OAAO,CAACL,KAAK,CAAC,EAAE;QACxBA,KAAK,CAACM,OAAO,CAACP,cAAc,CAAC;MAC/B,CAAC,MAAM;QACL;QACA,MAAMQ,KAAK,GAAGC,MAAM,CAACC,cAAc,CAACT,KAAK,CAAC;QAC1C,IAAI,CAACO,KAAK,IAAIA,KAAK,CAACG,WAAW,KAAKF,MAAM,EAAE;UAC1CA,MAAM,CAACG,MAAM,CAACX,KAAK,CAAC,CAACM,OAAO,CAACP,cAAc,CAAC;QAC9C;MACF;IACF;EACF;AACF;AAEO,SAASG,eAAeA,CAACU,MAAe,EAAW;EACxD,OAAOf,QAAQ,CAACgB,GAAG,CAACD,MAAgB,CAAC;AACvC;AAEO,SAASE,qBAAqBA,CAAA,EAAS;EAC5CjB,QAAQ,GAAG,IAAIC,OAAO,CAAC,CAAC;AAC1B","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"setProperties.js","names":["_computeRealProperties","require","_setRealProperties","setProperties","bricks","properties","runtimeContext","realProps","computeRealProperties","Array","isArray","forEach","brick","setRealProperties"],"sources":["../../../../src/internal/compute/setProperties.ts"],"sourcesContent":["import { computeRealProperties } from \"./computeRealProperties.js\";\nimport { setRealProperties } from \"./setRealProperties.js\";\nimport type { RuntimeContext } from \"../interfaces.js\";\n\nexport function setProperties(\n bricks: HTMLElement | HTMLElement[],\n properties: Record<string, unknown>,\n runtimeContext: RuntimeContext\n): void {\n const realProps = computeRealProperties(properties, runtimeContext);\n if (!Array.isArray(bricks)) {\n bricks = [bricks];\n }\n bricks.forEach((brick) => {\n setRealProperties(brick, realProps);\n });\n}\n"],"mappings":";;;;;;AAAA,IAAAA,sBAAA,GAAAC,OAAA;AACA,IAAAC,kBAAA,GAAAD,OAAA;AAGO,SAASE,aAAaA,CAC3BC,MAAmC,EACnCC,UAAmC,EACnCC,cAA8B,EACxB;EACN,MAAMC,SAAS,GAAG,IAAAC,4CAAqB,EAACH,UAAU,EAAEC,cAAc,CAAC;EACnE,IAAI,CAACG,KAAK,CAACC,OAAO,CAACN,MAAM,CAAC,EAAE;IAC1BA,MAAM,GAAG,CAACA,MAAM,CAAC;EACnB;EACAA,MAAM,CAACO,OAAO,CAAEC,KAAK,IAAK;IACxB,IAAAC,oCAAiB,EAACD,KAAK,EAAEL,SAAS,CAAC;EACrC,CAAC,CAAC;AACJ"}
1
+ {"version":3,"file":"setProperties.js","names":["_computeRealProperties","require","_setRealProperties","setProperties","bricks","properties","runtimeContext","realProps","computeRealProperties","Array","isArray","forEach","brick","setRealProperties"],"sources":["../../../../src/internal/compute/setProperties.ts"],"sourcesContent":["import { computeRealProperties } from \"./computeRealProperties.js\";\nimport { setRealProperties } from \"./setRealProperties.js\";\nimport type { RuntimeContext } from \"../interfaces.js\";\n\nexport function setProperties(\n bricks: HTMLElement | HTMLElement[],\n properties: Record<string, unknown>,\n runtimeContext: RuntimeContext\n): void {\n const realProps = computeRealProperties(properties, runtimeContext);\n if (!Array.isArray(bricks)) {\n bricks = [bricks];\n }\n bricks.forEach((brick) => {\n setRealProperties(brick, realProps);\n });\n}\n"],"mappings":";;;;;;AAAA,IAAAA,sBAAA,GAAAC,OAAA;AACA,IAAAC,kBAAA,GAAAD,OAAA;AAGO,SAASE,aAAaA,CAC3BC,MAAmC,EACnCC,UAAmC,EACnCC,cAA8B,EACxB;EACN,MAAMC,SAAS,GAAG,IAAAC,4CAAqB,EAACH,UAAU,EAAEC,cAAc,CAAC;EACnE,IAAI,CAACG,KAAK,CAACC,OAAO,CAACN,MAAM,CAAC,EAAE;IAC1BA,MAAM,GAAG,CAACA,MAAM,CAAC;EACnB;EACAA,MAAM,CAACO,OAAO,CAAEC,KAAK,IAAK;IACxB,IAAAC,oCAAiB,EAACD,KAAK,EAAEL,SAAS,CAAC;EACrC,CAAC,CAAC;AACJ","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"setRealProperties.js","names":["setRealProperties","brick","realProps","propName","propValue","Object","entries","k","v","Error"],"sources":["../../../../src/internal/compute/setRealProperties.ts"],"sourcesContent":["export function setRealProperties(\n brick: HTMLElement,\n realProps: Record<string, unknown> | undefined\n): void {\n if (!realProps) {\n return;\n }\n for (const [propName, propValue] of Object.entries(realProps)) {\n switch (propName) {\n case \"style\":\n case \"dataset\":\n for (const [k, v] of Object.entries(\n propValue as Record<string, unknown>\n )) {\n (brick[propName] as unknown as Record<string, unknown>)[k] = v;\n }\n break;\n case \"constructor\":\n case \"__proto__\":\n case \"innerHTML\":\n // `innerHTML` is dangerous, use `textContent` instead.\n throw new Error(`set \\`${propName}\\` is prohibited`);\n default:\n (brick as unknown as Record<string, unknown>)[propName] = propValue;\n }\n }\n}\n"],"mappings":";;;;;;AAAO,SAASA,iBAAiBA,CAC/BC,KAAkB,EAClBC,SAA8C,EACxC;EACN,IAAI,CAACA,SAAS,EAAE;IACd;EACF;EACA,KAAK,MAAM,CAACC,QAAQ,EAAEC,SAAS,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACJ,SAAS,CAAC,EAAE;IAC7D,QAAQC,QAAQ;MACd,KAAK,OAAO;MACZ,KAAK,SAAS;QACZ,KAAK,MAAM,CAACI,CAAC,EAAEC,CAAC,CAAC,IAAIH,MAAM,CAACC,OAAO,CACjCF,SACF,CAAC,EAAE;UACAH,KAAK,CAACE,QAAQ,CAAC,CAAwCI,CAAC,CAAC,GAAGC,CAAC;QAChE;QACA;MACF,KAAK,aAAa;MAClB,KAAK,WAAW;MAChB,KAAK,WAAW;QACd;QACA,MAAM,IAAIC,KAAK,CAAE,SAAQN,QAAS,kBAAiB,CAAC;MACtD;QACGF,KAAK,CAAwCE,QAAQ,CAAC,GAAGC,SAAS;IACvE;EACF;AACF"}
1
+ {"version":3,"file":"setRealProperties.js","names":["setRealProperties","brick","realProps","propName","propValue","Object","entries","k","v","Error"],"sources":["../../../../src/internal/compute/setRealProperties.ts"],"sourcesContent":["export function setRealProperties(\n brick: HTMLElement,\n realProps: Record<string, unknown> | undefined\n): void {\n if (!realProps) {\n return;\n }\n for (const [propName, propValue] of Object.entries(realProps)) {\n switch (propName) {\n case \"style\":\n case \"dataset\":\n for (const [k, v] of Object.entries(\n propValue as Record<string, unknown>\n )) {\n (brick[propName] as unknown as Record<string, unknown>)[k] = v;\n }\n break;\n case \"constructor\":\n case \"__proto__\":\n case \"innerHTML\":\n // `innerHTML` is dangerous, use `textContent` instead.\n throw new Error(`set \\`${propName}\\` is prohibited`);\n default:\n (brick as unknown as Record<string, unknown>)[propName] = propValue;\n }\n }\n}\n"],"mappings":";;;;;;AAAO,SAASA,iBAAiBA,CAC/BC,KAAkB,EAClBC,SAA8C,EACxC;EACN,IAAI,CAACA,SAAS,EAAE;IACd;EACF;EACA,KAAK,MAAM,CAACC,QAAQ,EAAEC,SAAS,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACJ,SAAS,CAAC,EAAE;IAC7D,QAAQC,QAAQ;MACd,KAAK,OAAO;MACZ,KAAK,SAAS;QACZ,KAAK,MAAM,CAACI,CAAC,EAAEC,CAAC,CAAC,IAAIH,MAAM,CAACC,OAAO,CACjCF,SACF,CAAC,EAAE;UACAH,KAAK,CAACE,QAAQ,CAAC,CAAwCI,CAAC,CAAC,GAAGC,CAAC;QAChE;QACA;MACF,KAAK,aAAa;MAClB,KAAK,WAAW;MAChB,KAAK,WAAW;QACd;QACA,MAAM,IAAIC,KAAK,CAAE,SAAQN,QAAS,kBAAiB,CAAC;MACtD;QACGF,KAAK,CAAwCE,QAAQ,CAAC,GAAGC,SAAS;IACvE;EACF;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"customizeColorTheme.js","names":["_colorTheme","require","customizeColorTheme","theme","brandColor","applyColorTheme","type","baseColors","variables","options","style","themes","forEach","push","getStyleByBrandColor","getStyleByBaseColors","backgroundColor","getStyleByVariables","length","element","document","createElement","textContent","join","head","appendChild","remove"],"sources":["../../../src/internal/customizeColorTheme.ts"],"sourcesContent":["import {\n BaseColors,\n BrandColor,\n getStyleByBaseColors,\n getStyleByBrandColor,\n getStyleByVariables,\n} from \"@next-core/color-theme\";\n\nexport type ColorThemeOptions =\n | ColorThemeOptionsByBrand\n | ColorThemeOptionsByBaseColors\n | ColorThemeOptionsByVariables;\n\nexport interface ColorThemeOptionsByBrand {\n type: \"brandColor\";\n light?: BrandColor;\n dark?: BrandColor;\n}\n\nexport interface ColorThemeOptionsByBaseColors {\n type: \"baseColors\";\n light?: BaseColors;\n dark?: BaseColors;\n backgroundColor?: string;\n}\n\nexport interface ColorThemeOptionsByVariables {\n type: \"variables\";\n light?: Record<string, string>;\n dark?: Record<string, string>;\n}\n\nexport interface ThemeSettings {\n brandColor?: Omit<ColorThemeOptionsByBrand, \"type\">;\n baseColors?: Omit<ColorThemeOptionsByBaseColors, \"type\">;\n variables?: Omit<ColorThemeOptionsByVariables, \"type\">;\n}\n\nexport function customizeColorTheme(theme: ThemeSettings | undefined): void {\n if (!theme) {\n return;\n }\n if (theme.brandColor) {\n applyColorTheme({\n type: \"brandColor\",\n ...theme.brandColor,\n });\n } else if (theme.baseColors) {\n applyColorTheme({\n type: \"baseColors\",\n ...theme.baseColors,\n });\n } else if (theme.variables) {\n applyColorTheme({\n type: \"variables\",\n ...theme.variables,\n });\n }\n}\n\nexport function applyColorTheme(\n options: ColorThemeOptions\n): (() => void) | undefined {\n const style: string[] = [];\n const themes = [\"light\", \"dark\"] as const;\n themes.forEach((theme) => {\n if (options[theme]) {\n switch (options.type) {\n case \"brandColor\":\n style.push(getStyleByBrandColor(theme, options[theme]!));\n break;\n case \"baseColors\":\n style.push(\n getStyleByBaseColors(\n theme,\n options[theme]!,\n options.backgroundColor\n )\n );\n break;\n case \"variables\":\n style.push(getStyleByVariables(theme, options[theme]!));\n break;\n }\n }\n });\n\n if (style.length > 0) {\n const element = document.createElement(\"style\");\n element.textContent = style.join(\"\\n\\n\");\n document.head.appendChild(element);\n return () => {\n element.remove();\n };\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAsCO,SAASC,mBAAmBA,CAACC,KAAgC,EAAQ;EAC1E,IAAI,CAACA,KAAK,EAAE;IACV;EACF;EACA,IAAIA,KAAK,CAACC,UAAU,EAAE;IACpBC,eAAe,CAAC;MACdC,IAAI,EAAE,YAAY;MAClB,GAAGH,KAAK,CAACC;IACX,CAAC,CAAC;EACJ,CAAC,MAAM,IAAID,KAAK,CAACI,UAAU,EAAE;IAC3BF,eAAe,CAAC;MACdC,IAAI,EAAE,YAAY;MAClB,GAAGH,KAAK,CAACI;IACX,CAAC,CAAC;EACJ,CAAC,MAAM,IAAIJ,KAAK,CAACK,SAAS,EAAE;IAC1BH,eAAe,CAAC;MACdC,IAAI,EAAE,WAAW;MACjB,GAAGH,KAAK,CAACK;IACX,CAAC,CAAC;EACJ;AACF;AAEO,SAASH,eAAeA,CAC7BI,OAA0B,EACA;EAC1B,MAAMC,KAAe,GAAG,EAAE;EAC1B,MAAMC,MAAM,GAAG,CAAC,OAAO,EAAE,MAAM,CAAU;EACzCA,MAAM,CAACC,OAAO,CAAET,KAAK,IAAK;IACxB,IAAIM,OAAO,CAACN,KAAK,CAAC,EAAE;MAClB,QAAQM,OAAO,CAACH,IAAI;QAClB,KAAK,YAAY;UACfI,KAAK,CAACG,IAAI,CAAC,IAAAC,gCAAoB,EAACX,KAAK,EAAEM,OAAO,CAACN,KAAK,CAAE,CAAC,CAAC;UACxD;QACF,KAAK,YAAY;UACfO,KAAK,CAACG,IAAI,CACR,IAAAE,gCAAoB,EAClBZ,KAAK,EACLM,OAAO,CAACN,KAAK,CAAC,EACdM,OAAO,CAACO,eACV,CACF,CAAC;UACD;QACF,KAAK,WAAW;UACdN,KAAK,CAACG,IAAI,CAAC,IAAAI,+BAAmB,EAACd,KAAK,EAAEM,OAAO,CAACN,KAAK,CAAE,CAAC,CAAC;UACvD;MACJ;IACF;EACF,CAAC,CAAC;EAEF,IAAIO,KAAK,CAACQ,MAAM,GAAG,CAAC,EAAE;IACpB,MAAMC,OAAO,GAAGC,QAAQ,CAACC,aAAa,CAAC,OAAO,CAAC;IAC/CF,OAAO,CAACG,WAAW,GAAGZ,KAAK,CAACa,IAAI,CAAC,MAAM,CAAC;IACxCH,QAAQ,CAACI,IAAI,CAACC,WAAW,CAACN,OAAO,CAAC;IAClC,OAAO,MAAM;MACXA,OAAO,CAACO,MAAM,CAAC,CAAC;IAClB,CAAC;EACH;AACF"}
1
+ {"version":3,"file":"customizeColorTheme.js","names":["_colorTheme","require","customizeColorTheme","theme","brandColor","applyColorTheme","type","baseColors","variables","options","style","themes","forEach","push","getStyleByBrandColor","getStyleByBaseColors","backgroundColor","getStyleByVariables","length","element","document","createElement","textContent","join","head","appendChild","remove"],"sources":["../../../src/internal/customizeColorTheme.ts"],"sourcesContent":["import {\n BaseColors,\n BrandColor,\n getStyleByBaseColors,\n getStyleByBrandColor,\n getStyleByVariables,\n} from \"@next-core/color-theme\";\n\nexport type ColorThemeOptions =\n | ColorThemeOptionsByBrand\n | ColorThemeOptionsByBaseColors\n | ColorThemeOptionsByVariables;\n\nexport interface ColorThemeOptionsByBrand {\n type: \"brandColor\";\n light?: BrandColor;\n dark?: BrandColor;\n}\n\nexport interface ColorThemeOptionsByBaseColors {\n type: \"baseColors\";\n light?: BaseColors;\n dark?: BaseColors;\n backgroundColor?: string;\n}\n\nexport interface ColorThemeOptionsByVariables {\n type: \"variables\";\n light?: Record<string, string>;\n dark?: Record<string, string>;\n}\n\nexport interface ThemeSettings {\n brandColor?: Omit<ColorThemeOptionsByBrand, \"type\">;\n baseColors?: Omit<ColorThemeOptionsByBaseColors, \"type\">;\n variables?: Omit<ColorThemeOptionsByVariables, \"type\">;\n}\n\nexport function customizeColorTheme(theme: ThemeSettings | undefined): void {\n if (!theme) {\n return;\n }\n if (theme.brandColor) {\n applyColorTheme({\n type: \"brandColor\",\n ...theme.brandColor,\n });\n } else if (theme.baseColors) {\n applyColorTheme({\n type: \"baseColors\",\n ...theme.baseColors,\n });\n } else if (theme.variables) {\n applyColorTheme({\n type: \"variables\",\n ...theme.variables,\n });\n }\n}\n\nexport function applyColorTheme(\n options: ColorThemeOptions\n): (() => void) | undefined {\n const style: string[] = [];\n const themes = [\"light\", \"dark\"] as const;\n themes.forEach((theme) => {\n if (options[theme]) {\n switch (options.type) {\n case \"brandColor\":\n style.push(getStyleByBrandColor(theme, options[theme]!));\n break;\n case \"baseColors\":\n style.push(\n getStyleByBaseColors(\n theme,\n options[theme]!,\n options.backgroundColor\n )\n );\n break;\n case \"variables\":\n style.push(getStyleByVariables(theme, options[theme]!));\n break;\n }\n }\n });\n\n if (style.length > 0) {\n const element = document.createElement(\"style\");\n element.textContent = style.join(\"\\n\\n\");\n document.head.appendChild(element);\n return () => {\n element.remove();\n };\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAsCO,SAASC,mBAAmBA,CAACC,KAAgC,EAAQ;EAC1E,IAAI,CAACA,KAAK,EAAE;IACV;EACF;EACA,IAAIA,KAAK,CAACC,UAAU,EAAE;IACpBC,eAAe,CAAC;MACdC,IAAI,EAAE,YAAY;MAClB,GAAGH,KAAK,CAACC;IACX,CAAC,CAAC;EACJ,CAAC,MAAM,IAAID,KAAK,CAACI,UAAU,EAAE;IAC3BF,eAAe,CAAC;MACdC,IAAI,EAAE,YAAY;MAClB,GAAGH,KAAK,CAACI;IACX,CAAC,CAAC;EACJ,CAAC,MAAM,IAAIJ,KAAK,CAACK,SAAS,EAAE;IAC1BH,eAAe,CAAC;MACdC,IAAI,EAAE,WAAW;MACjB,GAAGH,KAAK,CAACK;IACX,CAAC,CAAC;EACJ;AACF;AAEO,SAASH,eAAeA,CAC7BI,OAA0B,EACA;EAC1B,MAAMC,KAAe,GAAG,EAAE;EAC1B,MAAMC,MAAM,GAAG,CAAC,OAAO,EAAE,MAAM,CAAU;EACzCA,MAAM,CAACC,OAAO,CAAET,KAAK,IAAK;IACxB,IAAIM,OAAO,CAACN,KAAK,CAAC,EAAE;MAClB,QAAQM,OAAO,CAACH,IAAI;QAClB,KAAK,YAAY;UACfI,KAAK,CAACG,IAAI,CAAC,IAAAC,gCAAoB,EAACX,KAAK,EAAEM,OAAO,CAACN,KAAK,CAAE,CAAC,CAAC;UACxD;QACF,KAAK,YAAY;UACfO,KAAK,CAACG,IAAI,CACR,IAAAE,gCAAoB,EAClBZ,KAAK,EACLM,OAAO,CAACN,KAAK,CAAC,EACdM,OAAO,CAACO,eACV,CACF,CAAC;UACD;QACF,KAAK,WAAW;UACdN,KAAK,CAACG,IAAI,CAAC,IAAAI,+BAAmB,EAACd,KAAK,EAAEM,OAAO,CAACN,KAAK,CAAE,CAAC,CAAC;UACvD;MACJ;IACF;EACF,CAAC,CAAC;EAEF,IAAIO,KAAK,CAACQ,MAAM,GAAG,CAAC,EAAE;IACpB,MAAMC,OAAO,GAAGC,QAAQ,CAACC,aAAa,CAAC,OAAO,CAAC;IAC/CF,OAAO,CAACG,WAAW,GAAGZ,KAAK,CAACa,IAAI,CAAC,MAAM,CAAC;IACxCH,QAAQ,CAACI,IAAI,CAACC,WAAW,CAACN,OAAO,CAAC;IAClC,OAAO,MAAM;MACXA,OAAO,CAACO,MAAM,CAAC,CAAC;IAClB,CAAC;EACH;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"DataStore.js","names":["_general","require","_storyboard","_eventTarget","_interopRequireDefault","_bindListeners","_checkIf","_computeRealValue","_resolveData","_resolveDataStore","_handleHttpError","_computeRealProperties","_Runtime","_realTimeDataInspect","_isStrictMode","supportContextResolveTriggerBrickLifeCycle","DataStore","type","data","Map","changeEventType","pendingStack","hostBrick","stateStoreId","batchUpdate","batchUpdateContextsNames","rendererContext","routeMap","WeakMap","constructor","getAllValues","Object","fromEntries","entries","map","name","value","getValue","_this$data$get","get","notifyRealTimeDataChange","realTimeDataInspectRoot","tplStateStoreId","callRealTimeDataInspectHooks","changeType","detail","getAffectListByContext","affectNames","forEach","key","deps","isInDeps","some","item","includes","push","shift","Set","updateValues","values","method","argsFactory","length","Error","updateContexts","affectContexts","affectDepsContextNames","arg","updateContextItem","updateValue","filter","affectContextItem","triggerEvent","contexts","_context$eventTarget","context","eventTarget","dispatchEvent","CustomEvent","callback","callbackRuntimeContext","useResolve","promise","loaded","Promise","resolve","loading","shouldDismiss","error","_this$rendererContext","renderId","_internalApiGetRenderId","load","cache","then","val","finishLoad","err","handleHttpError","callbackFactory","eventCallbackFactory","isObject","assign","console","warn","define","dataConfs","runtimeContext","asyncHostPropertyEntries","routePath","Array","isArray","pending","resolveDataStore","dataConf","isStrictMode","onChange","dataName","listener","_this$data$get2","addEventListener","waitFor","dataNames","pendingContexts","all","ctx","p","waitForAll","catch","pendingResult","mountAsyncData","route","_this$routeMap$get","async","has","asyncMounted","asyncCheckIf","expose","computePropertyValue","trackConditionalResolve","resolvePolicy","undefined","hasFallbackValue","hasOwnProperty","track","strictCollectMemberUsage","if","size","resolveConf","transform","options","_this$rendererContext2","resolveData","lazy","asyncComputeRealValue","newData","EventTarget","trigger","_this$rendererContext3","registerArbitraryLifeCycle","listenerFactory","dep","batchAddListener","checkIf","computeRealValue","e","set","names","add","disposeDataInRoutes","routes","delete","contextConf","event","exports"],"sources":["../../../../src/internal/data/DataStore.ts"],"sourcesContent":["import type {\n BatchUpdateContextItem,\n BrickEventHandlerCallback,\n ContextConf,\n ContextResolveTriggerBrickLifeCycle,\n RouteConf,\n} from \"@next-core/types\";\nimport { hasOwnProperty, isObject } from \"@next-core/utils/general\";\nimport { strictCollectMemberUsage } from \"@next-core/utils/storyboard\";\nimport EventTarget from \"@ungap/event-target\";\nimport { eventCallbackFactory, listenerFactory } from \"../bindListeners.js\";\nimport { asyncCheckIf, checkIf } from \"../compute/checkIf.js\";\nimport {\n asyncComputeRealValue,\n computeRealValue,\n} from \"../compute/computeRealValue.js\";\nimport { ResolveOptions, resolveData } from \"./resolveData.js\";\nimport { resolveDataStore } from \"./resolveDataStore.js\";\nimport type {\n AsyncPropertyEntry,\n RuntimeBrick,\n RuntimeContext,\n} from \"../interfaces.js\";\nimport { handleHttpError } from \"../../handleHttpError.js\";\nimport type { RendererContext } from \"../RendererContext.js\";\nimport { computePropertyValue } from \"../compute/computeRealProperties.js\";\nimport { _internalApiGetRenderId } from \"../Runtime.js\";\nimport {\n callRealTimeDataInspectHooks,\n realTimeDataInspectRoot,\n} from \"./realTimeDataInspect.js\";\nimport { isStrictMode } from \"../../isStrictMode.js\";\n\nconst supportContextResolveTriggerBrickLifeCycle = [\n \"onBeforePageLoad\",\n \"onPageLoad\",\n \"onBeforePageLeave\",\n \"onPageLeave\",\n \"onAnchorLoad\",\n \"onAnchorUnload\",\n] as ContextResolveTriggerBrickLifeCycle[];\n\nexport type DataStoreType = \"CTX\" | \"STATE\" | \"FORM_STATE\";\n\nexport interface DataStoreItem {\n name: string;\n value: unknown;\n eventTarget: EventTarget;\n useResolve?: boolean;\n loaded?: boolean;\n loading?: Promise<unknown>;\n load?: (options?: ResolveOptions) => Promise<unknown>;\n async?: boolean;\n asyncMounted?: boolean;\n deps: string[];\n}\n\nexport class DataStore<T extends DataStoreType = \"CTX\"> {\n private readonly type: T;\n private readonly data = new Map<string, DataStoreItem>();\n private readonly changeEventType: string;\n private readonly pendingStack: Array<ReturnType<typeof resolveDataStore>> =\n [];\n public readonly hostBrick?: RuntimeBrick;\n private readonly stateStoreId?: string;\n private batchUpdate = false;\n private batchUpdateContextsNames: string[] = [];\n private readonly rendererContext?: RendererContext;\n private routeMap = new WeakMap<RouteConf, Set<string>>();\n\n // 把 `rendererContext` 放在参数列表的最后,并作为可选,以减少测试文件的调整\n constructor(\n type: T,\n hostBrick?: RuntimeBrick,\n rendererContext?: RendererContext,\n stateStoreId?: string\n ) {\n this.type = type;\n this.changeEventType =\n this.type === \"FORM_STATE\"\n ? \"formstate.change\"\n : this.type === \"STATE\"\n ? \"state.change\"\n : \"context.change\";\n this.hostBrick = hostBrick;\n this.rendererContext = rendererContext;\n this.stateStoreId = stateStoreId;\n }\n\n getAllValues(): Record<string, unknown> {\n return Object.fromEntries(\n [...this.data.entries()].map(([name, { value }]) => [name, value])\n );\n }\n\n getValue(name: string): unknown {\n return this.data.get(name)?.value;\n }\n\n private notifyRealTimeDataChange(name: string, value: unknown) {\n if (realTimeDataInspectRoot) {\n const { tplStateStoreId } = realTimeDataInspectRoot;\n if (\n tplStateStoreId\n ? this.type === \"STATE\" && this.stateStoreId === tplStateStoreId\n : this.type === \"CTX\"\n ) {\n callRealTimeDataInspectHooks({\n changeType: \"update\",\n tplStateStoreId,\n detail: {\n name,\n value,\n },\n });\n }\n }\n }\n\n private getAffectListByContext(name: string): string[] {\n const affectNames = [name];\n this.data.forEach((value, key) => {\n if (value.deps) {\n const isInDeps = value.deps.some((item) => affectNames.includes(item));\n isInDeps &&\n affectNames.push(key) &&\n affectNames.push(...this.getAffectListByContext(key));\n }\n });\n affectNames.shift();\n return [...new Set(affectNames)];\n }\n\n updateValues(\n values: BatchUpdateContextItem[],\n method: \"assign\" | \"replace\",\n argsFactory: (arg: unknown[]) => BatchUpdateContextItem\n ): void {\n this.batchUpdate = true;\n this.batchUpdateContextsNames = values.map((item) => item.name);\n if (\n [...new Set(this.batchUpdateContextsNames)].length !==\n this.batchUpdateContextsNames.length\n ) {\n throw new Error(`Batch update not allow to update same item`);\n }\n\n const updateContexts: Record<string, DataStoreItem> = {};\n const affectContexts: Record<string, DataStoreItem> = {};\n const affectDepsContextNames: string[] = [];\n\n values.forEach((arg) => {\n const { name, value } = argsFactory([arg]);\n const updateContextItem = this.data.get(name);\n affectDepsContextNames.push(...this.getAffectListByContext(name));\n updateContextItem && (updateContexts[name] = updateContextItem);\n this.updateValue(name as string, value, method);\n });\n\n affectDepsContextNames\n .filter((item) => !updateContexts[item])\n .forEach((name) => {\n const affectContextItem = this.data.get(name);\n affectContextItem && (affectContexts[name] = affectContextItem);\n });\n\n const triggerEvent = (contexts: Record<string, DataStoreItem>): void => {\n for (const key in contexts) {\n const context = contexts[key];\n context.eventTarget?.dispatchEvent(\n new CustomEvent(this.changeEventType, {\n detail: context.value,\n })\n );\n }\n };\n\n triggerEvent(updateContexts);\n triggerEvent(affectContexts);\n\n this.batchUpdate = false;\n\n return;\n }\n\n updateValue(\n name: string,\n value: unknown,\n method: \"assign\" | \"replace\" | \"refresh\" | \"load\",\n callback?: BrickEventHandlerCallback,\n callbackRuntimeContext?: RuntimeContext\n ): void {\n const item = this.data.get(name);\n if (!item) {\n throw new Error(`${this.type} '${name}' is not defined`);\n }\n\n if (method === \"refresh\" || method === \"load\") {\n if (!item.useResolve) {\n throw new Error(\n `You can not ${method} \"${this.type}.${name}\" which is not using resolve`\n );\n }\n\n let promise: Promise<unknown> | undefined;\n if (method === \"load\") {\n // Try to reuse previous request when calling `load`.\n if (item.loaded) {\n promise = Promise.resolve(item.value);\n } else if (item.loading) {\n promise = item.loading;\n }\n }\n\n const shouldDismiss = (error: unknown) => {\n // If render twice immediately, flow API contracts maybe cleared before\n // the second rendering, while the page load handlers of the first\n // rendering can't be cancelled, which throws `FlowApiNotFoundError`.\n // So we ignore error reporting for this case.\n let renderId: string | undefined;\n return (\n (error as Error)?.name === \"FlowApiNotFoundError\" &&\n !!(renderId = this.rendererContext?.renderId) &&\n renderId !== _internalApiGetRenderId()\n );\n };\n\n if (!promise) {\n promise = item.loading = item.load!({\n cache: method === \"load\" ? \"default\" : \"reload\",\n ...(value as ResolveOptions),\n });\n // Do not use the chained promise, since the callbacks need the original promise.\n promise.then(\n (val) => {\n this.finishLoad(item, val);\n },\n (err) => {\n // Let users override error handling.\n if (item.useResolve && !shouldDismiss(err) && !callback?.error) {\n handleHttpError(err);\n }\n }\n );\n }\n\n if (callback) {\n const callbackFactory = eventCallbackFactory(\n callback,\n callbackRuntimeContext!\n );\n\n promise.then(\n (val) => {\n callbackFactory(\"success\")({ value: val });\n callbackFactory(\"finally\")();\n },\n (err) => {\n if (!shouldDismiss(err) && callback.error) {\n callbackFactory(\"error\")(err);\n }\n callbackFactory(\"finally\")();\n }\n );\n }\n\n return;\n }\n\n if (method === \"replace\") {\n item.value = value;\n } else {\n if (isObject(item.value)) {\n Object.assign(item.value, value);\n } else {\n // eslint-disable-next-line no-console\n console.warn(\n `Non-object current value of \"${this.type}.${name}\" for \"context.assign\", try \"context.replace\" instead.`\n );\n item.value = value;\n }\n }\n\n if (this.batchUpdate) return;\n\n item.eventTarget.dispatchEvent(\n new CustomEvent(this.changeEventType, {\n detail: item.value,\n })\n );\n }\n\n private finishLoad(item: DataStoreItem, value: unknown) {\n if (!item.useResolve) {\n // This happens when a tracked conditional resolve switches from\n // resolve to fallback after an dep update triggered refresh but\n // before it's been resolved.\n return;\n }\n item.loaded = true;\n item.value = value;\n item.eventTarget.dispatchEvent(\n new CustomEvent(this.changeEventType, {\n detail: value,\n })\n );\n }\n\n define(\n dataConfs: ContextConf[] | undefined,\n runtimeContext: RuntimeContext,\n asyncHostPropertyEntries?: AsyncPropertyEntry[],\n routePath?: RouteConf[]\n ): void {\n if (Array.isArray(dataConfs) && dataConfs.length > 0) {\n const pending = resolveDataStore(\n dataConfs,\n (dataConf: ContextConf) =>\n this.resolve(\n dataConf,\n runtimeContext,\n asyncHostPropertyEntries,\n routePath\n ),\n this.type,\n isStrictMode(runtimeContext)\n );\n this.pendingStack.push(pending);\n }\n }\n\n onChange(dataName: string, listener: EventListener): void {\n this.data\n .get(dataName)\n ?.eventTarget.addEventListener(this.changeEventType, listener);\n }\n\n async waitFor(dataNames: string[] | Set<string>): Promise<void> {\n for (const { pendingContexts } of this.pendingStack) {\n await Promise.all(\n [...dataNames].map((ctx) => {\n const p = pendingContexts.get(ctx);\n return p;\n })\n );\n }\n }\n\n async waitForAll(): Promise<void> {\n // Silent each pending contexts, since the error is handled by batched `pendingResult`\n for (const { pendingContexts } of this.pendingStack) {\n for (const p of pendingContexts.values()) {\n p.catch(() => {\n /* No-op */\n });\n }\n }\n for (const { pendingResult } of this.pendingStack) {\n await pendingResult;\n }\n }\n\n /**\n * After mount, dispatch the change event when an async data is loaded.\n *\n * If param `route` is present, handle data defined in that route (or its descendants) only.\n */\n mountAsyncData(route?: RouteConf) {\n this.data.forEach((item) => {\n if (item.async && (!route || this.routeMap.get(route)?.has(item.name))) {\n // istanbul ignore next\n if (item.asyncMounted) {\n // eslint-disable-next-line no-console\n console.error(\n `Async data \"${item.name}\" already mounted. This is a bug of Brick Next, please report it.`\n );\n return;\n }\n item.asyncMounted = true;\n // An async data always has `loading`\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n item.loading!.then((value) => {\n this.finishLoad(item, value);\n });\n }\n });\n }\n\n private async resolve(\n dataConf: ContextConf,\n runtimeContext: RuntimeContext,\n asyncHostPropertyEntries?: AsyncPropertyEntry[],\n routePath?: RouteConf[]\n ): Promise<boolean> {\n if (!(await asyncCheckIf(dataConf, runtimeContext))) {\n return false;\n }\n let value: unknown;\n if (\n asyncHostPropertyEntries &&\n (this.type === \"STATE\" ? dataConf.expose : this.type === \"FORM_STATE\")\n ) {\n value = await computePropertyValue(\n asyncHostPropertyEntries,\n dataConf.name\n );\n }\n let load: DataStoreItem[\"load\"];\n let loading: Promise<unknown> | undefined;\n let useResolve: boolean | undefined;\n let trackConditionalResolve: boolean | undefined;\n let resolvePolicy: \"eager\" | \"lazy\" | \"async\" | undefined;\n if (value === undefined) {\n if (dataConf.resolve) {\n const hasFallbackValue = hasOwnProperty(dataConf, \"value\");\n // Track conditional resolve only if all matches:\n // - Track enabled\n // - Has fallback value\n // - Referencing other data in `resolve.if`\n trackConditionalResolve =\n dataConf.track &&\n hasFallbackValue &&\n hasOwnProperty(dataConf.resolve, \"if\") &&\n strictCollectMemberUsage(dataConf.resolve.if, this.type).size > 0;\n const resolveConf = {\n transform: \"value\",\n ...dataConf.resolve,\n };\n useResolve = await asyncCheckIf(dataConf.resolve, runtimeContext);\n if (useResolve || trackConditionalResolve) {\n load = async (options) =>\n (\n (await resolveData(resolveConf, runtimeContext, {\n ...options,\n renderId: this.rendererContext?.renderId,\n })) as {\n value: unknown;\n }\n ).value;\n }\n if (useResolve) {\n // `async` take precedence over `lazy`\n resolvePolicy = dataConf.resolve.async\n ? \"async\"\n : dataConf.resolve.lazy\n ? \"lazy\"\n : \"eager\";\n if (resolvePolicy === \"eager\") {\n value = await load!();\n } else if (resolvePolicy === \"async\") {\n loading = load!();\n }\n } else if (!hasFallbackValue) {\n return false;\n }\n }\n if (\n (!useResolve || resolvePolicy !== \"eager\") &&\n dataConf.value !== undefined\n ) {\n // If the context has no resolve, just use its `value`.\n // Or if the resolve is ignored or lazy, use its `value` as a fallback.\n value = await asyncComputeRealValue(dataConf.value, runtimeContext);\n }\n }\n\n if (this.data.has(dataConf.name)) {\n throw new Error(\n `${this.type} '${dataConf.name}' has already been declared`\n );\n }\n\n const newData: DataStoreItem = {\n name: dataConf.name,\n value,\n // This is required for tracking context, even if no `onChange` is specified.\n eventTarget: new EventTarget(),\n useResolve,\n load,\n loaded: resolvePolicy === \"eager\",\n loading,\n async: resolvePolicy === \"async\",\n deps: [],\n };\n\n if (resolvePolicy === \"lazy\") {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const { trigger } = dataConf.resolve!;\n if (\n trigger &&\n supportContextResolveTriggerBrickLifeCycle.includes(trigger)\n ) {\n this.rendererContext?.registerArbitraryLifeCycle(trigger, () => {\n this.updateValue(dataConf.name, undefined, \"load\");\n });\n }\n }\n\n if (dataConf.onChange) {\n newData.eventTarget.addEventListener(\n this.changeEventType,\n listenerFactory(dataConf.onChange, runtimeContext)\n );\n }\n\n if (dataConf.track) {\n const deps = strictCollectMemberUsage(\n trackConditionalResolve\n ? [dataConf.resolve, dataConf.value]\n : load\n ? dataConf.resolve\n : dataConf.value,\n this.type\n );\n !load && (newData.deps = [...deps]);\n for (const dep of deps) {\n this.onChange(\n dep,\n this.batchAddListener(() => {\n newData.useResolve = trackConditionalResolve\n ? checkIf(dataConf.resolve!, runtimeContext)\n : !!load;\n if (newData.useResolve) {\n this.updateValue(dataConf.name, { cache: \"default\" }, \"refresh\");\n } else {\n this.updateValue(\n dataConf.name,\n computeRealValue(dataConf.value, runtimeContext),\n \"replace\"\n );\n }\n }, dataConf)\n );\n }\n }\n\n newData.eventTarget.addEventListener(this.changeEventType, (e) => {\n this.notifyRealTimeDataChange(dataConf.name, (e as CustomEvent).detail);\n });\n\n this.data.set(dataConf.name, newData);\n\n if (Array.isArray(routePath)) {\n for (const route of routePath) {\n const names = this.routeMap.get(route);\n if (names) {\n names.add(dataConf.name);\n } else {\n this.routeMap.set(route, new Set([dataConf.name]));\n }\n }\n }\n\n return true;\n }\n\n disposeDataInRoutes(routes: RouteConf[]) {\n for (const route of routes) {\n const names = this.routeMap.get(route);\n if (names !== undefined) {\n for (const name of names) {\n this.data.delete(name);\n }\n }\n }\n }\n\n private batchAddListener(\n listener: EventListener,\n contextConf: ContextConf\n ): EventListener {\n return (event: Event | CustomEvent): void => {\n if (\n this.batchUpdate &&\n this.batchUpdateContextsNames.includes(contextConf.name)\n ) {\n return;\n }\n listener(event);\n };\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"DataStore.js","names":["_general","require","_storyboard","_eventTarget","_interopRequireDefault","_bindListeners","_checkIf","_computeRealValue","_resolveData","_resolveDataStore","_handleHttpError","_computeRealProperties","_Runtime","_realTimeDataInspect","_isStrictMode","supportContextResolveTriggerBrickLifeCycle","DataStore","type","data","Map","changeEventType","pendingStack","hostBrick","stateStoreId","batchUpdate","batchUpdateContextsNames","rendererContext","routeMap","WeakMap","constructor","getAllValues","Object","fromEntries","entries","map","name","value","getValue","_this$data$get","get","notifyRealTimeDataChange","realTimeDataInspectRoot","tplStateStoreId","callRealTimeDataInspectHooks","changeType","detail","getAffectListByContext","affectNames","forEach","key","deps","isInDeps","some","item","includes","push","shift","Set","updateValues","values","method","argsFactory","length","Error","updateContexts","affectContexts","affectDepsContextNames","arg","updateContextItem","updateValue","filter","affectContextItem","triggerEvent","contexts","_context$eventTarget","context","eventTarget","dispatchEvent","CustomEvent","callback","callbackRuntimeContext","useResolve","promise","loaded","Promise","resolve","loading","shouldDismiss","error","_this$rendererContext","renderId","_internalApiGetRenderId","load","cache","then","val","finishLoad","err","handleHttpError","callbackFactory","eventCallbackFactory","isObject","assign","console","warn","define","dataConfs","runtimeContext","asyncHostPropertyEntries","routePath","Array","isArray","pending","resolveDataStore","dataConf","isStrictMode","onChange","dataName","listener","_this$data$get2","addEventListener","waitFor","dataNames","pendingContexts","all","ctx","p","waitForAll","catch","pendingResult","mountAsyncData","route","_this$routeMap$get","async","has","asyncMounted","asyncCheckIf","expose","computePropertyValue","trackConditionalResolve","resolvePolicy","undefined","hasFallbackValue","hasOwnProperty","track","strictCollectMemberUsage","if","size","resolveConf","transform","options","_this$rendererContext2","resolveData","lazy","asyncComputeRealValue","newData","EventTarget","trigger","_this$rendererContext3","registerArbitraryLifeCycle","listenerFactory","dep","batchAddListener","checkIf","computeRealValue","e","set","names","add","disposeDataInRoutes","routes","delete","contextConf","event","exports"],"sources":["../../../../src/internal/data/DataStore.ts"],"sourcesContent":["import type {\n BatchUpdateContextItem,\n BrickEventHandlerCallback,\n ContextConf,\n ContextResolveTriggerBrickLifeCycle,\n RouteConf,\n} from \"@next-core/types\";\nimport { hasOwnProperty, isObject } from \"@next-core/utils/general\";\nimport { strictCollectMemberUsage } from \"@next-core/utils/storyboard\";\nimport EventTarget from \"@ungap/event-target\";\nimport { eventCallbackFactory, listenerFactory } from \"../bindListeners.js\";\nimport { asyncCheckIf, checkIf } from \"../compute/checkIf.js\";\nimport {\n asyncComputeRealValue,\n computeRealValue,\n} from \"../compute/computeRealValue.js\";\nimport { ResolveOptions, resolveData } from \"./resolveData.js\";\nimport { resolveDataStore } from \"./resolveDataStore.js\";\nimport type {\n AsyncPropertyEntry,\n RuntimeBrick,\n RuntimeContext,\n} from \"../interfaces.js\";\nimport { handleHttpError } from \"../../handleHttpError.js\";\nimport type { RendererContext } from \"../RendererContext.js\";\nimport { computePropertyValue } from \"../compute/computeRealProperties.js\";\nimport { _internalApiGetRenderId } from \"../Runtime.js\";\nimport {\n callRealTimeDataInspectHooks,\n realTimeDataInspectRoot,\n} from \"./realTimeDataInspect.js\";\nimport { isStrictMode } from \"../../isStrictMode.js\";\n\nconst supportContextResolveTriggerBrickLifeCycle = [\n \"onBeforePageLoad\",\n \"onPageLoad\",\n \"onBeforePageLeave\",\n \"onPageLeave\",\n \"onAnchorLoad\",\n \"onAnchorUnload\",\n] as ContextResolveTriggerBrickLifeCycle[];\n\nexport type DataStoreType = \"CTX\" | \"STATE\" | \"FORM_STATE\";\n\nexport interface DataStoreItem {\n name: string;\n value: unknown;\n eventTarget: EventTarget;\n useResolve?: boolean;\n loaded?: boolean;\n loading?: Promise<unknown>;\n load?: (options?: ResolveOptions) => Promise<unknown>;\n async?: boolean;\n asyncMounted?: boolean;\n deps: string[];\n}\n\nexport class DataStore<T extends DataStoreType = \"CTX\"> {\n private readonly type: T;\n private readonly data = new Map<string, DataStoreItem>();\n private readonly changeEventType: string;\n private readonly pendingStack: Array<ReturnType<typeof resolveDataStore>> =\n [];\n public readonly hostBrick?: RuntimeBrick;\n private readonly stateStoreId?: string;\n private batchUpdate = false;\n private batchUpdateContextsNames: string[] = [];\n private readonly rendererContext?: RendererContext;\n private routeMap = new WeakMap<RouteConf, Set<string>>();\n\n // 把 `rendererContext` 放在参数列表的最后,并作为可选,以减少测试文件的调整\n constructor(\n type: T,\n hostBrick?: RuntimeBrick,\n rendererContext?: RendererContext,\n stateStoreId?: string\n ) {\n this.type = type;\n this.changeEventType =\n this.type === \"FORM_STATE\"\n ? \"formstate.change\"\n : this.type === \"STATE\"\n ? \"state.change\"\n : \"context.change\";\n this.hostBrick = hostBrick;\n this.rendererContext = rendererContext;\n this.stateStoreId = stateStoreId;\n }\n\n getAllValues(): Record<string, unknown> {\n return Object.fromEntries(\n [...this.data.entries()].map(([name, { value }]) => [name, value])\n );\n }\n\n getValue(name: string): unknown {\n return this.data.get(name)?.value;\n }\n\n private notifyRealTimeDataChange(name: string, value: unknown) {\n if (realTimeDataInspectRoot) {\n const { tplStateStoreId } = realTimeDataInspectRoot;\n if (\n tplStateStoreId\n ? this.type === \"STATE\" && this.stateStoreId === tplStateStoreId\n : this.type === \"CTX\"\n ) {\n callRealTimeDataInspectHooks({\n changeType: \"update\",\n tplStateStoreId,\n detail: {\n name,\n value,\n },\n });\n }\n }\n }\n\n private getAffectListByContext(name: string): string[] {\n const affectNames = [name];\n this.data.forEach((value, key) => {\n if (value.deps) {\n const isInDeps = value.deps.some((item) => affectNames.includes(item));\n isInDeps &&\n affectNames.push(key) &&\n affectNames.push(...this.getAffectListByContext(key));\n }\n });\n affectNames.shift();\n return [...new Set(affectNames)];\n }\n\n updateValues(\n values: BatchUpdateContextItem[],\n method: \"assign\" | \"replace\",\n argsFactory: (arg: unknown[]) => BatchUpdateContextItem\n ): void {\n this.batchUpdate = true;\n this.batchUpdateContextsNames = values.map((item) => item.name);\n if (\n [...new Set(this.batchUpdateContextsNames)].length !==\n this.batchUpdateContextsNames.length\n ) {\n throw new Error(`Batch update not allow to update same item`);\n }\n\n const updateContexts: Record<string, DataStoreItem> = {};\n const affectContexts: Record<string, DataStoreItem> = {};\n const affectDepsContextNames: string[] = [];\n\n values.forEach((arg) => {\n const { name, value } = argsFactory([arg]);\n const updateContextItem = this.data.get(name);\n affectDepsContextNames.push(...this.getAffectListByContext(name));\n updateContextItem && (updateContexts[name] = updateContextItem);\n this.updateValue(name as string, value, method);\n });\n\n affectDepsContextNames\n .filter((item) => !updateContexts[item])\n .forEach((name) => {\n const affectContextItem = this.data.get(name);\n affectContextItem && (affectContexts[name] = affectContextItem);\n });\n\n const triggerEvent = (contexts: Record<string, DataStoreItem>): void => {\n for (const key in contexts) {\n const context = contexts[key];\n context.eventTarget?.dispatchEvent(\n new CustomEvent(this.changeEventType, {\n detail: context.value,\n })\n );\n }\n };\n\n triggerEvent(updateContexts);\n triggerEvent(affectContexts);\n\n this.batchUpdate = false;\n\n return;\n }\n\n updateValue(\n name: string,\n value: unknown,\n method: \"assign\" | \"replace\" | \"refresh\" | \"load\",\n callback?: BrickEventHandlerCallback,\n callbackRuntimeContext?: RuntimeContext\n ): void {\n const item = this.data.get(name);\n if (!item) {\n throw new Error(`${this.type} '${name}' is not defined`);\n }\n\n if (method === \"refresh\" || method === \"load\") {\n if (!item.useResolve) {\n throw new Error(\n `You can not ${method} \"${this.type}.${name}\" which is not using resolve`\n );\n }\n\n let promise: Promise<unknown> | undefined;\n if (method === \"load\") {\n // Try to reuse previous request when calling `load`.\n if (item.loaded) {\n promise = Promise.resolve(item.value);\n } else if (item.loading) {\n promise = item.loading;\n }\n }\n\n const shouldDismiss = (error: unknown) => {\n // If render twice immediately, flow API contracts maybe cleared before\n // the second rendering, while the page load handlers of the first\n // rendering can't be cancelled, which throws `FlowApiNotFoundError`.\n // So we ignore error reporting for this case.\n let renderId: string | undefined;\n return (\n (error as Error)?.name === \"FlowApiNotFoundError\" &&\n !!(renderId = this.rendererContext?.renderId) &&\n renderId !== _internalApiGetRenderId()\n );\n };\n\n if (!promise) {\n promise = item.loading = item.load!({\n cache: method === \"load\" ? \"default\" : \"reload\",\n ...(value as ResolveOptions),\n });\n // Do not use the chained promise, since the callbacks need the original promise.\n promise.then(\n (val) => {\n this.finishLoad(item, val);\n },\n (err) => {\n // Let users override error handling.\n if (item.useResolve && !shouldDismiss(err) && !callback?.error) {\n handleHttpError(err);\n }\n }\n );\n }\n\n if (callback) {\n const callbackFactory = eventCallbackFactory(\n callback,\n callbackRuntimeContext!\n );\n\n promise.then(\n (val) => {\n callbackFactory(\"success\")({ value: val });\n callbackFactory(\"finally\")();\n },\n (err) => {\n if (!shouldDismiss(err) && callback.error) {\n callbackFactory(\"error\")(err);\n }\n callbackFactory(\"finally\")();\n }\n );\n }\n\n return;\n }\n\n if (method === \"replace\") {\n item.value = value;\n } else {\n if (isObject(item.value)) {\n Object.assign(item.value, value);\n } else {\n // eslint-disable-next-line no-console\n console.warn(\n `Non-object current value of \"${this.type}.${name}\" for \"context.assign\", try \"context.replace\" instead.`\n );\n item.value = value;\n }\n }\n\n if (this.batchUpdate) return;\n\n item.eventTarget.dispatchEvent(\n new CustomEvent(this.changeEventType, {\n detail: item.value,\n })\n );\n }\n\n private finishLoad(item: DataStoreItem, value: unknown) {\n if (!item.useResolve) {\n // This happens when a tracked conditional resolve switches from\n // resolve to fallback after an dep update triggered refresh but\n // before it's been resolved.\n return;\n }\n item.loaded = true;\n item.value = value;\n item.eventTarget.dispatchEvent(\n new CustomEvent(this.changeEventType, {\n detail: value,\n })\n );\n }\n\n define(\n dataConfs: ContextConf[] | undefined,\n runtimeContext: RuntimeContext,\n asyncHostPropertyEntries?: AsyncPropertyEntry[],\n routePath?: RouteConf[]\n ): void {\n if (Array.isArray(dataConfs) && dataConfs.length > 0) {\n const pending = resolveDataStore(\n dataConfs,\n (dataConf: ContextConf) =>\n this.resolve(\n dataConf,\n runtimeContext,\n asyncHostPropertyEntries,\n routePath\n ),\n this.type,\n isStrictMode(runtimeContext)\n );\n this.pendingStack.push(pending);\n }\n }\n\n onChange(dataName: string, listener: EventListener): void {\n this.data\n .get(dataName)\n ?.eventTarget.addEventListener(this.changeEventType, listener);\n }\n\n async waitFor(dataNames: string[] | Set<string>): Promise<void> {\n for (const { pendingContexts } of this.pendingStack) {\n await Promise.all(\n [...dataNames].map((ctx) => {\n const p = pendingContexts.get(ctx);\n return p;\n })\n );\n }\n }\n\n async waitForAll(): Promise<void> {\n // Silent each pending contexts, since the error is handled by batched `pendingResult`\n for (const { pendingContexts } of this.pendingStack) {\n for (const p of pendingContexts.values()) {\n p.catch(() => {\n /* No-op */\n });\n }\n }\n for (const { pendingResult } of this.pendingStack) {\n await pendingResult;\n }\n }\n\n /**\n * After mount, dispatch the change event when an async data is loaded.\n *\n * If param `route` is present, handle data defined in that route (or its descendants) only.\n */\n mountAsyncData(route?: RouteConf) {\n this.data.forEach((item) => {\n if (item.async && (!route || this.routeMap.get(route)?.has(item.name))) {\n // istanbul ignore next\n if (item.asyncMounted) {\n // eslint-disable-next-line no-console\n console.error(\n `Async data \"${item.name}\" already mounted. This is a bug of Brick Next, please report it.`\n );\n return;\n }\n item.asyncMounted = true;\n // An async data always has `loading`\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n item.loading!.then((value) => {\n this.finishLoad(item, value);\n });\n }\n });\n }\n\n private async resolve(\n dataConf: ContextConf,\n runtimeContext: RuntimeContext,\n asyncHostPropertyEntries?: AsyncPropertyEntry[],\n routePath?: RouteConf[]\n ): Promise<boolean> {\n if (!(await asyncCheckIf(dataConf, runtimeContext))) {\n return false;\n }\n let value: unknown;\n if (\n asyncHostPropertyEntries &&\n (this.type === \"STATE\" ? dataConf.expose : this.type === \"FORM_STATE\")\n ) {\n value = await computePropertyValue(\n asyncHostPropertyEntries,\n dataConf.name\n );\n }\n let load: DataStoreItem[\"load\"];\n let loading: Promise<unknown> | undefined;\n let useResolve: boolean | undefined;\n let trackConditionalResolve: boolean | undefined;\n let resolvePolicy: \"eager\" | \"lazy\" | \"async\" | undefined;\n if (value === undefined) {\n if (dataConf.resolve) {\n const hasFallbackValue = hasOwnProperty(dataConf, \"value\");\n // Track conditional resolve only if all matches:\n // - Track enabled\n // - Has fallback value\n // - Referencing other data in `resolve.if`\n trackConditionalResolve =\n dataConf.track &&\n hasFallbackValue &&\n hasOwnProperty(dataConf.resolve, \"if\") &&\n strictCollectMemberUsage(dataConf.resolve.if, this.type).size > 0;\n const resolveConf = {\n transform: \"value\",\n ...dataConf.resolve,\n };\n useResolve = await asyncCheckIf(dataConf.resolve, runtimeContext);\n if (useResolve || trackConditionalResolve) {\n load = async (options) =>\n (\n (await resolveData(resolveConf, runtimeContext, {\n ...options,\n renderId: this.rendererContext?.renderId,\n })) as {\n value: unknown;\n }\n ).value;\n }\n if (useResolve) {\n // `async` take precedence over `lazy`\n resolvePolicy = dataConf.resolve.async\n ? \"async\"\n : dataConf.resolve.lazy\n ? \"lazy\"\n : \"eager\";\n if (resolvePolicy === \"eager\") {\n value = await load!();\n } else if (resolvePolicy === \"async\") {\n loading = load!();\n }\n } else if (!hasFallbackValue) {\n return false;\n }\n }\n if (\n (!useResolve || resolvePolicy !== \"eager\") &&\n dataConf.value !== undefined\n ) {\n // If the context has no resolve, just use its `value`.\n // Or if the resolve is ignored or lazy, use its `value` as a fallback.\n value = await asyncComputeRealValue(dataConf.value, runtimeContext);\n }\n }\n\n if (this.data.has(dataConf.name)) {\n throw new Error(\n `${this.type} '${dataConf.name}' has already been declared`\n );\n }\n\n const newData: DataStoreItem = {\n name: dataConf.name,\n value,\n // This is required for tracking context, even if no `onChange` is specified.\n eventTarget: new EventTarget(),\n useResolve,\n load,\n loaded: resolvePolicy === \"eager\",\n loading,\n async: resolvePolicy === \"async\",\n deps: [],\n };\n\n if (resolvePolicy === \"lazy\") {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const { trigger } = dataConf.resolve!;\n if (\n trigger &&\n supportContextResolveTriggerBrickLifeCycle.includes(trigger)\n ) {\n this.rendererContext?.registerArbitraryLifeCycle(trigger, () => {\n this.updateValue(dataConf.name, undefined, \"load\");\n });\n }\n }\n\n if (dataConf.onChange) {\n newData.eventTarget.addEventListener(\n this.changeEventType,\n listenerFactory(dataConf.onChange, runtimeContext)\n );\n }\n\n if (dataConf.track) {\n const deps = strictCollectMemberUsage(\n trackConditionalResolve\n ? [dataConf.resolve, dataConf.value]\n : load\n ? dataConf.resolve\n : dataConf.value,\n this.type\n );\n !load && (newData.deps = [...deps]);\n for (const dep of deps) {\n this.onChange(\n dep,\n this.batchAddListener(() => {\n newData.useResolve = trackConditionalResolve\n ? checkIf(dataConf.resolve!, runtimeContext)\n : !!load;\n if (newData.useResolve) {\n this.updateValue(dataConf.name, { cache: \"default\" }, \"refresh\");\n } else {\n this.updateValue(\n dataConf.name,\n computeRealValue(dataConf.value, runtimeContext),\n \"replace\"\n );\n }\n }, dataConf)\n );\n }\n }\n\n newData.eventTarget.addEventListener(this.changeEventType, (e) => {\n this.notifyRealTimeDataChange(dataConf.name, (e as CustomEvent).detail);\n });\n\n this.data.set(dataConf.name, newData);\n\n if (Array.isArray(routePath)) {\n for (const route of routePath) {\n const names = this.routeMap.get(route);\n if (names) {\n names.add(dataConf.name);\n } else {\n this.routeMap.set(route, new Set([dataConf.name]));\n }\n }\n }\n\n return true;\n }\n\n disposeDataInRoutes(routes: RouteConf[]) {\n for (const route of routes) {\n const names = this.routeMap.get(route);\n if (names !== undefined) {\n for (const name of names) {\n this.data.delete(name);\n }\n }\n }\n }\n\n private batchAddListener(\n listener: EventListener,\n contextConf: ContextConf\n ): EventListener {\n return (event: Event | CustomEvent): void => {\n if (\n this.batchUpdate &&\n this.batchUpdateContextsNames.includes(contextConf.name)\n ) {\n return;\n }\n listener(event);\n };\n }\n}\n"],"mappings":";;;;;;;AAOA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,cAAA,GAAAJ,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AACA,IAAAM,iBAAA,GAAAN,OAAA;AAIA,IAAAO,YAAA,GAAAP,OAAA;AACA,IAAAQ,iBAAA,GAAAR,OAAA;AAMA,IAAAS,gBAAA,GAAAT,OAAA;AAEA,IAAAU,sBAAA,GAAAV,OAAA;AACA,IAAAW,QAAA,GAAAX,OAAA;AACA,IAAAY,oBAAA,GAAAZ,OAAA;AAIA,IAAAa,aAAA,GAAAb,OAAA;AAEA,MAAMc,0CAA0C,GAAG,CACjD,kBAAkB,EAClB,YAAY,EACZ,mBAAmB,EACnB,aAAa,EACb,cAAc,EACd,gBAAgB,CACwB;AAiBnC,MAAMC,SAAS,CAAkC;EACrCC,IAAI;EACJC,IAAI,GAAG,IAAIC,GAAG,CAAwB,CAAC;EACvCC,eAAe;EACfC,YAAY,GAC3B,EAAE;EACYC,SAAS;EACRC,YAAY;EACrBC,WAAW,GAAG,KAAK;EACnBC,wBAAwB,GAAa,EAAE;EAC9BC,eAAe;EACxBC,QAAQ,GAAG,IAAIC,OAAO,CAAyB,CAAC;;EAExD;EACAC,WAAWA,CACTZ,IAAO,EACPK,SAAwB,EACxBI,eAAiC,EACjCH,YAAqB,EACrB;IACA,IAAI,CAACN,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACG,eAAe,GAClB,IAAI,CAACH,IAAI,KAAK,YAAY,GACtB,kBAAkB,GAClB,IAAI,CAACA,IAAI,KAAK,OAAO,GACnB,cAAc,GACd,gBAAgB;IACxB,IAAI,CAACK,SAAS,GAAGA,SAAS;IAC1B,IAAI,CAACI,eAAe,GAAGA,eAAe;IACtC,IAAI,CAACH,YAAY,GAAGA,YAAY;EAClC;EAEAO,YAAYA,CAAA,EAA4B;IACtC,OAAOC,MAAM,CAACC,WAAW,CACvB,CAAC,GAAG,IAAI,CAACd,IAAI,CAACe,OAAO,CAAC,CAAC,CAAC,CAACC,GAAG,CAAC,CAAC,CAACC,IAAI,EAAE;MAAEC;IAAM,CAAC,CAAC,KAAK,CAACD,IAAI,EAAEC,KAAK,CAAC,CACnE,CAAC;EACH;EAEAC,QAAQA,CAACF,IAAY,EAAW;IAAA,IAAAG,cAAA;IAC9B,QAAAA,cAAA,GAAO,IAAI,CAACpB,IAAI,CAACqB,GAAG,CAACJ,IAAI,CAAC,cAAAG,cAAA,uBAAnBA,cAAA,CAAqBF,KAAK;EACnC;EAEQI,wBAAwBA,CAACL,IAAY,EAAEC,KAAc,EAAE;IAC7D,IAAIK,4CAAuB,EAAE;MAC3B,MAAM;QAAEC;MAAgB,CAAC,GAAGD,4CAAuB;MACnD,IACEC,eAAe,GACX,IAAI,CAACzB,IAAI,KAAK,OAAO,IAAI,IAAI,CAACM,YAAY,KAAKmB,eAAe,GAC9D,IAAI,CAACzB,IAAI,KAAK,KAAK,EACvB;QACA,IAAA0B,iDAA4B,EAAC;UAC3BC,UAAU,EAAE,QAAQ;UACpBF,eAAe;UACfG,MAAM,EAAE;YACNV,IAAI;YACJC;UACF;QACF,CAAC,CAAC;MACJ;IACF;EACF;EAEQU,sBAAsBA,CAACX,IAAY,EAAY;IACrD,MAAMY,WAAW,GAAG,CAACZ,IAAI,CAAC;IAC1B,IAAI,CAACjB,IAAI,CAAC8B,OAAO,CAAC,CAACZ,KAAK,EAAEa,GAAG,KAAK;MAChC,IAAIb,KAAK,CAACc,IAAI,EAAE;QACd,MAAMC,QAAQ,GAAGf,KAAK,CAACc,IAAI,CAACE,IAAI,CAAEC,IAAI,IAAKN,WAAW,CAACO,QAAQ,CAACD,IAAI,CAAC,CAAC;QACtEF,QAAQ,IACNJ,WAAW,CAACQ,IAAI,CAACN,GAAG,CAAC,IACrBF,WAAW,CAACQ,IAAI,CAAC,GAAG,IAAI,CAACT,sBAAsB,CAACG,GAAG,CAAC,CAAC;MACzD;IACF,CAAC,CAAC;IACFF,WAAW,CAACS,KAAK,CAAC,CAAC;IACnB,OAAO,CAAC,GAAG,IAAIC,GAAG,CAACV,WAAW,CAAC,CAAC;EAClC;EAEAW,YAAYA,CACVC,MAAgC,EAChCC,MAA4B,EAC5BC,WAAuD,EACjD;IACN,IAAI,CAACrC,WAAW,GAAG,IAAI;IACvB,IAAI,CAACC,wBAAwB,GAAGkC,MAAM,CAACzB,GAAG,CAAEmB,IAAI,IAAKA,IAAI,CAAClB,IAAI,CAAC;IAC/D,IACE,CAAC,GAAG,IAAIsB,GAAG,CAAC,IAAI,CAAChC,wBAAwB,CAAC,CAAC,CAACqC,MAAM,KAClD,IAAI,CAACrC,wBAAwB,CAACqC,MAAM,EACpC;MACA,MAAM,IAAIC,KAAK,CAAE,4CAA2C,CAAC;IAC/D;IAEA,MAAMC,cAA6C,GAAG,CAAC,CAAC;IACxD,MAAMC,cAA6C,GAAG,CAAC,CAAC;IACxD,MAAMC,sBAAgC,GAAG,EAAE;IAE3CP,MAAM,CAACX,OAAO,CAAEmB,GAAG,IAAK;MACtB,MAAM;QAAEhC,IAAI;QAAEC;MAAM,CAAC,GAAGyB,WAAW,CAAC,CAACM,GAAG,CAAC,CAAC;MAC1C,MAAMC,iBAAiB,GAAG,IAAI,CAAClD,IAAI,CAACqB,GAAG,CAACJ,IAAI,CAAC;MAC7C+B,sBAAsB,CAACX,IAAI,CAAC,GAAG,IAAI,CAACT,sBAAsB,CAACX,IAAI,CAAC,CAAC;MACjEiC,iBAAiB,KAAKJ,cAAc,CAAC7B,IAAI,CAAC,GAAGiC,iBAAiB,CAAC;MAC/D,IAAI,CAACC,WAAW,CAAClC,IAAI,EAAYC,KAAK,EAAEwB,MAAM,CAAC;IACjD,CAAC,CAAC;IAEFM,sBAAsB,CACnBI,MAAM,CAAEjB,IAAI,IAAK,CAACW,cAAc,CAACX,IAAI,CAAC,CAAC,CACvCL,OAAO,CAAEb,IAAI,IAAK;MACjB,MAAMoC,iBAAiB,GAAG,IAAI,CAACrD,IAAI,CAACqB,GAAG,CAACJ,IAAI,CAAC;MAC7CoC,iBAAiB,KAAKN,cAAc,CAAC9B,IAAI,CAAC,GAAGoC,iBAAiB,CAAC;IACjE,CAAC,CAAC;IAEJ,MAAMC,YAAY,GAAIC,QAAuC,IAAW;MACtE,KAAK,MAAMxB,GAAG,IAAIwB,QAAQ,EAAE;QAAA,IAAAC,oBAAA;QAC1B,MAAMC,OAAO,GAAGF,QAAQ,CAACxB,GAAG,CAAC;QAC7B,CAAAyB,oBAAA,GAAAC,OAAO,CAACC,WAAW,cAAAF,oBAAA,eAAnBA,oBAAA,CAAqBG,aAAa,CAChC,IAAIC,WAAW,CAAC,IAAI,CAAC1D,eAAe,EAAE;UACpCyB,MAAM,EAAE8B,OAAO,CAACvC;QAClB,CAAC,CACH,CAAC;MACH;IACF,CAAC;IAEDoC,YAAY,CAACR,cAAc,CAAC;IAC5BQ,YAAY,CAACP,cAAc,CAAC;IAE5B,IAAI,CAACzC,WAAW,GAAG,KAAK;IAExB;EACF;EAEA6C,WAAWA,CACTlC,IAAY,EACZC,KAAc,EACdwB,MAAiD,EACjDmB,QAAoC,EACpCC,sBAAuC,EACjC;IACN,MAAM3B,IAAI,GAAG,IAAI,CAACnC,IAAI,CAACqB,GAAG,CAACJ,IAAI,CAAC;IAChC,IAAI,CAACkB,IAAI,EAAE;MACT,MAAM,IAAIU,KAAK,CAAE,GAAE,IAAI,CAAC9C,IAAK,KAAIkB,IAAK,kBAAiB,CAAC;IAC1D;IAEA,IAAIyB,MAAM,KAAK,SAAS,IAAIA,MAAM,KAAK,MAAM,EAAE;MAC7C,IAAI,CAACP,IAAI,CAAC4B,UAAU,EAAE;QACpB,MAAM,IAAIlB,KAAK,CACZ,eAAcH,MAAO,KAAI,IAAI,CAAC3C,IAAK,IAAGkB,IAAK,8BAC9C,CAAC;MACH;MAEA,IAAI+C,OAAqC;MACzC,IAAItB,MAAM,KAAK,MAAM,EAAE;QACrB;QACA,IAAIP,IAAI,CAAC8B,MAAM,EAAE;UACfD,OAAO,GAAGE,OAAO,CAACC,OAAO,CAAChC,IAAI,CAACjB,KAAK,CAAC;QACvC,CAAC,MAAM,IAAIiB,IAAI,CAACiC,OAAO,EAAE;UACvBJ,OAAO,GAAG7B,IAAI,CAACiC,OAAO;QACxB;MACF;MAEA,MAAMC,aAAa,GAAIC,KAAc,IAAK;QAAA,IAAAC,qBAAA;QACxC;QACA;QACA;QACA;QACA,IAAIC,QAA4B;QAChC,OACE,CAACF,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAYrD,IAAI,MAAK,sBAAsB,IACjD,CAAC,EAAEuD,QAAQ,IAAAD,qBAAA,GAAG,IAAI,CAAC/D,eAAe,cAAA+D,qBAAA,uBAApBA,qBAAA,CAAsBC,QAAQ,CAAC,IAC7CA,QAAQ,KAAK,IAAAC,gCAAuB,EAAC,CAAC;MAE1C,CAAC;MAED,IAAI,CAACT,OAAO,EAAE;QACZA,OAAO,GAAG7B,IAAI,CAACiC,OAAO,GAAGjC,IAAI,CAACuC,IAAI,CAAE;UAClCC,KAAK,EAAEjC,MAAM,KAAK,MAAM,GAAG,SAAS,GAAG,QAAQ;UAC/C,GAAIxB;QACN,CAAC,CAAC;QACF;QACA8C,OAAO,CAACY,IAAI,CACTC,GAAG,IAAK;UACP,IAAI,CAACC,UAAU,CAAC3C,IAAI,EAAE0C,GAAG,CAAC;QAC5B,CAAC,EACAE,GAAG,IAAK;UACP;UACA,IAAI5C,IAAI,CAAC4B,UAAU,IAAI,CAACM,aAAa,CAACU,GAAG,CAAC,IAAI,EAAClB,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAES,KAAK,GAAE;YAC9D,IAAAU,gCAAe,EAACD,GAAG,CAAC;UACtB;QACF,CACF,CAAC;MACH;MAEA,IAAIlB,QAAQ,EAAE;QACZ,MAAMoB,eAAe,GAAG,IAAAC,mCAAoB,EAC1CrB,QAAQ,EACRC,sBACF,CAAC;QAEDE,OAAO,CAACY,IAAI,CACTC,GAAG,IAAK;UACPI,eAAe,CAAC,SAAS,CAAC,CAAC;YAAE/D,KAAK,EAAE2D;UAAI,CAAC,CAAC;UAC1CI,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;QAC9B,CAAC,EACAF,GAAG,IAAK;UACP,IAAI,CAACV,aAAa,CAACU,GAAG,CAAC,IAAIlB,QAAQ,CAACS,KAAK,EAAE;YACzCW,eAAe,CAAC,OAAO,CAAC,CAACF,GAAG,CAAC;UAC/B;UACAE,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;QAC9B,CACF,CAAC;MACH;MAEA;IACF;IAEA,IAAIvC,MAAM,KAAK,SAAS,EAAE;MACxBP,IAAI,CAACjB,KAAK,GAAGA,KAAK;IACpB,CAAC,MAAM;MACL,IAAI,IAAAiE,iBAAQ,EAAChD,IAAI,CAACjB,KAAK,CAAC,EAAE;QACxBL,MAAM,CAACuE,MAAM,CAACjD,IAAI,CAACjB,KAAK,EAAEA,KAAK,CAAC;MAClC,CAAC,MAAM;QACL;QACAmE,OAAO,CAACC,IAAI,CACT,gCAA+B,IAAI,CAACvF,IAAK,IAAGkB,IAAK,wDACpD,CAAC;QACDkB,IAAI,CAACjB,KAAK,GAAGA,KAAK;MACpB;IACF;IAEA,IAAI,IAAI,CAACZ,WAAW,EAAE;IAEtB6B,IAAI,CAACuB,WAAW,CAACC,aAAa,CAC5B,IAAIC,WAAW,CAAC,IAAI,CAAC1D,eAAe,EAAE;MACpCyB,MAAM,EAAEQ,IAAI,CAACjB;IACf,CAAC,CACH,CAAC;EACH;EAEQ4D,UAAUA,CAAC3C,IAAmB,EAAEjB,KAAc,EAAE;IACtD,IAAI,CAACiB,IAAI,CAAC4B,UAAU,EAAE;MACpB;MACA;MACA;MACA;IACF;IACA5B,IAAI,CAAC8B,MAAM,GAAG,IAAI;IAClB9B,IAAI,CAACjB,KAAK,GAAGA,KAAK;IAClBiB,IAAI,CAACuB,WAAW,CAACC,aAAa,CAC5B,IAAIC,WAAW,CAAC,IAAI,CAAC1D,eAAe,EAAE;MACpCyB,MAAM,EAAET;IACV,CAAC,CACH,CAAC;EACH;EAEAqE,MAAMA,CACJC,SAAoC,EACpCC,cAA8B,EAC9BC,wBAA+C,EAC/CC,SAAuB,EACjB;IACN,IAAIC,KAAK,CAACC,OAAO,CAACL,SAAS,CAAC,IAAIA,SAAS,CAAC5C,MAAM,GAAG,CAAC,EAAE;MACpD,MAAMkD,OAAO,GAAG,IAAAC,kCAAgB,EAC9BP,SAAS,EACRQ,QAAqB,IACpB,IAAI,CAAC7B,OAAO,CACV6B,QAAQ,EACRP,cAAc,EACdC,wBAAwB,EACxBC,SACF,CAAC,EACH,IAAI,CAAC5F,IAAI,EACT,IAAAkG,0BAAY,EAACR,cAAc,CAC7B,CAAC;MACD,IAAI,CAACtF,YAAY,CAACkC,IAAI,CAACyD,OAAO,CAAC;IACjC;EACF;EAEAI,QAAQA,CAACC,QAAgB,EAAEC,QAAuB,EAAQ;IAAA,IAAAC,eAAA;IACxD,CAAAA,eAAA,OAAI,CAACrG,IAAI,CACNqB,GAAG,CAAC8E,QAAQ,CAAC,cAAAE,eAAA,eADhBA,eAAA,CAEI3C,WAAW,CAAC4C,gBAAgB,CAAC,IAAI,CAACpG,eAAe,EAAEkG,QAAQ,CAAC;EAClE;EAEA,MAAMG,OAAOA,CAACC,SAAiC,EAAiB;IAC9D,KAAK,MAAM;MAAEC;IAAgB,CAAC,IAAI,IAAI,CAACtG,YAAY,EAAE;MACnD,MAAM+D,OAAO,CAACwC,GAAG,CACf,CAAC,GAAGF,SAAS,CAAC,CAACxF,GAAG,CAAE2F,GAAG,IAAK;QAC1B,MAAMC,CAAC,GAAGH,eAAe,CAACpF,GAAG,CAACsF,GAAG,CAAC;QAClC,OAAOC,CAAC;MACV,CAAC,CACH,CAAC;IACH;EACF;EAEA,MAAMC,UAAUA,CAAA,EAAkB;IAChC;IACA,KAAK,MAAM;MAAEJ;IAAgB,CAAC,IAAI,IAAI,CAACtG,YAAY,EAAE;MACnD,KAAK,MAAMyG,CAAC,IAAIH,eAAe,CAAChE,MAAM,CAAC,CAAC,EAAE;QACxCmE,CAAC,CAACE,KAAK,CAAC,MAAM;UACZ;QAAA,CACD,CAAC;MACJ;IACF;IACA,KAAK,MAAM;MAAEC;IAAc,CAAC,IAAI,IAAI,CAAC5G,YAAY,EAAE;MACjD,MAAM4G,aAAa;IACrB;EACF;;EAEA;AACF;AACA;AACA;AACA;EACEC,cAAcA,CAACC,KAAiB,EAAE;IAChC,IAAI,CAACjH,IAAI,CAAC8B,OAAO,CAAEK,IAAI,IAAK;MAAA,IAAA+E,kBAAA;MAC1B,IAAI/E,IAAI,CAACgF,KAAK,KAAK,CAACF,KAAK,KAAAC,kBAAA,GAAI,IAAI,CAACzG,QAAQ,CAACY,GAAG,CAAC4F,KAAK,CAAC,cAAAC,kBAAA,eAAxBA,kBAAA,CAA0BE,GAAG,CAACjF,IAAI,CAAClB,IAAI,CAAC,CAAC,EAAE;QACtE;QACA,IAAIkB,IAAI,CAACkF,YAAY,EAAE;UACrB;UACAhC,OAAO,CAACf,KAAK,CACV,eAAcnC,IAAI,CAAClB,IAAK,mEAC3B,CAAC;UACD;QACF;QACAkB,IAAI,CAACkF,YAAY,GAAG,IAAI;QACxB;QACA;QACAlF,IAAI,CAACiC,OAAO,CAAEQ,IAAI,CAAE1D,KAAK,IAAK;UAC5B,IAAI,CAAC4D,UAAU,CAAC3C,IAAI,EAAEjB,KAAK,CAAC;QAC9B,CAAC,CAAC;MACJ;IACF,CAAC,CAAC;EACJ;EAEA,MAAciD,OAAOA,CACnB6B,QAAqB,EACrBP,cAA8B,EAC9BC,wBAA+C,EAC/CC,SAAuB,EACL;IAClB,IAAI,EAAE,MAAM,IAAA2B,qBAAY,EAACtB,QAAQ,EAAEP,cAAc,CAAC,CAAC,EAAE;MACnD,OAAO,KAAK;IACd;IACA,IAAIvE,KAAc;IAClB,IACEwE,wBAAwB,KACvB,IAAI,CAAC3F,IAAI,KAAK,OAAO,GAAGiG,QAAQ,CAACuB,MAAM,GAAG,IAAI,CAACxH,IAAI,KAAK,YAAY,CAAC,EACtE;MACAmB,KAAK,GAAG,MAAM,IAAAsG,2CAAoB,EAChC9B,wBAAwB,EACxBM,QAAQ,CAAC/E,IACX,CAAC;IACH;IACA,IAAIyD,IAA2B;IAC/B,IAAIN,OAAqC;IACzC,IAAIL,UAA+B;IACnC,IAAI0D,uBAA4C;IAChD,IAAIC,aAAqD;IACzD,IAAIxG,KAAK,KAAKyG,SAAS,EAAE;MACvB,IAAI3B,QAAQ,CAAC7B,OAAO,EAAE;QACpB,MAAMyD,gBAAgB,GAAG,IAAAC,uBAAc,EAAC7B,QAAQ,EAAE,OAAO,CAAC;QAC1D;QACA;QACA;QACA;QACAyB,uBAAuB,GACrBzB,QAAQ,CAAC8B,KAAK,IACdF,gBAAgB,IAChB,IAAAC,uBAAc,EAAC7B,QAAQ,CAAC7B,OAAO,EAAE,IAAI,CAAC,IACtC,IAAA4D,oCAAwB,EAAC/B,QAAQ,CAAC7B,OAAO,CAAC6D,EAAE,EAAE,IAAI,CAACjI,IAAI,CAAC,CAACkI,IAAI,GAAG,CAAC;QACnE,MAAMC,WAAW,GAAG;UAClBC,SAAS,EAAE,OAAO;UAClB,GAAGnC,QAAQ,CAAC7B;QACd,CAAC;QACDJ,UAAU,GAAG,MAAM,IAAAuD,qBAAY,EAACtB,QAAQ,CAAC7B,OAAO,EAAEsB,cAAc,CAAC;QACjE,IAAI1B,UAAU,IAAI0D,uBAAuB,EAAE;UACzC/C,IAAI,GAAG,MAAO0D,OAAO;YAAA,IAAAC,sBAAA;YAAA,OACnB,CACG,MAAM,IAAAC,wBAAW,EAACJ,WAAW,EAAEzC,cAAc,EAAE;cAC9C,GAAG2C,OAAO;cACV5D,QAAQ,GAAA6D,sBAAA,GAAE,IAAI,CAAC7H,eAAe,cAAA6H,sBAAA,uBAApBA,sBAAA,CAAsB7D;YAClC,CAAC,CAAC,EAGFtD,KAAK;UAAA;QACX;QACA,IAAI6C,UAAU,EAAE;UACd;UACA2D,aAAa,GAAG1B,QAAQ,CAAC7B,OAAO,CAACgD,KAAK,GAClC,OAAO,GACPnB,QAAQ,CAAC7B,OAAO,CAACoE,IAAI,GACnB,MAAM,GACN,OAAO;UACb,IAAIb,aAAa,KAAK,OAAO,EAAE;YAC7BxG,KAAK,GAAG,MAAMwD,IAAI,CAAE,CAAC;UACvB,CAAC,MAAM,IAAIgD,aAAa,KAAK,OAAO,EAAE;YACpCtD,OAAO,GAAGM,IAAI,CAAE,CAAC;UACnB;QACF,CAAC,MAAM,IAAI,CAACkD,gBAAgB,EAAE;UAC5B,OAAO,KAAK;QACd;MACF;MACA,IACE,CAAC,CAAC7D,UAAU,IAAI2D,aAAa,KAAK,OAAO,KACzC1B,QAAQ,CAAC9E,KAAK,KAAKyG,SAAS,EAC5B;QACA;QACA;QACAzG,KAAK,GAAG,MAAM,IAAAsH,uCAAqB,EAACxC,QAAQ,CAAC9E,KAAK,EAAEuE,cAAc,CAAC;MACrE;IACF;IAEA,IAAI,IAAI,CAACzF,IAAI,CAACoH,GAAG,CAACpB,QAAQ,CAAC/E,IAAI,CAAC,EAAE;MAChC,MAAM,IAAI4B,KAAK,CACZ,GAAE,IAAI,CAAC9C,IAAK,KAAIiG,QAAQ,CAAC/E,IAAK,6BACjC,CAAC;IACH;IAEA,MAAMwH,OAAsB,GAAG;MAC7BxH,IAAI,EAAE+E,QAAQ,CAAC/E,IAAI;MACnBC,KAAK;MACL;MACAwC,WAAW,EAAE,IAAIgF,oBAAW,CAAC,CAAC;MAC9B3E,UAAU;MACVW,IAAI;MACJT,MAAM,EAAEyD,aAAa,KAAK,OAAO;MACjCtD,OAAO;MACP+C,KAAK,EAAEO,aAAa,KAAK,OAAO;MAChC1F,IAAI,EAAE;IACR,CAAC;IAED,IAAI0F,aAAa,KAAK,MAAM,EAAE;MAC5B;MACA,MAAM;QAAEiB;MAAQ,CAAC,GAAG3C,QAAQ,CAAC7B,OAAQ;MACrC,IACEwE,OAAO,IACP9I,0CAA0C,CAACuC,QAAQ,CAACuG,OAAO,CAAC,EAC5D;QAAA,IAAAC,sBAAA;QACA,CAAAA,sBAAA,OAAI,CAACpI,eAAe,cAAAoI,sBAAA,eAApBA,sBAAA,CAAsBC,0BAA0B,CAACF,OAAO,EAAE,MAAM;UAC9D,IAAI,CAACxF,WAAW,CAAC6C,QAAQ,CAAC/E,IAAI,EAAE0G,SAAS,EAAE,MAAM,CAAC;QACpD,CAAC,CAAC;MACJ;IACF;IAEA,IAAI3B,QAAQ,CAACE,QAAQ,EAAE;MACrBuC,OAAO,CAAC/E,WAAW,CAAC4C,gBAAgB,CAClC,IAAI,CAACpG,eAAe,EACpB,IAAA4I,8BAAe,EAAC9C,QAAQ,CAACE,QAAQ,EAAET,cAAc,CACnD,CAAC;IACH;IAEA,IAAIO,QAAQ,CAAC8B,KAAK,EAAE;MAClB,MAAM9F,IAAI,GAAG,IAAA+F,oCAAwB,EACnCN,uBAAuB,GACnB,CAACzB,QAAQ,CAAC7B,OAAO,EAAE6B,QAAQ,CAAC9E,KAAK,CAAC,GAClCwD,IAAI,GACFsB,QAAQ,CAAC7B,OAAO,GAChB6B,QAAQ,CAAC9E,KAAK,EACpB,IAAI,CAACnB,IACP,CAAC;MACD,CAAC2E,IAAI,KAAK+D,OAAO,CAACzG,IAAI,GAAG,CAAC,GAAGA,IAAI,CAAC,CAAC;MACnC,KAAK,MAAM+G,GAAG,IAAI/G,IAAI,EAAE;QACtB,IAAI,CAACkE,QAAQ,CACX6C,GAAG,EACH,IAAI,CAACC,gBAAgB,CAAC,MAAM;UAC1BP,OAAO,CAAC1E,UAAU,GAAG0D,uBAAuB,GACxC,IAAAwB,gBAAO,EAACjD,QAAQ,CAAC7B,OAAO,EAAGsB,cAAc,CAAC,GAC1C,CAAC,CAACf,IAAI;UACV,IAAI+D,OAAO,CAAC1E,UAAU,EAAE;YACtB,IAAI,CAACZ,WAAW,CAAC6C,QAAQ,CAAC/E,IAAI,EAAE;cAAE0D,KAAK,EAAE;YAAU,CAAC,EAAE,SAAS,CAAC;UAClE,CAAC,MAAM;YACL,IAAI,CAACxB,WAAW,CACd6C,QAAQ,CAAC/E,IAAI,EACb,IAAAiI,kCAAgB,EAAClD,QAAQ,CAAC9E,KAAK,EAAEuE,cAAc,CAAC,EAChD,SACF,CAAC;UACH;QACF,CAAC,EAAEO,QAAQ,CACb,CAAC;MACH;IACF;IAEAyC,OAAO,CAAC/E,WAAW,CAAC4C,gBAAgB,CAAC,IAAI,CAACpG,eAAe,EAAGiJ,CAAC,IAAK;MAChE,IAAI,CAAC7H,wBAAwB,CAAC0E,QAAQ,CAAC/E,IAAI,EAAGkI,CAAC,CAAiBxH,MAAM,CAAC;IACzE,CAAC,CAAC;IAEF,IAAI,CAAC3B,IAAI,CAACoJ,GAAG,CAACpD,QAAQ,CAAC/E,IAAI,EAAEwH,OAAO,CAAC;IAErC,IAAI7C,KAAK,CAACC,OAAO,CAACF,SAAS,CAAC,EAAE;MAC5B,KAAK,MAAMsB,KAAK,IAAItB,SAAS,EAAE;QAC7B,MAAM0D,KAAK,GAAG,IAAI,CAAC5I,QAAQ,CAACY,GAAG,CAAC4F,KAAK,CAAC;QACtC,IAAIoC,KAAK,EAAE;UACTA,KAAK,CAACC,GAAG,CAACtD,QAAQ,CAAC/E,IAAI,CAAC;QAC1B,CAAC,MAAM;UACL,IAAI,CAACR,QAAQ,CAAC2I,GAAG,CAACnC,KAAK,EAAE,IAAI1E,GAAG,CAAC,CAACyD,QAAQ,CAAC/E,IAAI,CAAC,CAAC,CAAC;QACpD;MACF;IACF;IAEA,OAAO,IAAI;EACb;EAEAsI,mBAAmBA,CAACC,MAAmB,EAAE;IACvC,KAAK,MAAMvC,KAAK,IAAIuC,MAAM,EAAE;MAC1B,MAAMH,KAAK,GAAG,IAAI,CAAC5I,QAAQ,CAACY,GAAG,CAAC4F,KAAK,CAAC;MACtC,IAAIoC,KAAK,KAAK1B,SAAS,EAAE;QACvB,KAAK,MAAM1G,IAAI,IAAIoI,KAAK,EAAE;UACxB,IAAI,CAACrJ,IAAI,CAACyJ,MAAM,CAACxI,IAAI,CAAC;QACxB;MACF;IACF;EACF;EAEQ+H,gBAAgBA,CACtB5C,QAAuB,EACvBsD,WAAwB,EACT;IACf,OAAQC,KAA0B,IAAW;MAC3C,IACE,IAAI,CAACrJ,WAAW,IAChB,IAAI,CAACC,wBAAwB,CAAC6B,QAAQ,CAACsH,WAAW,CAACzI,IAAI,CAAC,EACxD;QACA;MACF;MACAmF,QAAQ,CAACuD,KAAK,CAAC;IACjB,CAAC;EACH;AACF;AAACC,OAAA,CAAA9J,SAAA,GAAAA,SAAA","ignoreList":[]}
@@ -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,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"}
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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"realTimeDataInspect.js","names":["_secret_internals","require","realTimeDataInspectRoot","exports","RealTimeDataInspectHooks","setRealTimeDataInspectRoot","root","data","getAllContextValues","tplStateStoreId","callRealTimeDataInspectHooks","changeType","detail","addRealTimeDataInspectHook","hook","push","setTimeout","error","console"],"sources":["../../../../src/internal/data/realTimeDataInspect.ts"],"sourcesContent":["import { getAllContextValues } from \"../secret_internals.js\";\n\nexport interface RealTimeDataInspectRoot {\n tplStateStoreId?: string;\n}\n\nexport type RealTimeDataInspectHook = (\n detail: RealTimeDataInspectDetail\n) => void;\n\nexport type RealTimeDataInspectDetail =\n | RealTimeDataInspectUpdateDetail\n | RealTimeDataInspectInitializeDetail;\n\nexport interface RealTimeDataInspectUpdateDetail {\n changeType: \"update\";\n tplStateStoreId?: string;\n detail: {\n name: string;\n value: unknown;\n };\n}\n\nexport interface RealTimeDataInspectInitializeDetail {\n changeType: \"initialize\";\n tplStateStoreId?: string;\n detail: {\n data: Record<string, unknown>;\n };\n}\n\nexport let realTimeDataInspectRoot: RealTimeDataInspectRoot | undefined;\n\nexport const RealTimeDataInspectHooks: RealTimeDataInspectHook[] = [];\n\nexport function setRealTimeDataInspectRoot(root: RealTimeDataInspectRoot) {\n realTimeDataInspectRoot = root;\n\n const data = getAllContextValues({ tplStateStoreId: root.tplStateStoreId });\n callRealTimeDataInspectHooks({\n changeType: \"initialize\",\n tplStateStoreId: root.tplStateStoreId,\n detail: { data },\n });\n}\n\nexport function addRealTimeDataInspectHook(hook: RealTimeDataInspectHook) {\n RealTimeDataInspectHooks.push(hook);\n}\n\nexport function callRealTimeDataInspectHooks(\n detail: RealTimeDataInspectDetail\n) {\n setTimeout(() => {\n for (const hook of RealTimeDataInspectHooks) {\n try {\n hook(detail);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(\n `RealTimeDataInspectHook failed (${detail.changeType}):`,\n error\n );\n }\n }\n });\n}\n"],"mappings":";;;;;;;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AA+BO,IAAIC,uBAA4D,GAAAC,OAAA,CAAAD,uBAAA;AAEhE,MAAME,wBAAmD,GAAAD,OAAA,CAAAC,wBAAA,GAAG,EAAE;AAE9D,SAASC,0BAA0BA,CAACC,IAA6B,EAAE;EACxEH,OAAA,CAAAD,uBAAA,GAAAA,uBAAuB,GAAGI,IAAI;EAE9B,MAAMC,IAAI,GAAG,IAAAC,qCAAmB,EAAC;IAAEC,eAAe,EAAEH,IAAI,CAACG;EAAgB,CAAC,CAAC;EAC3EC,4BAA4B,CAAC;IAC3BC,UAAU,EAAE,YAAY;IACxBF,eAAe,EAAEH,IAAI,CAACG,eAAe;IACrCG,MAAM,EAAE;MAAEL;IAAK;EACjB,CAAC,CAAC;AACJ;AAEO,SAASM,0BAA0BA,CAACC,IAA6B,EAAE;EACxEV,wBAAwB,CAACW,IAAI,CAACD,IAAI,CAAC;AACrC;AAEO,SAASJ,4BAA4BA,CAC1CE,MAAiC,EACjC;EACAI,UAAU,CAAC,MAAM;IACf,KAAK,MAAMF,IAAI,IAAIV,wBAAwB,EAAE;MAC3C,IAAI;QACFU,IAAI,CAACF,MAAM,CAAC;MACd,CAAC,CAAC,OAAOK,KAAK,EAAE;QACd;QACAC,OAAO,CAACD,KAAK,CACV,mCAAkCL,MAAM,CAACD,UAAW,IAAG,EACxDM,KACF,CAAC;MACH;IACF;EACF,CAAC,CAAC;AACJ"}
1
+ {"version":3,"file":"realTimeDataInspect.js","names":["_secret_internals","require","realTimeDataInspectRoot","exports","RealTimeDataInspectHooks","setRealTimeDataInspectRoot","root","data","getAllContextValues","tplStateStoreId","callRealTimeDataInspectHooks","changeType","detail","addRealTimeDataInspectHook","hook","push","setTimeout","error","console"],"sources":["../../../../src/internal/data/realTimeDataInspect.ts"],"sourcesContent":["import { getAllContextValues } from \"../secret_internals.js\";\n\nexport interface RealTimeDataInspectRoot {\n tplStateStoreId?: string;\n}\n\nexport type RealTimeDataInspectHook = (\n detail: RealTimeDataInspectDetail\n) => void;\n\nexport type RealTimeDataInspectDetail =\n | RealTimeDataInspectUpdateDetail\n | RealTimeDataInspectInitializeDetail;\n\nexport interface RealTimeDataInspectUpdateDetail {\n changeType: \"update\";\n tplStateStoreId?: string;\n detail: {\n name: string;\n value: unknown;\n };\n}\n\nexport interface RealTimeDataInspectInitializeDetail {\n changeType: \"initialize\";\n tplStateStoreId?: string;\n detail: {\n data: Record<string, unknown>;\n };\n}\n\nexport let realTimeDataInspectRoot: RealTimeDataInspectRoot | undefined;\n\nexport const RealTimeDataInspectHooks: RealTimeDataInspectHook[] = [];\n\nexport function setRealTimeDataInspectRoot(root: RealTimeDataInspectRoot) {\n realTimeDataInspectRoot = root;\n\n const data = getAllContextValues({ tplStateStoreId: root.tplStateStoreId });\n callRealTimeDataInspectHooks({\n changeType: \"initialize\",\n tplStateStoreId: root.tplStateStoreId,\n detail: { data },\n });\n}\n\nexport function addRealTimeDataInspectHook(hook: RealTimeDataInspectHook) {\n RealTimeDataInspectHooks.push(hook);\n}\n\nexport function callRealTimeDataInspectHooks(\n detail: RealTimeDataInspectDetail\n) {\n setTimeout(() => {\n for (const hook of RealTimeDataInspectHooks) {\n try {\n hook(detail);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(\n `RealTimeDataInspectHook failed (${detail.changeType}):`,\n error\n );\n }\n }\n });\n}\n"],"mappings":";;;;;;;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AA+BO,IAAIC,uBAA4D,GAAAC,OAAA,CAAAD,uBAAA;AAEhE,MAAME,wBAAmD,GAAAD,OAAA,CAAAC,wBAAA,GAAG,EAAE;AAE9D,SAASC,0BAA0BA,CAACC,IAA6B,EAAE;EACxEH,OAAA,CAAAD,uBAAA,GAAAA,uBAAuB,GAAGI,IAAI;EAE9B,MAAMC,IAAI,GAAG,IAAAC,qCAAmB,EAAC;IAAEC,eAAe,EAAEH,IAAI,CAACG;EAAgB,CAAC,CAAC;EAC3EC,4BAA4B,CAAC;IAC3BC,UAAU,EAAE,YAAY;IACxBF,eAAe,EAAEH,IAAI,CAACG,eAAe;IACrCG,MAAM,EAAE;MAAEL;IAAK;EACjB,CAAC,CAAC;AACJ;AAEO,SAASM,0BAA0BA,CAACC,IAA6B,EAAE;EACxEV,wBAAwB,CAACW,IAAI,CAACD,IAAI,CAAC;AACrC;AAEO,SAASJ,4BAA4BA,CAC1CE,MAAiC,EACjC;EACAI,UAAU,CAAC,MAAM;IACf,KAAK,MAAMF,IAAI,IAAIV,wBAAwB,EAAE;MAC3C,IAAI;QACFU,IAAI,CAACF,MAAM,CAAC;MACd,CAAC,CAAC,OAAOK,KAAK,EAAE;QACd;QACAC,OAAO,CAACD,KAAK,CACV,mCAAkCL,MAAM,CAACD,UAAW,IAAG,EACxDM,KACF,CAAC;MACH;IACF;EACF,CAAC,CAAC;AACJ","ignoreList":[]}