@next-core/runtime 1.38.2 → 1.39.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (170) hide show
  1. package/dist/cjs/CustomProcessors.js.map +1 -1
  2. package/dist/cjs/CustomTemplates.js.map +1 -1
  3. package/dist/cjs/Dialog.js.map +1 -1
  4. package/dist/cjs/Notification.js.map +1 -1
  5. package/dist/cjs/StoryboardFunctionRegistry.js.map +1 -1
  6. package/dist/cjs/auth.js.map +1 -1
  7. package/dist/cjs/createRoot.js.map +1 -1
  8. package/dist/cjs/fetchByProvider.js.map +1 -1
  9. package/dist/cjs/getBasePath.js.map +1 -1
  10. package/dist/cjs/getPageInfo.js.map +1 -1
  11. package/dist/cjs/getRealValue.js.map +1 -1
  12. package/dist/cjs/getV2RuntimeFromDll.js.map +1 -1
  13. package/dist/cjs/handleHttpError.js.map +1 -1
  14. package/dist/cjs/history.js.map +1 -1
  15. package/dist/cjs/index.js.map +1 -1
  16. package/dist/cjs/internal/CustomTemplates/bindTemplateProxy.js.map +1 -1
  17. package/dist/cjs/internal/CustomTemplates/constants.js.map +1 -1
  18. package/dist/cjs/internal/CustomTemplates/expandCustomTemplate.js.map +1 -1
  19. package/dist/cjs/internal/CustomTemplates/setupTemplateProxy.js.map +1 -1
  20. package/dist/cjs/internal/CustomTemplates/setupUseBrickInTemplate.js.map +1 -1
  21. package/dist/cjs/internal/CustomTemplates/utils.js.map +1 -1
  22. package/dist/cjs/internal/FormRenderer/constants.js.map +1 -1
  23. package/dist/cjs/internal/FormRenderer/expandFormRenderer.js.map +1 -1
  24. package/dist/cjs/internal/FormRenderer/getDefaultProperties.js.map +1 -1
  25. package/dist/cjs/internal/FormRenderer/interfaces.js.map +1 -1
  26. package/dist/cjs/internal/FormRenderer/utils.js.map +1 -1
  27. package/dist/cjs/internal/Renderer.js.map +1 -1
  28. package/dist/cjs/internal/RendererContext.js +59 -59
  29. package/dist/cjs/internal/RendererContext.js.map +1 -1
  30. package/dist/cjs/internal/Router.js +51 -51
  31. package/dist/cjs/internal/Router.js.map +1 -1
  32. package/dist/cjs/internal/Runtime.js +8 -30
  33. package/dist/cjs/internal/Runtime.js.map +1 -1
  34. package/dist/cjs/internal/abortController.js.map +1 -1
  35. package/dist/cjs/internal/bindListeners.js.map +1 -1
  36. package/dist/cjs/internal/compute/StoryboardFunctions.js.map +1 -1
  37. package/dist/cjs/internal/compute/WidgetFunctions.js.map +1 -1
  38. package/dist/cjs/internal/compute/WidgetI18n.js.map +1 -1
  39. package/dist/cjs/internal/compute/checkIf.js.map +1 -1
  40. package/dist/cjs/internal/compute/computeRealProperties.js.map +1 -1
  41. package/dist/cjs/internal/compute/computeRealValue.js.map +1 -1
  42. package/dist/cjs/internal/compute/evaluate.js.map +1 -1
  43. package/dist/cjs/internal/compute/getGeneralGlobals.js.map +1 -1
  44. package/dist/cjs/internal/compute/getNextStateOfUseBrick.js.map +1 -1
  45. package/dist/cjs/internal/compute/getStorageItem.js.map +1 -1
  46. package/dist/cjs/internal/compute/getTracks.js.map +1 -1
  47. package/dist/cjs/internal/compute/listenOnTrackingContext.js.map +1 -1
  48. package/dist/cjs/internal/compute/markAsComputed.js.map +1 -1
  49. package/dist/cjs/internal/compute/setProperties.js.map +1 -1
  50. package/dist/cjs/internal/compute/setRealProperties.js.map +1 -1
  51. package/dist/cjs/internal/customizeColorTheme.js.map +1 -1
  52. package/dist/cjs/internal/data/DataStore.js.map +1 -1
  53. package/dist/cjs/internal/data/getProviderBrick.js.map +1 -1
  54. package/dist/cjs/internal/data/realTimeDataInspect.js.map +1 -1
  55. package/dist/cjs/internal/data/resolveData.js.map +1 -1
  56. package/dist/cjs/internal/data/resolveDataStore.js.map +1 -1
  57. package/dist/cjs/internal/devtools.js.map +1 -1
  58. package/dist/cjs/internal/enums.js.map +1 -1
  59. package/dist/cjs/internal/fulfilStoryboard.js.map +1 -1
  60. package/dist/cjs/internal/hasInstalledApp.js.map +1 -1
  61. package/dist/cjs/internal/historyExtended.js.map +1 -1
  62. package/dist/cjs/internal/i18n.js.map +1 -1
  63. package/dist/cjs/internal/injected.js.map +1 -1
  64. package/dist/cjs/internal/insertPreviewRoutes.js.map +1 -1
  65. package/dist/cjs/internal/interfaces.js.map +1 -1
  66. package/dist/cjs/internal/matchPath.js.map +1 -1
  67. package/dist/cjs/internal/matchRoutes.js.map +1 -1
  68. package/dist/cjs/internal/matchStoryboard.js.map +1 -1
  69. package/dist/cjs/internal/mediaQuery.js.map +1 -1
  70. package/dist/cjs/internal/mount.js.map +1 -1
  71. package/dist/cjs/internal/poll.js.map +1 -1
  72. package/dist/cjs/internal/proxyFactories.js.map +1 -1
  73. package/dist/cjs/internal/registerAppI18n.js.map +1 -1
  74. package/dist/cjs/internal/registerCustomTemplates.js.map +1 -1
  75. package/dist/cjs/internal/secret_internals.js.map +1 -1
  76. package/dist/cjs/internal/setupRootRuntimeContext.js.map +1 -1
  77. package/dist/cjs/internal/test_only.js.map +1 -1
  78. package/dist/cjs/isStrictMode.js.map +1 -1
  79. package/dist/cjs/setAppVariable.js.map +1 -1
  80. package/dist/cjs/setLoginStateCookie.js.map +1 -1
  81. package/dist/cjs/setUIVersion.js.map +1 -1
  82. package/dist/cjs/setWatermark.js.map +1 -1
  83. package/dist/cjs/themeAndMode.js.map +1 -1
  84. package/dist/esm/CustomProcessors.js +1 -2
  85. package/dist/esm/CustomProcessors.js.map +1 -1
  86. package/dist/esm/CustomTemplates.js +1 -2
  87. package/dist/esm/CustomTemplates.js.map +1 -1
  88. package/dist/esm/Dialog.js.map +1 -1
  89. package/dist/esm/Notification.js.map +1 -1
  90. package/dist/esm/StoryboardFunctionRegistry.js.map +1 -1
  91. package/dist/esm/auth.js.map +1 -1
  92. package/dist/esm/createRoot.js.map +1 -1
  93. package/dist/esm/fetchByProvider.js.map +1 -1
  94. package/dist/esm/getBasePath.js.map +1 -1
  95. package/dist/esm/getPageInfo.js.map +1 -1
  96. package/dist/esm/getRealValue.js.map +1 -1
  97. package/dist/esm/getV2RuntimeFromDll.js.map +1 -1
  98. package/dist/esm/handleHttpError.js.map +1 -1
  99. package/dist/esm/history.js.map +1 -1
  100. package/dist/esm/index.js.map +1 -1
  101. package/dist/esm/internal/CustomTemplates/bindTemplateProxy.js.map +1 -1
  102. package/dist/esm/internal/CustomTemplates/constants.js.map +1 -1
  103. package/dist/esm/internal/CustomTemplates/expandCustomTemplate.js.map +1 -1
  104. package/dist/esm/internal/CustomTemplates/setupTemplateProxy.js.map +1 -1
  105. package/dist/esm/internal/CustomTemplates/setupUseBrickInTemplate.js.map +1 -1
  106. package/dist/esm/internal/CustomTemplates/utils.js.map +1 -1
  107. package/dist/esm/internal/FormRenderer/constants.js.map +1 -1
  108. package/dist/esm/internal/FormRenderer/expandFormRenderer.js.map +1 -1
  109. package/dist/esm/internal/FormRenderer/getDefaultProperties.js.map +1 -1
  110. package/dist/esm/internal/FormRenderer/interfaces.js.map +1 -1
  111. package/dist/esm/internal/FormRenderer/utils.js.map +1 -1
  112. package/dist/esm/internal/Renderer.js.map +1 -1
  113. package/dist/esm/internal/RendererContext.js +3 -3
  114. package/dist/esm/internal/RendererContext.js.map +1 -1
  115. package/dist/esm/internal/Router.js +3 -3
  116. package/dist/esm/internal/Router.js.map +1 -1
  117. package/dist/esm/internal/Runtime.js +5 -31
  118. package/dist/esm/internal/Runtime.js.map +1 -1
  119. package/dist/esm/internal/abortController.js.map +1 -1
  120. package/dist/esm/internal/bindListeners.js.map +1 -1
  121. package/dist/esm/internal/compute/StoryboardFunctions.js.map +1 -1
  122. package/dist/esm/internal/compute/WidgetFunctions.js.map +1 -1
  123. package/dist/esm/internal/compute/WidgetI18n.js.map +1 -1
  124. package/dist/esm/internal/compute/checkIf.js.map +1 -1
  125. package/dist/esm/internal/compute/computeRealProperties.js.map +1 -1
  126. package/dist/esm/internal/compute/computeRealValue.js.map +1 -1
  127. package/dist/esm/internal/compute/evaluate.js.map +1 -1
  128. package/dist/esm/internal/compute/getGeneralGlobals.js.map +1 -1
  129. package/dist/esm/internal/compute/getNextStateOfUseBrick.js.map +1 -1
  130. package/dist/esm/internal/compute/getStorageItem.js.map +1 -1
  131. package/dist/esm/internal/compute/getTracks.js.map +1 -1
  132. package/dist/esm/internal/compute/listenOnTrackingContext.js.map +1 -1
  133. package/dist/esm/internal/compute/markAsComputed.js.map +1 -1
  134. package/dist/esm/internal/compute/setProperties.js.map +1 -1
  135. package/dist/esm/internal/compute/setRealProperties.js.map +1 -1
  136. package/dist/esm/internal/customizeColorTheme.js.map +1 -1
  137. package/dist/esm/internal/data/DataStore.js.map +1 -1
  138. package/dist/esm/internal/data/getProviderBrick.js.map +1 -1
  139. package/dist/esm/internal/data/realTimeDataInspect.js.map +1 -1
  140. package/dist/esm/internal/data/resolveData.js.map +1 -1
  141. package/dist/esm/internal/data/resolveDataStore.js.map +1 -1
  142. package/dist/esm/internal/devtools.js.map +1 -1
  143. package/dist/esm/internal/enums.js.map +1 -1
  144. package/dist/esm/internal/fulfilStoryboard.js.map +1 -1
  145. package/dist/esm/internal/hasInstalledApp.js.map +1 -1
  146. package/dist/esm/internal/historyExtended.js.map +1 -1
  147. package/dist/esm/internal/i18n.js.map +1 -1
  148. package/dist/esm/internal/injected.js.map +1 -1
  149. package/dist/esm/internal/insertPreviewRoutes.js.map +1 -1
  150. package/dist/esm/internal/interfaces.js.map +1 -1
  151. package/dist/esm/internal/matchPath.js.map +1 -1
  152. package/dist/esm/internal/matchRoutes.js.map +1 -1
  153. package/dist/esm/internal/matchStoryboard.js.map +1 -1
  154. package/dist/esm/internal/mediaQuery.js.map +1 -1
  155. package/dist/esm/internal/mount.js.map +1 -1
  156. package/dist/esm/internal/poll.js.map +1 -1
  157. package/dist/esm/internal/proxyFactories.js.map +1 -1
  158. package/dist/esm/internal/registerAppI18n.js.map +1 -1
  159. package/dist/esm/internal/registerCustomTemplates.js.map +1 -1
  160. package/dist/esm/internal/secret_internals.js.map +1 -1
  161. package/dist/esm/internal/setupRootRuntimeContext.js.map +1 -1
  162. package/dist/esm/internal/test_only.js.map +1 -1
  163. package/dist/esm/isStrictMode.js.map +1 -1
  164. package/dist/esm/setAppVariable.js.map +1 -1
  165. package/dist/esm/setLoginStateCookie.js.map +1 -1
  166. package/dist/esm/setUIVersion.js.map +1 -1
  167. package/dist/esm/setWatermark.js.map +1 -1
  168. package/dist/esm/themeAndMode.js.map +1 -1
  169. package/dist/types/tsdoc-metadata.json +1 -1
  170. package/package.json +13 -13
@@ -1 +1 @@
1
- {"version":3,"file":"getGeneralGlobals.js","names":["identity","i18n","i18nText","widgetI18nFactory","getReadOnlyProxy","getTheme","getBasePath","getI18nNamespace","hooks","getGeneralGlobals","attemptToVisitGlobals","options","globalVariables","variableName","variable","getIndividualGlobal","undefined","_ref","_hooks$images","_hooks$images2","_hooks$checkPermissio","collectCoverage","widgetId","widgetVersion","app","appendI18nNamespace","storyboardFunctions","isStoryboardFunction","replace","fakeImageFactory","images","widgetImagesFactory","imagesFactory","id","isBuildPush","currentVersion","getFixedT","filter","Boolean","fakeI18nText","check","fakeCheckPermissions","checkPermissions","console","href","origin","host","hostname","location","data","en","get","name","concat"],"sources":["../../../../src/internal/compute/getGeneralGlobals.ts"],"sourcesContent":["import { identity } from \"lodash\";\nimport type { MicroApp } from \"@next-core/types\";\nimport { i18n, i18nText } from \"@next-core/i18n\";\nimport { widgetI18nFactory } from \"./WidgetI18n.js\";\nimport { getReadOnlyProxy } from \"../proxyFactories.js\";\nimport { getTheme } from \"../../themeAndMode.js\";\nimport { getBasePath } from \"../../getBasePath.js\";\nimport { getI18nNamespace } from \"../registerAppI18n.js\";\nimport { ImagesFactory, hooks } from \"../Runtime.js\";\n\nexport interface GeneralGlobalsOptions {\n collectCoverage?: unknown;\n widgetId?: string;\n widgetVersion?: string;\n app?: PartialMicroApp;\n appendI18nNamespace?: string;\n storyboardFunctions?: unknown;\n isStoryboardFunction?: boolean;\n}\n\nexport type PartialMicroApp = Pick<MicroApp, \"id\" | \"isBuildPush\">;\n\n// `GeneralGlobals` are globals which are page-state-agnostic,\n// thus they can be used both in storyboard expressions and functions.\nexport function getGeneralGlobals(\n attemptToVisitGlobals: Set<string>,\n options: GeneralGlobalsOptions\n): Record<string, unknown> {\n const globalVariables: Record<string, unknown> = {};\n for (const variableName of attemptToVisitGlobals) {\n const variable = getIndividualGlobal(variableName, options);\n if (variable !== undefined) {\n globalVariables[variableName] = variable;\n }\n }\n return globalVariables;\n}\n\nfunction getIndividualGlobal(\n variableName: string,\n {\n collectCoverage,\n widgetId,\n widgetVersion,\n app,\n appendI18nNamespace,\n storyboardFunctions,\n isStoryboardFunction,\n }: GeneralGlobalsOptions\n): unknown {\n switch (variableName) {\n case \"BASE_URL\":\n return collectCoverage ? \"/next\" : getBasePath().replace(/\\/$/, \"\");\n case \"FN\":\n return storyboardFunctions;\n case \"IMG\":\n return collectCoverage\n ? fakeImageFactory()\n : widgetId\n ? hooks?.images?.widgetImagesFactory(widgetId, widgetVersion)\n : hooks?.images?.imagesFactory(\n app!.id,\n app!.isBuildPush,\n (app as { currentVersion?: string }).currentVersion\n );\n case \"I18N\":\n return collectCoverage\n ? identity\n : widgetId\n ? widgetI18nFactory(widgetId)\n : i18n.getFixedT(\n null,\n [appendI18nNamespace, getI18nNamespace(\"app\", app!.id)].filter(\n Boolean\n ) as string[]\n );\n case \"I18N_TEXT\":\n return collectCoverage ? fakeI18nText : i18nText;\n case \"PERMISSIONS\":\n return getReadOnlyProxy({\n check: collectCoverage\n ? fakeCheckPermissions\n : hooks?.checkPermissions?.checkPermissions,\n });\n case \"THEME\":\n return getReadOnlyProxy({\n getTheme: collectCoverage ? () => \"light\" : getTheme,\n // getCssPropertyValue: collectCoverage ? () => \"\" : getCssPropertyValue,\n });\n case \"console\":\n return isStoryboardFunction ? getReadOnlyProxy(console) : undefined;\n case \"location\":\n return collectCoverage\n ? {\n href: \"http://localhost:3000/functions/test\",\n origin: \"http://localhost:3000\",\n host: \"localhost:3000\",\n hostname: \"localhost\",\n }\n : {\n href: location.href,\n origin: location.origin,\n host: location.host,\n hostname: location.hostname,\n };\n }\n}\n\nfunction fakeI18nText(data: Record<string, string>): string {\n return data?.en;\n}\n\nfunction fakeImageFactory(): ImagesFactory {\n return {\n get(name: string) {\n return `mock/images/${name}`;\n },\n };\n}\n\nfunction fakeCheckPermissions(): boolean {\n return true;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"getGeneralGlobals.js","names":["identity","i18n","i18nText","widgetI18nFactory","getReadOnlyProxy","getTheme","getBasePath","getI18nNamespace","hooks","getGeneralGlobals","attemptToVisitGlobals","options","globalVariables","variableName","variable","getIndividualGlobal","undefined","_ref","_hooks$images","_hooks$images2","_hooks$checkPermissio","collectCoverage","widgetId","widgetVersion","app","appendI18nNamespace","storyboardFunctions","isStoryboardFunction","replace","fakeImageFactory","images","widgetImagesFactory","imagesFactory","id","isBuildPush","currentVersion","getFixedT","filter","Boolean","fakeI18nText","check","fakeCheckPermissions","checkPermissions","console","href","origin","host","hostname","location","data","en","get","name","concat"],"sources":["../../../../src/internal/compute/getGeneralGlobals.ts"],"sourcesContent":["import { identity } from \"lodash\";\nimport type { MicroApp } from \"@next-core/types\";\nimport { i18n, i18nText } from \"@next-core/i18n\";\nimport { widgetI18nFactory } from \"./WidgetI18n.js\";\nimport { getReadOnlyProxy } from \"../proxyFactories.js\";\nimport { getTheme } from \"../../themeAndMode.js\";\nimport { getBasePath } from \"../../getBasePath.js\";\nimport { getI18nNamespace } from \"../registerAppI18n.js\";\nimport { ImagesFactory, hooks } from \"../Runtime.js\";\n\nexport interface GeneralGlobalsOptions {\n collectCoverage?: unknown;\n widgetId?: string;\n widgetVersion?: string;\n app?: PartialMicroApp;\n appendI18nNamespace?: string;\n storyboardFunctions?: unknown;\n isStoryboardFunction?: boolean;\n}\n\nexport type PartialMicroApp = Pick<MicroApp, \"id\" | \"isBuildPush\">;\n\n// `GeneralGlobals` are globals which are page-state-agnostic,\n// thus they can be used both in storyboard expressions and functions.\nexport function getGeneralGlobals(\n attemptToVisitGlobals: Set<string>,\n options: GeneralGlobalsOptions\n): Record<string, unknown> {\n const globalVariables: Record<string, unknown> = {};\n for (const variableName of attemptToVisitGlobals) {\n const variable = getIndividualGlobal(variableName, options);\n if (variable !== undefined) {\n globalVariables[variableName] = variable;\n }\n }\n return globalVariables;\n}\n\nfunction getIndividualGlobal(\n variableName: string,\n {\n collectCoverage,\n widgetId,\n widgetVersion,\n app,\n appendI18nNamespace,\n storyboardFunctions,\n isStoryboardFunction,\n }: GeneralGlobalsOptions\n): unknown {\n switch (variableName) {\n case \"BASE_URL\":\n return collectCoverage ? \"/next\" : getBasePath().replace(/\\/$/, \"\");\n case \"FN\":\n return storyboardFunctions;\n case \"IMG\":\n return collectCoverage\n ? fakeImageFactory()\n : widgetId\n ? hooks?.images?.widgetImagesFactory(widgetId, widgetVersion)\n : hooks?.images?.imagesFactory(\n app!.id,\n app!.isBuildPush,\n (app as { currentVersion?: string }).currentVersion\n );\n case \"I18N\":\n return collectCoverage\n ? identity\n : widgetId\n ? widgetI18nFactory(widgetId)\n : i18n.getFixedT(\n null,\n [appendI18nNamespace, getI18nNamespace(\"app\", app!.id)].filter(\n Boolean\n ) as string[]\n );\n case \"I18N_TEXT\":\n return collectCoverage ? fakeI18nText : i18nText;\n case \"PERMISSIONS\":\n return getReadOnlyProxy({\n check: collectCoverage\n ? fakeCheckPermissions\n : hooks?.checkPermissions?.checkPermissions,\n });\n case \"THEME\":\n return getReadOnlyProxy({\n getTheme: collectCoverage ? () => \"light\" : getTheme,\n // getCssPropertyValue: collectCoverage ? () => \"\" : getCssPropertyValue,\n });\n case \"console\":\n return isStoryboardFunction ? getReadOnlyProxy(console) : undefined;\n case \"location\":\n return collectCoverage\n ? {\n href: \"http://localhost:3000/functions/test\",\n origin: \"http://localhost:3000\",\n host: \"localhost:3000\",\n hostname: \"localhost\",\n }\n : {\n href: location.href,\n origin: location.origin,\n host: location.host,\n hostname: location.hostname,\n };\n }\n}\n\nfunction fakeI18nText(data: Record<string, string>): string {\n return data?.en;\n}\n\nfunction fakeImageFactory(): ImagesFactory {\n return {\n get(name: string) {\n return `mock/images/${name}`;\n },\n };\n}\n\nfunction fakeCheckPermissions(): boolean {\n return true;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"getNextStateOfUseBrick.js","names":["StateOfUseBrick","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":"AAAA,WAAYA,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;AAiB3B,OAAO,SAASC,uBAAuBA,CACrCC,KAAkC,EACzB;EACT,QAAQA,KAAK;IACX,KAAKF,eAAe,CAACG,oBAAoB;IACzC,KAAKH,eAAe,CAACI,mBAAmB;IACxC,KAAKJ,eAAe,CAACK,gBAAgB;IACrC,KAAKL,eAAe,CAACM,YAAY;IACjC,KAAKN,eAAe,CAACO,mBAAmB;IACxC,KAAKP,eAAe,CAACQ,qBAAqB;MACxC,OAAO,IAAI;EACf;EACA,OAAO,KAAK;AACd;AAEA,OAAO,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,KAAKF,eAAe,CAACY,SAAS;QAC5B,OAAOZ,eAAe,CAACa,cAAc;MACvC,KAAKb,eAAe,CAACc,2BAA2B;QAC9C,OAAOd,eAAe,CAACe,gCAAgC;IAC3D;EACF,CAAC,MAAM;IACL,QAAQb,KAAK;MACX,KAAKF,eAAe,CAACgB,OAAO;QAC1B,IAAIL,GAAG,KAAK,UAAU,EAAE;UACtB,OAAOX,eAAe,CAACY,SAAS;QAClC;QACA;MACF,KAAKZ,eAAe,CAACY,SAAS;MAC9B,KAAKZ,eAAe,CAACa,cAAc;MACnC,KAAKb,eAAe,CAACe,gCAAgC;QAAE;UACrD,QAAQJ,GAAG;YACT,KAAK,YAAY;cACf,OAAOX,eAAe,CAACG,oBAAoB;YAC7C,KAAK,WAAW;cACd,OAAOH,eAAe,CAACI,mBAAmB;YAC5C,KAAK,YAAY;cACf,OAAOJ,eAAe,CAACQ,qBAAqB;YAC9C,KAAK,QAAQ;cACX,OAAOR,eAAe,CAACK,gBAAgB;YACzC,KAAK,OAAO;cACV,OAAOL,eAAe,CAACiB,eAAe;YACxC,KAAK,UAAU;cACb,OAAOjB,eAAe,CAACc,2BAA2B;YACpD,KAAK,IAAI;cACP,OAAOd,eAAe,CAACM,YAAY;YACrC,KAAK,WAAW;cACd,OAAON,eAAe,CAACO,mBAAmB;UAC9C;UACA;QACF;MACA,KAAKP,eAAe,CAACiB,eAAe;QAClC,OAAOjB,eAAe,CAACkB,oBAAoB;MAC7C,KAAKlB,eAAe,CAACkB,oBAAoB;QACvC,IAAIP,GAAG,KAAK,QAAQ,EAAE;UACpB,OAAOX,eAAe,CAACc,2BAA2B;QACpD;QACA;IACJ;EACF;EACA,OAAOd,eAAe,CAACgB,OAAO;AAChC"}
1
+ {"version":3,"file":"getNextStateOfUseBrick.js","names":["StateOfUseBrick","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":"AAAA,WAAYA,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;AAiB3B,OAAO,SAASC,uBAAuBA,CACrCC,KAAkC,EACzB;EACT,QAAQA,KAAK;IACX,KAAKF,eAAe,CAACG,oBAAoB;IACzC,KAAKH,eAAe,CAACI,mBAAmB;IACxC,KAAKJ,eAAe,CAACK,gBAAgB;IACrC,KAAKL,eAAe,CAACM,YAAY;IACjC,KAAKN,eAAe,CAACO,mBAAmB;IACxC,KAAKP,eAAe,CAACQ,qBAAqB;MACxC,OAAO,IAAI;EACf;EACA,OAAO,KAAK;AACd;AAEA,OAAO,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,KAAKF,eAAe,CAACY,SAAS;QAC5B,OAAOZ,eAAe,CAACa,cAAc;MACvC,KAAKb,eAAe,CAACc,2BAA2B;QAC9C,OAAOd,eAAe,CAACe,gCAAgC;IAC3D;EACF,CAAC,MAAM;IACL,QAAQb,KAAK;MACX,KAAKF,eAAe,CAACgB,OAAO;QAC1B,IAAIL,GAAG,KAAK,UAAU,EAAE;UACtB,OAAOX,eAAe,CAACY,SAAS;QAClC;QACA;MACF,KAAKZ,eAAe,CAACY,SAAS;MAC9B,KAAKZ,eAAe,CAACa,cAAc;MACnC,KAAKb,eAAe,CAACe,gCAAgC;QAAE;UACrD,QAAQJ,GAAG;YACT,KAAK,YAAY;cACf,OAAOX,eAAe,CAACG,oBAAoB;YAC7C,KAAK,WAAW;cACd,OAAOH,eAAe,CAACI,mBAAmB;YAC5C,KAAK,YAAY;cACf,OAAOJ,eAAe,CAACQ,qBAAqB;YAC9C,KAAK,QAAQ;cACX,OAAOR,eAAe,CAACK,gBAAgB;YACzC,KAAK,OAAO;cACV,OAAOL,eAAe,CAACiB,eAAe;YACxC,KAAK,UAAU;cACb,OAAOjB,eAAe,CAACc,2BAA2B;YACpD,KAAK,IAAI;cACP,OAAOd,eAAe,CAACM,YAAY;YACrC,KAAK,WAAW;cACd,OAAON,eAAe,CAACO,mBAAmB;UAC9C;UACA;QACF;MACA,KAAKP,eAAe,CAACiB,eAAe;QAClC,OAAOjB,eAAe,CAACkB,oBAAoB;MAC7C,KAAKlB,eAAe,CAACkB,oBAAoB;QACvC,IAAIP,GAAG,KAAK,QAAQ,EAAE;UACpB,OAAOX,eAAe,CAACc,2BAA2B;QACpD;QACA;IACJ;EACF;EACA,OAAOd,eAAe,CAACgB,OAAO;AAChC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"getStorageItem.js","names":["getStorageItem","storageType","name","_storage$getItem","storage","localStorage","sessionStorage","JSON","parse","getItem"],"sources":["../../../../src/internal/compute/getStorageItem.ts"],"sourcesContent":["export function getStorageItem(storageType: \"local\" | \"session\") {\n return function (name: string) {\n const storage = storageType === \"local\" ? localStorage : sessionStorage;\n return JSON.parse(storage.getItem(name) ?? \"null\");\n };\n}\n"],"mappings":"AAAA,OAAO,SAASA,cAAcA,CAACC,WAAgC,EAAE;EAC/D,OAAO,UAAUC,IAAY,EAAE;IAAA,IAAAC,gBAAA;IAC7B,IAAMC,OAAO,GAAGH,WAAW,KAAK,OAAO,GAAGI,YAAY,GAAGC,cAAc;IACvE,OAAOC,IAAI,CAACC,KAAK,EAAAL,gBAAA,GAACC,OAAO,CAACK,OAAO,CAACP,IAAI,CAAC,cAAAC,gBAAA,cAAAA,gBAAA,GAAI,MAAM,CAAC;EACpD,CAAC;AACH"}
1
+ {"version":3,"file":"getStorageItem.js","names":["getStorageItem","storageType","name","_storage$getItem","storage","localStorage","sessionStorage","JSON","parse","getItem"],"sources":["../../../../src/internal/compute/getStorageItem.ts"],"sourcesContent":["export function getStorageItem(storageType: \"local\" | \"session\") {\n return function (name: string) {\n const storage = storageType === \"local\" ? localStorage : sessionStorage;\n return JSON.parse(storage.getItem(name) ?? \"null\");\n };\n}\n"],"mappings":"AAAA,OAAO,SAASA,cAAcA,CAACC,WAAgC,EAAE;EAC/D,OAAO,UAAUC,IAAY,EAAE;IAAA,IAAAC,gBAAA;IAC7B,IAAMC,OAAO,GAAGH,WAAW,KAAK,OAAO,GAAGI,YAAY,GAAGC,cAAc;IACvE,OAAOC,IAAI,CAACC,KAAK,EAAAL,gBAAA,GAACC,OAAO,CAACK,OAAO,CAACP,IAAI,CAAC,cAAAC,gBAAA,cAAAA,gBAAA,GAAI,MAAM,CAAC;EACpD,CAAC;AACH","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"getTracks.js","names":["isEvaluable","isTrackAll","track","trackAll","getPreEvaluatedRaw","isPreEvaluated","getTracks","value","contextNames","stateNames","formStateNames","raw","result","context","state","formState"],"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,SAASA,WAAW,EAAEC,UAAU,QAAQ,iBAAiB;AACzD,SAASC,KAAK,EAAEC,QAAQ,QAAQ,6BAA6B;AAC7D,SAEEC,kBAAkB,EAClBC,cAAc,QACT,eAAe;AAEtB,OAAO,SAASC,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,GAAGP,WAAW,CAACO,KAAK,CAAC,GAAGF,cAAc,CAACE,KAAK,CAAC,EAAE;IAC1E,IAAMI,GAAG,GACP,OAAOJ,KAAK,KAAK,QAAQ,GACrBA,KAAK,GACLH,kBAAkB,CAACG,KAAqB,CAAC;IAC/C,IAAIN,UAAU,CAACU,GAAG,CAAC,EAAE;MACnB,IAAMC,MAAM,GAAGT,QAAQ,CAACQ,GAAG,CAAC;MAC5B,IAAIC,MAAM,EAAE;QACVJ,YAAY,GAAGI,MAAM,CAACC,OAAO;QAC7BJ,UAAU,GAAGG,MAAM,CAACE,KAAK;QACzBJ,cAAc,GAAGE,MAAM,CAACG,SAAS;MACnC;IACF,CAAC,MAAM;MACLP,YAAY,GAAGN,KAAK,CAACS,GAAG,EAAE,eAAe,EAAE,KAAK,CAAC;MACjDF,UAAU,GAAGP,KAAK,CAACS,GAAG,EAAE,aAAa,EAAE,OAAO,CAAC;MAC/CD,cAAc,GAAGR,KAAK,CAACS,GAAG,EAAE,iBAAiB,EAAE,YAAY,CAAC;IAC9D;EACF;EAEA,OAAO;IAAEH,YAAY;IAAEC,UAAU;IAAEC;EAAe,CAAC;AACrD"}
1
+ {"version":3,"file":"getTracks.js","names":["isEvaluable","isTrackAll","track","trackAll","getPreEvaluatedRaw","isPreEvaluated","getTracks","value","contextNames","stateNames","formStateNames","raw","result","context","state","formState"],"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,SAASA,WAAW,EAAEC,UAAU,QAAQ,iBAAiB;AACzD,SAASC,KAAK,EAAEC,QAAQ,QAAQ,6BAA6B;AAC7D,SAEEC,kBAAkB,EAClBC,cAAc,QACT,eAAe;AAEtB,OAAO,SAASC,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,GAAGP,WAAW,CAACO,KAAK,CAAC,GAAGF,cAAc,CAACE,KAAK,CAAC,EAAE;IAC1E,IAAMI,GAAG,GACP,OAAOJ,KAAK,KAAK,QAAQ,GACrBA,KAAK,GACLH,kBAAkB,CAACG,KAAqB,CAAC;IAC/C,IAAIN,UAAU,CAACU,GAAG,CAAC,EAAE;MACnB,IAAMC,MAAM,GAAGT,QAAQ,CAACQ,GAAG,CAAC;MAC5B,IAAIC,MAAM,EAAE;QACVJ,YAAY,GAAGI,MAAM,CAACC,OAAO;QAC7BJ,UAAU,GAAGG,MAAM,CAACE,KAAK;QACzBJ,cAAc,GAAGE,MAAM,CAACG,SAAS;MACnC;IACF,CAAC,MAAM;MACLP,YAAY,GAAGN,KAAK,CAACS,GAAG,EAAE,eAAe,EAAE,KAAK,CAAC;MACjDF,UAAU,GAAGP,KAAK,CAACS,GAAG,EAAE,aAAa,EAAE,OAAO,CAAC;MAC/CD,cAAc,GAAGR,KAAK,CAACS,GAAG,EAAE,iBAAiB,EAAE,YAAY,CAAC;IAC9D;EACF;EAEA,OAAO;IAAEH,YAAY;IAAEC,UAAU;IAAEC;EAAe,CAAC;AACrD","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"listenOnTrackingContext.js","names":["setProperties","getTplStateStore","getFormStateStore","listenOnTrackingContext","brick","trackingContextList","_loop","track","listener","element","propName","propValue","runtimeContext","contextNames","contextName","ctxStore","onChange","stateNames","tplStateStore","concat","stateName","formStateNames","formStateStore"],"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,SAASA,aAAa,QAAQ,oBAAoB;AAElD,SAASC,gBAAgB,QAAQ,6BAA6B;AAC9D,SAASC,iBAAiB,QAAQ,0BAA0B;AAU5D,OAAO,SAASC,uBAAuBA,CACrCC,KAAmB,EACnBC,mBAA0C,EACpC;EAAA,IAAAC,KAAA,YAAAA,CAAAC,KAAA,EACmC;IACvC,IAAMC,QAAQ,GAAGA,CAAA,KAAY;MAC3B,IAAIJ,KAAK,CAACK,OAAO,EAAE;QACjBT,aAAa,CACXI,KAAK,CAACK,OAAO,EACb;UAAE,CAACF,KAAK,CAACG,QAAQ,GAAGH,KAAK,CAACI;QAAU,CAAC,EACrCP,KAAK,CAACQ,cACR,CAAC;MACH;IACF,CAAC;IACD,IAAIL,KAAK,CAACM,YAAY,EAAE;MACtB,KAAK,IAAMC,WAAW,IAAIP,KAAK,CAACM,YAAY,EAAE;QAC5CT,KAAK,CAACQ,cAAc,CAACG,QAAQ,CAACC,QAAQ,CAACF,WAAW,EAAEN,QAAQ,CAAC;MAC/D;IACF;IACA,IAAID,KAAK,CAACU,UAAU,EAAE;MACpB,IAAMC,aAAa,GAAGjB,gBAAgB,CACpCG,KAAK,CAACQ,cAAc,EACpB,OAAO,SAAAO,MAAA,CACDZ,KAAK,CAACI,SAAS,OACvB,CAAC;MACD,KAAK,IAAMS,SAAS,IAAIb,KAAK,CAACU,UAAU,EAAE;QACxCC,aAAa,CAACF,QAAQ,CAACI,SAAS,EAAEZ,QAAQ,CAAC;MAC7C;IACF;IACA,IAAID,KAAK,CAACc,cAAc,EAAE;MACxB,IAAMC,cAAc,GAAGpB,iBAAiB,CACtCE,KAAK,CAACQ,cAAc,EACpB,YAAY,SAAAO,MAAA,CACNZ,KAAK,CAACI,SAAS,OACvB,CAAC;MACD,KAAK,IAAMS,UAAS,IAAIb,KAAK,CAACc,cAAc,EAAE;QAC5CC,cAAc,CAACN,QAAQ,CAACI,UAAS,EAAEZ,QAAQ,CAAC;MAC9C;IACF;EACF,CAAC;EAnCD,KAAK,IAAMD,KAAK,IAAIF,mBAAmB;IAAAC,KAAA,CAAAC,KAAA;EAAA;AAoCzC"}
1
+ {"version":3,"file":"listenOnTrackingContext.js","names":["setProperties","getTplStateStore","getFormStateStore","listenOnTrackingContext","brick","trackingContextList","_loop","track","listener","element","propName","propValue","runtimeContext","contextNames","contextName","ctxStore","onChange","stateNames","tplStateStore","concat","stateName","formStateNames","formStateStore"],"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,SAASA,aAAa,QAAQ,oBAAoB;AAElD,SAASC,gBAAgB,QAAQ,6BAA6B;AAC9D,SAASC,iBAAiB,QAAQ,0BAA0B;AAU5D,OAAO,SAASC,uBAAuBA,CACrCC,KAAmB,EACnBC,mBAA0C,EACpC;EAAA,IAAAC,KAAA,YAAAA,CAAAC,KAAA,EACmC;IACvC,IAAMC,QAAQ,GAAGA,CAAA,KAAY;MAC3B,IAAIJ,KAAK,CAACK,OAAO,EAAE;QACjBT,aAAa,CACXI,KAAK,CAACK,OAAO,EACb;UAAE,CAACF,KAAK,CAACG,QAAQ,GAAGH,KAAK,CAACI;QAAU,CAAC,EACrCP,KAAK,CAACQ,cACR,CAAC;MACH;IACF,CAAC;IACD,IAAIL,KAAK,CAACM,YAAY,EAAE;MACtB,KAAK,IAAMC,WAAW,IAAIP,KAAK,CAACM,YAAY,EAAE;QAC5CT,KAAK,CAACQ,cAAc,CAACG,QAAQ,CAACC,QAAQ,CAACF,WAAW,EAAEN,QAAQ,CAAC;MAC/D;IACF;IACA,IAAID,KAAK,CAACU,UAAU,EAAE;MACpB,IAAMC,aAAa,GAAGjB,gBAAgB,CACpCG,KAAK,CAACQ,cAAc,EACpB,OAAO,SAAAO,MAAA,CACDZ,KAAK,CAACI,SAAS,OACvB,CAAC;MACD,KAAK,IAAMS,SAAS,IAAIb,KAAK,CAACU,UAAU,EAAE;QACxCC,aAAa,CAACF,QAAQ,CAACI,SAAS,EAAEZ,QAAQ,CAAC;MAC7C;IACF;IACA,IAAID,KAAK,CAACc,cAAc,EAAE;MACxB,IAAMC,cAAc,GAAGpB,iBAAiB,CACtCE,KAAK,CAACQ,cAAc,EACpB,YAAY,SAAAO,MAAA,CACNZ,KAAK,CAACI,SAAS,OACvB,CAAC;MACD,KAAK,IAAMS,UAAS,IAAIb,KAAK,CAACc,cAAc,EAAE;QAC5CC,cAAc,CAACN,QAAQ,CAACI,UAAS,EAAEZ,QAAQ,CAAC;MAC9C;IACF;EACF,CAAC;EAnCD,KAAK,IAAMD,KAAK,IAAIF,mBAAmB;IAAAC,KAAA,CAAAC,KAAA;EAAA;AAoCzC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"markAsComputed.js","names":["isObject","computed","WeakSet","markAsComputed","value","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,SAASA,QAAQ,QAAQ,0BAA0B;AAEnD,IAAIC,QAAQ,GAAG,IAAIC,OAAO,CAAC,CAAC;;AAE5B;AACA;AACA,OAAO,SAASC,cAAcA,CAACC,KAAc,EAAQ;EACnD,IAAIJ,QAAQ,CAACI,KAAK,CAAC,EAAE;IACnB,IAAI,CAACC,eAAe,CAACD,KAAK,CAAC,EAAE;MAC3BH,QAAQ,CAACK,GAAG,CAACF,KAAK,CAAC;MACnB,IAAIG,KAAK,CAACC,OAAO,CAACJ,KAAK,CAAC,EAAE;QACxBA,KAAK,CAACK,OAAO,CAACN,cAAc,CAAC;MAC/B,CAAC,MAAM;QACL;QACA,IAAMO,KAAK,GAAGC,MAAM,CAACC,cAAc,CAACR,KAAK,CAAC;QAC1C,IAAI,CAACM,KAAK,IAAIA,KAAK,CAACG,WAAW,KAAKF,MAAM,EAAE;UAC1CA,MAAM,CAACG,MAAM,CAACV,KAAK,CAAC,CAACK,OAAO,CAACN,cAAc,CAAC;QAC9C;MACF;IACF;EACF;AACF;AAEA,OAAO,SAASE,eAAeA,CAACU,MAAe,EAAW;EACxD,OAAOd,QAAQ,CAACe,GAAG,CAACD,MAAgB,CAAC;AACvC;AAEA,OAAO,SAASE,qBAAqBA,CAAA,EAAS;EAC5ChB,QAAQ,GAAG,IAAIC,OAAO,CAAC,CAAC;AAC1B"}
1
+ {"version":3,"file":"markAsComputed.js","names":["isObject","computed","WeakSet","markAsComputed","value","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,SAASA,QAAQ,QAAQ,0BAA0B;AAEnD,IAAIC,QAAQ,GAAG,IAAIC,OAAO,CAAC,CAAC;;AAE5B;AACA;AACA,OAAO,SAASC,cAAcA,CAACC,KAAc,EAAQ;EACnD,IAAIJ,QAAQ,CAACI,KAAK,CAAC,EAAE;IACnB,IAAI,CAACC,eAAe,CAACD,KAAK,CAAC,EAAE;MAC3BH,QAAQ,CAACK,GAAG,CAACF,KAAK,CAAC;MACnB,IAAIG,KAAK,CAACC,OAAO,CAACJ,KAAK,CAAC,EAAE;QACxBA,KAAK,CAACK,OAAO,CAACN,cAAc,CAAC;MAC/B,CAAC,MAAM;QACL;QACA,IAAMO,KAAK,GAAGC,MAAM,CAACC,cAAc,CAACR,KAAK,CAAC;QAC1C,IAAI,CAACM,KAAK,IAAIA,KAAK,CAACG,WAAW,KAAKF,MAAM,EAAE;UAC1CA,MAAM,CAACG,MAAM,CAACV,KAAK,CAAC,CAACK,OAAO,CAACN,cAAc,CAAC;QAC9C;MACF;IACF;EACF;AACF;AAEA,OAAO,SAASE,eAAeA,CAACU,MAAe,EAAW;EACxD,OAAOd,QAAQ,CAACe,GAAG,CAACD,MAAgB,CAAC;AACvC;AAEA,OAAO,SAASE,qBAAqBA,CAAA,EAAS;EAC5ChB,QAAQ,GAAG,IAAIC,OAAO,CAAC,CAAC;AAC1B","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"setProperties.js","names":["computeRealProperties","setRealProperties","setProperties","bricks","properties","runtimeContext","realProps","Array","isArray","forEach","brick"],"sources":["../../../../src/internal/compute/setProperties.ts"],"sourcesContent":["import { computeRealProperties } from \"./computeRealProperties.js\";\nimport { setRealProperties } from \"./setRealProperties.js\";\nimport type { RuntimeContext } from \"../interfaces.js\";\n\nexport function setProperties(\n bricks: HTMLElement | HTMLElement[],\n properties: Record<string, unknown>,\n runtimeContext: RuntimeContext\n): void {\n const realProps = computeRealProperties(properties, runtimeContext);\n if (!Array.isArray(bricks)) {\n bricks = [bricks];\n }\n bricks.forEach((brick) => {\n setRealProperties(brick, realProps);\n });\n}\n"],"mappings":"AAAA,SAASA,qBAAqB,QAAQ,4BAA4B;AAClE,SAASC,iBAAiB,QAAQ,wBAAwB;AAG1D,OAAO,SAASC,aAAaA,CAC3BC,MAAmC,EACnCC,UAAmC,EACnCC,cAA8B,EACxB;EACN,IAAMC,SAAS,GAAGN,qBAAqB,CAACI,UAAU,EAAEC,cAAc,CAAC;EACnE,IAAI,CAACE,KAAK,CAACC,OAAO,CAACL,MAAM,CAAC,EAAE;IAC1BA,MAAM,GAAG,CAACA,MAAM,CAAC;EACnB;EACAA,MAAM,CAACM,OAAO,CAAEC,KAAK,IAAK;IACxBT,iBAAiB,CAACS,KAAK,EAAEJ,SAAS,CAAC;EACrC,CAAC,CAAC;AACJ"}
1
+ {"version":3,"file":"setProperties.js","names":["computeRealProperties","setRealProperties","setProperties","bricks","properties","runtimeContext","realProps","Array","isArray","forEach","brick"],"sources":["../../../../src/internal/compute/setProperties.ts"],"sourcesContent":["import { computeRealProperties } from \"./computeRealProperties.js\";\nimport { setRealProperties } from \"./setRealProperties.js\";\nimport type { RuntimeContext } from \"../interfaces.js\";\n\nexport function setProperties(\n bricks: HTMLElement | HTMLElement[],\n properties: Record<string, unknown>,\n runtimeContext: RuntimeContext\n): void {\n const realProps = computeRealProperties(properties, runtimeContext);\n if (!Array.isArray(bricks)) {\n bricks = [bricks];\n }\n bricks.forEach((brick) => {\n setRealProperties(brick, realProps);\n });\n}\n"],"mappings":"AAAA,SAASA,qBAAqB,QAAQ,4BAA4B;AAClE,SAASC,iBAAiB,QAAQ,wBAAwB;AAG1D,OAAO,SAASC,aAAaA,CAC3BC,MAAmC,EACnCC,UAAmC,EACnCC,cAA8B,EACxB;EACN,IAAMC,SAAS,GAAGN,qBAAqB,CAACI,UAAU,EAAEC,cAAc,CAAC;EACnE,IAAI,CAACE,KAAK,CAACC,OAAO,CAACL,MAAM,CAAC,EAAE;IAC1BA,MAAM,GAAG,CAACA,MAAM,CAAC;EACnB;EACAA,MAAM,CAACM,OAAO,CAAEC,KAAK,IAAK;IACxBT,iBAAiB,CAACS,KAAK,EAAEJ,SAAS,CAAC;EACrC,CAAC,CAAC;AACJ","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"setRealProperties.js","names":["setRealProperties","brick","realProps","propName","propValue","Object","entries","k","v","Error","concat"],"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":"AAAA,OAAO,SAASA,iBAAiBA,CAC/BC,KAAkB,EAClBC,SAA8C,EACxC;EACN,IAAI,CAACA,SAAS,EAAE;IACd;EACF;EACA,KAAK,IAAM,CAACC,QAAQ,EAAEC,SAAS,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACJ,SAAS,CAAC,EAAE;IAC7D,QAAQC,QAAQ;MACd,KAAK,OAAO;MACZ,KAAK,SAAS;QACZ,KAAK,IAAM,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,SAAAC,MAAA,CAAUP,QAAQ,oBAAkB,CAAC;MACtD;QACGF,KAAK,CAAwCE,QAAQ,CAAC,GAAGC,SAAS;IACvE;EACF;AACF"}
1
+ {"version":3,"file":"setRealProperties.js","names":["setRealProperties","brick","realProps","propName","propValue","Object","entries","k","v","Error","concat"],"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":"AAAA,OAAO,SAASA,iBAAiBA,CAC/BC,KAAkB,EAClBC,SAA8C,EACxC;EACN,IAAI,CAACA,SAAS,EAAE;IACd;EACF;EACA,KAAK,IAAM,CAACC,QAAQ,EAAEC,SAAS,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACJ,SAAS,CAAC,EAAE;IAC7D,QAAQC,QAAQ;MACd,KAAK,OAAO;MACZ,KAAK,SAAS;QACZ,KAAK,IAAM,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,SAAAC,MAAA,CAAUP,QAAQ,oBAAkB,CAAC;MACtD;QACGF,KAAK,CAAwCE,QAAQ,CAAC,GAAGC,SAAS;IACvE;EACF;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"customizeColorTheme.js","names":["getStyleByBaseColors","getStyleByBrandColor","getStyleByVariables","customizeColorTheme","theme","brandColor","applyColorTheme","_objectSpread","type","baseColors","variables","options","style","themes","forEach","push","backgroundColor","length","element","document","createElement","textContent","join","head","appendChild","remove"],"sources":["../../../src/internal/customizeColorTheme.ts"],"sourcesContent":["import {\n BaseColors,\n BrandColor,\n getStyleByBaseColors,\n getStyleByBrandColor,\n getStyleByVariables,\n} from \"@next-core/color-theme\";\n\nexport type ColorThemeOptions =\n | ColorThemeOptionsByBrand\n | ColorThemeOptionsByBaseColors\n | ColorThemeOptionsByVariables;\n\nexport interface ColorThemeOptionsByBrand {\n type: \"brandColor\";\n light?: BrandColor;\n dark?: BrandColor;\n}\n\nexport interface ColorThemeOptionsByBaseColors {\n type: \"baseColors\";\n light?: BaseColors;\n dark?: BaseColors;\n backgroundColor?: string;\n}\n\nexport interface ColorThemeOptionsByVariables {\n type: \"variables\";\n light?: Record<string, string>;\n dark?: Record<string, string>;\n}\n\nexport interface ThemeSettings {\n brandColor?: Omit<ColorThemeOptionsByBrand, \"type\">;\n baseColors?: Omit<ColorThemeOptionsByBaseColors, \"type\">;\n variables?: Omit<ColorThemeOptionsByVariables, \"type\">;\n}\n\nexport function customizeColorTheme(theme: ThemeSettings | undefined): void {\n if (!theme) {\n return;\n }\n if (theme.brandColor) {\n applyColorTheme({\n type: \"brandColor\",\n ...theme.brandColor,\n });\n } else if (theme.baseColors) {\n applyColorTheme({\n type: \"baseColors\",\n ...theme.baseColors,\n });\n } else if (theme.variables) {\n applyColorTheme({\n type: \"variables\",\n ...theme.variables,\n });\n }\n}\n\nexport function applyColorTheme(\n options: ColorThemeOptions\n): (() => void) | undefined {\n const style: string[] = [];\n const themes = [\"light\", \"dark\"] as const;\n themes.forEach((theme) => {\n if (options[theme]) {\n switch (options.type) {\n case \"brandColor\":\n style.push(getStyleByBrandColor(theme, options[theme]!));\n break;\n case \"baseColors\":\n style.push(\n getStyleByBaseColors(\n theme,\n options[theme]!,\n options.backgroundColor\n )\n );\n break;\n case \"variables\":\n style.push(getStyleByVariables(theme, options[theme]!));\n break;\n }\n }\n });\n\n if (style.length > 0) {\n const element = document.createElement(\"style\");\n element.textContent = style.join(\"\\n\\n\");\n document.head.appendChild(element);\n return () => {\n element.remove();\n };\n }\n}\n"],"mappings":";AAAA,SAGEA,oBAAoB,EACpBC,oBAAoB,EACpBC,mBAAmB,QACd,wBAAwB;AAgC/B,OAAO,SAASC,mBAAmBA,CAACC,KAAgC,EAAQ;EAC1E,IAAI,CAACA,KAAK,EAAE;IACV;EACF;EACA,IAAIA,KAAK,CAACC,UAAU,EAAE;IACpBC,eAAe,CAAAC,aAAA;MACbC,IAAI,EAAE;IAAY,GACfJ,KAAK,CAACC,UAAU,CACpB,CAAC;EACJ,CAAC,MAAM,IAAID,KAAK,CAACK,UAAU,EAAE;IAC3BH,eAAe,CAAAC,aAAA;MACbC,IAAI,EAAE;IAAY,GACfJ,KAAK,CAACK,UAAU,CACpB,CAAC;EACJ,CAAC,MAAM,IAAIL,KAAK,CAACM,SAAS,EAAE;IAC1BJ,eAAe,CAAAC,aAAA;MACbC,IAAI,EAAE;IAAW,GACdJ,KAAK,CAACM,SAAS,CACnB,CAAC;EACJ;AACF;AAEA,OAAO,SAASJ,eAAeA,CAC7BK,OAA0B,EACA;EAC1B,IAAMC,KAAe,GAAG,EAAE;EAC1B,IAAMC,MAAM,GAAG,CAAC,OAAO,EAAE,MAAM,CAAU;EACzCA,MAAM,CAACC,OAAO,CAAEV,KAAK,IAAK;IACxB,IAAIO,OAAO,CAACP,KAAK,CAAC,EAAE;MAClB,QAAQO,OAAO,CAACH,IAAI;QAClB,KAAK,YAAY;UACfI,KAAK,CAACG,IAAI,CAACd,oBAAoB,CAACG,KAAK,EAAEO,OAAO,CAACP,KAAK,CAAE,CAAC,CAAC;UACxD;QACF,KAAK,YAAY;UACfQ,KAAK,CAACG,IAAI,CACRf,oBAAoB,CAClBI,KAAK,EACLO,OAAO,CAACP,KAAK,CAAC,EACdO,OAAO,CAACK,eACV,CACF,CAAC;UACD;QACF,KAAK,WAAW;UACdJ,KAAK,CAACG,IAAI,CAACb,mBAAmB,CAACE,KAAK,EAAEO,OAAO,CAACP,KAAK,CAAE,CAAC,CAAC;UACvD;MACJ;IACF;EACF,CAAC,CAAC;EAEF,IAAIQ,KAAK,CAACK,MAAM,GAAG,CAAC,EAAE;IACpB,IAAMC,OAAO,GAAGC,QAAQ,CAACC,aAAa,CAAC,OAAO,CAAC;IAC/CF,OAAO,CAACG,WAAW,GAAGT,KAAK,CAACU,IAAI,CAAC,MAAM,CAAC;IACxCH,QAAQ,CAACI,IAAI,CAACC,WAAW,CAACN,OAAO,CAAC;IAClC,OAAO,MAAM;MACXA,OAAO,CAACO,MAAM,CAAC,CAAC;IAClB,CAAC;EACH;AACF"}
1
+ {"version":3,"file":"customizeColorTheme.js","names":["getStyleByBaseColors","getStyleByBrandColor","getStyleByVariables","customizeColorTheme","theme","brandColor","applyColorTheme","_objectSpread","type","baseColors","variables","options","style","themes","forEach","push","backgroundColor","length","element","document","createElement","textContent","join","head","appendChild","remove"],"sources":["../../../src/internal/customizeColorTheme.ts"],"sourcesContent":["import {\n BaseColors,\n BrandColor,\n getStyleByBaseColors,\n getStyleByBrandColor,\n getStyleByVariables,\n} from \"@next-core/color-theme\";\n\nexport type ColorThemeOptions =\n | ColorThemeOptionsByBrand\n | ColorThemeOptionsByBaseColors\n | ColorThemeOptionsByVariables;\n\nexport interface ColorThemeOptionsByBrand {\n type: \"brandColor\";\n light?: BrandColor;\n dark?: BrandColor;\n}\n\nexport interface ColorThemeOptionsByBaseColors {\n type: \"baseColors\";\n light?: BaseColors;\n dark?: BaseColors;\n backgroundColor?: string;\n}\n\nexport interface ColorThemeOptionsByVariables {\n type: \"variables\";\n light?: Record<string, string>;\n dark?: Record<string, string>;\n}\n\nexport interface ThemeSettings {\n brandColor?: Omit<ColorThemeOptionsByBrand, \"type\">;\n baseColors?: Omit<ColorThemeOptionsByBaseColors, \"type\">;\n variables?: Omit<ColorThemeOptionsByVariables, \"type\">;\n}\n\nexport function customizeColorTheme(theme: ThemeSettings | undefined): void {\n if (!theme) {\n return;\n }\n if (theme.brandColor) {\n applyColorTheme({\n type: \"brandColor\",\n ...theme.brandColor,\n });\n } else if (theme.baseColors) {\n applyColorTheme({\n type: \"baseColors\",\n ...theme.baseColors,\n });\n } else if (theme.variables) {\n applyColorTheme({\n type: \"variables\",\n ...theme.variables,\n });\n }\n}\n\nexport function applyColorTheme(\n options: ColorThemeOptions\n): (() => void) | undefined {\n const style: string[] = [];\n const themes = [\"light\", \"dark\"] as const;\n themes.forEach((theme) => {\n if (options[theme]) {\n switch (options.type) {\n case \"brandColor\":\n style.push(getStyleByBrandColor(theme, options[theme]!));\n break;\n case \"baseColors\":\n style.push(\n getStyleByBaseColors(\n theme,\n options[theme]!,\n options.backgroundColor\n )\n );\n break;\n case \"variables\":\n style.push(getStyleByVariables(theme, options[theme]!));\n break;\n }\n }\n });\n\n if (style.length > 0) {\n const element = document.createElement(\"style\");\n element.textContent = style.join(\"\\n\\n\");\n document.head.appendChild(element);\n return () => {\n element.remove();\n };\n }\n}\n"],"mappings":";AAAA,SAGEA,oBAAoB,EACpBC,oBAAoB,EACpBC,mBAAmB,QACd,wBAAwB;AAgC/B,OAAO,SAASC,mBAAmBA,CAACC,KAAgC,EAAQ;EAC1E,IAAI,CAACA,KAAK,EAAE;IACV;EACF;EACA,IAAIA,KAAK,CAACC,UAAU,EAAE;IACpBC,eAAe,CAAAC,aAAA;MACbC,IAAI,EAAE;IAAY,GACfJ,KAAK,CAACC,UAAU,CACpB,CAAC;EACJ,CAAC,MAAM,IAAID,KAAK,CAACK,UAAU,EAAE;IAC3BH,eAAe,CAAAC,aAAA;MACbC,IAAI,EAAE;IAAY,GACfJ,KAAK,CAACK,UAAU,CACpB,CAAC;EACJ,CAAC,MAAM,IAAIL,KAAK,CAACM,SAAS,EAAE;IAC1BJ,eAAe,CAAAC,aAAA;MACbC,IAAI,EAAE;IAAW,GACdJ,KAAK,CAACM,SAAS,CACnB,CAAC;EACJ;AACF;AAEA,OAAO,SAASJ,eAAeA,CAC7BK,OAA0B,EACA;EAC1B,IAAMC,KAAe,GAAG,EAAE;EAC1B,IAAMC,MAAM,GAAG,CAAC,OAAO,EAAE,MAAM,CAAU;EACzCA,MAAM,CAACC,OAAO,CAAEV,KAAK,IAAK;IACxB,IAAIO,OAAO,CAACP,KAAK,CAAC,EAAE;MAClB,QAAQO,OAAO,CAACH,IAAI;QAClB,KAAK,YAAY;UACfI,KAAK,CAACG,IAAI,CAACd,oBAAoB,CAACG,KAAK,EAAEO,OAAO,CAACP,KAAK,CAAE,CAAC,CAAC;UACxD;QACF,KAAK,YAAY;UACfQ,KAAK,CAACG,IAAI,CACRf,oBAAoB,CAClBI,KAAK,EACLO,OAAO,CAACP,KAAK,CAAC,EACdO,OAAO,CAACK,eACV,CACF,CAAC;UACD;QACF,KAAK,WAAW;UACdJ,KAAK,CAACG,IAAI,CAACb,mBAAmB,CAACE,KAAK,EAAEO,OAAO,CAACP,KAAK,CAAE,CAAC,CAAC;UACvD;MACJ;IACF;EACF,CAAC,CAAC;EAEF,IAAIQ,KAAK,CAACK,MAAM,GAAG,CAAC,EAAE;IACpB,IAAMC,OAAO,GAAGC,QAAQ,CAACC,aAAa,CAAC,OAAO,CAAC;IAC/CF,OAAO,CAACG,WAAW,GAAGT,KAAK,CAACU,IAAI,CAAC,MAAM,CAAC;IACxCH,QAAQ,CAACI,IAAI,CAACC,WAAW,CAACN,OAAO,CAAC;IAClC,OAAO,MAAM;MACXA,OAAO,CAACO,MAAM,CAAC,CAAC;IAClB,CAAC;EACH;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"DataStore.js","names":["hasOwnProperty","isObject","strictCollectMemberUsage","EventTarget","eventCallbackFactory","listenerFactory","asyncCheckIf","checkIf","asyncComputeRealValue","computeRealValue","resolveData","resolveDataStore","handleHttpError","computePropertyValue","_internalApiGetRenderId","callRealTimeDataInspectHooks","realTimeDataInspectRoot","isStrictMode","supportContextResolveTriggerBrickLifeCycle","DataStore","constructor","type","hostBrick","rendererContext","stateStoreId","_defineProperty","Map","WeakMap","changeEventType","getAllValues","Object","fromEntries","data","entries","map","_ref","name","value","getValue","_this$data$get","get","notifyRealTimeDataChange","tplStateStoreId","changeType","detail","getAffectListByContext","affectNames","forEach","key","deps","isInDeps","some","item","includes","push","shift","Set","updateValues","values","method","argsFactory","batchUpdate","batchUpdateContextsNames","length","Error","updateContexts","affectContexts","affectDepsContextNames","arg","updateContextItem","updateValue","filter","affectContextItem","triggerEvent","contexts","_context$eventTarget","context","eventTarget","dispatchEvent","CustomEvent","callback","callbackRuntimeContext","concat","useResolve","promise","loaded","Promise","resolve","loading","shouldDismiss","error","_this$rendererContext","renderId","load","_objectSpread","cache","then","val","finishLoad","err","callbackFactory","assign","console","warn","define","dataConfs","runtimeContext","asyncHostPropertyEntries","routePath","Array","isArray","pending","dataConf","pendingStack","onChange","dataName","listener","_this$data$get2","addEventListener","waitFor","dataNames","_this","_asyncToGenerator","_loop","pendingContexts","all","ctx","p","waitForAll","_this2","catch","pendingResult","mountAsyncData","route","_this$routeMap$get","async","routeMap","has","asyncMounted","_this3","expose","trackConditionalResolve","resolvePolicy","undefined","hasFallbackValue","track","if","size","resolveConf","transform","_ref2","options","_this3$rendererContex","_x","apply","arguments","lazy","newData","trigger","_this3$rendererContex2","registerArbitraryLifeCycle","dep","batchAddListener","e","set","names","add","disposeDataInRoutes","routes","delete","contextConf","event"],"sources":["../../../../src/internal/data/DataStore.ts"],"sourcesContent":["import type {\n BatchUpdateContextItem,\n BrickEventHandlerCallback,\n ContextConf,\n ContextResolveTriggerBrickLifeCycle,\n RouteConf,\n} from \"@next-core/types\";\nimport { hasOwnProperty, isObject } from \"@next-core/utils/general\";\nimport { strictCollectMemberUsage } from \"@next-core/utils/storyboard\";\nimport EventTarget from \"@ungap/event-target\";\nimport { eventCallbackFactory, listenerFactory } from \"../bindListeners.js\";\nimport { asyncCheckIf, checkIf } from \"../compute/checkIf.js\";\nimport {\n asyncComputeRealValue,\n computeRealValue,\n} from \"../compute/computeRealValue.js\";\nimport { ResolveOptions, resolveData } from \"./resolveData.js\";\nimport { resolveDataStore } from \"./resolveDataStore.js\";\nimport type {\n AsyncPropertyEntry,\n RuntimeBrick,\n RuntimeContext,\n} from \"../interfaces.js\";\nimport { handleHttpError } from \"../../handleHttpError.js\";\nimport type { RendererContext } from \"../RendererContext.js\";\nimport { computePropertyValue } from \"../compute/computeRealProperties.js\";\nimport { _internalApiGetRenderId } from \"../Runtime.js\";\nimport {\n callRealTimeDataInspectHooks,\n realTimeDataInspectRoot,\n} from \"./realTimeDataInspect.js\";\nimport { isStrictMode } from \"../../isStrictMode.js\";\n\nconst supportContextResolveTriggerBrickLifeCycle = [\n \"onBeforePageLoad\",\n \"onPageLoad\",\n \"onBeforePageLeave\",\n \"onPageLeave\",\n \"onAnchorLoad\",\n \"onAnchorUnload\",\n] as ContextResolveTriggerBrickLifeCycle[];\n\nexport type DataStoreType = \"CTX\" | \"STATE\" | \"FORM_STATE\";\n\nexport interface DataStoreItem {\n name: string;\n value: unknown;\n eventTarget: EventTarget;\n useResolve?: boolean;\n loaded?: boolean;\n loading?: Promise<unknown>;\n load?: (options?: ResolveOptions) => Promise<unknown>;\n async?: boolean;\n asyncMounted?: boolean;\n deps: string[];\n}\n\nexport class DataStore<T extends DataStoreType = \"CTX\"> {\n private readonly type: T;\n private readonly data = new Map<string, DataStoreItem>();\n private readonly changeEventType: string;\n private readonly pendingStack: Array<ReturnType<typeof resolveDataStore>> =\n [];\n public readonly hostBrick?: RuntimeBrick;\n private readonly stateStoreId?: string;\n private batchUpdate = false;\n private batchUpdateContextsNames: string[] = [];\n private readonly rendererContext?: RendererContext;\n private routeMap = new WeakMap<RouteConf, Set<string>>();\n\n // 把 `rendererContext` 放在参数列表的最后,并作为可选,以减少测试文件的调整\n constructor(\n type: T,\n hostBrick?: RuntimeBrick,\n rendererContext?: RendererContext,\n stateStoreId?: string\n ) {\n this.type = type;\n this.changeEventType =\n this.type === \"FORM_STATE\"\n ? \"formstate.change\"\n : this.type === \"STATE\"\n ? \"state.change\"\n : \"context.change\";\n this.hostBrick = hostBrick;\n this.rendererContext = rendererContext;\n this.stateStoreId = stateStoreId;\n }\n\n getAllValues(): Record<string, unknown> {\n return Object.fromEntries(\n [...this.data.entries()].map(([name, { value }]) => [name, value])\n );\n }\n\n getValue(name: string): unknown {\n return this.data.get(name)?.value;\n }\n\n private notifyRealTimeDataChange(name: string, value: unknown) {\n if (realTimeDataInspectRoot) {\n const { tplStateStoreId } = realTimeDataInspectRoot;\n if (\n tplStateStoreId\n ? this.type === \"STATE\" && this.stateStoreId === tplStateStoreId\n : this.type === \"CTX\"\n ) {\n callRealTimeDataInspectHooks({\n changeType: \"update\",\n tplStateStoreId,\n detail: {\n name,\n value,\n },\n });\n }\n }\n }\n\n private getAffectListByContext(name: string): string[] {\n const affectNames = [name];\n this.data.forEach((value, key) => {\n if (value.deps) {\n const isInDeps = value.deps.some((item) => affectNames.includes(item));\n isInDeps &&\n affectNames.push(key) &&\n affectNames.push(...this.getAffectListByContext(key));\n }\n });\n affectNames.shift();\n return [...new Set(affectNames)];\n }\n\n updateValues(\n values: BatchUpdateContextItem[],\n method: \"assign\" | \"replace\",\n argsFactory: (arg: unknown[]) => BatchUpdateContextItem\n ): void {\n this.batchUpdate = true;\n this.batchUpdateContextsNames = values.map((item) => item.name);\n if (\n [...new Set(this.batchUpdateContextsNames)].length !==\n this.batchUpdateContextsNames.length\n ) {\n throw new Error(`Batch update not allow to update same item`);\n }\n\n const updateContexts: Record<string, DataStoreItem> = {};\n const affectContexts: Record<string, DataStoreItem> = {};\n const affectDepsContextNames: string[] = [];\n\n values.forEach((arg) => {\n const { name, value } = argsFactory([arg]);\n const updateContextItem = this.data.get(name);\n affectDepsContextNames.push(...this.getAffectListByContext(name));\n updateContextItem && (updateContexts[name] = updateContextItem);\n this.updateValue(name as string, value, method);\n });\n\n affectDepsContextNames\n .filter((item) => !updateContexts[item])\n .forEach((name) => {\n const affectContextItem = this.data.get(name);\n affectContextItem && (affectContexts[name] = affectContextItem);\n });\n\n const triggerEvent = (contexts: Record<string, DataStoreItem>): void => {\n for (const key in contexts) {\n const context = contexts[key];\n context.eventTarget?.dispatchEvent(\n new CustomEvent(this.changeEventType, {\n detail: context.value,\n })\n );\n }\n };\n\n triggerEvent(updateContexts);\n triggerEvent(affectContexts);\n\n this.batchUpdate = false;\n\n return;\n }\n\n updateValue(\n name: string,\n value: unknown,\n method: \"assign\" | \"replace\" | \"refresh\" | \"load\",\n callback?: BrickEventHandlerCallback,\n callbackRuntimeContext?: RuntimeContext\n ): void {\n const item = this.data.get(name);\n if (!item) {\n throw new Error(`${this.type} '${name}' is not defined`);\n }\n\n if (method === \"refresh\" || method === \"load\") {\n if (!item.useResolve) {\n throw new Error(\n `You can not ${method} \"${this.type}.${name}\" which is not using resolve`\n );\n }\n\n let promise: Promise<unknown> | undefined;\n if (method === \"load\") {\n // Try to reuse previous request when calling `load`.\n if (item.loaded) {\n promise = Promise.resolve(item.value);\n } else if (item.loading) {\n promise = item.loading;\n }\n }\n\n const shouldDismiss = (error: unknown) => {\n // If render twice immediately, flow API contracts maybe cleared before\n // the second rendering, while the page load handlers of the first\n // rendering can't be cancelled, which throws `FlowApiNotFoundError`.\n // So we ignore error reporting for this case.\n let renderId: string | undefined;\n return (\n (error as Error)?.name === \"FlowApiNotFoundError\" &&\n !!(renderId = this.rendererContext?.renderId) &&\n renderId !== _internalApiGetRenderId()\n );\n };\n\n if (!promise) {\n promise = item.loading = item.load!({\n cache: method === \"load\" ? \"default\" : \"reload\",\n ...(value as ResolveOptions),\n });\n // Do not use the chained promise, since the callbacks need the original promise.\n promise.then(\n (val) => {\n this.finishLoad(item, val);\n },\n (err) => {\n // Let users override error handling.\n if (item.useResolve && !shouldDismiss(err) && !callback?.error) {\n handleHttpError(err);\n }\n }\n );\n }\n\n if (callback) {\n const callbackFactory = eventCallbackFactory(\n callback,\n callbackRuntimeContext!\n );\n\n promise.then(\n (val) => {\n callbackFactory(\"success\")({ value: val });\n callbackFactory(\"finally\")();\n },\n (err) => {\n if (!shouldDismiss(err) && callback.error) {\n callbackFactory(\"error\")(err);\n }\n callbackFactory(\"finally\")();\n }\n );\n }\n\n return;\n }\n\n if (method === \"replace\") {\n item.value = value;\n } else {\n if (isObject(item.value)) {\n Object.assign(item.value, value);\n } else {\n // eslint-disable-next-line no-console\n console.warn(\n `Non-object current value of \"${this.type}.${name}\" for \"context.assign\", try \"context.replace\" instead.`\n );\n item.value = value;\n }\n }\n\n if (this.batchUpdate) return;\n\n item.eventTarget.dispatchEvent(\n new CustomEvent(this.changeEventType, {\n detail: item.value,\n })\n );\n }\n\n private finishLoad(item: DataStoreItem, value: unknown) {\n if (!item.useResolve) {\n // This happens when a tracked conditional resolve switches from\n // resolve to fallback after an dep update triggered refresh but\n // before it's been resolved.\n return;\n }\n item.loaded = true;\n item.value = value;\n item.eventTarget.dispatchEvent(\n new CustomEvent(this.changeEventType, {\n detail: value,\n })\n );\n }\n\n define(\n dataConfs: ContextConf[] | undefined,\n runtimeContext: RuntimeContext,\n asyncHostPropertyEntries?: AsyncPropertyEntry[],\n routePath?: RouteConf[]\n ): void {\n if (Array.isArray(dataConfs) && dataConfs.length > 0) {\n const pending = resolveDataStore(\n dataConfs,\n (dataConf: ContextConf) =>\n this.resolve(\n dataConf,\n runtimeContext,\n asyncHostPropertyEntries,\n routePath\n ),\n this.type,\n isStrictMode(runtimeContext)\n );\n this.pendingStack.push(pending);\n }\n }\n\n onChange(dataName: string, listener: EventListener): void {\n this.data\n .get(dataName)\n ?.eventTarget.addEventListener(this.changeEventType, listener);\n }\n\n async waitFor(dataNames: string[] | Set<string>): Promise<void> {\n for (const { pendingContexts } of this.pendingStack) {\n await Promise.all(\n [...dataNames].map((ctx) => {\n const p = pendingContexts.get(ctx);\n return p;\n })\n );\n }\n }\n\n async waitForAll(): Promise<void> {\n // Silent each pending contexts, since the error is handled by batched `pendingResult`\n for (const { pendingContexts } of this.pendingStack) {\n for (const p of pendingContexts.values()) {\n p.catch(() => {\n /* No-op */\n });\n }\n }\n for (const { pendingResult } of this.pendingStack) {\n await pendingResult;\n }\n }\n\n /**\n * After mount, dispatch the change event when an async data is loaded.\n *\n * If param `route` is present, handle data defined in that route (or its descendants) only.\n */\n mountAsyncData(route?: RouteConf) {\n this.data.forEach((item) => {\n if (item.async && (!route || this.routeMap.get(route)?.has(item.name))) {\n // istanbul ignore next\n if (item.asyncMounted) {\n // eslint-disable-next-line no-console\n console.error(\n `Async data \"${item.name}\" already mounted. This is a bug of Brick Next, please report it.`\n );\n return;\n }\n item.asyncMounted = true;\n // An async data always has `loading`\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n item.loading!.then((value) => {\n this.finishLoad(item, value);\n });\n }\n });\n }\n\n private async resolve(\n dataConf: ContextConf,\n runtimeContext: RuntimeContext,\n asyncHostPropertyEntries?: AsyncPropertyEntry[],\n routePath?: RouteConf[]\n ): Promise<boolean> {\n if (!(await asyncCheckIf(dataConf, runtimeContext))) {\n return false;\n }\n let value: unknown;\n if (\n asyncHostPropertyEntries &&\n (this.type === \"STATE\" ? dataConf.expose : this.type === \"FORM_STATE\")\n ) {\n value = await computePropertyValue(\n asyncHostPropertyEntries,\n dataConf.name\n );\n }\n let load: DataStoreItem[\"load\"];\n let loading: Promise<unknown> | undefined;\n let useResolve: boolean | undefined;\n let trackConditionalResolve: boolean | undefined;\n let resolvePolicy: \"eager\" | \"lazy\" | \"async\" | undefined;\n if (value === undefined) {\n if (dataConf.resolve) {\n const hasFallbackValue = hasOwnProperty(dataConf, \"value\");\n // Track conditional resolve only if all matches:\n // - Track enabled\n // - Has fallback value\n // - Referencing other data in `resolve.if`\n trackConditionalResolve =\n dataConf.track &&\n hasFallbackValue &&\n hasOwnProperty(dataConf.resolve, \"if\") &&\n strictCollectMemberUsage(dataConf.resolve.if, this.type).size > 0;\n const resolveConf = {\n transform: \"value\",\n ...dataConf.resolve,\n };\n useResolve = await asyncCheckIf(dataConf.resolve, runtimeContext);\n if (useResolve || trackConditionalResolve) {\n load = async (options) =>\n (\n (await resolveData(resolveConf, runtimeContext, {\n ...options,\n renderId: this.rendererContext?.renderId,\n })) as {\n value: unknown;\n }\n ).value;\n }\n if (useResolve) {\n // `async` take precedence over `lazy`\n resolvePolicy = dataConf.resolve.async\n ? \"async\"\n : dataConf.resolve.lazy\n ? \"lazy\"\n : \"eager\";\n if (resolvePolicy === \"eager\") {\n value = await load!();\n } else if (resolvePolicy === \"async\") {\n loading = load!();\n }\n } else if (!hasFallbackValue) {\n return false;\n }\n }\n if (\n (!useResolve || resolvePolicy !== \"eager\") &&\n dataConf.value !== undefined\n ) {\n // If the context has no resolve, just use its `value`.\n // Or if the resolve is ignored or lazy, use its `value` as a fallback.\n value = await asyncComputeRealValue(dataConf.value, runtimeContext);\n }\n }\n\n if (this.data.has(dataConf.name)) {\n throw new Error(\n `${this.type} '${dataConf.name}' has already been declared`\n );\n }\n\n const newData: DataStoreItem = {\n name: dataConf.name,\n value,\n // This is required for tracking context, even if no `onChange` is specified.\n eventTarget: new EventTarget(),\n useResolve,\n load,\n loaded: resolvePolicy === \"eager\",\n loading,\n async: resolvePolicy === \"async\",\n deps: [],\n };\n\n if (resolvePolicy === \"lazy\") {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const { trigger } = dataConf.resolve!;\n if (\n trigger &&\n supportContextResolveTriggerBrickLifeCycle.includes(trigger)\n ) {\n this.rendererContext?.registerArbitraryLifeCycle(trigger, () => {\n this.updateValue(dataConf.name, undefined, \"load\");\n });\n }\n }\n\n if (dataConf.onChange) {\n newData.eventTarget.addEventListener(\n this.changeEventType,\n listenerFactory(dataConf.onChange, runtimeContext)\n );\n }\n\n if (dataConf.track) {\n const deps = strictCollectMemberUsage(\n trackConditionalResolve\n ? [dataConf.resolve, dataConf.value]\n : load\n ? dataConf.resolve\n : dataConf.value,\n this.type\n );\n !load && (newData.deps = [...deps]);\n for (const dep of deps) {\n this.onChange(\n dep,\n this.batchAddListener(() => {\n newData.useResolve = trackConditionalResolve\n ? checkIf(dataConf.resolve!, runtimeContext)\n : !!load;\n if (newData.useResolve) {\n this.updateValue(dataConf.name, { cache: \"default\" }, \"refresh\");\n } else {\n this.updateValue(\n dataConf.name,\n computeRealValue(dataConf.value, runtimeContext),\n \"replace\"\n );\n }\n }, dataConf)\n );\n }\n }\n\n newData.eventTarget.addEventListener(this.changeEventType, (e) => {\n this.notifyRealTimeDataChange(dataConf.name, (e as CustomEvent).detail);\n });\n\n this.data.set(dataConf.name, newData);\n\n if (Array.isArray(routePath)) {\n for (const route of routePath) {\n const names = this.routeMap.get(route);\n if (names) {\n names.add(dataConf.name);\n } else {\n this.routeMap.set(route, new Set([dataConf.name]));\n }\n }\n }\n\n return true;\n }\n\n disposeDataInRoutes(routes: RouteConf[]) {\n for (const route of routes) {\n const names = this.routeMap.get(route);\n if (names !== undefined) {\n for (const name of names) {\n this.data.delete(name);\n }\n }\n }\n }\n\n private batchAddListener(\n listener: EventListener,\n contextConf: ContextConf\n ): EventListener {\n return (event: Event | CustomEvent): void => {\n if (\n this.batchUpdate &&\n this.batchUpdateContextsNames.includes(contextConf.name)\n ) {\n return;\n }\n listener(event);\n };\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"DataStore.js","names":["hasOwnProperty","isObject","strictCollectMemberUsage","EventTarget","eventCallbackFactory","listenerFactory","asyncCheckIf","checkIf","asyncComputeRealValue","computeRealValue","resolveData","resolveDataStore","handleHttpError","computePropertyValue","_internalApiGetRenderId","callRealTimeDataInspectHooks","realTimeDataInspectRoot","isStrictMode","supportContextResolveTriggerBrickLifeCycle","DataStore","constructor","type","hostBrick","rendererContext","stateStoreId","_defineProperty","Map","WeakMap","changeEventType","getAllValues","Object","fromEntries","data","entries","map","_ref","name","value","getValue","_this$data$get","get","notifyRealTimeDataChange","tplStateStoreId","changeType","detail","getAffectListByContext","affectNames","forEach","key","deps","isInDeps","some","item","includes","push","shift","Set","updateValues","values","method","argsFactory","batchUpdate","batchUpdateContextsNames","length","Error","updateContexts","affectContexts","affectDepsContextNames","arg","updateContextItem","updateValue","filter","affectContextItem","triggerEvent","contexts","_context$eventTarget","context","eventTarget","dispatchEvent","CustomEvent","callback","callbackRuntimeContext","concat","useResolve","promise","loaded","Promise","resolve","loading","shouldDismiss","error","_this$rendererContext","renderId","load","_objectSpread","cache","then","val","finishLoad","err","callbackFactory","assign","console","warn","define","dataConfs","runtimeContext","asyncHostPropertyEntries","routePath","Array","isArray","pending","dataConf","pendingStack","onChange","dataName","listener","_this$data$get2","addEventListener","waitFor","dataNames","_this","_asyncToGenerator","_loop","pendingContexts","all","ctx","p","waitForAll","_this2","catch","pendingResult","mountAsyncData","route","_this$routeMap$get","async","routeMap","has","asyncMounted","_this3","expose","trackConditionalResolve","resolvePolicy","undefined","hasFallbackValue","track","if","size","resolveConf","transform","_ref2","options","_this3$rendererContex","_x","apply","arguments","lazy","newData","trigger","_this3$rendererContex2","registerArbitraryLifeCycle","dep","batchAddListener","e","set","names","add","disposeDataInRoutes","routes","delete","contextConf","event"],"sources":["../../../../src/internal/data/DataStore.ts"],"sourcesContent":["import type {\n BatchUpdateContextItem,\n BrickEventHandlerCallback,\n ContextConf,\n ContextResolveTriggerBrickLifeCycle,\n RouteConf,\n} from \"@next-core/types\";\nimport { hasOwnProperty, isObject } from \"@next-core/utils/general\";\nimport { strictCollectMemberUsage } from \"@next-core/utils/storyboard\";\nimport EventTarget from \"@ungap/event-target\";\nimport { eventCallbackFactory, listenerFactory } from \"../bindListeners.js\";\nimport { asyncCheckIf, checkIf } from \"../compute/checkIf.js\";\nimport {\n asyncComputeRealValue,\n computeRealValue,\n} from \"../compute/computeRealValue.js\";\nimport { ResolveOptions, resolveData } from \"./resolveData.js\";\nimport { resolveDataStore } from \"./resolveDataStore.js\";\nimport type {\n AsyncPropertyEntry,\n RuntimeBrick,\n RuntimeContext,\n} from \"../interfaces.js\";\nimport { handleHttpError } from \"../../handleHttpError.js\";\nimport type { RendererContext } from \"../RendererContext.js\";\nimport { computePropertyValue } from \"../compute/computeRealProperties.js\";\nimport { _internalApiGetRenderId } from \"../Runtime.js\";\nimport {\n callRealTimeDataInspectHooks,\n realTimeDataInspectRoot,\n} from \"./realTimeDataInspect.js\";\nimport { isStrictMode } from \"../../isStrictMode.js\";\n\nconst supportContextResolveTriggerBrickLifeCycle = [\n \"onBeforePageLoad\",\n \"onPageLoad\",\n \"onBeforePageLeave\",\n \"onPageLeave\",\n \"onAnchorLoad\",\n \"onAnchorUnload\",\n] as ContextResolveTriggerBrickLifeCycle[];\n\nexport type DataStoreType = \"CTX\" | \"STATE\" | \"FORM_STATE\";\n\nexport interface DataStoreItem {\n name: string;\n value: unknown;\n eventTarget: EventTarget;\n useResolve?: boolean;\n loaded?: boolean;\n loading?: Promise<unknown>;\n load?: (options?: ResolveOptions) => Promise<unknown>;\n async?: boolean;\n asyncMounted?: boolean;\n deps: string[];\n}\n\nexport class DataStore<T extends DataStoreType = \"CTX\"> {\n private readonly type: T;\n private readonly data = new Map<string, DataStoreItem>();\n private readonly changeEventType: string;\n private readonly pendingStack: Array<ReturnType<typeof resolveDataStore>> =\n [];\n public readonly hostBrick?: RuntimeBrick;\n private readonly stateStoreId?: string;\n private batchUpdate = false;\n private batchUpdateContextsNames: string[] = [];\n private readonly rendererContext?: RendererContext;\n private routeMap = new WeakMap<RouteConf, Set<string>>();\n\n // 把 `rendererContext` 放在参数列表的最后,并作为可选,以减少测试文件的调整\n constructor(\n type: T,\n hostBrick?: RuntimeBrick,\n rendererContext?: RendererContext,\n stateStoreId?: string\n ) {\n this.type = type;\n this.changeEventType =\n this.type === \"FORM_STATE\"\n ? \"formstate.change\"\n : this.type === \"STATE\"\n ? \"state.change\"\n : \"context.change\";\n this.hostBrick = hostBrick;\n this.rendererContext = rendererContext;\n this.stateStoreId = stateStoreId;\n }\n\n getAllValues(): Record<string, unknown> {\n return Object.fromEntries(\n [...this.data.entries()].map(([name, { value }]) => [name, value])\n );\n }\n\n getValue(name: string): unknown {\n return this.data.get(name)?.value;\n }\n\n private notifyRealTimeDataChange(name: string, value: unknown) {\n if (realTimeDataInspectRoot) {\n const { tplStateStoreId } = realTimeDataInspectRoot;\n if (\n tplStateStoreId\n ? this.type === \"STATE\" && this.stateStoreId === tplStateStoreId\n : this.type === \"CTX\"\n ) {\n callRealTimeDataInspectHooks({\n changeType: \"update\",\n tplStateStoreId,\n detail: {\n name,\n value,\n },\n });\n }\n }\n }\n\n private getAffectListByContext(name: string): string[] {\n const affectNames = [name];\n this.data.forEach((value, key) => {\n if (value.deps) {\n const isInDeps = value.deps.some((item) => affectNames.includes(item));\n isInDeps &&\n affectNames.push(key) &&\n affectNames.push(...this.getAffectListByContext(key));\n }\n });\n affectNames.shift();\n return [...new Set(affectNames)];\n }\n\n updateValues(\n values: BatchUpdateContextItem[],\n method: \"assign\" | \"replace\",\n argsFactory: (arg: unknown[]) => BatchUpdateContextItem\n ): void {\n this.batchUpdate = true;\n this.batchUpdateContextsNames = values.map((item) => item.name);\n if (\n [...new Set(this.batchUpdateContextsNames)].length !==\n this.batchUpdateContextsNames.length\n ) {\n throw new Error(`Batch update not allow to update same item`);\n }\n\n const updateContexts: Record<string, DataStoreItem> = {};\n const affectContexts: Record<string, DataStoreItem> = {};\n const affectDepsContextNames: string[] = [];\n\n values.forEach((arg) => {\n const { name, value } = argsFactory([arg]);\n const updateContextItem = this.data.get(name);\n affectDepsContextNames.push(...this.getAffectListByContext(name));\n updateContextItem && (updateContexts[name] = updateContextItem);\n this.updateValue(name as string, value, method);\n });\n\n affectDepsContextNames\n .filter((item) => !updateContexts[item])\n .forEach((name) => {\n const affectContextItem = this.data.get(name);\n affectContextItem && (affectContexts[name] = affectContextItem);\n });\n\n const triggerEvent = (contexts: Record<string, DataStoreItem>): void => {\n for (const key in contexts) {\n const context = contexts[key];\n context.eventTarget?.dispatchEvent(\n new CustomEvent(this.changeEventType, {\n detail: context.value,\n })\n );\n }\n };\n\n triggerEvent(updateContexts);\n triggerEvent(affectContexts);\n\n this.batchUpdate = false;\n\n return;\n }\n\n updateValue(\n name: string,\n value: unknown,\n method: \"assign\" | \"replace\" | \"refresh\" | \"load\",\n callback?: BrickEventHandlerCallback,\n callbackRuntimeContext?: RuntimeContext\n ): void {\n const item = this.data.get(name);\n if (!item) {\n throw new Error(`${this.type} '${name}' is not defined`);\n }\n\n if (method === \"refresh\" || method === \"load\") {\n if (!item.useResolve) {\n throw new Error(\n `You can not ${method} \"${this.type}.${name}\" which is not using resolve`\n );\n }\n\n let promise: Promise<unknown> | undefined;\n if (method === \"load\") {\n // Try to reuse previous request when calling `load`.\n if (item.loaded) {\n promise = Promise.resolve(item.value);\n } else if (item.loading) {\n promise = item.loading;\n }\n }\n\n const shouldDismiss = (error: unknown) => {\n // If render twice immediately, flow API contracts maybe cleared before\n // the second rendering, while the page load handlers of the first\n // rendering can't be cancelled, which throws `FlowApiNotFoundError`.\n // So we ignore error reporting for this case.\n let renderId: string | undefined;\n return (\n (error as Error)?.name === \"FlowApiNotFoundError\" &&\n !!(renderId = this.rendererContext?.renderId) &&\n renderId !== _internalApiGetRenderId()\n );\n };\n\n if (!promise) {\n promise = item.loading = item.load!({\n cache: method === \"load\" ? \"default\" : \"reload\",\n ...(value as ResolveOptions),\n });\n // Do not use the chained promise, since the callbacks need the original promise.\n promise.then(\n (val) => {\n this.finishLoad(item, val);\n },\n (err) => {\n // Let users override error handling.\n if (item.useResolve && !shouldDismiss(err) && !callback?.error) {\n handleHttpError(err);\n }\n }\n );\n }\n\n if (callback) {\n const callbackFactory = eventCallbackFactory(\n callback,\n callbackRuntimeContext!\n );\n\n promise.then(\n (val) => {\n callbackFactory(\"success\")({ value: val });\n callbackFactory(\"finally\")();\n },\n (err) => {\n if (!shouldDismiss(err) && callback.error) {\n callbackFactory(\"error\")(err);\n }\n callbackFactory(\"finally\")();\n }\n );\n }\n\n return;\n }\n\n if (method === \"replace\") {\n item.value = value;\n } else {\n if (isObject(item.value)) {\n Object.assign(item.value, value);\n } else {\n // eslint-disable-next-line no-console\n console.warn(\n `Non-object current value of \"${this.type}.${name}\" for \"context.assign\", try \"context.replace\" instead.`\n );\n item.value = value;\n }\n }\n\n if (this.batchUpdate) return;\n\n item.eventTarget.dispatchEvent(\n new CustomEvent(this.changeEventType, {\n detail: item.value,\n })\n );\n }\n\n private finishLoad(item: DataStoreItem, value: unknown) {\n if (!item.useResolve) {\n // This happens when a tracked conditional resolve switches from\n // resolve to fallback after an dep update triggered refresh but\n // before it's been resolved.\n return;\n }\n item.loaded = true;\n item.value = value;\n item.eventTarget.dispatchEvent(\n new CustomEvent(this.changeEventType, {\n detail: value,\n })\n );\n }\n\n define(\n dataConfs: ContextConf[] | undefined,\n runtimeContext: RuntimeContext,\n asyncHostPropertyEntries?: AsyncPropertyEntry[],\n routePath?: RouteConf[]\n ): void {\n if (Array.isArray(dataConfs) && dataConfs.length > 0) {\n const pending = resolveDataStore(\n dataConfs,\n (dataConf: ContextConf) =>\n this.resolve(\n dataConf,\n runtimeContext,\n asyncHostPropertyEntries,\n routePath\n ),\n this.type,\n isStrictMode(runtimeContext)\n );\n this.pendingStack.push(pending);\n }\n }\n\n onChange(dataName: string, listener: EventListener): void {\n this.data\n .get(dataName)\n ?.eventTarget.addEventListener(this.changeEventType, listener);\n }\n\n async waitFor(dataNames: string[] | Set<string>): Promise<void> {\n for (const { pendingContexts } of this.pendingStack) {\n await Promise.all(\n [...dataNames].map((ctx) => {\n const p = pendingContexts.get(ctx);\n return p;\n })\n );\n }\n }\n\n async waitForAll(): Promise<void> {\n // Silent each pending contexts, since the error is handled by batched `pendingResult`\n for (const { pendingContexts } of this.pendingStack) {\n for (const p of pendingContexts.values()) {\n p.catch(() => {\n /* No-op */\n });\n }\n }\n for (const { pendingResult } of this.pendingStack) {\n await pendingResult;\n }\n }\n\n /**\n * After mount, dispatch the change event when an async data is loaded.\n *\n * If param `route` is present, handle data defined in that route (or its descendants) only.\n */\n mountAsyncData(route?: RouteConf) {\n this.data.forEach((item) => {\n if (item.async && (!route || this.routeMap.get(route)?.has(item.name))) {\n // istanbul ignore next\n if (item.asyncMounted) {\n // eslint-disable-next-line no-console\n console.error(\n `Async data \"${item.name}\" already mounted. This is a bug of Brick Next, please report it.`\n );\n return;\n }\n item.asyncMounted = true;\n // An async data always has `loading`\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n item.loading!.then((value) => {\n this.finishLoad(item, value);\n });\n }\n });\n }\n\n private async resolve(\n dataConf: ContextConf,\n runtimeContext: RuntimeContext,\n asyncHostPropertyEntries?: AsyncPropertyEntry[],\n routePath?: RouteConf[]\n ): Promise<boolean> {\n if (!(await asyncCheckIf(dataConf, runtimeContext))) {\n return false;\n }\n let value: unknown;\n if (\n asyncHostPropertyEntries &&\n (this.type === \"STATE\" ? dataConf.expose : this.type === \"FORM_STATE\")\n ) {\n value = await computePropertyValue(\n asyncHostPropertyEntries,\n dataConf.name\n );\n }\n let load: DataStoreItem[\"load\"];\n let loading: Promise<unknown> | undefined;\n let useResolve: boolean | undefined;\n let trackConditionalResolve: boolean | undefined;\n let resolvePolicy: \"eager\" | \"lazy\" | \"async\" | undefined;\n if (value === undefined) {\n if (dataConf.resolve) {\n const hasFallbackValue = hasOwnProperty(dataConf, \"value\");\n // Track conditional resolve only if all matches:\n // - Track enabled\n // - Has fallback value\n // - Referencing other data in `resolve.if`\n trackConditionalResolve =\n dataConf.track &&\n hasFallbackValue &&\n hasOwnProperty(dataConf.resolve, \"if\") &&\n strictCollectMemberUsage(dataConf.resolve.if, this.type).size > 0;\n const resolveConf = {\n transform: \"value\",\n ...dataConf.resolve,\n };\n useResolve = await asyncCheckIf(dataConf.resolve, runtimeContext);\n if (useResolve || trackConditionalResolve) {\n load = async (options) =>\n (\n (await resolveData(resolveConf, runtimeContext, {\n ...options,\n renderId: this.rendererContext?.renderId,\n })) as {\n value: unknown;\n }\n ).value;\n }\n if (useResolve) {\n // `async` take precedence over `lazy`\n resolvePolicy = dataConf.resolve.async\n ? \"async\"\n : dataConf.resolve.lazy\n ? \"lazy\"\n : \"eager\";\n if (resolvePolicy === \"eager\") {\n value = await load!();\n } else if (resolvePolicy === \"async\") {\n loading = load!();\n }\n } else if (!hasFallbackValue) {\n return false;\n }\n }\n if (\n (!useResolve || resolvePolicy !== \"eager\") &&\n dataConf.value !== undefined\n ) {\n // If the context has no resolve, just use its `value`.\n // Or if the resolve is ignored or lazy, use its `value` as a fallback.\n value = await asyncComputeRealValue(dataConf.value, runtimeContext);\n }\n }\n\n if (this.data.has(dataConf.name)) {\n throw new Error(\n `${this.type} '${dataConf.name}' has already been declared`\n );\n }\n\n const newData: DataStoreItem = {\n name: dataConf.name,\n value,\n // This is required for tracking context, even if no `onChange` is specified.\n eventTarget: new EventTarget(),\n useResolve,\n load,\n loaded: resolvePolicy === \"eager\",\n loading,\n async: resolvePolicy === \"async\",\n deps: [],\n };\n\n if (resolvePolicy === \"lazy\") {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const { trigger } = dataConf.resolve!;\n if (\n trigger &&\n supportContextResolveTriggerBrickLifeCycle.includes(trigger)\n ) {\n this.rendererContext?.registerArbitraryLifeCycle(trigger, () => {\n this.updateValue(dataConf.name, undefined, \"load\");\n });\n }\n }\n\n if (dataConf.onChange) {\n newData.eventTarget.addEventListener(\n this.changeEventType,\n listenerFactory(dataConf.onChange, runtimeContext)\n );\n }\n\n if (dataConf.track) {\n const deps = strictCollectMemberUsage(\n trackConditionalResolve\n ? [dataConf.resolve, dataConf.value]\n : load\n ? dataConf.resolve\n : dataConf.value,\n this.type\n );\n !load && (newData.deps = [...deps]);\n for (const dep of deps) {\n this.onChange(\n dep,\n this.batchAddListener(() => {\n newData.useResolve = trackConditionalResolve\n ? checkIf(dataConf.resolve!, runtimeContext)\n : !!load;\n if (newData.useResolve) {\n this.updateValue(dataConf.name, { cache: \"default\" }, \"refresh\");\n } else {\n this.updateValue(\n dataConf.name,\n computeRealValue(dataConf.value, runtimeContext),\n \"replace\"\n );\n }\n }, dataConf)\n );\n }\n }\n\n newData.eventTarget.addEventListener(this.changeEventType, (e) => {\n this.notifyRealTimeDataChange(dataConf.name, (e as CustomEvent).detail);\n });\n\n this.data.set(dataConf.name, newData);\n\n if (Array.isArray(routePath)) {\n for (const route of routePath) {\n const names = this.routeMap.get(route);\n if (names) {\n names.add(dataConf.name);\n } else {\n this.routeMap.set(route, new Set([dataConf.name]));\n }\n }\n }\n\n return true;\n }\n\n disposeDataInRoutes(routes: RouteConf[]) {\n for (const route of routes) {\n const names = this.routeMap.get(route);\n if (names !== undefined) {\n for (const name of names) {\n this.data.delete(name);\n }\n }\n }\n }\n\n private batchAddListener(\n listener: EventListener,\n contextConf: ContextConf\n ): EventListener {\n return (event: Event | CustomEvent): void => {\n if (\n this.batchUpdate &&\n this.batchUpdateContextsNames.includes(contextConf.name)\n ) {\n return;\n }\n listener(event);\n };\n }\n}\n"],"mappings":";;;AAOA,SAASA,cAAc,EAAEC,QAAQ,QAAQ,0BAA0B;AACnE,SAASC,wBAAwB,QAAQ,6BAA6B;AACtE,OAAOC,WAAW,MAAM,qBAAqB;AAC7C,SAASC,oBAAoB,EAAEC,eAAe,QAAQ,qBAAqB;AAC3E,SAASC,YAAY,EAAEC,OAAO,QAAQ,uBAAuB;AAC7D,SACEC,qBAAqB,EACrBC,gBAAgB,QACX,gCAAgC;AACvC,SAAyBC,WAAW,QAAQ,kBAAkB;AAC9D,SAASC,gBAAgB,QAAQ,uBAAuB;AAMxD,SAASC,eAAe,QAAQ,0BAA0B;AAE1D,SAASC,oBAAoB,QAAQ,qCAAqC;AAC1E,SAASC,uBAAuB,QAAQ,eAAe;AACvD,SACEC,4BAA4B,EAC5BC,uBAAuB,QAClB,0BAA0B;AACjC,SAASC,YAAY,QAAQ,uBAAuB;AAEpD,IAAMC,0CAA0C,GAAG,CACjD,kBAAkB,EAClB,YAAY,EACZ,mBAAmB,EACnB,aAAa,EACb,cAAc,EACd,gBAAgB,CACwB;AAiB1C,OAAO,MAAMC,SAAS,CAAkC;EAatD;EACAC,WAAWA,CACTC,IAAO,EACPC,SAAwB,EACxBC,eAAiC,EACjCC,YAAqB,EACrB;IAAAC,eAAA;IAAAA,eAAA,eAjBsB,IAAIC,GAAG,CAAwB,CAAC;IAAAD,eAAA;IAAAA,eAAA,uBAGtD,EAAE;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,sBAGkB,KAAK;IAAAA,eAAA,mCACkB,EAAE;IAAAA,eAAA;IAAAA,eAAA,mBAE5B,IAAIE,OAAO,CAAyB,CAAC;IAStD,IAAI,CAACN,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACO,eAAe,GAClB,IAAI,CAACP,IAAI,KAAK,YAAY,GACtB,kBAAkB,GAClB,IAAI,CAACA,IAAI,KAAK,OAAO,GACnB,cAAc,GACd,gBAAgB;IACxB,IAAI,CAACC,SAAS,GAAGA,SAAS;IAC1B,IAAI,CAACC,eAAe,GAAGA,eAAe;IACtC,IAAI,CAACC,YAAY,GAAGA,YAAY;EAClC;EAEAK,YAAYA,CAAA,EAA4B;IACtC,OAAOC,MAAM,CAACC,WAAW,CACvB,CAAC,GAAG,IAAI,CAACC,IAAI,CAACC,OAAO,CAAC,CAAC,CAAC,CAACC,GAAG,CAACC,IAAA;MAAA,IAAC,CAACC,IAAI,EAAE;QAAEC;MAAM,CAAC,CAAC,GAAAF,IAAA;MAAA,OAAK,CAACC,IAAI,EAAEC,KAAK,CAAC;IAAA,EACnE,CAAC;EACH;EAEAC,QAAQA,CAACF,IAAY,EAAW;IAAA,IAAAG,cAAA;IAC9B,QAAAA,cAAA,GAAO,IAAI,CAACP,IAAI,CAACQ,GAAG,CAACJ,IAAI,CAAC,cAAAG,cAAA,uBAAnBA,cAAA,CAAqBF,KAAK;EACnC;EAEQI,wBAAwBA,CAACL,IAAY,EAAEC,KAAc,EAAE;IAC7D,IAAIrB,uBAAuB,EAAE;MAC3B,IAAM;QAAE0B;MAAgB,CAAC,GAAG1B,uBAAuB;MACnD,IACE0B,eAAe,GACX,IAAI,CAACrB,IAAI,KAAK,OAAO,IAAI,IAAI,CAACG,YAAY,KAAKkB,eAAe,GAC9D,IAAI,CAACrB,IAAI,KAAK,KAAK,EACvB;QACAN,4BAA4B,CAAC;UAC3B4B,UAAU,EAAE,QAAQ;UACpBD,eAAe;UACfE,MAAM,EAAE;YACNR,IAAI;YACJC;UACF;QACF,CAAC,CAAC;MACJ;IACF;EACF;EAEQQ,sBAAsBA,CAACT,IAAY,EAAY;IACrD,IAAMU,WAAW,GAAG,CAACV,IAAI,CAAC;IAC1B,IAAI,CAACJ,IAAI,CAACe,OAAO,CAAC,CAACV,KAAK,EAAEW,GAAG,KAAK;MAChC,IAAIX,KAAK,CAACY,IAAI,EAAE;QACd,IAAMC,QAAQ,GAAGb,KAAK,CAACY,IAAI,CAACE,IAAI,CAAEC,IAAI,IAAKN,WAAW,CAACO,QAAQ,CAACD,IAAI,CAAC,CAAC;QACtEF,QAAQ,IACNJ,WAAW,CAACQ,IAAI,CAACN,GAAG,CAAC,IACrBF,WAAW,CAACQ,IAAI,CAAC,GAAG,IAAI,CAACT,sBAAsB,CAACG,GAAG,CAAC,CAAC;MACzD;IACF,CAAC,CAAC;IACFF,WAAW,CAACS,KAAK,CAAC,CAAC;IACnB,OAAO,CAAC,GAAG,IAAIC,GAAG,CAACV,WAAW,CAAC,CAAC;EAClC;EAEAW,YAAYA,CACVC,MAAgC,EAChCC,MAA4B,EAC5BC,WAAuD,EACjD;IACN,IAAI,CAACC,WAAW,GAAG,IAAI;IACvB,IAAI,CAACC,wBAAwB,GAAGJ,MAAM,CAACxB,GAAG,CAAEkB,IAAI,IAAKA,IAAI,CAAChB,IAAI,CAAC;IAC/D,IACE,CAAC,GAAG,IAAIoB,GAAG,CAAC,IAAI,CAACM,wBAAwB,CAAC,CAAC,CAACC,MAAM,KAClD,IAAI,CAACD,wBAAwB,CAACC,MAAM,EACpC;MACA,MAAM,IAAIC,KAAK,6CAA6C,CAAC;IAC/D;IAEA,IAAMC,cAA6C,GAAG,CAAC,CAAC;IACxD,IAAMC,cAA6C,GAAG,CAAC,CAAC;IACxD,IAAMC,sBAAgC,GAAG,EAAE;IAE3CT,MAAM,CAACX,OAAO,CAAEqB,GAAG,IAAK;MACtB,IAAM;QAAEhC,IAAI;QAAEC;MAAM,CAAC,GAAGuB,WAAW,CAAC,CAACQ,GAAG,CAAC,CAAC;MAC1C,IAAMC,iBAAiB,GAAG,IAAI,CAACrC,IAAI,CAACQ,GAAG,CAACJ,IAAI,CAAC;MAC7C+B,sBAAsB,CAACb,IAAI,CAAC,GAAG,IAAI,CAACT,sBAAsB,CAACT,IAAI,CAAC,CAAC;MACjEiC,iBAAiB,KAAKJ,cAAc,CAAC7B,IAAI,CAAC,GAAGiC,iBAAiB,CAAC;MAC/D,IAAI,CAACC,WAAW,CAAClC,IAAI,EAAYC,KAAK,EAAEsB,MAAM,CAAC;IACjD,CAAC,CAAC;IAEFQ,sBAAsB,CACnBI,MAAM,CAAEnB,IAAI,IAAK,CAACa,cAAc,CAACb,IAAI,CAAC,CAAC,CACvCL,OAAO,CAAEX,IAAI,IAAK;MACjB,IAAMoC,iBAAiB,GAAG,IAAI,CAACxC,IAAI,CAACQ,GAAG,CAACJ,IAAI,CAAC;MAC7CoC,iBAAiB,KAAKN,cAAc,CAAC9B,IAAI,CAAC,GAAGoC,iBAAiB,CAAC;IACjE,CAAC,CAAC;IAEJ,IAAMC,YAAY,GAAIC,QAAuC,IAAW;MACtE,KAAK,IAAM1B,GAAG,IAAI0B,QAAQ,EAAE;QAAA,IAAAC,oBAAA;QAC1B,IAAMC,OAAO,GAAGF,QAAQ,CAAC1B,GAAG,CAAC;QAC7B,CAAA2B,oBAAA,GAAAC,OAAO,CAACC,WAAW,cAAAF,oBAAA,eAAnBA,oBAAA,CAAqBG,aAAa,CAChC,IAAIC,WAAW,CAAC,IAAI,CAACnD,eAAe,EAAE;UACpCgB,MAAM,EAAEgC,OAAO,CAACvC;QAClB,CAAC,CACH,CAAC;MACH;IACF,CAAC;IAEDoC,YAAY,CAACR,cAAc,CAAC;IAC5BQ,YAAY,CAACP,cAAc,CAAC;IAE5B,IAAI,CAACL,WAAW,GAAG,KAAK;IAExB;EACF;EAEAS,WAAWA,CACTlC,IAAY,EACZC,KAAc,EACdsB,MAAiD,EACjDqB,QAAoC,EACpCC,sBAAuC,EACjC;IACN,IAAM7B,IAAI,GAAG,IAAI,CAACpB,IAAI,CAACQ,GAAG,CAACJ,IAAI,CAAC;IAChC,IAAI,CAACgB,IAAI,EAAE;MACT,MAAM,IAAIY,KAAK,IAAAkB,MAAA,CAAI,IAAI,CAAC7D,IAAI,QAAA6D,MAAA,CAAK9C,IAAI,qBAAkB,CAAC;IAC1D;IAEA,IAAIuB,MAAM,KAAK,SAAS,IAAIA,MAAM,KAAK,MAAM,EAAE;MAC7C,IAAI,CAACP,IAAI,CAAC+B,UAAU,EAAE;QACpB,MAAM,IAAInB,KAAK,gBAAAkB,MAAA,CACEvB,MAAM,SAAAuB,MAAA,CAAK,IAAI,CAAC7D,IAAI,OAAA6D,MAAA,CAAI9C,IAAI,kCAC7C,CAAC;MACH;MAEA,IAAIgD,OAAqC;MACzC,IAAIzB,MAAM,KAAK,MAAM,EAAE;QACrB;QACA,IAAIP,IAAI,CAACiC,MAAM,EAAE;UACfD,OAAO,GAAGE,OAAO,CAACC,OAAO,CAACnC,IAAI,CAACf,KAAK,CAAC;QACvC,CAAC,MAAM,IAAIe,IAAI,CAACoC,OAAO,EAAE;UACvBJ,OAAO,GAAGhC,IAAI,CAACoC,OAAO;QACxB;MACF;MAEA,IAAMC,aAAa,GAAIC,KAAc,IAAK;QAAA,IAAAC,qBAAA;QACxC;QACA;QACA;QACA;QACA,IAAIC,QAA4B;QAChC,OACE,CAACF,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAYtD,IAAI,MAAK,sBAAsB,IACjD,CAAC,EAAEwD,QAAQ,IAAAD,qBAAA,GAAG,IAAI,CAACpE,eAAe,cAAAoE,qBAAA,uBAApBA,qBAAA,CAAsBC,QAAQ,CAAC,IAC7CA,QAAQ,KAAK9E,uBAAuB,CAAC,CAAC;MAE1C,CAAC;MAED,IAAI,CAACsE,OAAO,EAAE;QACZA,OAAO,GAAGhC,IAAI,CAACoC,OAAO,GAAGpC,IAAI,CAACyC,IAAI,CAAAC,aAAA;UAChCC,KAAK,EAAEpC,MAAM,KAAK,MAAM,GAAG,SAAS,GAAG;QAAQ,GAC3CtB,KAAK,CACV,CAAC;QACF;QACA+C,OAAO,CAACY,IAAI,CACTC,GAAG,IAAK;UACP,IAAI,CAACC,UAAU,CAAC9C,IAAI,EAAE6C,GAAG,CAAC;QAC5B,CAAC,EACAE,GAAG,IAAK;UACP;UACA,IAAI/C,IAAI,CAAC+B,UAAU,IAAI,CAACM,aAAa,CAACU,GAAG,CAAC,IAAI,EAACnB,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAEU,KAAK,GAAE;YAC9D9E,eAAe,CAACuF,GAAG,CAAC;UACtB;QACF,CACF,CAAC;MACH;MAEA,IAAInB,QAAQ,EAAE;QACZ,IAAMoB,eAAe,GAAGhG,oBAAoB,CAC1C4E,QAAQ,EACRC,sBACF,CAAC;QAEDG,OAAO,CAACY,IAAI,CACTC,GAAG,IAAK;UACPG,eAAe,CAAC,SAAS,CAAC,CAAC;YAAE/D,KAAK,EAAE4D;UAAI,CAAC,CAAC;UAC1CG,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;QAC9B,CAAC,EACAD,GAAG,IAAK;UACP,IAAI,CAACV,aAAa,CAACU,GAAG,CAAC,IAAInB,QAAQ,CAACU,KAAK,EAAE;YACzCU,eAAe,CAAC,OAAO,CAAC,CAACD,GAAG,CAAC;UAC/B;UACAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;QAC9B,CACF,CAAC;MACH;MAEA;IACF;IAEA,IAAIzC,MAAM,KAAK,SAAS,EAAE;MACxBP,IAAI,CAACf,KAAK,GAAGA,KAAK;IACpB,CAAC,MAAM;MACL,IAAIpC,QAAQ,CAACmD,IAAI,CAACf,KAAK,CAAC,EAAE;QACxBP,MAAM,CAACuE,MAAM,CAACjD,IAAI,CAACf,KAAK,EAAEA,KAAK,CAAC;MAClC,CAAC,MAAM;QACL;QACAiE,OAAO,CAACC,IAAI,kCAAArB,MAAA,CACsB,IAAI,CAAC7D,IAAI,OAAA6D,MAAA,CAAI9C,IAAI,gEACnD,CAAC;QACDgB,IAAI,CAACf,KAAK,GAAGA,KAAK;MACpB;IACF;IAEA,IAAI,IAAI,CAACwB,WAAW,EAAE;IAEtBT,IAAI,CAACyB,WAAW,CAACC,aAAa,CAC5B,IAAIC,WAAW,CAAC,IAAI,CAACnD,eAAe,EAAE;MACpCgB,MAAM,EAAEQ,IAAI,CAACf;IACf,CAAC,CACH,CAAC;EACH;EAEQ6D,UAAUA,CAAC9C,IAAmB,EAAEf,KAAc,EAAE;IACtD,IAAI,CAACe,IAAI,CAAC+B,UAAU,EAAE;MACpB;MACA;MACA;MACA;IACF;IACA/B,IAAI,CAACiC,MAAM,GAAG,IAAI;IAClBjC,IAAI,CAACf,KAAK,GAAGA,KAAK;IAClBe,IAAI,CAACyB,WAAW,CAACC,aAAa,CAC5B,IAAIC,WAAW,CAAC,IAAI,CAACnD,eAAe,EAAE;MACpCgB,MAAM,EAAEP;IACV,CAAC,CACH,CAAC;EACH;EAEAmE,MAAMA,CACJC,SAAoC,EACpCC,cAA8B,EAC9BC,wBAA+C,EAC/CC,SAAuB,EACjB;IACN,IAAIC,KAAK,CAACC,OAAO,CAACL,SAAS,CAAC,IAAIA,SAAS,CAAC1C,MAAM,GAAG,CAAC,EAAE;MACpD,IAAMgD,OAAO,GAAGpG,gBAAgB,CAC9B8F,SAAS,EACRO,QAAqB,IACpB,IAAI,CAACzB,OAAO,CACVyB,QAAQ,EACRN,cAAc,EACdC,wBAAwB,EACxBC,SACF,CAAC,EACH,IAAI,CAACvF,IAAI,EACTJ,YAAY,CAACyF,cAAc,CAC7B,CAAC;MACD,IAAI,CAACO,YAAY,CAAC3D,IAAI,CAACyD,OAAO,CAAC;IACjC;EACF;EAEAG,QAAQA,CAACC,QAAgB,EAAEC,QAAuB,EAAQ;IAAA,IAAAC,eAAA;IACxD,CAAAA,eAAA,OAAI,CAACrF,IAAI,CACNQ,GAAG,CAAC2E,QAAQ,CAAC,cAAAE,eAAA,eADhBA,eAAA,CAEIxC,WAAW,CAACyC,gBAAgB,CAAC,IAAI,CAAC1F,eAAe,EAAEwF,QAAQ,CAAC;EAClE;EAEMG,OAAOA,CAACC,SAAiC,EAAiB;IAAA,IAAAC,KAAA;IAAA,OAAAC,iBAAA;MAAA,IAAAC,KAAA,aAAAA,CAAAC,eAAA,EACT;QACnD,MAAMtC,OAAO,CAACuC,GAAG,CACf,CAAC,GAAGL,SAAS,CAAC,CAACtF,GAAG,CAAE4F,GAAG,IAAK;UAC1B,IAAMC,CAAC,GAAGH,eAAe,CAACpF,GAAG,CAACsF,GAAG,CAAC;UAClC,OAAOC,CAAC;QACV,CAAC,CACH,CAAC;MACH,CAAC;MAPD,KAAK,IAAM;QAAEH;MAAgB,CAAC,IAAIH,KAAI,CAACR,YAAY;QAAA,OAAAU,KAAA,CAAAC,eAAA;MAAA;IAOlD;EACH;EAEMI,UAAUA,CAAA,EAAkB;IAAA,IAAAC,MAAA;IAAA,OAAAP,iBAAA;MAChC;MACA,KAAK,IAAM;QAAEE;MAAgB,CAAC,IAAIK,MAAI,CAAChB,YAAY,EAAE;QACnD,KAAK,IAAMc,CAAC,IAAIH,eAAe,CAAClE,MAAM,CAAC,CAAC,EAAE;UACxCqE,CAAC,CAACG,KAAK,CAAC,MAAM;YACZ;UAAA,CACD,CAAC;QACJ;MACF;MACA,KAAK,IAAM;QAAEC;MAAc,CAAC,IAAIF,MAAI,CAAChB,YAAY,EAAE;QACjD,MAAMkB,aAAa;MACrB;IAAC;EACH;;EAEA;AACF;AACA;AACA;AACA;EACEC,cAAcA,CAACC,KAAiB,EAAE;IAChC,IAAI,CAACrG,IAAI,CAACe,OAAO,CAAEK,IAAI,IAAK;MAAA,IAAAkF,kBAAA;MAC1B,IAAIlF,IAAI,CAACmF,KAAK,KAAK,CAACF,KAAK,KAAAC,kBAAA,GAAI,IAAI,CAACE,QAAQ,CAAChG,GAAG,CAAC6F,KAAK,CAAC,cAAAC,kBAAA,eAAxBA,kBAAA,CAA0BG,GAAG,CAACrF,IAAI,CAAChB,IAAI,CAAC,CAAC,EAAE;QACtE;QACA,IAAIgB,IAAI,CAACsF,YAAY,EAAE;UACrB;UACApC,OAAO,CAACZ,KAAK,iBAAAR,MAAA,CACI9B,IAAI,CAAChB,IAAI,uEAC1B,CAAC;UACD;QACF;QACAgB,IAAI,CAACsF,YAAY,GAAG,IAAI;QACxB;QACA;QACAtF,IAAI,CAACoC,OAAO,CAAEQ,IAAI,CAAE3D,KAAK,IAAK;UAC5B,IAAI,CAAC6D,UAAU,CAAC9C,IAAI,EAAEf,KAAK,CAAC;QAC9B,CAAC,CAAC;MACJ;IACF,CAAC,CAAC;EACJ;EAEckD,OAAOA,CACnByB,QAAqB,EACrBN,cAA8B,EAC9BC,wBAA+C,EAC/CC,SAAuB,EACL;IAAA,IAAA+B,MAAA;IAAA,OAAAjB,iBAAA;MAClB,IAAI,QAAQpH,YAAY,CAAC0G,QAAQ,EAAEN,cAAc,CAAC,CAAC,EAAE;QACnD,OAAO,KAAK;MACd;MACA,IAAIrE,KAAc;MAClB,IACEsE,wBAAwB,KACvBgC,MAAI,CAACtH,IAAI,KAAK,OAAO,GAAG2F,QAAQ,CAAC4B,MAAM,GAAGD,MAAI,CAACtH,IAAI,KAAK,YAAY,CAAC,EACtE;QACAgB,KAAK,SAASxB,oBAAoB,CAChC8F,wBAAwB,EACxBK,QAAQ,CAAC5E,IACX,CAAC;MACH;MACA,IAAIyD,IAA2B;MAC/B,IAAIL,OAAqC;MACzC,IAAIL,UAA+B;MACnC,IAAI0D,uBAA4C;MAChD,IAAIC,aAAqD;MACzD,IAAIzG,KAAK,KAAK0G,SAAS,EAAE;QACvB,IAAI/B,QAAQ,CAACzB,OAAO,EAAE;UACpB,IAAMyD,gBAAgB,GAAGhJ,cAAc,CAACgH,QAAQ,EAAE,OAAO,CAAC;UAC1D;UACA;UACA;UACA;UACA6B,uBAAuB,GACrB7B,QAAQ,CAACiC,KAAK,IACdD,gBAAgB,IAChBhJ,cAAc,CAACgH,QAAQ,CAACzB,OAAO,EAAE,IAAI,CAAC,IACtCrF,wBAAwB,CAAC8G,QAAQ,CAACzB,OAAO,CAAC2D,EAAE,EAAEP,MAAI,CAACtH,IAAI,CAAC,CAAC8H,IAAI,GAAG,CAAC;UACnE,IAAMC,WAAW,GAAAtD,aAAA;YACfuD,SAAS,EAAE;UAAO,GACfrC,QAAQ,CAACzB,OAAO,CACpB;UACDJ,UAAU,SAAS7E,YAAY,CAAC0G,QAAQ,CAACzB,OAAO,EAAEmB,cAAc,CAAC;UACjE,IAAIvB,UAAU,IAAI0D,uBAAuB,EAAE;YACzChD,IAAI;cAAA,IAAAyD,KAAA,GAAA5B,iBAAA,CAAG,WAAO6B,OAAO;gBAAA,IAAAC,qBAAA;gBAAA,OACnB,OACS9I,WAAW,CAAC0I,WAAW,EAAE1C,cAAc,EAAAZ,aAAA,CAAAA,aAAA,KACzCyD,OAAO;kBACV3D,QAAQ,GAAA4D,qBAAA,GAAEb,MAAI,CAACpH,eAAe,cAAAiI,qBAAA,uBAApBA,qBAAA,CAAsB5D;gBAAQ,EACzC,CAAC,EAGFvD,KAAK;cAAA;cAAA,gBAAAwD,KAAA4D,EAAA;gBAAA,OAAAH,KAAA,CAAAI,KAAA,OAAAC,SAAA;cAAA;YAAA;UACX;UACA,IAAIxE,UAAU,EAAE;YACd;YACA2D,aAAa,GAAG9B,QAAQ,CAACzB,OAAO,CAACgD,KAAK,GAClC,OAAO,GACPvB,QAAQ,CAACzB,OAAO,CAACqE,IAAI,GACnB,MAAM,GACN,OAAO;YACb,IAAId,aAAa,KAAK,OAAO,EAAE;cAC7BzG,KAAK,SAASwD,IAAI,CAAE,CAAC;YACvB,CAAC,MAAM,IAAIiD,aAAa,KAAK,OAAO,EAAE;cACpCtD,OAAO,GAAGK,IAAI,CAAE,CAAC;YACnB;UACF,CAAC,MAAM,IAAI,CAACmD,gBAAgB,EAAE;YAC5B,OAAO,KAAK;UACd;QACF;QACA,IACE,CAAC,CAAC7D,UAAU,IAAI2D,aAAa,KAAK,OAAO,KACzC9B,QAAQ,CAAC3E,KAAK,KAAK0G,SAAS,EAC5B;UACA;UACA;UACA1G,KAAK,SAAS7B,qBAAqB,CAACwG,QAAQ,CAAC3E,KAAK,EAAEqE,cAAc,CAAC;QACrE;MACF;MAEA,IAAIiC,MAAI,CAAC3G,IAAI,CAACyG,GAAG,CAACzB,QAAQ,CAAC5E,IAAI,CAAC,EAAE;QAChC,MAAM,IAAI4B,KAAK,IAAAkB,MAAA,CACVyD,MAAI,CAACtH,IAAI,QAAA6D,MAAA,CAAK8B,QAAQ,CAAC5E,IAAI,gCAChC,CAAC;MACH;MAEA,IAAMyH,OAAsB,GAAG;QAC7BzH,IAAI,EAAE4E,QAAQ,CAAC5E,IAAI;QACnBC,KAAK;QACL;QACAwC,WAAW,EAAE,IAAI1E,WAAW,CAAC,CAAC;QAC9BgF,UAAU;QACVU,IAAI;QACJR,MAAM,EAAEyD,aAAa,KAAK,OAAO;QACjCtD,OAAO;QACP+C,KAAK,EAAEO,aAAa,KAAK,OAAO;QAChC7F,IAAI,EAAE;MACR,CAAC;MAED,IAAI6F,aAAa,KAAK,MAAM,EAAE;QAC5B;QACA,IAAM;UAAEgB;QAAQ,CAAC,GAAG9C,QAAQ,CAACzB,OAAQ;QACrC,IACEuE,OAAO,IACP5I,0CAA0C,CAACmC,QAAQ,CAACyG,OAAO,CAAC,EAC5D;UAAA,IAAAC,sBAAA;UACA,CAAAA,sBAAA,GAAApB,MAAI,CAACpH,eAAe,cAAAwI,sBAAA,eAApBA,sBAAA,CAAsBC,0BAA0B,CAACF,OAAO,EAAE,MAAM;YAC9DnB,MAAI,CAACrE,WAAW,CAAC0C,QAAQ,CAAC5E,IAAI,EAAE2G,SAAS,EAAE,MAAM,CAAC;UACpD,CAAC,CAAC;QACJ;MACF;MAEA,IAAI/B,QAAQ,CAACE,QAAQ,EAAE;QACrB2C,OAAO,CAAChF,WAAW,CAACyC,gBAAgB,CAClCqB,MAAI,CAAC/G,eAAe,EACpBvB,eAAe,CAAC2G,QAAQ,CAACE,QAAQ,EAAER,cAAc,CACnD,CAAC;MACH;MAEA,IAAIM,QAAQ,CAACiC,KAAK,EAAE;QAClB,IAAMhG,IAAI,GAAG/C,wBAAwB,CACnC2I,uBAAuB,GACnB,CAAC7B,QAAQ,CAACzB,OAAO,EAAEyB,QAAQ,CAAC3E,KAAK,CAAC,GAClCwD,IAAI,GACFmB,QAAQ,CAACzB,OAAO,GAChByB,QAAQ,CAAC3E,KAAK,EACpBsG,MAAI,CAACtH,IACP,CAAC;QACD,CAACwE,IAAI,KAAKgE,OAAO,CAAC5G,IAAI,GAAG,CAAC,GAAGA,IAAI,CAAC,CAAC;QACnC,KAAK,IAAMgH,GAAG,IAAIhH,IAAI,EAAE;UACtB0F,MAAI,CAACzB,QAAQ,CACX+C,GAAG,EACHtB,MAAI,CAACuB,gBAAgB,CAAC,MAAM;YAC1BL,OAAO,CAAC1E,UAAU,GAAG0D,uBAAuB,GACxCtI,OAAO,CAACyG,QAAQ,CAACzB,OAAO,EAAGmB,cAAc,CAAC,GAC1C,CAAC,CAACb,IAAI;YACV,IAAIgE,OAAO,CAAC1E,UAAU,EAAE;cACtBwD,MAAI,CAACrE,WAAW,CAAC0C,QAAQ,CAAC5E,IAAI,EAAE;gBAAE2D,KAAK,EAAE;cAAU,CAAC,EAAE,SAAS,CAAC;YAClE,CAAC,MAAM;cACL4C,MAAI,CAACrE,WAAW,CACd0C,QAAQ,CAAC5E,IAAI,EACb3B,gBAAgB,CAACuG,QAAQ,CAAC3E,KAAK,EAAEqE,cAAc,CAAC,EAChD,SACF,CAAC;YACH;UACF,CAAC,EAAEM,QAAQ,CACb,CAAC;QACH;MACF;MAEA6C,OAAO,CAAChF,WAAW,CAACyC,gBAAgB,CAACqB,MAAI,CAAC/G,eAAe,EAAGuI,CAAC,IAAK;QAChExB,MAAI,CAAClG,wBAAwB,CAACuE,QAAQ,CAAC5E,IAAI,EAAG+H,CAAC,CAAiBvH,MAAM,CAAC;MACzE,CAAC,CAAC;MAEF+F,MAAI,CAAC3G,IAAI,CAACoI,GAAG,CAACpD,QAAQ,CAAC5E,IAAI,EAAEyH,OAAO,CAAC;MAErC,IAAIhD,KAAK,CAACC,OAAO,CAACF,SAAS,CAAC,EAAE;QAC5B,KAAK,IAAMyB,KAAK,IAAIzB,SAAS,EAAE;UAC7B,IAAMyD,KAAK,GAAG1B,MAAI,CAACH,QAAQ,CAAChG,GAAG,CAAC6F,KAAK,CAAC;UACtC,IAAIgC,KAAK,EAAE;YACTA,KAAK,CAACC,GAAG,CAACtD,QAAQ,CAAC5E,IAAI,CAAC;UAC1B,CAAC,MAAM;YACLuG,MAAI,CAACH,QAAQ,CAAC4B,GAAG,CAAC/B,KAAK,EAAE,IAAI7E,GAAG,CAAC,CAACwD,QAAQ,CAAC5E,IAAI,CAAC,CAAC,CAAC;UACpD;QACF;MACF;MAEA,OAAO,IAAI;IAAC;EACd;EAEAmI,mBAAmBA,CAACC,MAAmB,EAAE;IACvC,KAAK,IAAMnC,KAAK,IAAImC,MAAM,EAAE;MAC1B,IAAMH,KAAK,GAAG,IAAI,CAAC7B,QAAQ,CAAChG,GAAG,CAAC6F,KAAK,CAAC;MACtC,IAAIgC,KAAK,KAAKtB,SAAS,EAAE;QACvB,KAAK,IAAM3G,IAAI,IAAIiI,KAAK,EAAE;UACxB,IAAI,CAACrI,IAAI,CAACyI,MAAM,CAACrI,IAAI,CAAC;QACxB;MACF;IACF;EACF;EAEQ8H,gBAAgBA,CACtB9C,QAAuB,EACvBsD,WAAwB,EACT;IACf,OAAQC,KAA0B,IAAW;MAC3C,IACE,IAAI,CAAC9G,WAAW,IAChB,IAAI,CAACC,wBAAwB,CAACT,QAAQ,CAACqH,WAAW,CAACtI,IAAI,CAAC,EACxD;QACA;MACF;MACAgF,QAAQ,CAACuD,KAAK,CAAC;IACjB,CAAC;EACH;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"getProviderBrick.js","names":["loadBricksImperatively","getBrickPackages","hooks","pool","Map","getProviderBrick","_x","_getProviderBrick","apply","arguments","_asyncToGenerator","provider","_hooks$flowApi","isFlowApi","flowApi","isFlowApiProvider","FLOW_API_PROVIDER","brick","get","includes","customElements","registerFlowApiProvider","Error","concat","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,SAASA,sBAAsB,QAAQ,mBAAmB;AAC1D,SAASC,gBAAgB,EAAEC,KAAK,QAAQ,eAAe;AAEvD,IAAMC,IAAI,GAAG,IAAIC,GAAG,CAAsB,CAAC;AAC3C,gBAAsBC,gBAAgBA,CAAAC,EAAA;EAAA,OAAAC,iBAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AA0BrC,SAAAF,kBAAA;EAAAA,iBAAA,GAAAG,iBAAA,CA1BM,WAAgCC,QAAgB,EAAwB;IAAA,IAAAC,cAAA;IAC7E,IAAMC,SAAS,GAAGX,KAAK,aAALA,KAAK,gBAAAU,cAAA,GAALV,KAAK,CAAEY,OAAO,cAAAF,cAAA,uBAAdA,cAAA,CAAgBG,iBAAiB,CAACJ,QAAQ,CAAC;IAC7D,IAAIE,SAAS,EAAE;MACbF,QAAQ,GAAGT,KAAK,CAAEY,OAAO,CAAEE,iBAAiB;IAC9C;IAEA,IAAIC,KAAK,GAAGd,IAAI,CAACe,GAAG,CAACP,QAAQ,CAAC;IAC9B,IAAIM,KAAK,EAAE;MACT,OAAOA,KAAK;IACd;IAEA,IAAIN,QAAQ,CAACQ,QAAQ,CAAC,GAAG,CAAC,IAAI,CAACC,cAAc,CAACF,GAAG,CAACP,QAAQ,CAAC,EAAE;MAC3D,IAAIE,SAAS,EAAE;QACbX,KAAK,CAAEY,OAAO,CAAEO,uBAAuB,CAAC,CAAC;MAC3C,CAAC,MAAM;QACL,MAAMrB,sBAAsB,CAAC,CAACW,QAAQ,CAAC,EAAEV,gBAAgB,CAAC,CAAC,CAAC;QAE5D,IAAI,CAACmB,cAAc,CAACF,GAAG,CAACP,QAAQ,CAAC,EAAE;UACjC,MAAM,IAAIW,KAAK,4BAAAC,MAAA,CAA2BZ,QAAQ,QAAI,CAAC;QACzD;MACF;IACF;IAEAM,KAAK,GAAGO,QAAQ,CAACC,aAAa,CAACd,QAAQ,CAAC;IACxCR,IAAI,CAACuB,GAAG,CAACf,QAAQ,EAAEM,KAAK,CAAC;IACzB,OAAOA,KAAK;EACd,CAAC;EAAA,OAAAV,iBAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA"}
1
+ {"version":3,"file":"getProviderBrick.js","names":["loadBricksImperatively","getBrickPackages","hooks","pool","Map","getProviderBrick","_x","_getProviderBrick","apply","arguments","_asyncToGenerator","provider","_hooks$flowApi","isFlowApi","flowApi","isFlowApiProvider","FLOW_API_PROVIDER","brick","get","includes","customElements","registerFlowApiProvider","Error","concat","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,SAASA,sBAAsB,QAAQ,mBAAmB;AAC1D,SAASC,gBAAgB,EAAEC,KAAK,QAAQ,eAAe;AAEvD,IAAMC,IAAI,GAAG,IAAIC,GAAG,CAAsB,CAAC;AAC3C,gBAAsBC,gBAAgBA,CAAAC,EAAA;EAAA,OAAAC,iBAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AA0BrC,SAAAF,kBAAA;EAAAA,iBAAA,GAAAG,iBAAA,CA1BM,WAAgCC,QAAgB,EAAwB;IAAA,IAAAC,cAAA;IAC7E,IAAMC,SAAS,GAAGX,KAAK,aAALA,KAAK,gBAAAU,cAAA,GAALV,KAAK,CAAEY,OAAO,cAAAF,cAAA,uBAAdA,cAAA,CAAgBG,iBAAiB,CAACJ,QAAQ,CAAC;IAC7D,IAAIE,SAAS,EAAE;MACbF,QAAQ,GAAGT,KAAK,CAAEY,OAAO,CAAEE,iBAAiB;IAC9C;IAEA,IAAIC,KAAK,GAAGd,IAAI,CAACe,GAAG,CAACP,QAAQ,CAAC;IAC9B,IAAIM,KAAK,EAAE;MACT,OAAOA,KAAK;IACd;IAEA,IAAIN,QAAQ,CAACQ,QAAQ,CAAC,GAAG,CAAC,IAAI,CAACC,cAAc,CAACF,GAAG,CAACP,QAAQ,CAAC,EAAE;MAC3D,IAAIE,SAAS,EAAE;QACbX,KAAK,CAAEY,OAAO,CAAEO,uBAAuB,CAAC,CAAC;MAC3C,CAAC,MAAM;QACL,MAAMrB,sBAAsB,CAAC,CAACW,QAAQ,CAAC,EAAEV,gBAAgB,CAAC,CAAC,CAAC;QAE5D,IAAI,CAACmB,cAAc,CAACF,GAAG,CAACP,QAAQ,CAAC,EAAE;UACjC,MAAM,IAAIW,KAAK,4BAAAC,MAAA,CAA2BZ,QAAQ,QAAI,CAAC;QACzD;MACF;IACF;IAEAM,KAAK,GAAGO,QAAQ,CAACC,aAAa,CAACd,QAAQ,CAAC;IACxCR,IAAI,CAACuB,GAAG,CAACf,QAAQ,EAAEM,KAAK,CAAC;IACzB,OAAOA,KAAK;EACd,CAAC;EAAA,OAAAV,iBAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"realTimeDataInspect.js","names":["getAllContextValues","realTimeDataInspectRoot","RealTimeDataInspectHooks","setRealTimeDataInspectRoot","root","data","tplStateStoreId","callRealTimeDataInspectHooks","changeType","detail","addRealTimeDataInspectHook","hook","push","setTimeout","error","console","concat"],"sources":["../../../../src/internal/data/realTimeDataInspect.ts"],"sourcesContent":["import { getAllContextValues } from \"../secret_internals.js\";\n\nexport interface RealTimeDataInspectRoot {\n tplStateStoreId?: string;\n}\n\nexport type RealTimeDataInspectHook = (\n detail: RealTimeDataInspectDetail\n) => void;\n\nexport type RealTimeDataInspectDetail =\n | RealTimeDataInspectUpdateDetail\n | RealTimeDataInspectInitializeDetail;\n\nexport interface RealTimeDataInspectUpdateDetail {\n changeType: \"update\";\n tplStateStoreId?: string;\n detail: {\n name: string;\n value: unknown;\n };\n}\n\nexport interface RealTimeDataInspectInitializeDetail {\n changeType: \"initialize\";\n tplStateStoreId?: string;\n detail: {\n data: Record<string, unknown>;\n };\n}\n\nexport let realTimeDataInspectRoot: RealTimeDataInspectRoot | undefined;\n\nexport const RealTimeDataInspectHooks: RealTimeDataInspectHook[] = [];\n\nexport function setRealTimeDataInspectRoot(root: RealTimeDataInspectRoot) {\n realTimeDataInspectRoot = root;\n\n const data = getAllContextValues({ tplStateStoreId: root.tplStateStoreId });\n callRealTimeDataInspectHooks({\n changeType: \"initialize\",\n tplStateStoreId: root.tplStateStoreId,\n detail: { data },\n });\n}\n\nexport function addRealTimeDataInspectHook(hook: RealTimeDataInspectHook) {\n RealTimeDataInspectHooks.push(hook);\n}\n\nexport function callRealTimeDataInspectHooks(\n detail: RealTimeDataInspectDetail\n) {\n setTimeout(() => {\n for (const hook of RealTimeDataInspectHooks) {\n try {\n hook(detail);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(\n `RealTimeDataInspectHook failed (${detail.changeType}):`,\n error\n );\n }\n }\n });\n}\n"],"mappings":"AAAA,SAASA,mBAAmB,QAAQ,wBAAwB;AA+B5D,OAAO,IAAIC,uBAA4D;AAEvE,OAAO,IAAMC,wBAAmD,GAAG,EAAE;AAErE,OAAO,SAASC,0BAA0BA,CAACC,IAA6B,EAAE;EACxEH,uBAAuB,GAAGG,IAAI;EAE9B,IAAMC,IAAI,GAAGL,mBAAmB,CAAC;IAAEM,eAAe,EAAEF,IAAI,CAACE;EAAgB,CAAC,CAAC;EAC3EC,4BAA4B,CAAC;IAC3BC,UAAU,EAAE,YAAY;IACxBF,eAAe,EAAEF,IAAI,CAACE,eAAe;IACrCG,MAAM,EAAE;MAAEJ;IAAK;EACjB,CAAC,CAAC;AACJ;AAEA,OAAO,SAASK,0BAA0BA,CAACC,IAA6B,EAAE;EACxET,wBAAwB,CAACU,IAAI,CAACD,IAAI,CAAC;AACrC;AAEA,OAAO,SAASJ,4BAA4BA,CAC1CE,MAAiC,EACjC;EACAI,UAAU,CAAC,MAAM;IACf,KAAK,IAAMF,IAAI,IAAIT,wBAAwB,EAAE;MAC3C,IAAI;QACFS,IAAI,CAACF,MAAM,CAAC;MACd,CAAC,CAAC,OAAOK,KAAK,EAAE;QACd;QACAC,OAAO,CAACD,KAAK,oCAAAE,MAAA,CACwBP,MAAM,CAACD,UAAU,SACpDM,KACF,CAAC;MACH;IACF;EACF,CAAC,CAAC;AACJ"}
1
+ {"version":3,"file":"realTimeDataInspect.js","names":["getAllContextValues","realTimeDataInspectRoot","RealTimeDataInspectHooks","setRealTimeDataInspectRoot","root","data","tplStateStoreId","callRealTimeDataInspectHooks","changeType","detail","addRealTimeDataInspectHook","hook","push","setTimeout","error","console","concat"],"sources":["../../../../src/internal/data/realTimeDataInspect.ts"],"sourcesContent":["import { getAllContextValues } from \"../secret_internals.js\";\n\nexport interface RealTimeDataInspectRoot {\n tplStateStoreId?: string;\n}\n\nexport type RealTimeDataInspectHook = (\n detail: RealTimeDataInspectDetail\n) => void;\n\nexport type RealTimeDataInspectDetail =\n | RealTimeDataInspectUpdateDetail\n | RealTimeDataInspectInitializeDetail;\n\nexport interface RealTimeDataInspectUpdateDetail {\n changeType: \"update\";\n tplStateStoreId?: string;\n detail: {\n name: string;\n value: unknown;\n };\n}\n\nexport interface RealTimeDataInspectInitializeDetail {\n changeType: \"initialize\";\n tplStateStoreId?: string;\n detail: {\n data: Record<string, unknown>;\n };\n}\n\nexport let realTimeDataInspectRoot: RealTimeDataInspectRoot | undefined;\n\nexport const RealTimeDataInspectHooks: RealTimeDataInspectHook[] = [];\n\nexport function setRealTimeDataInspectRoot(root: RealTimeDataInspectRoot) {\n realTimeDataInspectRoot = root;\n\n const data = getAllContextValues({ tplStateStoreId: root.tplStateStoreId });\n callRealTimeDataInspectHooks({\n changeType: \"initialize\",\n tplStateStoreId: root.tplStateStoreId,\n detail: { data },\n });\n}\n\nexport function addRealTimeDataInspectHook(hook: RealTimeDataInspectHook) {\n RealTimeDataInspectHooks.push(hook);\n}\n\nexport function callRealTimeDataInspectHooks(\n detail: RealTimeDataInspectDetail\n) {\n setTimeout(() => {\n for (const hook of RealTimeDataInspectHooks) {\n try {\n hook(detail);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(\n `RealTimeDataInspectHook failed (${detail.changeType}):`,\n error\n );\n }\n }\n });\n}\n"],"mappings":"AAAA,SAASA,mBAAmB,QAAQ,wBAAwB;AA+B5D,OAAO,IAAIC,uBAA4D;AAEvE,OAAO,IAAMC,wBAAmD,GAAG,EAAE;AAErE,OAAO,SAASC,0BAA0BA,CAACC,IAA6B,EAAE;EACxEH,uBAAuB,GAAGG,IAAI;EAE9B,IAAMC,IAAI,GAAGL,mBAAmB,CAAC;IAAEM,eAAe,EAAEF,IAAI,CAACE;EAAgB,CAAC,CAAC;EAC3EC,4BAA4B,CAAC;IAC3BC,UAAU,EAAE,YAAY;IACxBF,eAAe,EAAEF,IAAI,CAACE,eAAe;IACrCG,MAAM,EAAE;MAAEJ;IAAK;EACjB,CAAC,CAAC;AACJ;AAEA,OAAO,SAASK,0BAA0BA,CAACC,IAA6B,EAAE;EACxET,wBAAwB,CAACU,IAAI,CAACD,IAAI,CAAC;AACrC;AAEA,OAAO,SAASJ,4BAA4BA,CAC1CE,MAAiC,EACjC;EACAI,UAAU,CAAC,MAAM;IACf,KAAK,IAAMF,IAAI,IAAIT,wBAAwB,EAAE;MAC3C,IAAI;QACFS,IAAI,CAACF,MAAM,CAAC;MACd,CAAC,CAAC,OAAOK,KAAK,EAAE;QACd;QACAC,OAAO,CAACD,KAAK,oCAAAE,MAAA,CACwBP,MAAM,CAACD,UAAU,SACpDM,KACF,CAAC;MACH;IACF;EACF,CAAC,CAAC;AACJ","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"resolveData.js","names":["asyncComputeRealValue","getProviderBrick","_internalApiGetRenderId","hooks","markAsComputed","get","isStrictMode","warnAboutStrictMode","cache","Map","resolveData","_x","_x2","_x3","_resolveData","apply","arguments","_asyncToGenerator","resolveConf","runtimeContext","options","useProvider","method","args","onReject","provider","legacyProvider","field","legacyField","Error","concat","hasLegacyField","undefined","strict","providerBrick","actualArgs","Promise","all","renderId","stale","promise","resolveByProvider","transform","data","value","error","isHandleRejectByTransform","_objectSpread","clearResolveCache","clear","_x4","_x5","_x6","_x7","_x8","_x9","_x10","_resolveByProvider","brick","originalArgs","cacheKey","JSON","stringify","e","_hooks$flowApi","finalArgs","flowApi","isFlowApiProvider","getArgsOfFlowApi","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 { _internalApiGetRenderId, hooks } from \"../Runtime.js\";\nimport { markAsComputed } from \"../compute/markAsComputed.js\";\nimport { get } from \"lodash\";\nimport { isStrictMode, warnAboutStrictMode } from \"../../isStrictMode.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 renderId?: string;\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 { provider: legacyProvider, field: legacyField } = resolveConf as {\n provider?: string;\n field?: string | string[];\n };\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 hasLegacyField = legacyField !== null && legacyField !== undefined;\n if (hasLegacyField) {\n const strict = isStrictMode();\n warnAboutStrictMode(strict, \"`resolve.field`\");\n // istanbul ignore next\n if (strict) {\n throw new Error(\"Using deprecated `resolve.field`\");\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 // `clearResolveCache` maybe cleared during the above promise being\n // fulfilled, so we manually mark it as stale for this case.\n const renderId = options?.renderId;\n const stale = !!renderId && renderId !== _internalApiGetRenderId();\n\n const promise = resolveByProvider(\n providerBrick,\n useProvider,\n method,\n actualArgs,\n options,\n args,\n stale\n );\n\n let { transform } = resolveConf;\n let data: unknown;\n\n try {\n const value = await promise;\n data = hasLegacyField ? get(value, legacyField) : value;\n // The fetched data and its inner objects should never be *injected* again.\n markAsComputed(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 stale?: boolean\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[method](...finalArgs);\n })();\n\n if (!stale) {\n cache.set(cacheKey, promise);\n }\n }\n\n return promise;\n}\n\nfunction isHandleRejectByTransform(\n onReject: HandleReject | undefined\n): onReject is HandleRejectByTransform {\n return !!(onReject as HandleRejectByTransform)?.transform;\n}\n"],"mappings":";;AAKA,SAASA,qBAAqB,QAAQ,gCAAgC;AACtE,SAASC,gBAAgB,QAAQ,uBAAuB;AAExD,SAASC,uBAAuB,EAAEC,KAAK,QAAQ,eAAe;AAC9D,SAASC,cAAc,QAAQ,8BAA8B;AAC7D,SAASC,GAAG,QAAQ,QAAQ;AAC5B,SAASC,YAAY,EAAEC,mBAAmB,QAAQ,uBAAuB;AAEzE,IAAMC,KAAK,GAAG,IAAIC,GAAG,CAA2B,CAAC;AAejD,gBAAsBC,WAAWA,CAAAC,EAAA,EAAAC,GAAA,EAAAC,GAAA;EAAA,OAAAC,YAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AA4EhC,SAAAF,aAAA;EAAAA,YAAA,GAAAG,iBAAA,CA5EM,WACLC,WAAwB,EACxBC,cAA8B,EAC9BC,OAAwB,EACxB;IACA,IAAM;MAAEC,WAAW;MAAEC,MAAM,GAAG,SAAS;MAAEC,IAAI,GAAG,EAAE;MAAEC;IAAS,CAAC,GAAGN,WAAW;IAE5E,IAAM;MAAEO,QAAQ,EAAEC,cAAc;MAAEC,KAAK,EAAEC;IAAY,CAAC,GAAGV,WAGxD;IACD,IAAIQ,cAAc,IAAI,CAACL,WAAW,EAAE;MAClC,MAAM,IAAIQ,KAAK,6BAAAC,MAAA,CACcJ,cAAc,kEAC3C,CAAC;IACH;IAEA,IAAMK,cAAc,GAAGH,WAAW,KAAK,IAAI,IAAIA,WAAW,KAAKI,SAAS;IACxE,IAAID,cAAc,EAAE;MAClB,IAAME,MAAM,GAAG3B,YAAY,CAAC,CAAC;MAC7BC,mBAAmB,CAAC0B,MAAM,EAAE,iBAAiB,CAAC;MAC9C;MACA,IAAIA,MAAM,EAAE;QACV,MAAM,IAAIJ,KAAK,CAAC,kCAAkC,CAAC;MACrD;IACF;IAEA,IAAM,CAACK,aAAa,EAAEC,UAAU,CAAC,SAASC,OAAO,CAACC,GAAG,CAAC,CACpDpC,gBAAgB,CAACoB,WAAW,CAAC,EAG7BrB,qBAAqB,CAACuB,IAAI,EAAEJ,cAAc,CAAC,CAC5C,CAAC;;IAEF;IACA;IACA,IAAMmB,QAAQ,GAAGlB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEkB,QAAQ;IAClC,IAAMC,KAAK,GAAG,CAAC,CAACD,QAAQ,IAAIA,QAAQ,KAAKpC,uBAAuB,CAAC,CAAC;IAElE,IAAMsC,OAAO,GAAGC,iBAAiB,CAC/BP,aAAa,EACbb,WAAW,EACXC,MAAM,EACNa,UAAU,EACVf,OAAO,EACPG,IAAI,EACJgB,KACF,CAAC;IAED,IAAI;MAAEG;IAAU,CAAC,GAAGxB,WAAW;IAC/B,IAAIyB,IAAa;IAEjB,IAAI;MACF,IAAMC,KAAK,SAASJ,OAAO;MAC3BG,IAAI,GAAGZ,cAAc,GAAG1B,GAAG,CAACuC,KAAK,EAAEhB,WAAW,CAAC,GAAGgB,KAAK;MACvD;MACAxC,cAAc,CAACuC,IAAI,CAAC;IACtB,CAAC,CAAC,OAAOE,KAAK,EAAE;MACd,IAAIC,yBAAyB,CAACtB,QAAQ,CAAC,EAAE;QACvCkB,SAAS,GAAGlB,QAAQ,CAACkB,SAAS;QAC9BC,IAAI,GAAGE,KAAK;MACd,CAAC,MAAM;QACL,MAAMA,KAAK;MACb;IACF;IAEA,IAAI,CAACH,SAAS,EAAE;MACd,OAAOC,IAAI;IACb;;IAEA;IACA,IAAI,OAAOD,SAAS,KAAK,QAAQ,EAAE;MACjC,OAAO;QAAE,CAACA,SAAS,GAAGC;MAAK,CAAC;IAC9B;IAEA,OAAO3C,qBAAqB,CAAC0C,SAAS,EAAAK,aAAA,CAAAA,aAAA,KAAO5B,cAAc;MAAEwB;IAAI,EAAE,CAAC;EACtE,CAAC;EAAA,OAAA7B,YAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAED,OAAO,SAASgC,iBAAiBA,CAAA,EAAG;EAClCxC,KAAK,CAACyC,KAAK,CAAC,CAAC;AACf;AAEA,gBAAsBR,iBAAiBA,CAAAS,GAAA,EAAAC,GAAA,EAAAC,GAAA,EAAAC,GAAA,EAAAC,GAAA,EAAAC,GAAA,EAAAC,IAAA;EAAA,OAAAC,kBAAA,CAAA1C,KAAA,OAAAC,SAAA;AAAA;AA+CtC,SAAAyC,mBAAA;EAAAA,kBAAA,GAAAxC,iBAAA,CA/CM,WACLyC,KAA+B,EAC/BrC,WAAmB,EACnBC,MAAc,EACdC,IAAe,EACfH,OAAwB,EACxBuC,YAAwB,EACxBpB,KAAe,EACf;IACA,IAAIqB,QAAgB;IACpB,IAAI;MACF;MACA;MACAA,QAAQ,GAAGC,IAAI,CAACC,SAAS,CAAC;QACxBzC,WAAW;QACXC,MAAM;QACNC;MACF,CAAC,CAAC;IACJ,CAAC,CAAC,OAAOwC,CAAC,EAAE;MACV,IAAI,CAACJ,YAAY,EAAE;QACjB,MAAMI,CAAC;MACT;MACAH,QAAQ,GAAGC,IAAI,CAACC,SAAS,CAAC;QACxBzC,WAAW;QACXC,MAAM;QACNqC;MACF,CAAC,CAAC;IACJ;IAEA,IAAInB,OAAqC;IACzC,IAAI,CAAApB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEZ,KAAK,MAAK,QAAQ,EAAE;MAC/BgC,OAAO,GAAGhC,KAAK,CAACH,GAAG,CAACuD,QAAQ,CAAC;IAC/B;IACA,IAAI,CAACpB,OAAO,EAAE;MACZA,OAAO,GAAGvB,iBAAA,CAAC,aAAY;QAAA,IAAA+C,cAAA;QACrB,IAAMC,SAAS,GAAG9D,KAAK,aAALA,KAAK,gBAAA6D,cAAA,GAAL7D,KAAK,CAAE+D,OAAO,cAAAF,cAAA,eAAdA,cAAA,CAAgBG,iBAAiB,CAAC9C,WAAW,CAAC,SACtDlB,KAAK,CAAC+D,OAAO,CAACE,gBAAgB,CAAC/C,WAAW,EAAEE,IAAI,EAAED,MAAM,CAAC,GAC/DC,IAAI;QACR,OAAOmC,KAAK,CAACpC,MAAM,CAAC,CAAC,GAAG2C,SAAS,CAAC;MACpC,CAAC,EAAE,CAAC;MAEJ,IAAI,CAAC1B,KAAK,EAAE;QACV/B,KAAK,CAAC6D,GAAG,CAACT,QAAQ,EAAEpB,OAAO,CAAC;MAC9B;IACF;IAEA,OAAOA,OAAO;EAChB,CAAC;EAAA,OAAAiB,kBAAA,CAAA1C,KAAA,OAAAC,SAAA;AAAA;AAED,SAAS8B,yBAAyBA,CAChCtB,QAAkC,EACG;EACrC,OAAO,CAAC,EAAEA,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAA8BkB,SAAS;AAC3D"}
1
+ {"version":3,"file":"resolveData.js","names":["asyncComputeRealValue","getProviderBrick","_internalApiGetRenderId","hooks","markAsComputed","get","isStrictMode","warnAboutStrictMode","cache","Map","resolveData","_x","_x2","_x3","_resolveData","apply","arguments","_asyncToGenerator","resolveConf","runtimeContext","options","useProvider","method","args","onReject","provider","legacyProvider","field","legacyField","Error","concat","hasLegacyField","undefined","strict","providerBrick","actualArgs","Promise","all","renderId","stale","promise","resolveByProvider","transform","data","value","error","isHandleRejectByTransform","_objectSpread","clearResolveCache","clear","_x4","_x5","_x6","_x7","_x8","_x9","_x10","_resolveByProvider","brick","originalArgs","cacheKey","JSON","stringify","e","_hooks$flowApi","finalArgs","flowApi","isFlowApiProvider","getArgsOfFlowApi","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 { _internalApiGetRenderId, hooks } from \"../Runtime.js\";\nimport { markAsComputed } from \"../compute/markAsComputed.js\";\nimport { get } from \"lodash\";\nimport { isStrictMode, warnAboutStrictMode } from \"../../isStrictMode.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 renderId?: string;\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 { provider: legacyProvider, field: legacyField } = resolveConf as {\n provider?: string;\n field?: string | string[];\n };\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 hasLegacyField = legacyField !== null && legacyField !== undefined;\n if (hasLegacyField) {\n const strict = isStrictMode();\n warnAboutStrictMode(strict, \"`resolve.field`\");\n // istanbul ignore next\n if (strict) {\n throw new Error(\"Using deprecated `resolve.field`\");\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 // `clearResolveCache` maybe cleared during the above promise being\n // fulfilled, so we manually mark it as stale for this case.\n const renderId = options?.renderId;\n const stale = !!renderId && renderId !== _internalApiGetRenderId();\n\n const promise = resolveByProvider(\n providerBrick,\n useProvider,\n method,\n actualArgs,\n options,\n args,\n stale\n );\n\n let { transform } = resolveConf;\n let data: unknown;\n\n try {\n const value = await promise;\n data = hasLegacyField ? get(value, legacyField) : value;\n // The fetched data and its inner objects should never be *injected* again.\n markAsComputed(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 stale?: boolean\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[method](...finalArgs);\n })();\n\n if (!stale) {\n cache.set(cacheKey, promise);\n }\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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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"resolveDataStore.js","names":["collectMemberUsage","resolveDataStore","contextConfs","resolveContext","keyword","arguments","length","undefined","strict","dependencyMap","getDependencyMapOfContext","pendingDeps","Map","contextName","Array","from","keys","map","contextConf","name","_pendingDeps$get","set","get","hasNonStaticUsage","values","some","stats","processed","WeakSet","deferredContexts","pendingContexts","Set","Promise","resolve","reject","wrapResolve","_ref","_asyncToGenerator","_pendingDeps$get2","add","resolved","delete","left","Error","concat","scheduleNext","_x","apply","scheduleAsSerial","_scheduleNext","readyContexts","entries","filter","predicateNextResolveFactory","entry","has","all","pendingResult","then","size","detectCircularContexts","deferred","catch","error","index","usedProperties","dep","depsMap","data","if","value","legacyTplStats","prop","duplicatedMap","next","processedAtLeastOne","ReferenceError","join"],"sources":["../../../../src/internal/data/resolveDataStore.ts"],"sourcesContent":["import { ContextConf } from \"@next-core/types\";\nimport { collectMemberUsage, MemberUsage } from \"@next-core/utils/storyboard\";\n\nexport interface DeferredContext {\n resolve(): void;\n reject(e: unknown): void;\n}\n\nexport function resolveDataStore(\n contextConfs: ContextConf[],\n resolveContext: (contextConf: ContextConf) => Promise<boolean>,\n keyword = \"CTX\",\n strict?: boolean\n): {\n pendingResult: Promise<void>;\n pendingContexts: Map<string, Promise<void>>;\n} {\n const dependencyMap = getDependencyMapOfContext(\n contextConfs,\n keyword,\n strict\n );\n // There maybe multiple context confs for a specific name, since there are conditional contexts.\n // This is a map of how many pending context confs for each context name.\n const pendingDeps = new Map<string, number>();\n for (const contextName of Array.from(dependencyMap.keys()).map(\n (contextConf) => contextConf.name\n )) {\n pendingDeps.set(contextName, (pendingDeps.get(contextName) ?? 0) + 1);\n }\n const hasNonStaticUsage = Array.from(dependencyMap.values()).some(\n (stats) => stats.hasNonStaticUsage\n );\n const processed = new WeakSet<ContextConf>();\n\n const deferredContexts = new Map<string, DeferredContext>();\n const pendingContexts = new Map(\n [...new Set(contextConfs.map((contextConf) => contextConf.name))].map(\n (contextName) => [\n contextName,\n new Promise<void>((resolve, reject) => {\n deferredContexts.set(contextName, { resolve, reject });\n }),\n ]\n )\n );\n\n const wrapResolve = async (contextConf: ContextConf): Promise<void> => {\n processed.add(contextConf);\n const resolved = await resolveContext(contextConf);\n dependencyMap.delete(contextConf);\n const left = pendingDeps.get(contextConf.name) ?? 0;\n if (resolved) {\n // Assert: contextConf.name exists in deferredContexts\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n deferredContexts.get(contextConf.name)!.resolve();\n pendingDeps.delete(contextConf.name);\n if (left === 0) {\n throw new Error(`Duplicated context defined: ${contextConf.name}`);\n }\n } else {\n // Assert: left >= 1\n if (left === 1) {\n // Assert: contextConf.name exists in deferredContexts\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n deferredContexts.get(contextConf.name)!.resolve();\n pendingDeps.delete(contextConf.name);\n } else {\n pendingDeps.set(contextConf.name, left - 1);\n }\n }\n await scheduleNext();\n };\n\n let scheduleAsSerial = hasNonStaticUsage;\n\n async function scheduleNext(): Promise<void> {\n const readyContexts = Array.from(dependencyMap.entries())\n .filter(predicateNextResolveFactory(pendingDeps, scheduleAsSerial))\n .map((entry) => entry[0])\n .filter((contextConf) => !processed.has(contextConf));\n await Promise.all(readyContexts.map(wrapResolve));\n }\n\n const pendingResult = scheduleNext()\n .then(async () => {\n // If there are still contexts left, it implies one of these situations:\n // - Circular contexts.\n // Such as: a depends on b, while b depends on a.\n // - Related contexts are all ignored.\n // Such as: a depends on b,\n // while both them are ignore by a falsy result of `if`.\n if (dependencyMap.size > 0) {\n // This will throw if circular contexts detected.\n detectCircularContexts(dependencyMap, keyword);\n scheduleAsSerial = true;\n await scheduleNext();\n }\n // There maybe ignored contexts which are still not fulfilled.\n // We treat them as RESOLVED.\n for (const deferred of deferredContexts.values()) {\n deferred.resolve();\n }\n })\n .catch((error) => {\n // There maybe contexts left not fulfilled, when an error occurred.\n // We treat them as REJECTED.\n for (const deferred of deferredContexts.values()) {\n deferred.reject(error);\n }\n throw error;\n });\n return { pendingResult, pendingContexts };\n}\n\nfunction predicateNextResolveFactory(\n pendingDeps: Map<string, number>,\n scheduleAsSerial: boolean\n): (entry: [ContextConf, MemberUsage], index: number) => boolean {\n return (entry, index) =>\n // When contexts contain computed CTX accesses, it implies a dynamic dependency map.\n // So make them process sequentially, keep the same behavior as before.\n scheduleAsSerial\n ? index === 0\n : // A context is ready when it has no pending dependencies.\n ![...entry[1].usedProperties].some((dep) => pendingDeps.has(dep));\n}\n\nexport function getDependencyMapOfContext(\n contextConfs: ContextConf[],\n keyword = \"CTX\",\n strict?: boolean\n): Map<ContextConf, MemberUsage> {\n const depsMap = new Map<ContextConf, MemberUsage>();\n for (const contextConf of contextConfs) {\n const data = [contextConf.if, contextConf.value, contextConf.resolve];\n const stats = collectMemberUsage(data, keyword);\n if (!strict && keyword === \"STATE\") {\n const legacyTplStats = collectMemberUsage(data, \"TPL\");\n // Merge stats with legacyTplStats\n for (const prop of legacyTplStats.usedProperties) {\n stats.usedProperties.add(prop);\n }\n if (legacyTplStats.hasNonStaticUsage) {\n stats.hasNonStaticUsage = true;\n }\n }\n depsMap.set(contextConf, stats);\n }\n return depsMap;\n}\n\nfunction detectCircularContexts(\n dependencyMap: Map<ContextConf, MemberUsage>,\n keyword: string\n): void {\n const duplicatedMap = new Map(dependencyMap);\n const pendingDeps = new Set<string>(\n Array.from(duplicatedMap.keys()).map((contextConf) => contextConf.name)\n );\n const next = (): void => {\n let processedAtLeastOne = false;\n for (const [contextConf, stats] of duplicatedMap.entries()) {\n if (![...stats.usedProperties].some((dep) => pendingDeps.has(dep))) {\n duplicatedMap.delete(contextConf);\n pendingDeps.delete(contextConf.name);\n processedAtLeastOne = true;\n }\n }\n if (processedAtLeastOne) {\n next();\n }\n };\n next();\n\n if (duplicatedMap.size > 0) {\n throw new ReferenceError(\n `Circular ${keyword} detected: ${Array.from(duplicatedMap.keys())\n .map((contextConf) => contextConf.name)\n .join(\", \")}`\n );\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"resolveDataStore.js","names":["collectMemberUsage","resolveDataStore","contextConfs","resolveContext","keyword","arguments","length","undefined","strict","dependencyMap","getDependencyMapOfContext","pendingDeps","Map","contextName","Array","from","keys","map","contextConf","name","_pendingDeps$get","set","get","hasNonStaticUsage","values","some","stats","processed","WeakSet","deferredContexts","pendingContexts","Set","Promise","resolve","reject","wrapResolve","_ref","_asyncToGenerator","_pendingDeps$get2","add","resolved","delete","left","Error","concat","scheduleNext","_x","apply","scheduleAsSerial","_scheduleNext","readyContexts","entries","filter","predicateNextResolveFactory","entry","has","all","pendingResult","then","size","detectCircularContexts","deferred","catch","error","index","usedProperties","dep","depsMap","data","if","value","legacyTplStats","prop","duplicatedMap","next","processedAtLeastOne","ReferenceError","join"],"sources":["../../../../src/internal/data/resolveDataStore.ts"],"sourcesContent":["import { ContextConf } from \"@next-core/types\";\nimport { collectMemberUsage, MemberUsage } from \"@next-core/utils/storyboard\";\n\nexport interface DeferredContext {\n resolve(): void;\n reject(e: unknown): void;\n}\n\nexport function resolveDataStore(\n contextConfs: ContextConf[],\n resolveContext: (contextConf: ContextConf) => Promise<boolean>,\n keyword = \"CTX\",\n strict?: boolean\n): {\n pendingResult: Promise<void>;\n pendingContexts: Map<string, Promise<void>>;\n} {\n const dependencyMap = getDependencyMapOfContext(\n contextConfs,\n keyword,\n strict\n );\n // There maybe multiple context confs for a specific name, since there are conditional contexts.\n // This is a map of how many pending context confs for each context name.\n const pendingDeps = new Map<string, number>();\n for (const contextName of Array.from(dependencyMap.keys()).map(\n (contextConf) => contextConf.name\n )) {\n pendingDeps.set(contextName, (pendingDeps.get(contextName) ?? 0) + 1);\n }\n const hasNonStaticUsage = Array.from(dependencyMap.values()).some(\n (stats) => stats.hasNonStaticUsage\n );\n const processed = new WeakSet<ContextConf>();\n\n const deferredContexts = new Map<string, DeferredContext>();\n const pendingContexts = new Map(\n [...new Set(contextConfs.map((contextConf) => contextConf.name))].map(\n (contextName) => [\n contextName,\n new Promise<void>((resolve, reject) => {\n deferredContexts.set(contextName, { resolve, reject });\n }),\n ]\n )\n );\n\n const wrapResolve = async (contextConf: ContextConf): Promise<void> => {\n processed.add(contextConf);\n const resolved = await resolveContext(contextConf);\n dependencyMap.delete(contextConf);\n const left = pendingDeps.get(contextConf.name) ?? 0;\n if (resolved) {\n // Assert: contextConf.name exists in deferredContexts\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n deferredContexts.get(contextConf.name)!.resolve();\n pendingDeps.delete(contextConf.name);\n if (left === 0) {\n throw new Error(`Duplicated context defined: ${contextConf.name}`);\n }\n } else {\n // Assert: left >= 1\n if (left === 1) {\n // Assert: contextConf.name exists in deferredContexts\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n deferredContexts.get(contextConf.name)!.resolve();\n pendingDeps.delete(contextConf.name);\n } else {\n pendingDeps.set(contextConf.name, left - 1);\n }\n }\n await scheduleNext();\n };\n\n let scheduleAsSerial = hasNonStaticUsage;\n\n async function scheduleNext(): Promise<void> {\n const readyContexts = Array.from(dependencyMap.entries())\n .filter(predicateNextResolveFactory(pendingDeps, scheduleAsSerial))\n .map((entry) => entry[0])\n .filter((contextConf) => !processed.has(contextConf));\n await Promise.all(readyContexts.map(wrapResolve));\n }\n\n const pendingResult = scheduleNext()\n .then(async () => {\n // If there are still contexts left, it implies one of these situations:\n // - Circular contexts.\n // Such as: a depends on b, while b depends on a.\n // - Related contexts are all ignored.\n // Such as: a depends on b,\n // while both them are ignore by a falsy result of `if`.\n if (dependencyMap.size > 0) {\n // This will throw if circular contexts detected.\n detectCircularContexts(dependencyMap, keyword);\n scheduleAsSerial = true;\n await scheduleNext();\n }\n // There maybe ignored contexts which are still not fulfilled.\n // We treat them as RESOLVED.\n for (const deferred of deferredContexts.values()) {\n deferred.resolve();\n }\n })\n .catch((error) => {\n // There maybe contexts left not fulfilled, when an error occurred.\n // We treat them as REJECTED.\n for (const deferred of deferredContexts.values()) {\n deferred.reject(error);\n }\n throw error;\n });\n return { pendingResult, pendingContexts };\n}\n\nfunction predicateNextResolveFactory(\n pendingDeps: Map<string, number>,\n scheduleAsSerial: boolean\n): (entry: [ContextConf, MemberUsage], index: number) => boolean {\n return (entry, index) =>\n // When contexts contain computed CTX accesses, it implies a dynamic dependency map.\n // So make them process sequentially, keep the same behavior as before.\n scheduleAsSerial\n ? index === 0\n : // A context is ready when it has no pending dependencies.\n ![...entry[1].usedProperties].some((dep) => pendingDeps.has(dep));\n}\n\nexport function getDependencyMapOfContext(\n contextConfs: ContextConf[],\n keyword = \"CTX\",\n strict?: boolean\n): Map<ContextConf, MemberUsage> {\n const depsMap = new Map<ContextConf, MemberUsage>();\n for (const contextConf of contextConfs) {\n const data = [contextConf.if, contextConf.value, contextConf.resolve];\n const stats = collectMemberUsage(data, keyword);\n if (!strict && keyword === \"STATE\") {\n const legacyTplStats = collectMemberUsage(data, \"TPL\");\n // Merge stats with legacyTplStats\n for (const prop of legacyTplStats.usedProperties) {\n stats.usedProperties.add(prop);\n }\n if (legacyTplStats.hasNonStaticUsage) {\n stats.hasNonStaticUsage = true;\n }\n }\n depsMap.set(contextConf, stats);\n }\n return depsMap;\n}\n\nfunction detectCircularContexts(\n dependencyMap: Map<ContextConf, MemberUsage>,\n keyword: string\n): void {\n const duplicatedMap = new Map(dependencyMap);\n const pendingDeps = new Set<string>(\n Array.from(duplicatedMap.keys()).map((contextConf) => contextConf.name)\n );\n const next = (): void => {\n let processedAtLeastOne = false;\n for (const [contextConf, stats] of duplicatedMap.entries()) {\n if (![...stats.usedProperties].some((dep) => pendingDeps.has(dep))) {\n duplicatedMap.delete(contextConf);\n pendingDeps.delete(contextConf.name);\n processedAtLeastOne = true;\n }\n }\n if (processedAtLeastOne) {\n next();\n }\n };\n next();\n\n if (duplicatedMap.size > 0) {\n throw new ReferenceError(\n `Circular ${keyword} detected: ${Array.from(duplicatedMap.keys())\n .map((contextConf) => contextConf.name)\n .join(\", \")}`\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"devtools.js","names":["MESSAGE_SOURCE_PANEL","FRAME_ACTIVE_CHANGE","PANEL_CHANGE","frameIsActive","selectedPanel","devtoolsHookEmit","type","payload","devtools","getDevHook","emit","_devtools$emit","call","window","requestIdleCallback","setTimeout","listenDevtoolsEagerly","addEventListener","_ref","data","source","active","panel","__BRICK_NEXT_DEVTOOLS_HOOK__"],"sources":["../../../src/internal/devtools.ts"],"sourcesContent":["export const MESSAGE_SOURCE_PANEL = \"brick-next-devtools-panel\";\nexport const FRAME_ACTIVE_CHANGE = \"devtools-frame-active-change\";\nexport const PANEL_CHANGE = \"devtools-panel-change\";\n\ninterface DevtoolsHookContainer {\n __BRICK_NEXT_DEVTOOLS_HOOK__?: DevtoolsHook;\n}\n\ninterface DevtoolsHook {\n emit: (message: unknown) => void;\n}\n\ntype DevtoolsMessagePayload = FrameActiveChangePayload | PanelChangePayload;\n\ninterface FrameActiveChangePayload {\n type: typeof FRAME_ACTIVE_CHANGE;\n active: boolean;\n panel: PanelType;\n}\n\ntype PanelType = \"Bricks\" | \"Evaluations\" | \"Transformations\";\n\ninterface PanelChangePayload {\n type: typeof PANEL_CHANGE;\n panel: PanelType;\n}\n\nlet frameIsActive = true;\nlet selectedPanel: PanelType;\n\nexport function devtoolsHookEmit(type: string, payload?: unknown): void {\n const devtools = getDevHook();\n if (\n !devtools ||\n (type === \"evaluation\" &&\n !(frameIsActive && (!selectedPanel || selectedPanel === \"Evaluations\")))\n ) {\n // Ignore messages if current devtools panel is not relevant.\n return;\n }\n\n const emit = (): void => {\n devtools.emit?.({\n type,\n payload,\n });\n };\n\n // Try to emit only in idle time.\n // istanbul ignore next\n if (typeof window.requestIdleCallback === \"function\") {\n window.requestIdleCallback(emit);\n } else {\n setTimeout(emit, 0);\n }\n}\n\nexport function listenDevtoolsEagerly(): void {\n window.addEventListener(\"message\", ({ data }: MessageEvent): void => {\n if (data?.source !== MESSAGE_SOURCE_PANEL) {\n return;\n }\n const payload: DevtoolsMessagePayload = data.payload;\n switch (payload?.type) {\n case FRAME_ACTIVE_CHANGE: {\n frameIsActive = payload.active;\n break;\n }\n case PANEL_CHANGE: {\n selectedPanel = payload.panel;\n break;\n }\n }\n });\n}\n\nexport function getDevHook(): DevtoolsHook | undefined {\n return (window as DevtoolsHookContainer).__BRICK_NEXT_DEVTOOLS_HOOK__;\n}\n"],"mappings":"AAAA,OAAO,IAAMA,oBAAoB,GAAG,2BAA2B;AAC/D,OAAO,IAAMC,mBAAmB,GAAG,8BAA8B;AACjE,OAAO,IAAMC,YAAY,GAAG,uBAAuB;AAyBnD,IAAIC,aAAa,GAAG,IAAI;AACxB,IAAIC,aAAwB;AAE5B,OAAO,SAASC,gBAAgBA,CAACC,IAAY,EAAEC,OAAiB,EAAQ;EACtE,IAAMC,QAAQ,GAAGC,UAAU,CAAC,CAAC;EAC7B,IACE,CAACD,QAAQ,IACRF,IAAI,KAAK,YAAY,IACpB,EAAEH,aAAa,KAAK,CAACC,aAAa,IAAIA,aAAa,KAAK,aAAa,CAAC,CAAE,EAC1E;IACA;IACA;EACF;EAEA,IAAMM,IAAI,GAAGA,CAAA,KAAY;IAAA,IAAAC,cAAA;IACvB,CAAAA,cAAA,GAAAH,QAAQ,CAACE,IAAI,cAAAC,cAAA,eAAbA,cAAA,CAAAC,IAAA,CAAAJ,QAAQ,EAAQ;MACdF,IAAI;MACJC;IACF,CAAC,CAAC;EACJ,CAAC;;EAED;EACA;EACA,IAAI,OAAOM,MAAM,CAACC,mBAAmB,KAAK,UAAU,EAAE;IACpDD,MAAM,CAACC,mBAAmB,CAACJ,IAAI,CAAC;EAClC,CAAC,MAAM;IACLK,UAAU,CAACL,IAAI,EAAE,CAAC,CAAC;EACrB;AACF;AAEA,OAAO,SAASM,qBAAqBA,CAAA,EAAS;EAC5CH,MAAM,CAACI,gBAAgB,CAAC,SAAS,EAAEC,IAAA,IAAkC;IAAA,IAAjC;MAAEC;IAAmB,CAAC,GAAAD,IAAA;IACxD,IAAI,CAAAC,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEC,MAAM,MAAKpB,oBAAoB,EAAE;MACzC;IACF;IACA,IAAMO,OAA+B,GAAGY,IAAI,CAACZ,OAAO;IACpD,QAAQA,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAED,IAAI;MACnB,KAAKL,mBAAmB;QAAE;UACxBE,aAAa,GAAGI,OAAO,CAACc,MAAM;UAC9B;QACF;MACA,KAAKnB,YAAY;QAAE;UACjBE,aAAa,GAAGG,OAAO,CAACe,KAAK;UAC7B;QACF;IACF;EACF,CAAC,CAAC;AACJ;AAEA,OAAO,SAASb,UAAUA,CAAA,EAA6B;EACrD,OAAQI,MAAM,CAA2BU,4BAA4B;AACvE"}
1
+ {"version":3,"file":"devtools.js","names":["MESSAGE_SOURCE_PANEL","FRAME_ACTIVE_CHANGE","PANEL_CHANGE","frameIsActive","selectedPanel","devtoolsHookEmit","type","payload","devtools","getDevHook","emit","_devtools$emit","call","window","requestIdleCallback","setTimeout","listenDevtoolsEagerly","addEventListener","_ref","data","source","active","panel","__BRICK_NEXT_DEVTOOLS_HOOK__"],"sources":["../../../src/internal/devtools.ts"],"sourcesContent":["export const MESSAGE_SOURCE_PANEL = \"brick-next-devtools-panel\";\nexport const FRAME_ACTIVE_CHANGE = \"devtools-frame-active-change\";\nexport const PANEL_CHANGE = \"devtools-panel-change\";\n\ninterface DevtoolsHookContainer {\n __BRICK_NEXT_DEVTOOLS_HOOK__?: DevtoolsHook;\n}\n\ninterface DevtoolsHook {\n emit: (message: unknown) => void;\n}\n\ntype DevtoolsMessagePayload = FrameActiveChangePayload | PanelChangePayload;\n\ninterface FrameActiveChangePayload {\n type: typeof FRAME_ACTIVE_CHANGE;\n active: boolean;\n panel: PanelType;\n}\n\ntype PanelType = \"Bricks\" | \"Evaluations\" | \"Transformations\";\n\ninterface PanelChangePayload {\n type: typeof PANEL_CHANGE;\n panel: PanelType;\n}\n\nlet frameIsActive = true;\nlet selectedPanel: PanelType;\n\nexport function devtoolsHookEmit(type: string, payload?: unknown): void {\n const devtools = getDevHook();\n if (\n !devtools ||\n (type === \"evaluation\" &&\n !(frameIsActive && (!selectedPanel || selectedPanel === \"Evaluations\")))\n ) {\n // Ignore messages if current devtools panel is not relevant.\n return;\n }\n\n const emit = (): void => {\n devtools.emit?.({\n type,\n payload,\n });\n };\n\n // Try to emit only in idle time.\n // istanbul ignore next\n if (typeof window.requestIdleCallback === \"function\") {\n window.requestIdleCallback(emit);\n } else {\n setTimeout(emit, 0);\n }\n}\n\nexport function listenDevtoolsEagerly(): void {\n window.addEventListener(\"message\", ({ data }: MessageEvent): void => {\n if (data?.source !== MESSAGE_SOURCE_PANEL) {\n return;\n }\n const payload: DevtoolsMessagePayload = data.payload;\n switch (payload?.type) {\n case FRAME_ACTIVE_CHANGE: {\n frameIsActive = payload.active;\n break;\n }\n case PANEL_CHANGE: {\n selectedPanel = payload.panel;\n break;\n }\n }\n });\n}\n\nexport function getDevHook(): DevtoolsHook | undefined {\n return (window as DevtoolsHookContainer).__BRICK_NEXT_DEVTOOLS_HOOK__;\n}\n"],"mappings":"AAAA,OAAO,IAAMA,oBAAoB,GAAG,2BAA2B;AAC/D,OAAO,IAAMC,mBAAmB,GAAG,8BAA8B;AACjE,OAAO,IAAMC,YAAY,GAAG,uBAAuB;AAyBnD,IAAIC,aAAa,GAAG,IAAI;AACxB,IAAIC,aAAwB;AAE5B,OAAO,SAASC,gBAAgBA,CAACC,IAAY,EAAEC,OAAiB,EAAQ;EACtE,IAAMC,QAAQ,GAAGC,UAAU,CAAC,CAAC;EAC7B,IACE,CAACD,QAAQ,IACRF,IAAI,KAAK,YAAY,IACpB,EAAEH,aAAa,KAAK,CAACC,aAAa,IAAIA,aAAa,KAAK,aAAa,CAAC,CAAE,EAC1E;IACA;IACA;EACF;EAEA,IAAMM,IAAI,GAAGA,CAAA,KAAY;IAAA,IAAAC,cAAA;IACvB,CAAAA,cAAA,GAAAH,QAAQ,CAACE,IAAI,cAAAC,cAAA,eAAbA,cAAA,CAAAC,IAAA,CAAAJ,QAAQ,EAAQ;MACdF,IAAI;MACJC;IACF,CAAC,CAAC;EACJ,CAAC;;EAED;EACA;EACA,IAAI,OAAOM,MAAM,CAACC,mBAAmB,KAAK,UAAU,EAAE;IACpDD,MAAM,CAACC,mBAAmB,CAACJ,IAAI,CAAC;EAClC,CAAC,MAAM;IACLK,UAAU,CAACL,IAAI,EAAE,CAAC,CAAC;EACrB;AACF;AAEA,OAAO,SAASM,qBAAqBA,CAAA,EAAS;EAC5CH,MAAM,CAACI,gBAAgB,CAAC,SAAS,EAAEC,IAAA,IAAkC;IAAA,IAAjC;MAAEC;IAAmB,CAAC,GAAAD,IAAA;IACxD,IAAI,CAAAC,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEC,MAAM,MAAKpB,oBAAoB,EAAE;MACzC;IACF;IACA,IAAMO,OAA+B,GAAGY,IAAI,CAACZ,OAAO;IACpD,QAAQA,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAED,IAAI;MACnB,KAAKL,mBAAmB;QAAE;UACxBE,aAAa,GAAGI,OAAO,CAACc,MAAM;UAC9B;QACF;MACA,KAAKnB,YAAY;QAAE;UACjBE,aAAa,GAAGG,OAAO,CAACe,KAAK;UAC7B;QACF;IACF;EACF,CAAC,CAAC;AACJ;AAEA,OAAO,SAASb,UAAUA,CAAA,EAA6B;EACrD,OAAQI,MAAM,CAA2BU,4BAA4B;AACvE","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"enums.js","names":["RenderTag"],"sources":["../../../src/internal/enums.ts"],"sourcesContent":["export enum RenderTag {\n ROOT = 1,\n BRICK = 2,\n PLACEHOLDER = 3,\n}\n"],"mappings":"AAAA,WAAYA,SAAS,0BAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAAA,OAATA,SAAS;AAAA"}
1
+ {"version":3,"file":"enums.js","names":["RenderTag"],"sources":["../../../src/internal/enums.ts"],"sourcesContent":["export enum RenderTag {\n ROOT = 1,\n BRICK = 2,\n PLACEHOLDER = 3,\n}\n"],"mappings":"AAAA,WAAYA,SAAS,0BAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAAA,OAATA,SAAS;AAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"fulfilStoryboard.js","names":["hooks","registerAppI18n","fulfilStoryboard","_x","_fulfilStoryboard","apply","arguments","_asyncToGenerator","storyboard","$$fulfilled","$$fulfilling","doFulfilStoryboard","_x2","_doFulfilStoryboard","_hooks$fulfilStoryboa","call","Object","assign"],"sources":["../../../src/internal/fulfilStoryboard.ts"],"sourcesContent":["import type { RuntimeStoryboard } from \"@next-core/types\";\nimport { hooks } from \"./Runtime.js\";\nimport { registerAppI18n } from \"./registerAppI18n.js\";\n\nexport async function fulfilStoryboard(storyboard: RuntimeStoryboard) {\n if (storyboard.$$fulfilled) {\n return;\n }\n if (!storyboard.$$fulfilling) {\n storyboard.$$fulfilling = doFulfilStoryboard(storyboard);\n }\n return storyboard.$$fulfilling;\n}\n\nasync function doFulfilStoryboard(storyboard: RuntimeStoryboard) {\n await hooks?.fulfilStoryboard?.(storyboard);\n registerAppI18n(storyboard);\n Object.assign(storyboard, {\n $$fulfilled: true,\n $$fulfilling: null,\n });\n}\n"],"mappings":";AACA,SAASA,KAAK,QAAQ,cAAc;AACpC,SAASC,eAAe,QAAQ,sBAAsB;AAEtD,gBAAsBC,gBAAgBA,CAAAC,EAAA;EAAA,OAAAC,iBAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAQrC,SAAAF,kBAAA;EAAAA,iBAAA,GAAAG,iBAAA,CARM,WAAgCC,UAA6B,EAAE;IACpE,IAAIA,UAAU,CAACC,WAAW,EAAE;MAC1B;IACF;IACA,IAAI,CAACD,UAAU,CAACE,YAAY,EAAE;MAC5BF,UAAU,CAACE,YAAY,GAAGC,kBAAkB,CAACH,UAAU,CAAC;IAC1D;IACA,OAAOA,UAAU,CAACE,YAAY;EAChC,CAAC;EAAA,OAAAN,iBAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAAA,SAEcK,kBAAkBA,CAAAC,GAAA;EAAA,OAAAC,mBAAA,CAAAR,KAAA,OAAAC,SAAA;AAAA;AAAA,SAAAO,oBAAA;EAAAA,mBAAA,GAAAN,iBAAA,CAAjC,WAAkCC,UAA6B,EAAE;IAAA,IAAAM,qBAAA;IAC/D,MAAMd,KAAK,aAALA,KAAK,gBAAAc,qBAAA,GAALd,KAAK,CAAEE,gBAAgB,cAAAY,qBAAA,uBAAvBA,qBAAA,CAAAC,IAAA,CAAAf,KAAK,EAAqBQ,UAAU,CAAC;IAC3CP,eAAe,CAACO,UAAU,CAAC;IAC3BQ,MAAM,CAACC,MAAM,CAACT,UAAU,EAAE;MACxBC,WAAW,EAAE,IAAI;MACjBC,YAAY,EAAE;IAChB,CAAC,CAAC;EACJ,CAAC;EAAA,OAAAG,mBAAA,CAAAR,KAAA,OAAAC,SAAA;AAAA"}
1
+ {"version":3,"file":"fulfilStoryboard.js","names":["hooks","registerAppI18n","fulfilStoryboard","_x","_fulfilStoryboard","apply","arguments","_asyncToGenerator","storyboard","$$fulfilled","$$fulfilling","doFulfilStoryboard","_x2","_doFulfilStoryboard","_hooks$fulfilStoryboa","call","Object","assign"],"sources":["../../../src/internal/fulfilStoryboard.ts"],"sourcesContent":["import type { RuntimeStoryboard } from \"@next-core/types\";\nimport { hooks } from \"./Runtime.js\";\nimport { registerAppI18n } from \"./registerAppI18n.js\";\n\nexport async function fulfilStoryboard(storyboard: RuntimeStoryboard) {\n if (storyboard.$$fulfilled) {\n return;\n }\n if (!storyboard.$$fulfilling) {\n storyboard.$$fulfilling = doFulfilStoryboard(storyboard);\n }\n return storyboard.$$fulfilling;\n}\n\nasync function doFulfilStoryboard(storyboard: RuntimeStoryboard) {\n await hooks?.fulfilStoryboard?.(storyboard);\n registerAppI18n(storyboard);\n Object.assign(storyboard, {\n $$fulfilled: true,\n $$fulfilling: null,\n });\n}\n"],"mappings":";AACA,SAASA,KAAK,QAAQ,cAAc;AACpC,SAASC,eAAe,QAAQ,sBAAsB;AAEtD,gBAAsBC,gBAAgBA,CAAAC,EAAA;EAAA,OAAAC,iBAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAQrC,SAAAF,kBAAA;EAAAA,iBAAA,GAAAG,iBAAA,CARM,WAAgCC,UAA6B,EAAE;IACpE,IAAIA,UAAU,CAACC,WAAW,EAAE;MAC1B;IACF;IACA,IAAI,CAACD,UAAU,CAACE,YAAY,EAAE;MAC5BF,UAAU,CAACE,YAAY,GAAGC,kBAAkB,CAACH,UAAU,CAAC;IAC1D;IACA,OAAOA,UAAU,CAACE,YAAY;EAChC,CAAC;EAAA,OAAAN,iBAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAAA,SAEcK,kBAAkBA,CAAAC,GAAA;EAAA,OAAAC,mBAAA,CAAAR,KAAA,OAAAC,SAAA;AAAA;AAAA,SAAAO,oBAAA;EAAAA,mBAAA,GAAAN,iBAAA,CAAjC,WAAkCC,UAA6B,EAAE;IAAA,IAAAM,qBAAA;IAC/D,MAAMd,KAAK,aAALA,KAAK,gBAAAc,qBAAA,GAALd,KAAK,CAAEE,gBAAgB,cAAAY,qBAAA,uBAAvBA,qBAAA,CAAAC,IAAA,CAAAf,KAAK,EAAqBQ,UAAU,CAAC;IAC3CP,eAAe,CAACO,UAAU,CAAC;IAC3BQ,MAAM,CAACC,MAAM,CAACT,UAAU,EAAE;MACxBC,WAAW,EAAE,IAAI;MACjBC,YAAY,EAAE;IAChB,CAAC,CAAC;EACJ,CAAC;EAAA,OAAAG,mBAAA,CAAAR,KAAA,OAAAC,SAAA;AAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"hasInstalledApp.js","names":["compare","_internalApiGetAppInBootstrapData","hooks","hasInstalledApp","appId","matchVersion","app","checkInstalledApps","getCheckedApp","installStatus","currentVersion","matches","match","TypeError","concat","error","console"],"sources":["../../../src/internal/hasInstalledApp.ts"],"sourcesContent":["import type { MicroApp } from \"@next-core/types\";\nimport { type CompareOperator, compare } from \"compare-versions\";\nimport { _internalApiGetAppInBootstrapData, hooks } from \"./Runtime.js\";\n\nexport type AppForCheck = Pick<\n MicroApp,\n \"id\" | \"currentVersion\" | \"installStatus\"\n>;\n\nexport function hasInstalledApp(appId: string, matchVersion?: string): boolean {\n // First, check whether the app is in bootstrap already.\n let app = _internalApiGetAppInBootstrapData(appId) as AppForCheck | undefined;\n if (!app && hooks?.checkInstalledApps) {\n app = hooks.checkInstalledApps.getCheckedApp(appId);\n }\n if (!app || app.installStatus === \"running\") {\n return false;\n }\n // Todo: `currentVersion` maybe `\"\"`\n if (!matchVersion || !app.currentVersion) {\n return true;\n }\n // Valid `matchVersion`:\n // >=1.2.3\n // >1.2.3\n // =1.2.3\n // <=1.2.3\n // <1.2.3\n const matches = matchVersion.match(/^([><]=?|=)(.*)$/);\n try {\n if (!matches) {\n throw new TypeError(`Invalid match version: ${matchVersion}`);\n }\n return compare(\n app.currentVersion,\n matches[2],\n matches[1] as CompareOperator\n );\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(error);\n }\n return false;\n}\n"],"mappings":"AACA,SAA+BA,OAAO,QAAQ,kBAAkB;AAChE,SAASC,iCAAiC,EAAEC,KAAK,QAAQ,cAAc;AAOvE,OAAO,SAASC,eAAeA,CAACC,KAAa,EAAEC,YAAqB,EAAW;EAC7E;EACA,IAAIC,GAAG,GAAGL,iCAAiC,CAACG,KAAK,CAA4B;EAC7E,IAAI,CAACE,GAAG,IAAIJ,KAAK,aAALA,KAAK,eAALA,KAAK,CAAEK,kBAAkB,EAAE;IACrCD,GAAG,GAAGJ,KAAK,CAACK,kBAAkB,CAACC,aAAa,CAACJ,KAAK,CAAC;EACrD;EACA,IAAI,CAACE,GAAG,IAAIA,GAAG,CAACG,aAAa,KAAK,SAAS,EAAE;IAC3C,OAAO,KAAK;EACd;EACA;EACA,IAAI,CAACJ,YAAY,IAAI,CAACC,GAAG,CAACI,cAAc,EAAE;IACxC,OAAO,IAAI;EACb;EACA;EACA;EACA;EACA;EACA;EACA;EACA,IAAMC,OAAO,GAAGN,YAAY,CAACO,KAAK,CAAC,kBAAkB,CAAC;EACtD,IAAI;IACF,IAAI,CAACD,OAAO,EAAE;MACZ,MAAM,IAAIE,SAAS,2BAAAC,MAAA,CAA2BT,YAAY,CAAE,CAAC;IAC/D;IACA,OAAOL,OAAO,CACZM,GAAG,CAACI,cAAc,EAClBC,OAAO,CAAC,CAAC,CAAC,EACVA,OAAO,CAAC,CAAC,CACX,CAAC;EACH,CAAC,CAAC,OAAOI,KAAK,EAAE;IACd;IACAC,OAAO,CAACD,KAAK,CAACA,KAAK,CAAC;EACtB;EACA,OAAO,KAAK;AACd"}
1
+ {"version":3,"file":"hasInstalledApp.js","names":["compare","_internalApiGetAppInBootstrapData","hooks","hasInstalledApp","appId","matchVersion","app","checkInstalledApps","getCheckedApp","installStatus","currentVersion","matches","match","TypeError","concat","error","console"],"sources":["../../../src/internal/hasInstalledApp.ts"],"sourcesContent":["import type { MicroApp } from \"@next-core/types\";\nimport { type CompareOperator, compare } from \"compare-versions\";\nimport { _internalApiGetAppInBootstrapData, hooks } from \"./Runtime.js\";\n\nexport type AppForCheck = Pick<\n MicroApp,\n \"id\" | \"currentVersion\" | \"installStatus\"\n>;\n\nexport function hasInstalledApp(appId: string, matchVersion?: string): boolean {\n // First, check whether the app is in bootstrap already.\n let app = _internalApiGetAppInBootstrapData(appId) as AppForCheck | undefined;\n if (!app && hooks?.checkInstalledApps) {\n app = hooks.checkInstalledApps.getCheckedApp(appId);\n }\n if (!app || app.installStatus === \"running\") {\n return false;\n }\n // Todo: `currentVersion` maybe `\"\"`\n if (!matchVersion || !app.currentVersion) {\n return true;\n }\n // Valid `matchVersion`:\n // >=1.2.3\n // >1.2.3\n // =1.2.3\n // <=1.2.3\n // <1.2.3\n const matches = matchVersion.match(/^([><]=?|=)(.*)$/);\n try {\n if (!matches) {\n throw new TypeError(`Invalid match version: ${matchVersion}`);\n }\n return compare(\n app.currentVersion,\n matches[2],\n matches[1] as CompareOperator\n );\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(error);\n }\n return false;\n}\n"],"mappings":"AACA,SAA+BA,OAAO,QAAQ,kBAAkB;AAChE,SAASC,iCAAiC,EAAEC,KAAK,QAAQ,cAAc;AAOvE,OAAO,SAASC,eAAeA,CAACC,KAAa,EAAEC,YAAqB,EAAW;EAC7E;EACA,IAAIC,GAAG,GAAGL,iCAAiC,CAACG,KAAK,CAA4B;EAC7E,IAAI,CAACE,GAAG,IAAIJ,KAAK,aAALA,KAAK,eAALA,KAAK,CAAEK,kBAAkB,EAAE;IACrCD,GAAG,GAAGJ,KAAK,CAACK,kBAAkB,CAACC,aAAa,CAACJ,KAAK,CAAC;EACrD;EACA,IAAI,CAACE,GAAG,IAAIA,GAAG,CAACG,aAAa,KAAK,SAAS,EAAE;IAC3C,OAAO,KAAK;EACd;EACA;EACA,IAAI,CAACJ,YAAY,IAAI,CAACC,GAAG,CAACI,cAAc,EAAE;IACxC,OAAO,IAAI;EACb;EACA;EACA;EACA;EACA;EACA;EACA;EACA,IAAMC,OAAO,GAAGN,YAAY,CAACO,KAAK,CAAC,kBAAkB,CAAC;EACtD,IAAI;IACF,IAAI,CAACD,OAAO,EAAE;MACZ,MAAM,IAAIE,SAAS,2BAAAC,MAAA,CAA2BT,YAAY,CAAE,CAAC;IAC/D;IACA,OAAOL,OAAO,CACZM,GAAG,CAACI,cAAc,EAClBC,OAAO,CAAC,CAAC,CAAC,EACVA,OAAO,CAAC,CAAC,CACX,CAAC;EACH,CAAC,CAAC,OAAOI,KAAK,EAAE;IACd;IACAC,OAAO,CAACD,KAAK,CAACA,KAAK,CAAC;EACtB;EACA,OAAO,KAAK;AACd","ignoreList":[]}