@next-core/runtime 1.12.0 → 1.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) 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/getPageInfo.js.map +1 -1
  9. package/dist/cjs/handleHttpError.js.map +1 -1
  10. package/dist/cjs/history.js.map +1 -1
  11. package/dist/cjs/internal/CustomTemplates/bindTemplateProxy.js.map +1 -1
  12. package/dist/cjs/internal/CustomTemplates/constants.js.map +1 -1
  13. package/dist/cjs/internal/CustomTemplates/expandCustomTemplate.js.map +1 -1
  14. package/dist/cjs/internal/CustomTemplates/setupTemplateProxy.js.map +1 -1
  15. package/dist/cjs/internal/CustomTemplates/setupUseBrickInTemplate.js.map +1 -1
  16. package/dist/cjs/internal/CustomTemplates/utils.js.map +1 -1
  17. package/dist/cjs/internal/FormRenderer/expandFormRenderer.js.map +1 -1
  18. package/dist/cjs/internal/FormRenderer/getDefaultProperties.js.map +1 -1
  19. package/dist/cjs/internal/FormRenderer/utils.js.map +1 -1
  20. package/dist/cjs/internal/Renderer.js.map +1 -1
  21. package/dist/cjs/internal/RendererContext.js.map +1 -1
  22. package/dist/cjs/internal/Router.js +4 -1
  23. package/dist/cjs/internal/Router.js.map +1 -1
  24. package/dist/cjs/internal/Runtime.js +0 -4
  25. package/dist/cjs/internal/Runtime.js.map +1 -1
  26. package/dist/cjs/internal/abortController.js.map +1 -1
  27. package/dist/cjs/internal/bindListeners.js.map +1 -1
  28. package/dist/cjs/internal/compute/StoryboardFunctions.js.map +1 -1
  29. package/dist/cjs/internal/compute/WidgetFunctions.js.map +1 -1
  30. package/dist/cjs/internal/compute/checkIf.js.map +1 -1
  31. package/dist/cjs/internal/compute/computeRealProperties.js.map +1 -1
  32. package/dist/cjs/internal/compute/computeRealValue.js.map +1 -1
  33. package/dist/cjs/internal/compute/evaluate.js.map +1 -1
  34. package/dist/cjs/internal/compute/getGeneralGlobals.js.map +1 -1
  35. package/dist/cjs/internal/compute/getNextStateOfUseBrick.js.map +1 -1
  36. package/dist/cjs/internal/compute/getTracks.js.map +1 -1
  37. package/dist/cjs/internal/compute/images.js.map +1 -1
  38. package/dist/cjs/internal/compute/listenOnTrackingContext.js.map +1 -1
  39. package/dist/cjs/internal/compute/markAsComputed.js.map +1 -1
  40. package/dist/cjs/internal/compute/setRealProperties.js.map +1 -1
  41. package/dist/cjs/internal/data/DataStore.js.map +1 -1
  42. package/dist/cjs/internal/data/getProviderBrick.js.map +1 -1
  43. package/dist/cjs/internal/data/resolveData.js.map +1 -1
  44. package/dist/cjs/internal/data/resolveDataStore.js.map +1 -1
  45. package/dist/cjs/internal/hasInstalledApp.js.map +1 -1
  46. package/dist/cjs/internal/historyExtended.js.map +1 -1
  47. package/dist/cjs/internal/insertPreviewRoutes.js.map +1 -1
  48. package/dist/cjs/internal/matchPath.js.map +1 -1
  49. package/dist/cjs/internal/matchRoutes.js.map +1 -1
  50. package/dist/cjs/internal/matchStoryboard.js.map +1 -1
  51. package/dist/cjs/internal/mediaQuery.js.map +1 -1
  52. package/dist/cjs/internal/mount.js.map +1 -1
  53. package/dist/cjs/internal/poll.js.map +1 -1
  54. package/dist/cjs/internal/proxyFactories.js.map +1 -1
  55. package/dist/cjs/internal/secret_internals.js.map +1 -1
  56. package/dist/cjs/isStrictMode.js.map +1 -1
  57. package/dist/cjs/themeAndMode.js.map +1 -1
  58. package/dist/esm/CustomProcessors.js.map +1 -1
  59. package/dist/esm/CustomTemplates.js.map +1 -1
  60. package/dist/esm/Dialog.js.map +1 -1
  61. package/dist/esm/Notification.js.map +1 -1
  62. package/dist/esm/StoryboardFunctionRegistry.js.map +1 -1
  63. package/dist/esm/auth.js.map +1 -1
  64. package/dist/esm/createRoot.js.map +1 -1
  65. package/dist/esm/getPageInfo.js.map +1 -1
  66. package/dist/esm/handleHttpError.js.map +1 -1
  67. package/dist/esm/history.js.map +1 -1
  68. package/dist/esm/internal/CustomTemplates/bindTemplateProxy.js.map +1 -1
  69. package/dist/esm/internal/CustomTemplates/constants.js.map +1 -1
  70. package/dist/esm/internal/CustomTemplates/expandCustomTemplate.js.map +1 -1
  71. package/dist/esm/internal/CustomTemplates/setupTemplateProxy.js.map +1 -1
  72. package/dist/esm/internal/CustomTemplates/setupUseBrickInTemplate.js.map +1 -1
  73. package/dist/esm/internal/CustomTemplates/utils.js.map +1 -1
  74. package/dist/esm/internal/FormRenderer/expandFormRenderer.js.map +1 -1
  75. package/dist/esm/internal/FormRenderer/getDefaultProperties.js.map +1 -1
  76. package/dist/esm/internal/FormRenderer/utils.js.map +1 -1
  77. package/dist/esm/internal/Renderer.js.map +1 -1
  78. package/dist/esm/internal/RendererContext.js.map +1 -1
  79. package/dist/esm/internal/Router.js +5 -1
  80. package/dist/esm/internal/Router.js.map +1 -1
  81. package/dist/esm/internal/Runtime.js.map +1 -1
  82. package/dist/esm/internal/abortController.js.map +1 -1
  83. package/dist/esm/internal/bindListeners.js.map +1 -1
  84. package/dist/esm/internal/compute/StoryboardFunctions.js.map +1 -1
  85. package/dist/esm/internal/compute/WidgetFunctions.js.map +1 -1
  86. package/dist/esm/internal/compute/checkIf.js.map +1 -1
  87. package/dist/esm/internal/compute/computeRealProperties.js.map +1 -1
  88. package/dist/esm/internal/compute/computeRealValue.js.map +1 -1
  89. package/dist/esm/internal/compute/evaluate.js.map +1 -1
  90. package/dist/esm/internal/compute/getGeneralGlobals.js.map +1 -1
  91. package/dist/esm/internal/compute/getNextStateOfUseBrick.js.map +1 -1
  92. package/dist/esm/internal/compute/getTracks.js.map +1 -1
  93. package/dist/esm/internal/compute/images.js.map +1 -1
  94. package/dist/esm/internal/compute/listenOnTrackingContext.js.map +1 -1
  95. package/dist/esm/internal/compute/markAsComputed.js.map +1 -1
  96. package/dist/esm/internal/compute/setRealProperties.js.map +1 -1
  97. package/dist/esm/internal/data/DataStore.js.map +1 -1
  98. package/dist/esm/internal/data/getProviderBrick.js.map +1 -1
  99. package/dist/esm/internal/data/resolveData.js.map +1 -1
  100. package/dist/esm/internal/data/resolveDataStore.js.map +1 -1
  101. package/dist/esm/internal/hasInstalledApp.js.map +1 -1
  102. package/dist/esm/internal/historyExtended.js.map +1 -1
  103. package/dist/esm/internal/insertPreviewRoutes.js.map +1 -1
  104. package/dist/esm/internal/matchPath.js.map +1 -1
  105. package/dist/esm/internal/matchRoutes.js.map +1 -1
  106. package/dist/esm/internal/matchStoryboard.js.map +1 -1
  107. package/dist/esm/internal/mediaQuery.js.map +1 -1
  108. package/dist/esm/internal/mount.js.map +1 -1
  109. package/dist/esm/internal/poll.js.map +1 -1
  110. package/dist/esm/internal/proxyFactories.js.map +1 -1
  111. package/dist/esm/internal/secret_internals.js.map +1 -1
  112. package/dist/esm/isStrictMode.js.map +1 -1
  113. package/dist/esm/themeAndMode.js.map +1 -1
  114. package/dist/types/tsdoc-metadata.json +1 -1
  115. package/package.json +13 -13
@@ -1 +1 @@
1
- {"version":3,"file":"computeRealValue.js","names":["_cook","require","_general","_inject","_evaluate","_getNextStateOfUseBrick","_markAsComputed","asyncComputeRealValue","value","runtimeContext","internalOptions","preEvaluated","isPreEvaluated","lazy","$$lazyForUseBrick","isLazyContentInUseBrick","$$stateOfUseBrick","result","dismissMarkingComputed","isEvaluable","asyncEvaluate","shouldDismissMarkingComputed","hasOwnProperty","noInject","transform","transformAndInject","identity","inject","markAsComputed","isObject","hasBeenComputed","Array","isArray","nextOptions","getNextComputeOptions","Promise","all","map","v","Object","fromEntries","entries","k","concat","ignoreSymbols","getOwnPropertySymbols","computeRealValue","evaluate","key","getNextStateOfUseBrick"],"sources":["../../../../src/internal/compute/computeRealValue.ts"],"sourcesContent":["import { isEvaluable } from \"@next-core/cook\";\nimport { hasOwnProperty, isObject } from \"@next-core/utils/general\";\nimport { transformAndInject, transform, inject } from \"@next-core/inject\";\nimport {\n asyncEvaluate,\n isPreEvaluated,\n evaluate,\n shouldDismissMarkingComputed,\n} from \"./evaluate.js\";\nimport type { RuntimeContext } from \"../interfaces.js\";\nimport {\n StateOfUseBrick,\n getNextStateOfUseBrick,\n isLazyContentInUseBrick,\n} from \"./getNextStateOfUseBrick.js\";\nimport { hasBeenComputed, markAsComputed } from \"./markAsComputed.js\";\n\nexport interface ComputeOptions {\n $$lazyForUseBrick?: boolean;\n $$stateOfUseBrick?: StateOfUseBrick;\n ignoreSymbols?: boolean;\n noInject?: boolean;\n}\n\nexport async function asyncComputeRealValue(\n value: unknown,\n runtimeContext: RuntimeContext,\n internalOptions: ComputeOptions = {}\n): Promise<unknown> {\n const preEvaluated = isPreEvaluated(value);\n\n if (preEvaluated || typeof value === \"string\") {\n // For `useBrick`, some fields such as `properties`/`transform`/`events`/`if`,\n // are kept and to be evaluated later.\n const lazy =\n internalOptions.$$lazyForUseBrick &&\n isLazyContentInUseBrick(internalOptions.$$stateOfUseBrick);\n\n let result: unknown;\n let dismissMarkingComputed = lazy;\n\n if (preEvaluated || isEvaluable(value as string)) {\n result = await asyncEvaluate(value, runtimeContext, { lazy });\n dismissMarkingComputed = shouldDismissMarkingComputed(value);\n } else {\n result = lazy\n ? value\n : (hasOwnProperty(runtimeContext, \"data\")\n ? internalOptions.noInject\n ? transform\n : transformAndInject\n : internalOptions.noInject\n ? identity\n : inject)(value, runtimeContext);\n }\n\n if (!dismissMarkingComputed) {\n markAsComputed(result);\n }\n\n return result;\n }\n\n if (!isObject(value) || hasBeenComputed(value)) {\n return value;\n }\n\n if (Array.isArray(value)) {\n const nextOptions = getNextComputeOptions(internalOptions, true);\n return Promise.all(\n value.map((v) => asyncComputeRealValue(v, runtimeContext, nextOptions))\n );\n }\n\n return Object.fromEntries(\n (\n await Promise.all(\n Object.entries(value).map(([k, v]) =>\n Promise.all([\n asyncComputeRealValue(k, runtimeContext),\n asyncComputeRealValue(\n v,\n runtimeContext,\n getNextComputeOptions(internalOptions, false, k)\n ),\n ])\n )\n )\n ).concat(\n internalOptions.ignoreSymbols\n ? []\n : Object.getOwnPropertySymbols(value).map((k) => [\n k,\n (value as Record<string | symbol, unknown>)[k],\n ])\n )\n );\n}\n\nexport function computeRealValue(\n value: unknown,\n runtimeContext: RuntimeContext,\n internalOptions: ComputeOptions = {}\n): unknown {\n const preEvaluated = isPreEvaluated(value);\n\n if (preEvaluated || typeof value === \"string\") {\n // For `useBrick`, some fields such as `properties`/`transform`/`events`/`if`,\n // are kept and to be evaluated later.\n const lazy =\n internalOptions.$$lazyForUseBrick &&\n isLazyContentInUseBrick(internalOptions.$$stateOfUseBrick);\n\n let result: unknown;\n let dismissMarkingComputed = lazy;\n\n if (preEvaluated || isEvaluable(value as string)) {\n result = evaluate(value, runtimeContext);\n dismissMarkingComputed = shouldDismissMarkingComputed(value);\n } else {\n result = lazy\n ? value\n : (hasOwnProperty(runtimeContext, \"data\")\n ? internalOptions.noInject\n ? transform\n : transformAndInject\n : internalOptions.noInject\n ? identity\n : inject)(value, runtimeContext);\n }\n\n if (!dismissMarkingComputed) {\n markAsComputed(result);\n }\n\n return result;\n }\n\n if (!isObject(value) || hasBeenComputed(value)) {\n return value;\n }\n\n if (Array.isArray(value)) {\n const nextOptions = getNextComputeOptions(internalOptions, true);\n return value.map((v) => computeRealValue(v, runtimeContext, nextOptions));\n }\n\n return Object.fromEntries(\n Object.entries(value)\n .map(([k, v]) => [\n computeRealValue(k, runtimeContext),\n computeRealValue(\n v,\n runtimeContext,\n getNextComputeOptions(internalOptions, false, k)\n ),\n ])\n .concat(\n internalOptions.ignoreSymbols\n ? []\n : Object.getOwnPropertySymbols(value).map((k) => [\n k,\n (value as Record<string | symbol, unknown>)[k],\n ])\n )\n );\n}\n\nfunction getNextComputeOptions(\n internalOptions: ComputeOptions,\n isArray: boolean,\n key?: string\n): ComputeOptions {\n return internalOptions.$$lazyForUseBrick\n ? {\n ...internalOptions,\n $$stateOfUseBrick: getNextStateOfUseBrick(\n internalOptions.$$stateOfUseBrick,\n isArray,\n key\n ),\n }\n : internalOptions;\n}\n\nfunction identity<T>(value: T): T {\n return value;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"computeRealValue.js","names":["_cook","require","_general","_inject","_evaluate","_getNextStateOfUseBrick","_markAsComputed","asyncComputeRealValue","value","runtimeContext","internalOptions","preEvaluated","isPreEvaluated","lazy","$$lazyForUseBrick","isLazyContentInUseBrick","$$stateOfUseBrick","result","dismissMarkingComputed","isEvaluable","asyncEvaluate","shouldDismissMarkingComputed","hasOwnProperty","noInject","transform","transformAndInject","identity","inject","markAsComputed","isObject","hasBeenComputed","Array","isArray","nextOptions","getNextComputeOptions","Promise","all","map","v","Object","fromEntries","entries","k","concat","ignoreSymbols","getOwnPropertySymbols","computeRealValue","evaluate","key","getNextStateOfUseBrick"],"sources":["../../../../src/internal/compute/computeRealValue.ts"],"sourcesContent":["import { isEvaluable } from \"@next-core/cook\";\nimport { hasOwnProperty, isObject } from \"@next-core/utils/general\";\nimport { transformAndInject, transform, inject } from \"@next-core/inject\";\nimport {\n asyncEvaluate,\n isPreEvaluated,\n evaluate,\n shouldDismissMarkingComputed,\n} from \"./evaluate.js\";\nimport type { RuntimeContext } from \"../interfaces.js\";\nimport {\n StateOfUseBrick,\n getNextStateOfUseBrick,\n isLazyContentInUseBrick,\n} from \"./getNextStateOfUseBrick.js\";\nimport { hasBeenComputed, markAsComputed } from \"./markAsComputed.js\";\n\nexport interface ComputeOptions {\n $$lazyForUseBrick?: boolean;\n $$stateOfUseBrick?: StateOfUseBrick;\n ignoreSymbols?: boolean;\n noInject?: boolean;\n}\n\nexport async function asyncComputeRealValue(\n value: unknown,\n runtimeContext: RuntimeContext,\n internalOptions: ComputeOptions = {}\n): Promise<unknown> {\n const preEvaluated = isPreEvaluated(value);\n\n if (preEvaluated || typeof value === \"string\") {\n // For `useBrick`, some fields such as `properties`/`transform`/`events`/`if`,\n // are kept and to be evaluated later.\n const lazy =\n internalOptions.$$lazyForUseBrick &&\n isLazyContentInUseBrick(internalOptions.$$stateOfUseBrick);\n\n let result: unknown;\n let dismissMarkingComputed = lazy;\n\n if (preEvaluated || isEvaluable(value as string)) {\n result = await asyncEvaluate(value, runtimeContext, { lazy });\n dismissMarkingComputed = shouldDismissMarkingComputed(value);\n } else {\n result = lazy\n ? value\n : (hasOwnProperty(runtimeContext, \"data\")\n ? internalOptions.noInject\n ? transform\n : transformAndInject\n : internalOptions.noInject\n ? identity\n : inject)(value, runtimeContext);\n }\n\n if (!dismissMarkingComputed) {\n markAsComputed(result);\n }\n\n return result;\n }\n\n if (!isObject(value) || hasBeenComputed(value)) {\n return value;\n }\n\n if (Array.isArray(value)) {\n const nextOptions = getNextComputeOptions(internalOptions, true);\n return Promise.all(\n value.map((v) => asyncComputeRealValue(v, runtimeContext, nextOptions))\n );\n }\n\n return Object.fromEntries(\n (\n await Promise.all(\n Object.entries(value).map(([k, v]) =>\n Promise.all([\n asyncComputeRealValue(k, runtimeContext),\n asyncComputeRealValue(\n v,\n runtimeContext,\n getNextComputeOptions(internalOptions, false, k)\n ),\n ])\n )\n )\n ).concat(\n internalOptions.ignoreSymbols\n ? []\n : Object.getOwnPropertySymbols(value).map((k) => [\n k,\n (value as Record<string | symbol, unknown>)[k],\n ])\n )\n );\n}\n\nexport function computeRealValue(\n value: unknown,\n runtimeContext: RuntimeContext,\n internalOptions: ComputeOptions = {}\n): unknown {\n const preEvaluated = isPreEvaluated(value);\n\n if (preEvaluated || typeof value === \"string\") {\n // For `useBrick`, some fields such as `properties`/`transform`/`events`/`if`,\n // are kept and to be evaluated later.\n const lazy =\n internalOptions.$$lazyForUseBrick &&\n isLazyContentInUseBrick(internalOptions.$$stateOfUseBrick);\n\n let result: unknown;\n let dismissMarkingComputed = lazy;\n\n if (preEvaluated || isEvaluable(value as string)) {\n result = evaluate(value, runtimeContext);\n dismissMarkingComputed = shouldDismissMarkingComputed(value);\n } else {\n result = lazy\n ? value\n : (hasOwnProperty(runtimeContext, \"data\")\n ? internalOptions.noInject\n ? transform\n : transformAndInject\n : internalOptions.noInject\n ? identity\n : inject)(value, runtimeContext);\n }\n\n if (!dismissMarkingComputed) {\n markAsComputed(result);\n }\n\n return result;\n }\n\n if (!isObject(value) || hasBeenComputed(value)) {\n return value;\n }\n\n if (Array.isArray(value)) {\n const nextOptions = getNextComputeOptions(internalOptions, true);\n return value.map((v) => computeRealValue(v, runtimeContext, nextOptions));\n }\n\n return Object.fromEntries(\n Object.entries(value)\n .map(([k, v]) => [\n computeRealValue(k, runtimeContext),\n computeRealValue(\n v,\n runtimeContext,\n getNextComputeOptions(internalOptions, false, k)\n ),\n ])\n .concat(\n internalOptions.ignoreSymbols\n ? []\n : Object.getOwnPropertySymbols(value).map((k) => [\n k,\n (value as Record<string | symbol, unknown>)[k],\n ])\n )\n );\n}\n\nfunction getNextComputeOptions(\n internalOptions: ComputeOptions,\n isArray: boolean,\n key?: string\n): ComputeOptions {\n return internalOptions.$$lazyForUseBrick\n ? {\n ...internalOptions,\n $$stateOfUseBrick: getNextStateOfUseBrick(\n internalOptions.$$stateOfUseBrick,\n isArray,\n key\n ),\n }\n : internalOptions;\n}\n\nfunction identity<T>(value: T): T {\n return value;\n}\n"],"mappings":"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"}
@@ -1 +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","_images","_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","app","currentApp","location","query","match","flags","sys","data","event","overrideApp","variableName","hash","substring","cloneDeep","getMenu","getMenuById","getDynamicReadOnlyProxy","get","target","key","getValue","ownKeys","Array","from","getReadOnlyProxy","hasInstalledApp","console","forEachItem","getItem","getStorageItem","getMedia","getRuntime","getMiscSettings","URLSearchParams","params","pathname","pkg","customProcessors","t","k","fromEntries","getAll","warnAboutStrictMode","widgetFunctions","widgetImagesFactory","widgetI18nFactory","assign","getGeneralGlobals","storyboardFunctions","appendI18nNamespace","result","cook","expression","source","supply"],"sources":["../../../../src/internal/compute/evaluate.ts"],"sourcesContent":["import {\n cook,\n preevaluate,\n PreevaluateResult,\n shouldAllowRecursiveEvaluations,\n} from \"@next-core/cook\";\nimport { loadProcessorsImperatively } from \"@next-core/loader\";\nimport { supply } from \"@next-core/supply\";\nimport { hasOwnProperty } from \"@next-core/utils/general\";\nimport {\n strictCollectMemberUsage,\n collectAppGetMenuUsage,\n collectInstalledAppsHasUsage,\n MemberCallUsage,\n} from \"@next-core/utils/storyboard\";\nimport type { RuntimeContext } from \"../interfaces.js\";\nimport { cloneDeep, omit } from \"lodash\";\nimport { customProcessors } from \"../../CustomProcessors.js\";\nimport {\n checkPermissionsUsage,\n storyboardFunctions,\n} from \"./StoryboardFunctions.js\";\nimport { getGeneralGlobals } from \"./getGeneralGlobals.js\";\nimport {\n getDynamicReadOnlyProxy,\n getReadOnlyProxy,\n} from \"../proxyFactories.js\";\nimport { 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 { widgetImagesFactory } from \"./images.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 isReEvaluation?: 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 // if (options.isReEvaluation) {\n // devtoolsHookEmit(\"re-evaluation\", {\n // id: options.evaluationId,\n // detail: { raw, context: {} },\n // error: message,\n // });\n // return;\n // } else {\n const errorConstructor = getCookErrorConstructor(error);\n throw new errorConstructor(message);\n // }\n }\n\n if (menuUsage.hasNonStaticUsage) {\n throw new Error(\n `Non-static usage of \"APP.getMenu\" is prohibited in v3, check your expression: \"${raw}\"`\n );\n }\n\n if (hasAppUsage.hasNonStaticUsage) {\n throw new Error(\n `Non-static usage of \"INSTALLED_APPS.has\" is prohibited in v3, check your expression: \"${raw}\"`\n );\n }\n\n const globalVariables: Record<string, unknown> = {};\n const { attemptToVisitGlobals } = precooked;\n\n // Ignore evaluating if required `event/DATA` is missing in\n // context. Since they are are provided in different context, whenever\n // missing one of them, memorize the current context for later consuming.\n if (\n options.lazy ||\n (attemptToVisitGlobals.has(\"EVENT\") &&\n !hasOwnProperty(runtimeContext, \"event\")) ||\n (attemptToVisitGlobals.has(\"DATA\") &&\n !hasOwnProperty(runtimeContext, \"data\"))\n ) {\n return {\n blockingList,\n run() {\n return Object.keys(runtimeContext).length > 0\n ? ({\n [symbolForRaw]: raw,\n [symbolForContext]: runtimeContext,\n } as PreEvaluated)\n : raw;\n },\n };\n }\n\n let usedCtx: Set<string>;\n let usedProcessors: Set<string>;\n let usedStates: Set<string>;\n let tplStateStore: DataStore<\"STATE\"> | undefined;\n const strict = isStrictMode(runtimeContext);\n\n // For existed TPL usage, treat it as a STATE.\n if (\n attemptToVisitGlobals.has(\"STATE\") ||\n (!strict && attemptToVisitGlobals.has(\"TPL\"))\n ) {\n tplStateStore = getTplStateStore(runtimeContext, \"STATE\", `: \"${raw}\"`);\n }\n\n let usedFormStates: Set<string>;\n let formStateStore: DataStore<\"FORM_STATE\"> | undefined;\n if (attemptToVisitGlobals.has(\"FORM_STATE\")) {\n formStateStore = getFormStateStore(\n runtimeContext,\n \"FORM_STATE\",\n `: \"${raw}\"`\n );\n }\n\n const devHook = getDevHook();\n if (isAsync || devHook) {\n if (attemptToVisitGlobals.has(\"CTX\")) {\n usedCtx = strictCollectMemberUsage(raw, \"CTX\");\n isAsync && blockingList.push(runtimeContext.ctxStore.waitFor(usedCtx));\n }\n\n if (tplStateStore) {\n usedStates = strictCollectMemberUsage(raw, \"STATE\");\n // istanbul ignore if\n if (!strict) {\n const usedTpls = strictCollectMemberUsage(raw, \"TPL\");\n for (const tpl of usedTpls) {\n usedStates.add(tpl);\n }\n }\n isAsync && blockingList.push(tplStateStore.waitFor(usedStates));\n }\n\n if (formStateStore) {\n usedFormStates = strictCollectMemberUsage(raw, \"FORM_STATE\");\n isAsync && blockingList.push(formStateStore.waitFor(usedFormStates));\n }\n\n if (attemptToVisitGlobals.has(\"PROCESSORS\")) {\n usedProcessors = strictCollectMemberUsage(raw, \"PROCESSORS\", 2);\n isAsync &&\n blockingList.push(\n loadProcessorsImperatively(usedProcessors, getBrickPackages())\n );\n }\n }\n\n if (isAsync) {\n let attemptToCheckPermissions = attemptToVisitGlobals.has(\"PERMISSIONS\");\n // There maybe `PERMISSIONS.check()` usage in functions\n if (!attemptToCheckPermissions && attemptToVisitGlobals.has(\"FN\")) {\n const usedFunctions = [...strictCollectMemberUsage(raw, \"FN\")];\n attemptToCheckPermissions = checkPermissionsUsage(usedFunctions);\n }\n\n if (attemptToCheckPermissions) {\n blockingList.push(...runtimeContext.pendingPermissionsPreCheck);\n }\n\n if (menuUsage.usedArgs.size > 0 && hooks?.menu) {\n // Block evaluating if has `APP.getMenu(...)` usage.\n const usedMenuIds = [...menuUsage.usedArgs];\n blockingList.push(\n Promise.all(\n usedMenuIds.map((menuId) =>\n hooks!.menu!.fetchMenuById(menuId, runtimeContext, {\n getStoryboardByAppId: _internalApiGetStoryboardInBootstrapData,\n resolveData,\n asyncComputeRealValue,\n })\n )\n )\n );\n }\n\n if (hasAppUsage.usedArgs.size > 0) {\n // Only wait for specific apps\n blockingList.push(\n hooks?.checkInstalledApps?.waitForCheckingApps([\n ...hasAppUsage.usedArgs,\n ])\n );\n }\n }\n\n return {\n blockingList,\n run() {\n const {\n app: currentApp,\n location,\n query,\n match,\n flags,\n sys,\n ctxStore,\n data,\n event,\n } = runtimeContext;\n const app = runtimeContext.overrideApp ?? currentApp;\n\n for (const variableName of attemptToVisitGlobals) {\n switch (variableName) {\n // case \"ALIAS\":\n case \"ANCHOR\":\n globalVariables[variableName] = location.hash\n ? location.hash.substring(1)\n : null;\n break;\n case \"APP\":\n globalVariables[variableName] = {\n ...cloneDeep(app),\n getMenu: hooks?.menu?.getMenuById,\n };\n break;\n case \"CTX\":\n globalVariables[variableName] = getDynamicReadOnlyProxy({\n get(target, key) {\n return ctxStore.getValue(key as string);\n },\n ownKeys() {\n return Array.from(usedCtx);\n },\n });\n break;\n case \"DATA\":\n globalVariables[variableName] = data;\n break;\n case \"EVENT\":\n globalVariables[variableName] = event;\n break;\n case \"FLAGS\":\n globalVariables[variableName] = getReadOnlyProxy(flags);\n break;\n case \"FORM_STATE\":\n globalVariables[variableName] = getDynamicReadOnlyProxy({\n get(target, key) {\n return formStateStore!.getValue(key as string);\n },\n ownKeys() {\n return Array.from(usedFormStates);\n },\n });\n break;\n case \"HASH\":\n globalVariables[variableName] = location.hash;\n break;\n case \"INSTALLED_APPS\":\n globalVariables[variableName] = getReadOnlyProxy({\n has: hasInstalledApp,\n });\n break;\n case \"ITEM\":\n if (!hasOwnProperty(runtimeContext, \"forEachItem\")) {\n // eslint-disable-next-line no-console\n console.error(\n `Using \\`ITEM\\` but no \\`:forEach\\` is found, check your expression: \"${raw}\"`\n );\n } else {\n globalVariables[variableName] = runtimeContext.forEachItem;\n }\n break;\n case \"LOCAL_STORAGE\":\n globalVariables[variableName] = getReadOnlyProxy({\n getItem: getStorageItem(\"local\"),\n });\n break;\n case \"MEDIA\":\n globalVariables[variableName] = getReadOnlyProxy(getMedia());\n break;\n case \"MISC\":\n globalVariables[variableName] = getRuntime().getMiscSettings();\n break;\n case \"PARAMS\":\n globalVariables[variableName] = new URLSearchParams(query);\n break;\n case \"PATH\":\n globalVariables[variableName] = getReadOnlyProxy(\n match?.params ?? {}\n );\n break;\n case \"PATH_NAME\":\n globalVariables[variableName] = location.pathname;\n break;\n case \"PROCESSORS\":\n globalVariables[variableName] = getDynamicReadOnlyProxy({\n get(target, key) {\n const pkg = customProcessors.get(key as string);\n if (!pkg) {\n throw new Error(\n `'PROCESSORS.${\n key as string\n }' is not registered! Have you installed the relevant brick package?`\n );\n }\n return getDynamicReadOnlyProxy({\n get(t, k) {\n return pkg.get(k as string);\n },\n ownKeys() {\n return Array.from(pkg.keys());\n },\n });\n },\n ownKeys() {\n return Array.from(usedProcessors);\n },\n });\n break;\n case \"QUERY\":\n globalVariables[variableName] = Object.fromEntries(\n Array.from(query.keys()).map((key) => [key, query.get(key)])\n );\n break;\n case \"QUERY_ARRAY\":\n globalVariables[variableName] = Object.fromEntries(\n Array.from(query.keys()).map((key) => [key, query.getAll(key)])\n );\n // case \"SEGUE\":\n break;\n case \"SESSION_STORAGE\":\n globalVariables[variableName] = getReadOnlyProxy({\n getItem: getStorageItem(\"session\"),\n });\n break;\n // istanbul ignore next\n case \"TPL\":\n warnAboutStrictMode(\n strict,\n 'Using \"TPL\" in expression',\n `check your expression: \"${raw}\"`\n );\n if (strict) {\n break;\n }\n // eslint-disable-next-line no-fallthrough\n case \"STATE\":\n globalVariables[variableName] = getDynamicReadOnlyProxy({\n get(target, key) {\n return tplStateStore!.getValue(key as string);\n },\n ownKeys() {\n return Array.from(usedStates);\n },\n });\n break;\n case \"SYS\":\n globalVariables[variableName] = getReadOnlyProxy(sys ?? {});\n break;\n case \"__WIDGET_FN__\":\n globalVariables[variableName] = widgetFunctions;\n break;\n case \"__WIDGET_IMG__\":\n globalVariables[variableName] = widgetImagesFactory;\n break;\n case \"__WIDGET_I18N__\":\n globalVariables[variableName] = widgetI18nFactory;\n break;\n }\n }\n\n Object.assign(\n globalVariables,\n getGeneralGlobals(precooked.attemptToVisitGlobals, {\n storyboardFunctions,\n app: runtimeContext.app,\n appendI18nNamespace: runtimeContext.appendI18nNamespace,\n })\n );\n\n try {\n const result = cook(precooked.expression, precooked.source, {\n globalVariables: supply(\n precooked.attemptToVisitGlobals,\n globalVariables\n ),\n });\n // const detail = { raw, context: globalVariables, result };\n // if (options.isReEvaluation) {\n // devtoolsHookEmit(\"re-evaluation\", {\n // id: options.evaluationId,\n // detail,\n // });\n // } else {\n // devtoolsHookEmit(\"evaluation\", detail);\n // }\n return result;\n } catch (error: any) {\n const message = `${error.message}, in \"${raw}\"`;\n // if (options.isReEvaluation) {\n // devtoolsHookEmit(\"re-evaluation\", {\n // id: options.evaluationId,\n // detail: { raw, context: globalVariables },\n // error: message,\n // });\n // } else {\n const errorConstructor = getCookErrorConstructor(error);\n throw new errorConstructor(message);\n // }\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","_images","_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","app","currentApp","location","query","match","flags","sys","data","event","overrideApp","variableName","hash","substring","cloneDeep","getMenu","getMenuById","getDynamicReadOnlyProxy","get","target","key","getValue","ownKeys","Array","from","getReadOnlyProxy","hasInstalledApp","console","forEachItem","getItem","getStorageItem","getMedia","getRuntime","getMiscSettings","URLSearchParams","params","pathname","pkg","customProcessors","t","k","fromEntries","getAll","warnAboutStrictMode","widgetFunctions","widgetImagesFactory","widgetI18nFactory","assign","getGeneralGlobals","storyboardFunctions","appendI18nNamespace","result","cook","expression","source","supply"],"sources":["../../../../src/internal/compute/evaluate.ts"],"sourcesContent":["import {\n cook,\n preevaluate,\n PreevaluateResult,\n shouldAllowRecursiveEvaluations,\n} from \"@next-core/cook\";\nimport { loadProcessorsImperatively } from \"@next-core/loader\";\nimport { supply } from \"@next-core/supply\";\nimport { hasOwnProperty } from \"@next-core/utils/general\";\nimport {\n strictCollectMemberUsage,\n collectAppGetMenuUsage,\n collectInstalledAppsHasUsage,\n MemberCallUsage,\n} from \"@next-core/utils/storyboard\";\nimport type { RuntimeContext } from \"../interfaces.js\";\nimport { cloneDeep, omit } from \"lodash\";\nimport { customProcessors } from \"../../CustomProcessors.js\";\nimport {\n checkPermissionsUsage,\n storyboardFunctions,\n} from \"./StoryboardFunctions.js\";\nimport { getGeneralGlobals } from \"./getGeneralGlobals.js\";\nimport {\n getDynamicReadOnlyProxy,\n getReadOnlyProxy,\n} from \"../proxyFactories.js\";\nimport { 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 { widgetImagesFactory } from \"./images.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 isReEvaluation?: 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 // if (options.isReEvaluation) {\n // devtoolsHookEmit(\"re-evaluation\", {\n // id: options.evaluationId,\n // detail: { raw, context: {} },\n // error: message,\n // });\n // return;\n // } else {\n const errorConstructor = getCookErrorConstructor(error);\n throw new errorConstructor(message);\n // }\n }\n\n if (menuUsage.hasNonStaticUsage) {\n throw new Error(\n `Non-static usage of \"APP.getMenu\" is prohibited in v3, check your expression: \"${raw}\"`\n );\n }\n\n if (hasAppUsage.hasNonStaticUsage) {\n throw new Error(\n `Non-static usage of \"INSTALLED_APPS.has\" is prohibited in v3, check your expression: \"${raw}\"`\n );\n }\n\n const globalVariables: Record<string, unknown> = {};\n const { attemptToVisitGlobals } = precooked;\n\n // Ignore evaluating if required `event/DATA` is missing in\n // context. Since they are are provided in different context, whenever\n // missing one of them, memorize the current context for later consuming.\n if (\n options.lazy ||\n (attemptToVisitGlobals.has(\"EVENT\") &&\n !hasOwnProperty(runtimeContext, \"event\")) ||\n (attemptToVisitGlobals.has(\"DATA\") &&\n !hasOwnProperty(runtimeContext, \"data\"))\n ) {\n return {\n blockingList,\n run() {\n return Object.keys(runtimeContext).length > 0\n ? ({\n [symbolForRaw]: raw,\n [symbolForContext]: runtimeContext,\n } as PreEvaluated)\n : raw;\n },\n };\n }\n\n let usedCtx: Set<string>;\n let usedProcessors: Set<string>;\n let usedStates: Set<string>;\n let tplStateStore: DataStore<\"STATE\"> | undefined;\n const strict = isStrictMode(runtimeContext);\n\n // For existed TPL usage, treat it as a STATE.\n if (\n attemptToVisitGlobals.has(\"STATE\") ||\n (!strict && attemptToVisitGlobals.has(\"TPL\"))\n ) {\n tplStateStore = getTplStateStore(runtimeContext, \"STATE\", `: \"${raw}\"`);\n }\n\n let usedFormStates: Set<string>;\n let formStateStore: DataStore<\"FORM_STATE\"> | undefined;\n if (attemptToVisitGlobals.has(\"FORM_STATE\")) {\n formStateStore = getFormStateStore(\n runtimeContext,\n \"FORM_STATE\",\n `: \"${raw}\"`\n );\n }\n\n const devHook = getDevHook();\n if (isAsync || devHook) {\n if (attemptToVisitGlobals.has(\"CTX\")) {\n usedCtx = strictCollectMemberUsage(raw, \"CTX\");\n isAsync && blockingList.push(runtimeContext.ctxStore.waitFor(usedCtx));\n }\n\n if (tplStateStore) {\n usedStates = strictCollectMemberUsage(raw, \"STATE\");\n // istanbul ignore if\n if (!strict) {\n const usedTpls = strictCollectMemberUsage(raw, \"TPL\");\n for (const tpl of usedTpls) {\n usedStates.add(tpl);\n }\n }\n isAsync && blockingList.push(tplStateStore.waitFor(usedStates));\n }\n\n if (formStateStore) {\n usedFormStates = strictCollectMemberUsage(raw, \"FORM_STATE\");\n isAsync && blockingList.push(formStateStore.waitFor(usedFormStates));\n }\n\n if (attemptToVisitGlobals.has(\"PROCESSORS\")) {\n usedProcessors = strictCollectMemberUsage(raw, \"PROCESSORS\", 2);\n isAsync &&\n blockingList.push(\n loadProcessorsImperatively(usedProcessors, getBrickPackages())\n );\n }\n }\n\n if (isAsync) {\n let attemptToCheckPermissions = attemptToVisitGlobals.has(\"PERMISSIONS\");\n // There maybe `PERMISSIONS.check()` usage in functions\n if (!attemptToCheckPermissions && attemptToVisitGlobals.has(\"FN\")) {\n const usedFunctions = [...strictCollectMemberUsage(raw, \"FN\")];\n attemptToCheckPermissions = checkPermissionsUsage(usedFunctions);\n }\n\n if (attemptToCheckPermissions) {\n blockingList.push(...runtimeContext.pendingPermissionsPreCheck);\n }\n\n if (menuUsage.usedArgs.size > 0 && hooks?.menu) {\n // Block evaluating if has `APP.getMenu(...)` usage.\n const usedMenuIds = [...menuUsage.usedArgs];\n blockingList.push(\n Promise.all(\n usedMenuIds.map((menuId) =>\n hooks!.menu!.fetchMenuById(menuId, runtimeContext, {\n getStoryboardByAppId: _internalApiGetStoryboardInBootstrapData,\n resolveData,\n asyncComputeRealValue,\n })\n )\n )\n );\n }\n\n if (hasAppUsage.usedArgs.size > 0) {\n // Only wait for specific apps\n blockingList.push(\n hooks?.checkInstalledApps?.waitForCheckingApps([\n ...hasAppUsage.usedArgs,\n ])\n );\n }\n }\n\n return {\n blockingList,\n run() {\n const {\n app: currentApp,\n location,\n query,\n match,\n flags,\n sys,\n ctxStore,\n data,\n event,\n } = runtimeContext;\n const app = runtimeContext.overrideApp ?? currentApp;\n\n for (const variableName of attemptToVisitGlobals) {\n switch (variableName) {\n // case \"ALIAS\":\n case \"ANCHOR\":\n globalVariables[variableName] = location.hash\n ? location.hash.substring(1)\n : null;\n break;\n case \"APP\":\n globalVariables[variableName] = {\n ...cloneDeep(app),\n getMenu: hooks?.menu?.getMenuById,\n };\n break;\n case \"CTX\":\n globalVariables[variableName] = getDynamicReadOnlyProxy({\n get(target, key) {\n return ctxStore.getValue(key as string);\n },\n ownKeys() {\n return Array.from(usedCtx);\n },\n });\n break;\n case \"DATA\":\n globalVariables[variableName] = data;\n break;\n case \"EVENT\":\n globalVariables[variableName] = event;\n break;\n case \"FLAGS\":\n globalVariables[variableName] = getReadOnlyProxy(flags);\n break;\n case \"FORM_STATE\":\n globalVariables[variableName] = getDynamicReadOnlyProxy({\n get(target, key) {\n return formStateStore!.getValue(key as string);\n },\n ownKeys() {\n return Array.from(usedFormStates);\n },\n });\n break;\n case \"HASH\":\n globalVariables[variableName] = location.hash;\n break;\n case \"INSTALLED_APPS\":\n globalVariables[variableName] = getReadOnlyProxy({\n has: hasInstalledApp,\n });\n break;\n case \"ITEM\":\n if (!hasOwnProperty(runtimeContext, \"forEachItem\")) {\n // eslint-disable-next-line no-console\n console.error(\n `Using \\`ITEM\\` but no \\`:forEach\\` is found, check your expression: \"${raw}\"`\n );\n } else {\n globalVariables[variableName] = runtimeContext.forEachItem;\n }\n break;\n case \"LOCAL_STORAGE\":\n globalVariables[variableName] = getReadOnlyProxy({\n getItem: getStorageItem(\"local\"),\n });\n break;\n case \"MEDIA\":\n globalVariables[variableName] = getReadOnlyProxy(getMedia());\n break;\n case \"MISC\":\n globalVariables[variableName] = getRuntime().getMiscSettings();\n break;\n case \"PARAMS\":\n globalVariables[variableName] = new URLSearchParams(query);\n break;\n case \"PATH\":\n globalVariables[variableName] = getReadOnlyProxy(\n match?.params ?? {}\n );\n break;\n case \"PATH_NAME\":\n globalVariables[variableName] = location.pathname;\n break;\n case \"PROCESSORS\":\n globalVariables[variableName] = getDynamicReadOnlyProxy({\n get(target, key) {\n const pkg = customProcessors.get(key as string);\n if (!pkg) {\n throw new Error(\n `'PROCESSORS.${\n key as string\n }' is not registered! Have you installed the relevant brick package?`\n );\n }\n return getDynamicReadOnlyProxy({\n get(t, k) {\n return pkg.get(k as string);\n },\n ownKeys() {\n return Array.from(pkg.keys());\n },\n });\n },\n ownKeys() {\n return Array.from(usedProcessors);\n },\n });\n break;\n case \"QUERY\":\n globalVariables[variableName] = Object.fromEntries(\n Array.from(query.keys()).map((key) => [key, query.get(key)])\n );\n break;\n case \"QUERY_ARRAY\":\n globalVariables[variableName] = Object.fromEntries(\n Array.from(query.keys()).map((key) => [key, query.getAll(key)])\n );\n // case \"SEGUE\":\n break;\n case \"SESSION_STORAGE\":\n globalVariables[variableName] = getReadOnlyProxy({\n getItem: getStorageItem(\"session\"),\n });\n break;\n // istanbul ignore next\n case \"TPL\":\n warnAboutStrictMode(\n strict,\n 'Using \"TPL\" in expression',\n `check your expression: \"${raw}\"`\n );\n if (strict) {\n break;\n }\n // eslint-disable-next-line no-fallthrough\n case \"STATE\":\n globalVariables[variableName] = getDynamicReadOnlyProxy({\n get(target, key) {\n return tplStateStore!.getValue(key as string);\n },\n ownKeys() {\n return Array.from(usedStates);\n },\n });\n break;\n case \"SYS\":\n globalVariables[variableName] = getReadOnlyProxy(sys ?? {});\n break;\n case \"__WIDGET_FN__\":\n globalVariables[variableName] = widgetFunctions;\n break;\n case \"__WIDGET_IMG__\":\n globalVariables[variableName] = widgetImagesFactory;\n break;\n case \"__WIDGET_I18N__\":\n globalVariables[variableName] = widgetI18nFactory;\n break;\n }\n }\n\n Object.assign(\n globalVariables,\n getGeneralGlobals(precooked.attemptToVisitGlobals, {\n storyboardFunctions,\n app: runtimeContext.app,\n appendI18nNamespace: runtimeContext.appendI18nNamespace,\n })\n );\n\n try {\n const result = cook(precooked.expression, precooked.source, {\n globalVariables: supply(\n precooked.attemptToVisitGlobals,\n globalVariables\n ),\n });\n // const detail = { raw, context: globalVariables, result };\n // if (options.isReEvaluation) {\n // devtoolsHookEmit(\"re-evaluation\", {\n // id: options.evaluationId,\n // detail,\n // });\n // } else {\n // devtoolsHookEmit(\"evaluation\", detail);\n // }\n return result;\n } catch (error: any) {\n const message = `${error.message}, in \"${raw}\"`;\n // if (options.isReEvaluation) {\n // devtoolsHookEmit(\"re-evaluation\", {\n // id: options.evaluationId,\n // detail: { raw, context: globalVariables },\n // error: message,\n // });\n // } else {\n const errorConstructor = getCookErrorConstructor(error);\n throw new errorConstructor(message);\n // }\n }\n },\n };\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"getGeneralGlobals.js","names":["_lodash","require","_i18n","_WidgetI18n","_images","_proxyFactories","_themeAndMode","_getBasePath","_registerAppI18n","_Runtime","getGeneralGlobals","attemptToVisitGlobals","options","globalVariables","variableName","variable","getIndividualGlobal","undefined","collectCoverage","widgetId","widgetVersion","app","appendI18nNamespace","storyboardFunctions","isStoryboardFunction","_hooks$checkPermissio","getBasePath","replace","fakeImageFactory","widgetImagesFactory","imagesFactory","id","isBuildPush","currentVersion","identity","widgetI18nFactory","i18n","getFixedT","getI18nNamespace","filter","Boolean","fakeI18nText","i18nText","getReadOnlyProxy","check","fakeCheckPermissions","hooks","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 { ImagesFactory, imagesFactory, widgetImagesFactory } from \"./images.js\";\nimport { getReadOnlyProxy } from \"../proxyFactories.js\";\nimport { getTheme } from \"../../themeAndMode.js\";\nimport { getBasePath } from \"../../getBasePath.js\";\nimport { getI18nNamespace } from \"../registerAppI18n.js\";\nimport { 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 ? widgetImagesFactory(widgetId, widgetVersion)\n : 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","_images","_proxyFactories","_themeAndMode","_getBasePath","_registerAppI18n","_Runtime","getGeneralGlobals","attemptToVisitGlobals","options","globalVariables","variableName","variable","getIndividualGlobal","undefined","collectCoverage","widgetId","widgetVersion","app","appendI18nNamespace","storyboardFunctions","isStoryboardFunction","_hooks$checkPermissio","getBasePath","replace","fakeImageFactory","widgetImagesFactory","imagesFactory","id","isBuildPush","currentVersion","identity","widgetI18nFactory","i18n","getFixedT","getI18nNamespace","filter","Boolean","fakeI18nText","i18nText","getReadOnlyProxy","check","fakeCheckPermissions","hooks","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 { ImagesFactory, imagesFactory, widgetImagesFactory } from \"./images.js\";\nimport { getReadOnlyProxy } from \"../proxyFactories.js\";\nimport { getTheme } from \"../../themeAndMode.js\";\nimport { getBasePath } from \"../../getBasePath.js\";\nimport { getI18nNamespace } from \"../registerAppI18n.js\";\nimport { 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 ? widgetImagesFactory(widgetId, widgetVersion)\n : 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 +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,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;AAAAC,OAAA,CAAAD,eAAA,GAAAA,eAAA;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;EAAC;EAEhB,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;IAAC;EAE9D,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;UAAC;UAE/C;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;IAAM;EAEZ;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,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;AAAAC,OAAA,CAAAD,eAAA,GAAAA,eAAA;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 +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,KAAK,CAAiB;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"}
@@ -1 +1 @@
1
- {"version":3,"file":"images.js","names":["_lodash","require","_getBasePath","imagesFactory","appId","isBuildPush","version","get","name","getBasePath","suffix","window","APP_ROOT","APP_ID","replace","RegExp","escapeRegExp","startsWith","widgetImagesFactory","widgetId","widgetVersion","_window$PUBLIC_ROOT","PUBLIC_ROOT","PUBLIC_ROOT_WITH_VERSION"],"sources":["../../../../src/internal/compute/images.ts"],"sourcesContent":["import { escapeRegExp } from \"lodash\";\nimport { getBasePath } from \"../../getBasePath.js\";\n\nexport interface ImagesFactory {\n get(name: string): string;\n}\n\nexport function imagesFactory(\n appId: string,\n isBuildPush?: boolean,\n version?: string\n): ImagesFactory {\n return {\n get(name) {\n if (isBuildPush) {\n return `${getBasePath()}api/gateway/object_store.object_store.GetObject/api/v1/objectStore/bucket/next-builder/object/${name}`;\n }\n\n let suffix = window.APP_ROOT ? `${window.APP_ROOT}-/` : \"\";\n\n // In injecting menus, the current app ID maybe not the same as the\n // target app of the icon, try to replace the app ID as well as its\n // version in the suffix.\n if (window.APP_ID && window.APP_ID !== appId) {\n suffix = suffix\n .replace(\n new RegExp(`(^|/)${escapeRegExp(window.APP_ID)}/`),\n `$1${appId}/`\n )\n .replace(/\\/\\d+\\.\\d+\\.\\d+\\//, `/${version}/`);\n }\n if (!suffix.startsWith(\"/\")) {\n suffix = getBasePath() + suffix;\n }\n return `${suffix}micro-apps/${appId}/images/${name}`;\n },\n };\n}\n\nexport function widgetImagesFactory(\n widgetId: string,\n widgetVersion?: string\n): ImagesFactory {\n return {\n get(name) {\n return `${window.PUBLIC_ROOT ?? \"\"}bricks/${widgetId}/${\n window.PUBLIC_ROOT_WITH_VERSION && widgetVersion\n ? `${widgetVersion}/`\n : \"\"\n }dist/assets/${name}`;\n },\n };\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAMO,SAASE,aAAaA,CAC3BC,KAAa,EACbC,WAAqB,EACrBC,OAAgB,EACD;EACf,OAAO;IACLC,GAAGA,CAACC,IAAI,EAAE;MACR,IAAIH,WAAW,EAAE;QACf,OAAQ,GAAE,IAAAI,wBAAW,GAAG,iGAAgGD,IAAK,EAAC;MAChI;MAEA,IAAIE,MAAM,GAAGC,MAAM,CAACC,QAAQ,GAAI,GAAED,MAAM,CAACC,QAAS,IAAG,GAAG,EAAE;;MAE1D;MACA;MACA;MACA,IAAID,MAAM,CAACE,MAAM,IAAIF,MAAM,CAACE,MAAM,KAAKT,KAAK,EAAE;QAC5CM,MAAM,GAAGA,MAAM,CACZI,OAAO,CACN,IAAIC,MAAM,CAAE,QAAO,IAAAC,oBAAY,EAACL,MAAM,CAACE,MAAM,CAAE,GAAE,CAAC,EACjD,KAAIT,KAAM,GAAE,CACd,CACAU,OAAO,CAAC,mBAAmB,EAAG,IAAGR,OAAQ,GAAE,CAAC;MACjD;MACA,IAAI,CAACI,MAAM,CAACO,UAAU,CAAC,GAAG,CAAC,EAAE;QAC3BP,MAAM,GAAG,IAAAD,wBAAW,GAAE,GAAGC,MAAM;MACjC;MACA,OAAQ,GAAEA,MAAO,cAAaN,KAAM,WAAUI,IAAK,EAAC;IACtD;EACF,CAAC;AACH;AAEO,SAASU,mBAAmBA,CACjCC,QAAgB,EAChBC,aAAsB,EACP;EACf,OAAO;IACLb,GAAGA,CAACC,IAAI,EAAE;MAAA,IAAAa,mBAAA;MACR,OAAQ,IAAAA,mBAAA,GAAEV,MAAM,CAACW,WAAW,cAAAD,mBAAA,cAAAA,mBAAA,GAAI,EAAG,UAASF,QAAS,IACnDR,MAAM,CAACY,wBAAwB,IAAIH,aAAa,GAC3C,GAAEA,aAAc,GAAE,GACnB,EACL,eAAcZ,IAAK,EAAC;IACvB;EACF,CAAC;AACH"}
1
+ {"version":3,"file":"images.js","names":["_lodash","require","_getBasePath","imagesFactory","appId","isBuildPush","version","get","name","getBasePath","suffix","window","APP_ROOT","APP_ID","replace","RegExp","escapeRegExp","startsWith","widgetImagesFactory","widgetId","widgetVersion","_window$PUBLIC_ROOT","PUBLIC_ROOT","PUBLIC_ROOT_WITH_VERSION"],"sources":["../../../../src/internal/compute/images.ts"],"sourcesContent":["import { escapeRegExp } from \"lodash\";\nimport { getBasePath } from \"../../getBasePath.js\";\n\nexport interface ImagesFactory {\n get(name: string): string;\n}\n\nexport function imagesFactory(\n appId: string,\n isBuildPush?: boolean,\n version?: string\n): ImagesFactory {\n return {\n get(name) {\n if (isBuildPush) {\n return `${getBasePath()}api/gateway/object_store.object_store.GetObject/api/v1/objectStore/bucket/next-builder/object/${name}`;\n }\n\n let suffix = window.APP_ROOT ? `${window.APP_ROOT}-/` : \"\";\n\n // In injecting menus, the current app ID maybe not the same as the\n // target app of the icon, try to replace the app ID as well as its\n // version in the suffix.\n if (window.APP_ID && window.APP_ID !== appId) {\n suffix = suffix\n .replace(\n new RegExp(`(^|/)${escapeRegExp(window.APP_ID)}/`),\n `$1${appId}/`\n )\n .replace(/\\/\\d+\\.\\d+\\.\\d+\\//, `/${version}/`);\n }\n if (!suffix.startsWith(\"/\")) {\n suffix = getBasePath() + suffix;\n }\n return `${suffix}micro-apps/${appId}/images/${name}`;\n },\n };\n}\n\nexport function widgetImagesFactory(\n widgetId: string,\n widgetVersion?: string\n): ImagesFactory {\n return {\n get(name) {\n return `${window.PUBLIC_ROOT ?? \"\"}bricks/${widgetId}/${\n window.PUBLIC_ROOT_WITH_VERSION && widgetVersion\n ? `${widgetVersion}/`\n : \"\"\n }dist/assets/${name}`;\n },\n };\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAMO,SAASE,aAAaA,CAC3BC,KAAa,EACbC,WAAqB,EACrBC,OAAgB,EACD;EACf,OAAO;IACLC,GAAGA,CAACC,IAAI,EAAE;MACR,IAAIH,WAAW,EAAE;QACf,OAAQ,GAAE,IAAAI,wBAAW,EAAC,CAAE,iGAAgGD,IAAK,EAAC;MAChI;MAEA,IAAIE,MAAM,GAAGC,MAAM,CAACC,QAAQ,GAAI,GAAED,MAAM,CAACC,QAAS,IAAG,GAAG,EAAE;;MAE1D;MACA;MACA;MACA,IAAID,MAAM,CAACE,MAAM,IAAIF,MAAM,CAACE,MAAM,KAAKT,KAAK,EAAE;QAC5CM,MAAM,GAAGA,MAAM,CACZI,OAAO,CACN,IAAIC,MAAM,CAAE,QAAO,IAAAC,oBAAY,EAACL,MAAM,CAACE,MAAM,CAAE,GAAE,CAAC,EACjD,KAAIT,KAAM,GACb,CAAC,CACAU,OAAO,CAAC,mBAAmB,EAAG,IAAGR,OAAQ,GAAE,CAAC;MACjD;MACA,IAAI,CAACI,MAAM,CAACO,UAAU,CAAC,GAAG,CAAC,EAAE;QAC3BP,MAAM,GAAG,IAAAD,wBAAW,EAAC,CAAC,GAAGC,MAAM;MACjC;MACA,OAAQ,GAAEA,MAAO,cAAaN,KAAM,WAAUI,IAAK,EAAC;IACtD;EACF,CAAC;AACH;AAEO,SAASU,mBAAmBA,CACjCC,QAAgB,EAChBC,aAAsB,EACP;EACf,OAAO;IACLb,GAAGA,CAACC,IAAI,EAAE;MAAA,IAAAa,mBAAA;MACR,OAAQ,IAAAA,mBAAA,GAAEV,MAAM,CAACW,WAAW,cAAAD,mBAAA,cAAAA,mBAAA,GAAI,EAAG,UAASF,QAAS,IACnDR,MAAM,CAACY,wBAAwB,IAAIH,aAAa,GAC3C,GAAEA,aAAc,GAAE,GACnB,EACL,eAAcZ,IAAK,EAAC;IACvB;EACF,CAAC;AACH"}
@@ -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,cAAc,CACrB;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,GAAE,CACzB;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,GAAE,CACzB;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"}
@@ -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,EAAE;;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,MAAM,CAAW;AACvC;AAEO,SAASE,qBAAqBA,CAAA,EAAS;EAC5CjB,QAAQ,GAAG,IAAIC,OAAO,EAAE;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"}
@@ -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,SAAS,CACV,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;IAAC;EAE1E;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"}
@@ -1 +1 @@
1
- {"version":3,"file":"DataStore.js","names":["_general","require","_storyboard","_bindListeners","_checkIf","_computeRealValue","_resolveData","_resolveDataStore","_handleHttpError","DataStore","type","data","Map","changeEventType","pendingStack","hostBrick","batchUpdate","batchUpdateContextsNames","constructor","getValue","name","_this$data$get","get","value","getAffectListByContext","affectNames","forEach","key","deps","isInDeps","some","item","includes","push","shift","Set","updateValues","values","method","argsFactory","map","length","Error","updateContexts","affectContexts","affectDepsContextNames","arg","updateContextItem","updateValue","filter","affectContextItem","triggerEvent","contexts","_context$eventTarget","context","eventTarget","dispatchEvent","CustomEvent","detail","callback","callbackRuntimeContext","load","promise","loaded","Promise","resolve","loading","cache","then","val","err","error","handleHttpError","callbackFactory","eventCallbackFactory","isObject","Object","assign","console","warn","define","dataConfs","runtimeContext","asyncHostProperties","Array","isArray","pending","resolveDataStore","dataConf","onChange","dataName","listener","_this$data$get2","addEventListener","waitFor","dataNames","pendingContexts","all","ctx","p","waitForAll","pendingResult","asyncCheckIf","expose","hostProps","hasOwnProperty","isLazyResolve","undefined","resolveConf","transform","options","resolveData","lazy","asyncComputeRealValue","newData","EventTarget","listenerFactory","track","strictCollectMemberUsage","dep","batchAddListener","computeRealValue","has","set","contextConf","event","exports"],"sources":["../../../../src/internal/data/DataStore.ts"],"sourcesContent":["import type {\n BatchUpdateContextItem,\n BrickEventHandlerCallback,\n ContextConf,\n} from \"@next-core/types\";\nimport { hasOwnProperty, isObject } from \"@next-core/utils/general\";\nimport { strictCollectMemberUsage } from \"@next-core/utils/storyboard\";\nimport { eventCallbackFactory, listenerFactory } from \"../bindListeners.js\";\nimport { asyncCheckIf } 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 AsyncProperties,\n RuntimeBrick,\n RuntimeContext,\n} from \"../interfaces.js\";\nimport { handleHttpError } from \"../../handleHttpError.js\";\n\nexport type DataStoreType = \"CTX\" | \"STATE\" | \"FORM_STATE\";\n\nexport interface DataStoreItem {\n value: unknown;\n eventTarget: EventTarget;\n loaded?: boolean;\n loading?: Promise<unknown>;\n load?: (options?: ResolveOptions) => Promise<unknown>;\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 public batchUpdate = false;\n public batchUpdateContextsNames: string[] = [];\n\n constructor(type: T, hostBrick?: RuntimeBrick) {\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 }\n\n getValue(name: string): unknown {\n return this.data.get(name)?.value;\n }\n\n 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.load) {\n throw new Error(\n `You can not ${method} \"${this.type}.${name}\" which has no 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 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 item.loaded = true;\n item.value = val;\n item.eventTarget.dispatchEvent(\n new CustomEvent(this.changeEventType, {\n detail: item.value,\n })\n );\n },\n (err) => {\n // Let users override error handling.\n if (!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 callbackFactory(\"error\")(err);\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 define(\n dataConfs: ContextConf[] | undefined,\n runtimeContext: RuntimeContext,\n asyncHostProperties?: AsyncProperties\n ): void {\n if (Array.isArray(dataConfs) && dataConfs.length > 0) {\n const pending = resolveDataStore(\n dataConfs,\n (dataConf: ContextConf) =>\n this.resolve(dataConf, runtimeContext, asyncHostProperties),\n this.type\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 for (const { pendingResult } of this.pendingStack) {\n await pendingResult;\n }\n }\n\n private async resolve(\n dataConf: ContextConf,\n runtimeContext: RuntimeContext,\n asyncHostProperties?: AsyncProperties\n ): Promise<boolean> {\n if (!(await asyncCheckIf(dataConf, runtimeContext))) {\n return false;\n }\n let value: unknown;\n if (\n asyncHostProperties &&\n (this.type === \"STATE\" ? dataConf.expose : this.type === \"FORM_STATE\")\n ) {\n const hostProps = await asyncHostProperties;\n if (hasOwnProperty(hostProps, dataConf.name)) {\n value = hostProps[dataConf.name];\n }\n }\n let load: DataStoreItem[\"load\"];\n let isLazyResolve: boolean | undefined = false;\n if (value === undefined) {\n if (dataConf.resolve) {\n const resolveConf = {\n transform: \"value\",\n ...dataConf.resolve,\n };\n if (await asyncCheckIf(dataConf.resolve, runtimeContext)) {\n load = async (options) =>\n (\n (await resolveData(resolveConf, runtimeContext, options)) as {\n value: unknown;\n }\n ).value;\n isLazyResolve = dataConf.resolve.lazy;\n if (!isLazyResolve) {\n value = await load();\n }\n } else if (!hasOwnProperty(dataConf, \"value\")) {\n return false;\n }\n }\n if ((!load || isLazyResolve) && dataConf.value !== undefined) {\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 const newData: DataStoreItem = {\n value,\n // This is required for tracking context, even if no `onChange` is specified.\n eventTarget: new EventTarget(),\n load,\n loaded: !isLazyResolve,\n deps: [],\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 load ? dataConf.resolve : 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 if (load) {\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 if (this.data.has(dataConf.name)) {\n throw new Error(\n `${this.type} '${dataConf.name}' has already been declared`\n );\n }\n this.data.set(dataConf.name, newData);\n\n return true;\n }\n\n 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","_bindListeners","_checkIf","_computeRealValue","_resolveData","_resolveDataStore","_handleHttpError","DataStore","type","data","Map","changeEventType","pendingStack","hostBrick","batchUpdate","batchUpdateContextsNames","constructor","getValue","name","_this$data$get","get","value","getAffectListByContext","affectNames","forEach","key","deps","isInDeps","some","item","includes","push","shift","Set","updateValues","values","method","argsFactory","map","length","Error","updateContexts","affectContexts","affectDepsContextNames","arg","updateContextItem","updateValue","filter","affectContextItem","triggerEvent","contexts","_context$eventTarget","context","eventTarget","dispatchEvent","CustomEvent","detail","callback","callbackRuntimeContext","load","promise","loaded","Promise","resolve","loading","cache","then","val","err","error","handleHttpError","callbackFactory","eventCallbackFactory","isObject","Object","assign","console","warn","define","dataConfs","runtimeContext","asyncHostProperties","Array","isArray","pending","resolveDataStore","dataConf","onChange","dataName","listener","_this$data$get2","addEventListener","waitFor","dataNames","pendingContexts","all","ctx","p","waitForAll","pendingResult","asyncCheckIf","expose","hostProps","hasOwnProperty","isLazyResolve","undefined","resolveConf","transform","options","resolveData","lazy","asyncComputeRealValue","newData","EventTarget","listenerFactory","track","strictCollectMemberUsage","dep","batchAddListener","computeRealValue","has","set","contextConf","event","exports"],"sources":["../../../../src/internal/data/DataStore.ts"],"sourcesContent":["import type {\n BatchUpdateContextItem,\n BrickEventHandlerCallback,\n ContextConf,\n} from \"@next-core/types\";\nimport { hasOwnProperty, isObject } from \"@next-core/utils/general\";\nimport { strictCollectMemberUsage } from \"@next-core/utils/storyboard\";\nimport { eventCallbackFactory, listenerFactory } from \"../bindListeners.js\";\nimport { asyncCheckIf } 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 AsyncProperties,\n RuntimeBrick,\n RuntimeContext,\n} from \"../interfaces.js\";\nimport { handleHttpError } from \"../../handleHttpError.js\";\n\nexport type DataStoreType = \"CTX\" | \"STATE\" | \"FORM_STATE\";\n\nexport interface DataStoreItem {\n value: unknown;\n eventTarget: EventTarget;\n loaded?: boolean;\n loading?: Promise<unknown>;\n load?: (options?: ResolveOptions) => Promise<unknown>;\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 public batchUpdate = false;\n public batchUpdateContextsNames: string[] = [];\n\n constructor(type: T, hostBrick?: RuntimeBrick) {\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 }\n\n getValue(name: string): unknown {\n return this.data.get(name)?.value;\n }\n\n 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.load) {\n throw new Error(\n `You can not ${method} \"${this.type}.${name}\" which has no 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 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 item.loaded = true;\n item.value = val;\n item.eventTarget.dispatchEvent(\n new CustomEvent(this.changeEventType, {\n detail: item.value,\n })\n );\n },\n (err) => {\n // Let users override error handling.\n if (!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 callbackFactory(\"error\")(err);\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 define(\n dataConfs: ContextConf[] | undefined,\n runtimeContext: RuntimeContext,\n asyncHostProperties?: AsyncProperties\n ): void {\n if (Array.isArray(dataConfs) && dataConfs.length > 0) {\n const pending = resolveDataStore(\n dataConfs,\n (dataConf: ContextConf) =>\n this.resolve(dataConf, runtimeContext, asyncHostProperties),\n this.type\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 for (const { pendingResult } of this.pendingStack) {\n await pendingResult;\n }\n }\n\n private async resolve(\n dataConf: ContextConf,\n runtimeContext: RuntimeContext,\n asyncHostProperties?: AsyncProperties\n ): Promise<boolean> {\n if (!(await asyncCheckIf(dataConf, runtimeContext))) {\n return false;\n }\n let value: unknown;\n if (\n asyncHostProperties &&\n (this.type === \"STATE\" ? dataConf.expose : this.type === \"FORM_STATE\")\n ) {\n const hostProps = await asyncHostProperties;\n if (hasOwnProperty(hostProps, dataConf.name)) {\n value = hostProps[dataConf.name];\n }\n }\n let load: DataStoreItem[\"load\"];\n let isLazyResolve: boolean | undefined = false;\n if (value === undefined) {\n if (dataConf.resolve) {\n const resolveConf = {\n transform: \"value\",\n ...dataConf.resolve,\n };\n if (await asyncCheckIf(dataConf.resolve, runtimeContext)) {\n load = async (options) =>\n (\n (await resolveData(resolveConf, runtimeContext, options)) as {\n value: unknown;\n }\n ).value;\n isLazyResolve = dataConf.resolve.lazy;\n if (!isLazyResolve) {\n value = await load();\n }\n } else if (!hasOwnProperty(dataConf, \"value\")) {\n return false;\n }\n }\n if ((!load || isLazyResolve) && dataConf.value !== undefined) {\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 const newData: DataStoreItem = {\n value,\n // This is required for tracking context, even if no `onChange` is specified.\n eventTarget: new EventTarget(),\n load,\n loaded: !isLazyResolve,\n deps: [],\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 load ? dataConf.resolve : 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 if (load) {\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 if (this.data.has(dataConf.name)) {\n throw new Error(\n `${this.type} '${dataConf.name}' has already been declared`\n );\n }\n this.data.set(dataConf.name, newData);\n\n return true;\n }\n\n 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 +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,EAAuB;AACpC,eAAeC,gBAAgBA,CAACC,QAAgB,EAAwB;EAAA,IAAAC,cAAA;EAC7E,MAAMC,SAAS,GAAGC,cAAK,aAALA,cAAK,wBAAAF,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,EAAE;IAC3C,CAAC,MAAM;MACL,MAAM,IAAAC,8BAAsB,EAAC,CAACZ,QAAQ,CAAC,EAAE,IAAAa,yBAAgB,GAAE,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,wBAAAF,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 +1 @@
1
- {"version":3,"file":"resolveData.js","names":["_computeRealValue","require","_getProviderBrick","_Runtime","cache","Map","resolveData","resolveConf","runtimeContext","options","useProvider","method","args","onReject","legacyProvider","provider","Error","providerBrick","actualArgs","Promise","all","getProviderBrick","asyncComputeRealValue","promise","resolveByProvider","transform","data","error","isHandleRejectByTransform","clearResolveCache","clear","brick","originalArgs","cacheKey","JSON","stringify","e","get","_hooks$flowApi","finalArgs","hooks","flowApi","isFlowApiProvider","getArgsOfFlowApi","resolve","set"],"sources":["../../../../src/internal/data/resolveData.ts"],"sourcesContent":["import type {\n HandleReject,\n HandleRejectByTransform,\n ResolveConf,\n} from \"@next-core/types\";\nimport { asyncComputeRealValue } from \"../compute/computeRealValue.js\";\nimport { getProviderBrick } from \"./getProviderBrick.js\";\nimport type { RuntimeContext } from \"../interfaces.js\";\nimport { hooks } from \"../Runtime.js\";\n\nconst cache = new Map<string, Promise<unknown>>();\n\nexport interface ResolveOptions {\n /**\n * Cache mode of resolve.\n *\n * See https://developer.mozilla.org/en-US/docs/Web/API/Request/cache\n *\n * - `default`: Looks for a matching cache.\n * - `reload`: Without looking for a matching cache.\n */\n cache?: \"default\" | \"reload\";\n}\n\nexport async function resolveData(\n resolveConf: ResolveConf,\n runtimeContext: RuntimeContext,\n options?: ResolveOptions\n) {\n const { useProvider, method = \"resolve\", args = [], onReject } = resolveConf;\n\n const legacyProvider = (resolveConf as { provider?: string }).provider;\n if (legacyProvider && !useProvider) {\n throw new Error(\n `You're using \"provider: ${legacyProvider}\" which is dropped in v3, please use \"useProvider\" instead`\n );\n }\n\n const [providerBrick, actualArgs] = await Promise.all([\n getProviderBrick(useProvider) as unknown as Promise<\n Record<string, Function>\n >,\n asyncComputeRealValue(args, runtimeContext) as Promise<unknown[]>,\n ]);\n\n const promise = resolveByProvider(\n providerBrick,\n useProvider,\n method,\n actualArgs,\n options,\n args\n );\n\n let { transform } = resolveConf;\n let data: unknown;\n\n try {\n data = await promise;\n // The fetched data and its inner objects should never be *injected* again.\n // recursiveMarkAsInjected(data);\n } catch (error) {\n if (isHandleRejectByTransform(onReject)) {\n transform = onReject.transform;\n data = error;\n } else {\n throw error;\n }\n }\n\n if (!transform) {\n return data;\n }\n\n // Keep backward compatibility of string transform.\n if (typeof transform === \"string\") {\n return { [transform]: data };\n }\n\n return asyncComputeRealValue(transform, { ...runtimeContext, data });\n}\n\nexport function clearResolveCache() {\n cache.clear();\n}\n\nexport async function resolveByProvider(\n brick: Record<string, Function>,\n useProvider: string,\n method: string,\n args: unknown[],\n options?: ResolveOptions,\n originalArgs?: unknown[]\n) {\n let cacheKey: string;\n try {\n // `args` may contain circular references, which makes\n // JSON stringify failed, thus we fallback to original args.\n cacheKey = JSON.stringify({\n useProvider,\n method,\n args,\n });\n } catch (e) {\n if (!originalArgs) {\n throw e;\n }\n cacheKey = JSON.stringify({\n useProvider,\n method,\n originalArgs,\n });\n }\n\n let promise: Promise<unknown> | undefined;\n if (options?.cache !== \"reload\") {\n promise = cache.get(cacheKey);\n }\n if (!promise) {\n promise = (async () => {\n const finalArgs = hooks?.flowApi?.isFlowApiProvider(useProvider)\n ? await hooks.flowApi.getArgsOfFlowApi(useProvider, args, method)\n : args;\n return brick.resolve(...finalArgs);\n })();\n\n cache.set(cacheKey, promise);\n }\n\n return promise;\n}\n\nfunction isHandleRejectByTransform(\n onReject: HandleReject | undefined\n): onReject is HandleRejectByTransform {\n return !!(onReject as HandleRejectByTransform)?.transform;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"resolveData.js","names":["_computeRealValue","require","_getProviderBrick","_Runtime","cache","Map","resolveData","resolveConf","runtimeContext","options","useProvider","method","args","onReject","legacyProvider","provider","Error","providerBrick","actualArgs","Promise","all","getProviderBrick","asyncComputeRealValue","promise","resolveByProvider","transform","data","error","isHandleRejectByTransform","clearResolveCache","clear","brick","originalArgs","cacheKey","JSON","stringify","e","get","_hooks$flowApi","finalArgs","hooks","flowApi","isFlowApiProvider","getArgsOfFlowApi","resolve","set"],"sources":["../../../../src/internal/data/resolveData.ts"],"sourcesContent":["import type {\n HandleReject,\n HandleRejectByTransform,\n ResolveConf,\n} from \"@next-core/types\";\nimport { asyncComputeRealValue } from \"../compute/computeRealValue.js\";\nimport { getProviderBrick } from \"./getProviderBrick.js\";\nimport type { RuntimeContext } from \"../interfaces.js\";\nimport { hooks } from \"../Runtime.js\";\n\nconst cache = new Map<string, Promise<unknown>>();\n\nexport interface ResolveOptions {\n /**\n * Cache mode of resolve.\n *\n * See https://developer.mozilla.org/en-US/docs/Web/API/Request/cache\n *\n * - `default`: Looks for a matching cache.\n * - `reload`: Without looking for a matching cache.\n */\n cache?: \"default\" | \"reload\";\n}\n\nexport async function resolveData(\n resolveConf: ResolveConf,\n runtimeContext: RuntimeContext,\n options?: ResolveOptions\n) {\n const { useProvider, method = \"resolve\", args = [], onReject } = resolveConf;\n\n const legacyProvider = (resolveConf as { provider?: string }).provider;\n if (legacyProvider && !useProvider) {\n throw new Error(\n `You're using \"provider: ${legacyProvider}\" which is dropped in v3, please use \"useProvider\" instead`\n );\n }\n\n const [providerBrick, actualArgs] = await Promise.all([\n getProviderBrick(useProvider) as unknown as Promise<\n Record<string, Function>\n >,\n asyncComputeRealValue(args, runtimeContext) as Promise<unknown[]>,\n ]);\n\n const promise = resolveByProvider(\n providerBrick,\n useProvider,\n method,\n actualArgs,\n options,\n args\n );\n\n let { transform } = resolveConf;\n let data: unknown;\n\n try {\n data = await promise;\n // The fetched data and its inner objects should never be *injected* again.\n // recursiveMarkAsInjected(data);\n } catch (error) {\n if (isHandleRejectByTransform(onReject)) {\n transform = onReject.transform;\n data = error;\n } else {\n throw error;\n }\n }\n\n if (!transform) {\n return data;\n }\n\n // Keep backward compatibility of string transform.\n if (typeof transform === \"string\") {\n return { [transform]: data };\n }\n\n return asyncComputeRealValue(transform, { ...runtimeContext, data });\n}\n\nexport function clearResolveCache() {\n cache.clear();\n}\n\nexport async function resolveByProvider(\n brick: Record<string, Function>,\n useProvider: string,\n method: string,\n args: unknown[],\n options?: ResolveOptions,\n originalArgs?: unknown[]\n) {\n let cacheKey: string;\n try {\n // `args` may contain circular references, which makes\n // JSON stringify failed, thus we fallback to original args.\n cacheKey = JSON.stringify({\n useProvider,\n method,\n args,\n });\n } catch (e) {\n if (!originalArgs) {\n throw e;\n }\n cacheKey = JSON.stringify({\n useProvider,\n method,\n originalArgs,\n });\n }\n\n let promise: Promise<unknown> | undefined;\n if (options?.cache !== \"reload\") {\n promise = cache.get(cacheKey);\n }\n if (!promise) {\n promise = (async () => {\n const finalArgs = hooks?.flowApi?.isFlowApiProvider(useProvider)\n ? await hooks.flowApi.getArgsOfFlowApi(useProvider, args, method)\n : args;\n return brick.resolve(...finalArgs);\n })();\n\n cache.set(cacheKey, promise);\n }\n\n return promise;\n}\n\nfunction isHandleRejectByTransform(\n onReject: HandleReject | undefined\n): onReject is HandleRejectByTransform {\n return !!(onReject as HandleRejectByTransform)?.transform;\n}\n"],"mappings":"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"}