@next-core/runtime 1.2.1 → 1.2.2

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 (52) hide show
  1. package/dist/cjs/StoryboardFunctionRegistry.js +14 -0
  2. package/dist/cjs/StoryboardFunctionRegistry.js.map +1 -1
  3. package/dist/cjs/index.js +2 -2
  4. package/dist/cjs/index.js.map +1 -1
  5. package/dist/cjs/internal/Runtime.js +14 -10
  6. package/dist/cjs/internal/Runtime.js.map +1 -1
  7. package/dist/cjs/internal/compute/checkIf.js +4 -0
  8. package/dist/cjs/internal/compute/checkIf.js.map +1 -1
  9. package/dist/cjs/internal/compute/getNextStateOfUseBrick.js +4 -4
  10. package/dist/cjs/internal/compute/getNextStateOfUseBrick.js.map +1 -1
  11. package/dist/cjs/internal/enums.js +4 -4
  12. package/dist/cjs/internal/enums.js.map +1 -1
  13. package/dist/cjs/internal/historyExtended.js +21 -0
  14. package/dist/cjs/internal/historyExtended.js.map +1 -1
  15. package/dist/cjs/internal/mediaQuery.js +4 -4
  16. package/dist/cjs/internal/mediaQuery.js.map +1 -1
  17. package/dist/esm/CustomTemplates.js.map +1 -1
  18. package/dist/esm/StoryboardFunctionRegistry.js +12 -0
  19. package/dist/esm/StoryboardFunctionRegistry.js.map +1 -1
  20. package/dist/esm/index.js +2 -2
  21. package/dist/esm/index.js.map +1 -1
  22. package/dist/esm/internal/CustomTemplates/bindTemplateProxy.js +2 -2
  23. package/dist/esm/internal/CustomTemplates/bindTemplateProxy.js.map +1 -1
  24. package/dist/esm/internal/CustomTemplates/setupTemplateProxy.js +2 -2
  25. package/dist/esm/internal/CustomTemplates/setupTemplateProxy.js.map +1 -1
  26. package/dist/esm/internal/Runtime.js +14 -10
  27. package/dist/esm/internal/Runtime.js.map +1 -1
  28. package/dist/esm/internal/checkInstalledApps.js.map +1 -1
  29. package/dist/esm/internal/compute/checkIf.js +5 -0
  30. package/dist/esm/internal/compute/checkIf.js.map +1 -1
  31. package/dist/esm/internal/compute/getNextStateOfUseBrick.js +3 -3
  32. package/dist/esm/internal/compute/getNextStateOfUseBrick.js.map +1 -1
  33. package/dist/esm/internal/compute/listenOnTrackingContext.js.map +1 -1
  34. package/dist/esm/internal/data/DataStore.js.map +1 -1
  35. package/dist/esm/internal/data/FlowApiProvider.js +6 -6
  36. package/dist/esm/internal/data/FlowApiProvider.js.map +1 -1
  37. package/dist/esm/internal/enums.js +3 -3
  38. package/dist/esm/internal/enums.js.map +1 -1
  39. package/dist/esm/internal/historyExtended.js +21 -0
  40. package/dist/esm/internal/historyExtended.js.map +1 -1
  41. package/dist/esm/internal/loadBootstrapData.js +19 -18
  42. package/dist/esm/internal/loadBootstrapData.js.map +1 -1
  43. package/dist/esm/internal/mediaQuery.js +3 -3
  44. package/dist/esm/internal/mediaQuery.js.map +1 -1
  45. package/dist/esm/internal/menu/interfaces.js +4 -0
  46. package/dist/esm/internal/menu/interfaces.js.map +1 -1
  47. package/dist/esm/internal/menu/mergeMenu.js +11 -10
  48. package/dist/esm/internal/menu/mergeMenu.js.map +1 -1
  49. package/dist/types/index.d.ts +2 -1
  50. package/dist/types/internal/Runtime.d.ts +1 -4
  51. package/dist/types/tsdoc-metadata.json +11 -0
  52. package/package.json +16 -12
@@ -8,6 +8,20 @@ var _cook = require("@next-core/cook");
8
8
  var _supply = require("@next-core/supply");
9
9
  var _storyboard = require("@next-core/utils/storyboard");
10
10
  var _getGeneralGlobals = require("./internal/compute/getGeneralGlobals.js");
11
+ /** @internal */
12
+
13
+ /** @internal */
14
+
15
+ /** @internal */
16
+
17
+ /** @internal */
18
+
19
+ /** @internal */
20
+
21
+ /** @internal */
22
+
23
+ /** @internal */
24
+
11
25
  /** @internal */
12
26
  function StoryboardFunctionRegistryFactory({
13
27
  widgetId,
@@ -1 +1 @@
1
- {"version":3,"file":"StoryboardFunctionRegistry.js","names":["_cook","require","_supply","_storyboard","_getGeneralGlobals","StoryboardFunctionRegistryFactory","widgetId","widgetVersion","collectCoverage","registeredFunctions","Map","storyboardFunctions","Proxy","Object","freeze","get","target","key","getStoryboardFunction","currentApp","registerStoryboardFunctions","functions","app","clear","Array","isArray","fn","deps","strictCollectMemberUsageInFunction","hasPermissionsCheck","has","set","name","source","typescript","undefined","processed","cooked","collector","createCollector","precooked","precookFunction","hooks","beforeVisit","cook","function","rules","noVar","globalVariables","supply","attemptToVisitGlobals","getGeneralGlobals","isStoryboardFunction","beforeEvaluate","beforeCall","beforeBranch","updateStoryboardFunction","data","newFn","checkPermissionsUsage","functionNames","checkedFunctions","Set","add","some"],"sources":["../../src/StoryboardFunctionRegistry.ts"],"sourcesContent":["import type { MicroApp, StoryboardFunction } from \"@next-core/types\";\nimport { cook, precookFunction, EstreeNode } from \"@next-core/cook\";\nimport { supply } from \"@next-core/supply\";\nimport { strictCollectMemberUsageInFunction } from \"@next-core/utils/storyboard\";\nimport { getGeneralGlobals } from \"./internal/compute/getGeneralGlobals.js\";\n\n/** @internal */\nexport type ReadonlyStoryboardFunctions = Readonly<Record<string, Function>>;\n\n/** @internal */\nexport type StoryboardFunctionPatch = Pick<\n StoryboardFunction,\n \"source\" | \"typescript\"\n>;\n\n/** @internal */\nexport interface StoryboardFunctionRegistry {\n /** A readonly proxy for accessing cooked storyboard functions. */\n storyboardFunctions: ReadonlyStoryboardFunctions;\n\n /** Register storyboard functions. */\n registerStoryboardFunctions(\n functions: StoryboardFunction[] | undefined,\n app?: PartialMicroApp\n ): void;\n\n /** Update a storyboard function during debugging. */\n updateStoryboardFunction(name: string, data: StoryboardFunctionPatch): void;\n\n checkPermissionsUsage(functionNames: string[]): boolean;\n}\n\n/** @internal */\nexport interface RuntimeStoryboardFunction {\n source: string;\n typescript?: boolean;\n processed?: boolean;\n cooked?: Function;\n deps: Set<string>;\n hasPermissionsCheck: boolean;\n}\n\n/** @internal */\nexport interface FunctionCoverageCollector {\n beforeVisit(node: EstreeNode): void;\n beforeEvaluate(node: EstreeNode): void;\n beforeCall(node: EstreeNode): void;\n beforeBranch(node: EstreeNode, branch: string): void;\n}\n\n/** @internal */\nexport interface FunctionCoverageSettings {\n createCollector(name: string): FunctionCoverageCollector;\n}\n\n/** @internal */\nexport type PartialMicroApp = Pick<MicroApp, \"id\" | \"isBuildPush\">;\n\n/** @internal */\nexport function StoryboardFunctionRegistryFactory({\n widgetId,\n widgetVersion,\n collectCoverage,\n}: {\n widgetId?: string;\n widgetVersion?: string;\n collectCoverage?: FunctionCoverageSettings;\n} = {}): StoryboardFunctionRegistry {\n const registeredFunctions = new Map<string, RuntimeStoryboardFunction>();\n\n // Use `Proxy` with a frozen target, to make a readonly function registry.\n const storyboardFunctions = new Proxy(Object.freeze({}), {\n get(target, key) {\n return getStoryboardFunction(key as string);\n },\n }) as ReadonlyStoryboardFunctions;\n\n let currentApp: PartialMicroApp | undefined;\n\n function registerStoryboardFunctions(\n functions: StoryboardFunction[],\n app?: PartialMicroApp\n ): void {\n if (app) {\n currentApp = app;\n }\n registeredFunctions.clear();\n if (Array.isArray(functions)) {\n for (const fn of functions) {\n const deps = strictCollectMemberUsageInFunction(fn, \"FN\");\n const hasPermissionsCheck = strictCollectMemberUsageInFunction(\n fn,\n \"PERMISSIONS\"\n ).has(\"check\");\n registeredFunctions.set(fn.name, {\n source: fn.source,\n typescript: fn.typescript,\n deps,\n hasPermissionsCheck,\n });\n }\n }\n }\n\n function getStoryboardFunction(name: string): Function | undefined {\n const fn = registeredFunctions.get(name);\n if (!fn) {\n return undefined;\n }\n if (fn.processed) {\n return fn.cooked;\n }\n let collector: FunctionCoverageCollector | undefined;\n if (collectCoverage) {\n collector = collectCoverage.createCollector(name);\n }\n const precooked = precookFunction(fn.source, {\n typescript: fn.typescript,\n hooks: collector && {\n beforeVisit: collector.beforeVisit,\n },\n });\n fn.cooked = cook(precooked.function, fn.source, {\n rules: {\n noVar: true,\n },\n globalVariables: supply(\n precooked.attemptToVisitGlobals,\n getGeneralGlobals(precooked.attemptToVisitGlobals, {\n collectCoverage,\n widgetId,\n widgetVersion,\n app: currentApp,\n storyboardFunctions,\n isStoryboardFunction: true,\n }),\n !!collectCoverage\n ),\n hooks: collector && {\n beforeEvaluate: collector.beforeEvaluate,\n beforeCall: collector.beforeCall,\n beforeBranch: collector.beforeBranch,\n },\n }) as Function;\n fn.processed = true;\n return fn.cooked;\n }\n\n return {\n storyboardFunctions,\n registerStoryboardFunctions,\n updateStoryboardFunction(\n name: string,\n data: StoryboardFunctionPatch\n ): void {\n const newFn = {\n ...data,\n name,\n };\n const deps = strictCollectMemberUsageInFunction(newFn, \"FN\");\n const hasPermissionsCheck = strictCollectMemberUsageInFunction(\n newFn,\n \"PERMISSIONS\"\n ).has(\"check\");\n registeredFunctions.set(name, {\n source: data.source,\n typescript: data.typescript,\n deps,\n hasPermissionsCheck,\n });\n },\n /**\n * Check whether listed functions attempt to call `PERMISSIONS.check()`,\n * includes in nested `FN.*()` calls.\n */\n checkPermissionsUsage(functionNames) {\n const checkedFunctions = new Set<string>();\n const hasPermissionsCheck = (name: string): boolean => {\n if (!checkedFunctions.has(name)) {\n checkedFunctions.add(name);\n const fn = registeredFunctions.get(name);\n return (\n !!fn &&\n (fn.hasPermissionsCheck || [...fn.deps].some(hasPermissionsCheck))\n );\n }\n return false;\n };\n return functionNames.some(hasPermissionsCheck);\n },\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"StoryboardFunctionRegistry.js","names":["_cook","require","_supply","_storyboard","_getGeneralGlobals","StoryboardFunctionRegistryFactory","widgetId","widgetVersion","collectCoverage","registeredFunctions","Map","storyboardFunctions","Proxy","Object","freeze","get","target","key","getStoryboardFunction","currentApp","registerStoryboardFunctions","functions","app","clear","Array","isArray","fn","deps","strictCollectMemberUsageInFunction","hasPermissionsCheck","has","set","name","source","typescript","undefined","processed","cooked","collector","createCollector","precooked","precookFunction","hooks","beforeVisit","cook","function","rules","noVar","globalVariables","supply","attemptToVisitGlobals","getGeneralGlobals","isStoryboardFunction","beforeEvaluate","beforeCall","beforeBranch","updateStoryboardFunction","data","newFn","checkPermissionsUsage","functionNames","checkedFunctions","Set","add","some"],"sources":["../../src/StoryboardFunctionRegistry.ts"],"sourcesContent":["import type { MicroApp, StoryboardFunction } from \"@next-core/types\";\nimport { cook, precookFunction, EstreeNode } from \"@next-core/cook\";\nimport { supply } from \"@next-core/supply\";\nimport { strictCollectMemberUsageInFunction } from \"@next-core/utils/storyboard\";\nimport { getGeneralGlobals } from \"./internal/compute/getGeneralGlobals.js\";\n\n/** @internal */\nexport type ReadonlyStoryboardFunctions = Readonly<Record<string, Function>>;\n\n/** @internal */\nexport type StoryboardFunctionPatch = Pick<\n StoryboardFunction,\n \"source\" | \"typescript\"\n>;\n\n/** @internal */\nexport interface StoryboardFunctionRegistry {\n /** A readonly proxy for accessing cooked storyboard functions. */\n storyboardFunctions: ReadonlyStoryboardFunctions;\n\n /** Register storyboard functions. */\n registerStoryboardFunctions(\n functions: StoryboardFunction[] | undefined,\n app?: PartialMicroApp\n ): void;\n\n /** Update a storyboard function during debugging. */\n updateStoryboardFunction(name: string, data: StoryboardFunctionPatch): void;\n\n checkPermissionsUsage(functionNames: string[]): boolean;\n}\n\n/** @internal */\nexport interface RuntimeStoryboardFunction {\n source: string;\n typescript?: boolean;\n processed?: boolean;\n cooked?: Function;\n deps: Set<string>;\n hasPermissionsCheck: boolean;\n}\n\n/** @internal */\nexport interface FunctionCoverageCollector {\n beforeVisit(node: EstreeNode): void;\n beforeEvaluate(node: EstreeNode): void;\n beforeCall(node: EstreeNode): void;\n beforeBranch(node: EstreeNode, branch: string): void;\n}\n\n/** @internal */\nexport interface FunctionCoverageSettings {\n createCollector(name: string): FunctionCoverageCollector;\n}\n\n/** @internal */\nexport type PartialMicroApp = Pick<MicroApp, \"id\" | \"isBuildPush\">;\n\n/** @internal */\nexport function StoryboardFunctionRegistryFactory({\n widgetId,\n widgetVersion,\n collectCoverage,\n}: {\n widgetId?: string;\n widgetVersion?: string;\n collectCoverage?: FunctionCoverageSettings;\n} = {}): StoryboardFunctionRegistry {\n const registeredFunctions = new Map<string, RuntimeStoryboardFunction>();\n\n // Use `Proxy` with a frozen target, to make a readonly function registry.\n const storyboardFunctions = new Proxy(Object.freeze({}), {\n get(target, key) {\n return getStoryboardFunction(key as string);\n },\n }) as ReadonlyStoryboardFunctions;\n\n let currentApp: PartialMicroApp | undefined;\n\n function registerStoryboardFunctions(\n functions: StoryboardFunction[],\n app?: PartialMicroApp\n ): void {\n if (app) {\n currentApp = app;\n }\n registeredFunctions.clear();\n if (Array.isArray(functions)) {\n for (const fn of functions) {\n const deps = strictCollectMemberUsageInFunction(fn, \"FN\");\n const hasPermissionsCheck = strictCollectMemberUsageInFunction(\n fn,\n \"PERMISSIONS\"\n ).has(\"check\");\n registeredFunctions.set(fn.name, {\n source: fn.source,\n typescript: fn.typescript,\n deps,\n hasPermissionsCheck,\n });\n }\n }\n }\n\n function getStoryboardFunction(name: string): Function | undefined {\n const fn = registeredFunctions.get(name);\n if (!fn) {\n return undefined;\n }\n if (fn.processed) {\n return fn.cooked;\n }\n let collector: FunctionCoverageCollector | undefined;\n if (collectCoverage) {\n collector = collectCoverage.createCollector(name);\n }\n const precooked = precookFunction(fn.source, {\n typescript: fn.typescript,\n hooks: collector && {\n beforeVisit: collector.beforeVisit,\n },\n });\n fn.cooked = cook(precooked.function, fn.source, {\n rules: {\n noVar: true,\n },\n globalVariables: supply(\n precooked.attemptToVisitGlobals,\n getGeneralGlobals(precooked.attemptToVisitGlobals, {\n collectCoverage,\n widgetId,\n widgetVersion,\n app: currentApp,\n storyboardFunctions,\n isStoryboardFunction: true,\n }),\n !!collectCoverage\n ),\n hooks: collector && {\n beforeEvaluate: collector.beforeEvaluate,\n beforeCall: collector.beforeCall,\n beforeBranch: collector.beforeBranch,\n },\n }) as Function;\n fn.processed = true;\n return fn.cooked;\n }\n\n return {\n storyboardFunctions,\n registerStoryboardFunctions,\n updateStoryboardFunction(\n name: string,\n data: StoryboardFunctionPatch\n ): void {\n const newFn = {\n ...data,\n name,\n };\n const deps = strictCollectMemberUsageInFunction(newFn, \"FN\");\n const hasPermissionsCheck = strictCollectMemberUsageInFunction(\n newFn,\n \"PERMISSIONS\"\n ).has(\"check\");\n registeredFunctions.set(name, {\n source: data.source,\n typescript: data.typescript,\n deps,\n hasPermissionsCheck,\n });\n },\n /**\n * Check whether listed functions attempt to call `PERMISSIONS.check()`,\n * includes in nested `FN.*()` calls.\n */\n checkPermissionsUsage(functionNames) {\n const checkedFunctions = new Set<string>();\n const hasPermissionsCheck = (name: string): boolean => {\n if (!checkedFunctions.has(name)) {\n checkedFunctions.add(name);\n const fn = registeredFunctions.get(name);\n return (\n !!fn &&\n (fn.hasPermissionsCheck || [...fn.deps].some(hasPermissionsCheck))\n );\n }\n return false;\n };\n return functionNames.some(hasPermissionsCheck);\n },\n };\n}\n"],"mappings":"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"}
package/dist/cjs/index.js CHANGED
@@ -196,8 +196,8 @@ Object.keys(_history).forEach(function (key) {
196
196
  });
197
197
  });
198
198
  var _Runtime = require("./internal/Runtime.js");
199
- var _secret_internals = _interopRequireWildcard(require("./internal/secret_internals.js"));
200
- exports.__secret_internals = _secret_internals;
199
+ var __secret_internals = _interopRequireWildcard(require("./internal/secret_internals.js"));
200
+ exports.__secret_internals = __secret_internals;
201
201
  var _themeAndMode = require("./themeAndMode.js");
202
202
  var _checkIf = require("./internal/compute/checkIf.js");
203
203
  var _WidgetFunctions = require("./internal/compute/WidgetFunctions.js");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_auth","require","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_CustomProcessors","_CustomTemplates","_fetchByProvider","_getBasePath","_getPageInfo","_handleHttpError","_history","_Runtime","_secret_internals","_interopRequireWildcard","__secret_internals","_themeAndMode","_checkIf","_WidgetFunctions","_WidgetI18n","_StoryboardFunctionRegistry","_matchPath"],"sources":["../../src/index.ts"],"sourcesContent":["export * from \"./auth.js\";\nexport * from \"./CustomProcessors.js\";\nexport * from \"./CustomTemplates.js\";\nexport * from \"./fetchByProvider.js\";\nexport * from \"./getBasePath.js\";\nexport * from \"./getPageInfo.js\";\nexport * from \"./handleHttpError.js\";\nexport * from \"./history.js\";\nexport { createRuntime, getRuntime } from \"./internal/Runtime.js\";\nexport * as __secret_internals from \"./internal/secret_internals.js\";\nexport {\n getCssPropertyValue,\n getCurrentTheme,\n getCurrentMode,\n batchSetAppsLocalTheme,\n applyTheme,\n} from \"./themeAndMode.js\";\nexport {\n checkIfOfComputed,\n checkIfByTransform,\n} from \"./internal/compute/checkIf.js\";\nexport { registerWidgetFunctions } from \"./internal/compute/WidgetFunctions.js\";\nexport { registerWidgetI18n } from \"./internal/compute/WidgetI18n.js\";\nexport { StoryboardFunctionRegistryFactory } from \"./StoryboardFunctionRegistry.js\";\nexport { matchPath } from \"./internal/matchPath.js\";\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["_auth","require","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_CustomProcessors","_CustomTemplates","_fetchByProvider","_getBasePath","_getPageInfo","_handleHttpError","_history","_Runtime","__secret_internals","_interopRequireWildcard","_themeAndMode","_checkIf","_WidgetFunctions","_WidgetI18n","_StoryboardFunctionRegistry","_matchPath"],"sources":["../../src/index.ts"],"sourcesContent":["export * from \"./auth.js\";\nexport * from \"./CustomProcessors.js\";\nexport * from \"./CustomTemplates.js\";\nexport * from \"./fetchByProvider.js\";\nexport * from \"./getBasePath.js\";\nexport * from \"./getPageInfo.js\";\nexport * from \"./handleHttpError.js\";\nexport * from \"./history.js\";\nexport { createRuntime, getRuntime } from \"./internal/Runtime.js\";\nimport * as __secret_internals from \"./internal/secret_internals.js\";\nexport { __secret_internals };\nexport {\n getCssPropertyValue,\n getCurrentTheme,\n getCurrentMode,\n batchSetAppsLocalTheme,\n applyTheme,\n} from \"./themeAndMode.js\";\nexport {\n checkIfOfComputed,\n checkIfByTransform,\n} from \"./internal/compute/checkIf.js\";\nexport { registerWidgetFunctions } from \"./internal/compute/WidgetFunctions.js\";\nexport { registerWidgetI18n } from \"./internal/compute/WidgetI18n.js\";\nexport { StoryboardFunctionRegistryFactory } from \"./StoryboardFunctionRegistry.js\";\nexport { matchPath } from \"./internal/matchPath.js\";\n"],"mappings":"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"}
@@ -49,24 +49,26 @@ class Runtime {
49
49
  await router.bootstrap();
50
50
  }
51
51
  getRecentApps() {
52
- return router.getRecentApps();
52
+ var _router$getRecentApps, _router;
53
+ return (_router$getRecentApps = (_router = router) === null || _router === void 0 ? void 0 : _router.getRecentApps()) !== null && _router$getRecentApps !== void 0 ? _router$getRecentApps : {};
53
54
  }
54
55
  getCurrentApp() {
55
- return router.getRecentApps().currentApp;
56
+ var _router2;
57
+ return (_router2 = router) === null || _router2 === void 0 ? void 0 : _router2.getRecentApps().currentApp;
56
58
  }
57
59
  getFeatureFlags() {
58
- var _bootstrapData2, _bootstrapData2$setti, _router$getRecentApps, _router$getRecentApps2, _router$getRecentApps3;
60
+ var _bootstrapData2, _bootstrapData2$setti, _router3, _router3$getRecentApp, _router3$getRecentApp2, _router3$getRecentApp3;
59
61
  return {
60
62
  ...((_bootstrapData2 = bootstrapData) === null || _bootstrapData2 === void 0 ? void 0 : (_bootstrapData2$setti = _bootstrapData2.settings) === null || _bootstrapData2$setti === void 0 ? void 0 : _bootstrapData2$setti.featureFlags),
61
- ...((_router$getRecentApps = router.getRecentApps().currentApp) === null || _router$getRecentApps === void 0 ? void 0 : (_router$getRecentApps2 = _router$getRecentApps.config) === null || _router$getRecentApps2 === void 0 ? void 0 : (_router$getRecentApps3 = _router$getRecentApps2.settings) === null || _router$getRecentApps3 === void 0 ? void 0 : _router$getRecentApps3.featureFlags),
63
+ ...((_router3 = router) === null || _router3 === void 0 ? void 0 : (_router3$getRecentApp = _router3.getRecentApps().currentApp) === null || _router3$getRecentApp === void 0 ? void 0 : (_router3$getRecentApp2 = _router3$getRecentApp.config) === null || _router3$getRecentApp2 === void 0 ? void 0 : (_router3$getRecentApp3 = _router3$getRecentApp2.settings) === null || _router3$getRecentApp3 === void 0 ? void 0 : _router3$getRecentApp3.featureFlags),
62
64
  "migrate-to-brick-next-v3": true
63
65
  };
64
66
  }
65
67
  getMiscSettings() {
66
- var _bootstrapData3, _bootstrapData3$setti, _router$getRecentApps4, _router$getRecentApps5, _router$getRecentApps6;
68
+ var _bootstrapData3, _bootstrapData3$setti, _router4, _router4$getRecentApp, _router4$getRecentApp2, _router4$getRecentApp3;
67
69
  return {
68
70
  ...((_bootstrapData3 = bootstrapData) === null || _bootstrapData3 === void 0 ? void 0 : (_bootstrapData3$setti = _bootstrapData3.settings) === null || _bootstrapData3$setti === void 0 ? void 0 : _bootstrapData3$setti.misc),
69
- ...((_router$getRecentApps4 = router.getRecentApps().currentApp) === null || _router$getRecentApps4 === void 0 ? void 0 : (_router$getRecentApps5 = _router$getRecentApps4.config) === null || _router$getRecentApps5 === void 0 ? void 0 : (_router$getRecentApps6 = _router$getRecentApps5.settings) === null || _router$getRecentApps6 === void 0 ? void 0 : _router$getRecentApps6.misc)
71
+ ...((_router4 = router) === null || _router4 === void 0 ? void 0 : (_router4$getRecentApp = _router4.getRecentApps().currentApp) === null || _router4$getRecentApp === void 0 ? void 0 : (_router4$getRecentApp2 = _router4$getRecentApp.config) === null || _router4$getRecentApp2 === void 0 ? void 0 : (_router4$getRecentApp3 = _router4$getRecentApp2.settings) === null || _router4$getRecentApp3 === void 0 ? void 0 : _router4$getRecentApp3.misc)
70
72
  };
71
73
  }
72
74
  getBrandSettings() {
@@ -104,7 +106,8 @@ class Runtime {
104
106
  document.title = pageTitle ? `${pageTitle} - ${baseTitle}` : baseTitle;
105
107
  }
106
108
  getNavConfig() {
107
- return router.getNavConfig();
109
+ var _router5;
110
+ return (_router5 = router) === null || _router5 === void 0 ? void 0 : _router5.getNavConfig();
108
111
  }
109
112
  }
110
113
  exports.Runtime = Runtime;
@@ -116,15 +119,16 @@ function getBrickPackages() {
116
119
  return (_bootstrapData$brickP = (_bootstrapData8 = bootstrapData) === null || _bootstrapData8 === void 0 ? void 0 : _bootstrapData8.brickPackages) !== null && _bootstrapData$brickP !== void 0 ? _bootstrapData$brickP : [];
117
120
  }
118
121
  function _internalApiGetRenderId() {
119
- return router.getRenderId();
122
+ var _router6;
123
+ return (_router6 = router) === null || _router6 === void 0 ? void 0 : _router6.getRenderId();
120
124
  }
121
125
  function _internalApiMatchStoryboard(pathname) {
122
126
  var _bootstrapData$storyb, _bootstrapData9;
123
127
  return (0, _matchStoryboard.matchStoryboard)((_bootstrapData$storyb = (_bootstrapData9 = bootstrapData) === null || _bootstrapData9 === void 0 ? void 0 : _bootstrapData9.storyboards) !== null && _bootstrapData$storyb !== void 0 ? _bootstrapData$storyb : [], pathname);
124
128
  }
125
129
  function _internalApiGetRuntimeContext() {
126
- var _router;
127
- return (_router = router) === null || _router === void 0 ? void 0 : _router.getRuntimeContext();
130
+ var _router7;
131
+ return (_router7 = router) === null || _router7 === void 0 ? void 0 : _router7.getRuntimeContext();
128
132
  }
129
133
  function _internalApiGetStoryboardInBootstrapData(appId) {
130
134
  var _bootstrapData10, _bootstrapData10$stor;
@@ -1 +1 @@
1
- {"version":3,"file":"Runtime.js","names":["_i18n","require","_moment","_interopRequireDefault","_history","_matchStoryboard","_Router","_loadCheckLogin","_loadBootstrapData","runtime","bootstrapData","router","createRuntime","Error","initializeI18n","moment","locale","i18n","language","on","createHistory","Runtime","getRuntime","bootstrap","_bootstrapData","Promise","all","loadCheckLogin","loadBootstrapData","Router","storyboards","getRecentApps","getCurrentApp","currentApp","getFeatureFlags","_bootstrapData2","_bootstrapData2$setti","_router$getRecentApps","_router$getRecentApps2","_router$getRecentApps3","settings","featureFlags","config","getMiscSettings","_bootstrapData3","_bootstrapData3$setti","_router$getRecentApps4","_router$getRecentApps5","_router$getRecentApps6","misc","getBrandSettings","_bootstrapData4","_bootstrapData4$setti","base_title","brand","getLaunchpadSettings","_bootstrapData5","_bootstrapData5$setti","columns","rows","launchpad","getDesktops","_bootstrapData$deskto","_bootstrapData6","desktops","getLaunchpadSiteMap","_bootstrapData$siteSo","_bootstrapData7","siteSort","toggleLaunchpadEffect","open","document","body","classList","toggle","applyPageTitle","pageTitle","baseTitle","title","getNavConfig","exports","_internalApiSetBootstrapData","data","getBrickPackages","_bootstrapData$brickP","_bootstrapData8","brickPackages","_internalApiGetRenderId","getRenderId","_internalApiMatchStoryboard","pathname","_bootstrapData$storyb","_bootstrapData9","matchStoryboard","_internalApiGetRuntimeContext","_router","getRuntimeContext","_internalApiGetStoryboardInBootstrapData","appId","_bootstrapData10","_bootstrapData10$stor","find","storyboard","app","id","_internalApiGetAppInBootstrapData","_internalApiGetStoryb"],"sources":["../../../src/internal/Runtime.ts"],"sourcesContent":["import type {\n RuntimeStoryboard,\n BootstrapSettings,\n FeatureFlags,\n BootstrapData,\n} from \"@next-core/types\";\nimport { i18n, initializeI18n } from \"@next-core/i18n\";\nimport moment from \"moment\";\nimport \"moment/locale/zh-cn.js\";\nimport { createHistory } from \"../history.js\";\nimport { matchStoryboard } from \"./matchStoryboard.js\";\nimport { Router } from \"./Router.js\";\nimport { loadCheckLogin } from \"./loadCheckLogin.js\";\nimport { loadBootstrapData } from \"./loadBootstrapData.js\";\n\nlet runtime: Runtime;\n\nlet bootstrapData: Partial<BootstrapData> | undefined;\nlet router!: Router;\n\nexport function createRuntime() {\n if (runtime) {\n throw new Error(\"Cannot create multiple runtimes\");\n }\n initializeI18n();\n moment.locale(i18n.language);\n i18n.on(\"languageChanged\", () => {\n moment.locale(i18n.language);\n });\n createHistory();\n runtime = new Runtime();\n return runtime;\n}\n\nexport function getRuntime() {\n return runtime;\n}\n\nexport class Runtime {\n async bootstrap() {\n const [, _bootstrapData] = await Promise.all([\n loadCheckLogin(),\n loadBootstrapData(),\n ]);\n bootstrapData = _bootstrapData;\n router = new Router(_bootstrapData.storyboards);\n await router.bootstrap();\n }\n\n getRecentApps() {\n return router.getRecentApps();\n }\n\n getCurrentApp() {\n return router.getRecentApps().currentApp;\n }\n\n getFeatureFlags(): FeatureFlags {\n return {\n ...bootstrapData?.settings?.featureFlags,\n ...(\n router.getRecentApps().currentApp?.config?.settings as BootstrapSettings\n )?.featureFlags,\n \"migrate-to-brick-next-v3\": true,\n };\n }\n\n getMiscSettings() {\n return {\n ...bootstrapData?.settings?.misc,\n ...(\n router.getRecentApps().currentApp?.config?.settings as BootstrapSettings\n )?.misc,\n };\n }\n\n getBrandSettings(): Record<string, string> {\n return {\n base_title: \"DevOps 管理专家\",\n ...(bootstrapData?.settings?.brand as Record<string, string>),\n // ...(kernel.getOriginFaviconHref()\n // ? { favicon: kernel.getOriginFaviconHref() }\n // : {})\n };\n }\n\n getLaunchpadSettings() {\n return {\n columns: 7,\n rows: 4,\n ...bootstrapData?.settings?.launchpad,\n };\n }\n\n getDesktops(): unknown[] {\n return bootstrapData?.desktops ?? [];\n }\n\n getLaunchpadSiteMap(): unknown[] {\n return bootstrapData?.siteSort ?? [];\n }\n\n toggleLaunchpadEffect(open: boolean): void {\n document.body.classList.toggle(\"launchpad-open\", open);\n }\n\n applyPageTitle(pageTitle: string): void {\n const baseTitle = this.getBrandSettings().base_title;\n document.title = pageTitle ? `${pageTitle} - ${baseTitle}` : baseTitle;\n }\n\n getNavConfig() {\n return router.getNavConfig();\n }\n}\n\nexport function _internalApiSetBootstrapData(data: Partial<BootstrapData>) {\n bootstrapData = data;\n}\n\nexport function getBrickPackages() {\n return bootstrapData?.brickPackages ?? [];\n}\n\nexport function _internalApiGetRenderId(): string | undefined {\n return router.getRenderId();\n}\n\nexport function _internalApiMatchStoryboard(\n pathname: string\n): RuntimeStoryboard | undefined {\n return matchStoryboard(bootstrapData?.storyboards ?? [], pathname);\n}\n\nexport function _internalApiGetRuntimeContext() {\n return router?.getRuntimeContext();\n}\n\nexport function _internalApiGetStoryboardInBootstrapData(appId: string) {\n return bootstrapData?.storyboards?.find(\n (storyboard) => storyboard.app.id === appId\n );\n}\n\nexport function _internalApiGetAppInBootstrapData(appId: string) {\n return _internalApiGetStoryboardInBootstrapData(appId)?.app;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"Runtime.js","names":["_i18n","require","_moment","_interopRequireDefault","_history","_matchStoryboard","_Router","_loadCheckLogin","_loadBootstrapData","runtime","bootstrapData","router","createRuntime","Error","initializeI18n","moment","locale","i18n","language","on","createHistory","Runtime","getRuntime","bootstrap","_bootstrapData","Promise","all","loadCheckLogin","loadBootstrapData","Router","storyboards","getRecentApps","_router$getRecentApps","_router","getCurrentApp","_router2","currentApp","getFeatureFlags","_bootstrapData2","_bootstrapData2$setti","_router3","_router3$getRecentApp","_router3$getRecentApp2","_router3$getRecentApp3","settings","featureFlags","config","getMiscSettings","_bootstrapData3","_bootstrapData3$setti","_router4","_router4$getRecentApp","_router4$getRecentApp2","_router4$getRecentApp3","misc","getBrandSettings","_bootstrapData4","_bootstrapData4$setti","base_title","brand","getLaunchpadSettings","_bootstrapData5","_bootstrapData5$setti","columns","rows","launchpad","getDesktops","_bootstrapData$deskto","_bootstrapData6","desktops","getLaunchpadSiteMap","_bootstrapData$siteSo","_bootstrapData7","siteSort","toggleLaunchpadEffect","open","document","body","classList","toggle","applyPageTitle","pageTitle","baseTitle","title","getNavConfig","_router5","exports","_internalApiSetBootstrapData","data","getBrickPackages","_bootstrapData$brickP","_bootstrapData8","brickPackages","_internalApiGetRenderId","_router6","getRenderId","_internalApiMatchStoryboard","pathname","_bootstrapData$storyb","_bootstrapData9","matchStoryboard","_internalApiGetRuntimeContext","_router7","getRuntimeContext","_internalApiGetStoryboardInBootstrapData","appId","_bootstrapData10","_bootstrapData10$stor","find","storyboard","app","id","_internalApiGetAppInBootstrapData","_internalApiGetStoryb"],"sources":["../../../src/internal/Runtime.ts"],"sourcesContent":["import type {\n RuntimeStoryboard,\n BootstrapSettings,\n FeatureFlags,\n BootstrapData,\n} from \"@next-core/types\";\nimport { i18n, initializeI18n } from \"@next-core/i18n\";\nimport moment from \"moment\";\nimport \"moment/locale/zh-cn.js\";\nimport { createHistory } from \"../history.js\";\nimport { matchStoryboard } from \"./matchStoryboard.js\";\nimport { Router } from \"./Router.js\";\nimport { loadCheckLogin } from \"./loadCheckLogin.js\";\nimport { loadBootstrapData } from \"./loadBootstrapData.js\";\n\nlet runtime: Runtime;\n\nlet bootstrapData: Partial<BootstrapData> | undefined;\nlet router: Router | undefined;\n\nexport function createRuntime() {\n if (runtime) {\n throw new Error(\"Cannot create multiple runtimes\");\n }\n initializeI18n();\n moment.locale(i18n.language);\n i18n.on(\"languageChanged\", () => {\n moment.locale(i18n.language);\n });\n createHistory();\n runtime = new Runtime();\n return runtime;\n}\n\nexport function getRuntime() {\n return runtime;\n}\n\nexport class Runtime {\n async bootstrap() {\n const [, _bootstrapData] = await Promise.all([\n loadCheckLogin(),\n loadBootstrapData(),\n ]);\n bootstrapData = _bootstrapData;\n router = new Router(_bootstrapData.storyboards);\n await router.bootstrap();\n }\n\n getRecentApps() {\n return router?.getRecentApps() ?? {};\n }\n\n getCurrentApp() {\n return router?.getRecentApps().currentApp;\n }\n\n getFeatureFlags(): FeatureFlags {\n return {\n ...bootstrapData?.settings?.featureFlags,\n ...(\n router?.getRecentApps().currentApp?.config\n ?.settings as BootstrapSettings\n )?.featureFlags,\n \"migrate-to-brick-next-v3\": true,\n };\n }\n\n getMiscSettings() {\n return {\n ...bootstrapData?.settings?.misc,\n ...(\n router?.getRecentApps().currentApp?.config\n ?.settings as BootstrapSettings\n )?.misc,\n };\n }\n\n getBrandSettings(): Record<string, string> {\n return {\n base_title: \"DevOps 管理专家\",\n ...(bootstrapData?.settings?.brand as Record<string, string>),\n // ...(kernel.getOriginFaviconHref()\n // ? { favicon: kernel.getOriginFaviconHref() }\n // : {})\n };\n }\n\n getLaunchpadSettings() {\n return {\n columns: 7,\n rows: 4,\n ...bootstrapData?.settings?.launchpad,\n };\n }\n\n getDesktops(): unknown[] {\n return bootstrapData?.desktops ?? [];\n }\n\n getLaunchpadSiteMap(): unknown[] {\n return bootstrapData?.siteSort ?? [];\n }\n\n toggleLaunchpadEffect(open: boolean): void {\n document.body.classList.toggle(\"launchpad-open\", open);\n }\n\n applyPageTitle(pageTitle: string): void {\n const baseTitle = this.getBrandSettings().base_title;\n document.title = pageTitle ? `${pageTitle} - ${baseTitle}` : baseTitle;\n }\n\n getNavConfig() {\n return router?.getNavConfig();\n }\n}\n\nexport function _internalApiSetBootstrapData(data: Partial<BootstrapData>) {\n bootstrapData = data;\n}\n\nexport function getBrickPackages() {\n return bootstrapData?.brickPackages ?? [];\n}\n\nexport function _internalApiGetRenderId(): string | undefined {\n return router?.getRenderId();\n}\n\nexport function _internalApiMatchStoryboard(\n pathname: string\n): RuntimeStoryboard | undefined {\n return matchStoryboard(bootstrapData?.storyboards ?? [], pathname);\n}\n\nexport function _internalApiGetRuntimeContext() {\n return router?.getRuntimeContext();\n}\n\nexport function _internalApiGetStoryboardInBootstrapData(appId: string) {\n return bootstrapData?.storyboards?.find(\n (storyboard) => storyboard.app.id === appId\n );\n}\n\nexport function _internalApiGetAppInBootstrapData(appId: string) {\n return _internalApiGetStoryboardInBootstrapData(appId)?.app;\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAMA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAC,sBAAA,CAAAF,OAAA;AACAA,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,gBAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;AACA,IAAAM,eAAA,GAAAN,OAAA;AACA,IAAAO,kBAAA,GAAAP,OAAA;AAEA,IAAIQ,OAAgB;AAEpB,IAAIC,aAAiD;AACrD,IAAIC,MAA0B;AAEvB,SAASC,aAAaA,CAAA,EAAG;EAC9B,IAAIH,OAAO,EAAE;IACX,MAAM,IAAII,KAAK,CAAC,iCAAiC,CAAC;EACpD;EACA,IAAAC,oBAAc,GAAE;EAChBC,eAAM,CAACC,MAAM,CAACC,UAAI,CAACC,QAAQ,CAAC;EAC5BD,UAAI,CAACE,EAAE,CAAC,iBAAiB,EAAE,MAAM;IAC/BJ,eAAM,CAACC,MAAM,CAACC,UAAI,CAACC,QAAQ,CAAC;EAC9B,CAAC,CAAC;EACF,IAAAE,sBAAa,GAAE;EACfX,OAAO,GAAG,IAAIY,OAAO,EAAE;EACvB,OAAOZ,OAAO;AAChB;AAEO,SAASa,UAAUA,CAAA,EAAG;EAC3B,OAAOb,OAAO;AAChB;AAEO,MAAMY,OAAO,CAAC;EACnB,MAAME,SAASA,CAAA,EAAG;IAChB,MAAM,GAAGC,cAAc,CAAC,GAAG,MAAMC,OAAO,CAACC,GAAG,CAAC,CAC3C,IAAAC,8BAAc,GAAE,EAChB,IAAAC,oCAAiB,GAAE,CACpB,CAAC;IACFlB,aAAa,GAAGc,cAAc;IAC9Bb,MAAM,GAAG,IAAIkB,cAAM,CAACL,cAAc,CAACM,WAAW,CAAC;IAC/C,MAAMnB,MAAM,CAACY,SAAS,EAAE;EAC1B;EAEAQ,aAAaA,CAAA,EAAG;IAAA,IAAAC,qBAAA,EAAAC,OAAA;IACd,QAAAD,qBAAA,IAAAC,OAAA,GAAOtB,MAAM,cAAAsB,OAAA,uBAANA,OAAA,CAAQF,aAAa,EAAE,cAAAC,qBAAA,cAAAA,qBAAA,GAAI,CAAC,CAAC;EACtC;EAEAE,aAAaA,CAAA,EAAG;IAAA,IAAAC,QAAA;IACd,QAAAA,QAAA,GAAOxB,MAAM,cAAAwB,QAAA,uBAANA,QAAA,CAAQJ,aAAa,EAAE,CAACK,UAAU;EAC3C;EAEAC,eAAeA,CAAA,EAAiB;IAAA,IAAAC,eAAA,EAAAC,qBAAA,EAAAC,QAAA,EAAAC,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA;IAC9B,OAAO;MACL,KAAAL,eAAA,GAAG5B,aAAa,cAAA4B,eAAA,wBAAAC,qBAAA,GAAbD,eAAA,CAAeM,QAAQ,cAAAL,qBAAA,uBAAvBA,qBAAA,CAAyBM,YAAY;MACxC,KAAAL,QAAA,GACE7B,MAAM,cAAA6B,QAAA,wBAAAC,qBAAA,GAAND,QAAA,CAAQT,aAAa,EAAE,CAACK,UAAU,cAAAK,qBAAA,wBAAAC,sBAAA,GAAlCD,qBAAA,CAAoCK,MAAM,cAAAJ,sBAAA,wBAAAC,sBAAA,GAA1CD,sBAAA,CACIE,QAAQ,cAAAD,sBAAA,uBAFXA,sBAAA,CAGAE,YAAY;MACf,0BAA0B,EAAE;IAC9B,CAAC;EACH;EAEAE,eAAeA,CAAA,EAAG;IAAA,IAAAC,eAAA,EAAAC,qBAAA,EAAAC,QAAA,EAAAC,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA;IAChB,OAAO;MACL,KAAAL,eAAA,GAAGtC,aAAa,cAAAsC,eAAA,wBAAAC,qBAAA,GAAbD,eAAA,CAAeJ,QAAQ,cAAAK,qBAAA,uBAAvBA,qBAAA,CAAyBK,IAAI;MAChC,KAAAJ,QAAA,GACEvC,MAAM,cAAAuC,QAAA,wBAAAC,qBAAA,GAAND,QAAA,CAAQnB,aAAa,EAAE,CAACK,UAAU,cAAAe,qBAAA,wBAAAC,sBAAA,GAAlCD,qBAAA,CAAoCL,MAAM,cAAAM,sBAAA,wBAAAC,sBAAA,GAA1CD,sBAAA,CACIR,QAAQ,cAAAS,sBAAA,uBAFXA,sBAAA,CAGAC,IAAI;IACT,CAAC;EACH;EAEAC,gBAAgBA,CAAA,EAA2B;IAAA,IAAAC,eAAA,EAAAC,qBAAA;IACzC,OAAO;MACLC,UAAU,EAAE,aAAa;MACzB,KAAAF,eAAA,GAAI9C,aAAa,cAAA8C,eAAA,wBAAAC,qBAAA,GAAbD,eAAA,CAAeZ,QAAQ,cAAAa,qBAAA,uBAAvBA,qBAAA,CAAyBE,KAAK;MAClC;MACA;MACA;IACF,CAAC;EACH;;EAEAC,oBAAoBA,CAAA,EAAG;IAAA,IAAAC,eAAA,EAAAC,qBAAA;IACrB,OAAO;MACLC,OAAO,EAAE,CAAC;MACVC,IAAI,EAAE,CAAC;MACP,KAAAH,eAAA,GAAGnD,aAAa,cAAAmD,eAAA,wBAAAC,qBAAA,GAAbD,eAAA,CAAejB,QAAQ,cAAAkB,qBAAA,uBAAvBA,qBAAA,CAAyBG,SAAS;IACvC,CAAC;EACH;EAEAC,WAAWA,CAAA,EAAc;IAAA,IAAAC,qBAAA,EAAAC,eAAA;IACvB,QAAAD,qBAAA,IAAAC,eAAA,GAAO1D,aAAa,cAAA0D,eAAA,uBAAbA,eAAA,CAAeC,QAAQ,cAAAF,qBAAA,cAAAA,qBAAA,GAAI,EAAE;EACtC;EAEAG,mBAAmBA,CAAA,EAAc;IAAA,IAAAC,qBAAA,EAAAC,eAAA;IAC/B,QAAAD,qBAAA,IAAAC,eAAA,GAAO9D,aAAa,cAAA8D,eAAA,uBAAbA,eAAA,CAAeC,QAAQ,cAAAF,qBAAA,cAAAA,qBAAA,GAAI,EAAE;EACtC;EAEAG,qBAAqBA,CAACC,IAAa,EAAQ;IACzCC,QAAQ,CAACC,IAAI,CAACC,SAAS,CAACC,MAAM,CAAC,gBAAgB,EAAEJ,IAAI,CAAC;EACxD;EAEAK,cAAcA,CAACC,SAAiB,EAAQ;IACtC,MAAMC,SAAS,GAAG,IAAI,CAAC3B,gBAAgB,EAAE,CAACG,UAAU;IACpDkB,QAAQ,CAACO,KAAK,GAAGF,SAAS,GAAI,GAAEA,SAAU,MAAKC,SAAU,EAAC,GAAGA,SAAS;EACxE;EAEAE,YAAYA,CAAA,EAAG;IAAA,IAAAC,QAAA;IACb,QAAAA,QAAA,GAAO1E,MAAM,cAAA0E,QAAA,uBAANA,QAAA,CAAQD,YAAY,EAAE;EAC/B;AACF;AAACE,OAAA,CAAAjE,OAAA,GAAAA,OAAA;AAEM,SAASkE,4BAA4BA,CAACC,IAA4B,EAAE;EACzE9E,aAAa,GAAG8E,IAAI;AACtB;AAEO,SAASC,gBAAgBA,CAAA,EAAG;EAAA,IAAAC,qBAAA,EAAAC,eAAA;EACjC,QAAAD,qBAAA,IAAAC,eAAA,GAAOjF,aAAa,cAAAiF,eAAA,uBAAbA,eAAA,CAAeC,aAAa,cAAAF,qBAAA,cAAAA,qBAAA,GAAI,EAAE;AAC3C;AAEO,SAASG,uBAAuBA,CAAA,EAAuB;EAAA,IAAAC,QAAA;EAC5D,QAAAA,QAAA,GAAOnF,MAAM,cAAAmF,QAAA,uBAANA,QAAA,CAAQC,WAAW,EAAE;AAC9B;AAEO,SAASC,2BAA2BA,CACzCC,QAAgB,EACe;EAAA,IAAAC,qBAAA,EAAAC,eAAA;EAC/B,OAAO,IAAAC,gCAAe,GAAAF,qBAAA,IAAAC,eAAA,GAACzF,aAAa,cAAAyF,eAAA,uBAAbA,eAAA,CAAerE,WAAW,cAAAoE,qBAAA,cAAAA,qBAAA,GAAI,EAAE,EAAED,QAAQ,CAAC;AACpE;AAEO,SAASI,6BAA6BA,CAAA,EAAG;EAAA,IAAAC,QAAA;EAC9C,QAAAA,QAAA,GAAO3F,MAAM,cAAA2F,QAAA,uBAANA,QAAA,CAAQC,iBAAiB,EAAE;AACpC;AAEO,SAASC,wCAAwCA,CAACC,KAAa,EAAE;EAAA,IAAAC,gBAAA,EAAAC,qBAAA;EACtE,QAAAD,gBAAA,GAAOhG,aAAa,cAAAgG,gBAAA,wBAAAC,qBAAA,GAAbD,gBAAA,CAAe5E,WAAW,cAAA6E,qBAAA,uBAA1BA,qBAAA,CAA4BC,IAAI,CACpCC,UAAU,IAAKA,UAAU,CAACC,GAAG,CAACC,EAAE,KAAKN,KAAK,CAC5C;AACH;AAEO,SAASO,iCAAiCA,CAACP,KAAa,EAAE;EAAA,IAAAQ,qBAAA;EAC/D,QAAAA,qBAAA,GAAOT,wCAAwC,CAACC,KAAK,CAAC,cAAAQ,qBAAA,uBAA/CA,qBAAA,CAAiDH,GAAG;AAC7D"}
@@ -12,6 +12,10 @@ var _general = require("@next-core/utils/general");
12
12
  var _computeRealValue = require("./computeRealValue.js");
13
13
  var _evaluate = require("./evaluate.js");
14
14
  var _resolveData = require("../data/resolveData.js");
15
+ /**
16
+ * 包含 `if` 条件判断的对象。
17
+ */
18
+
15
19
  async function asyncCheckIf(ifContainer, runtimeContext) {
16
20
  return !(0, _general.hasOwnProperty)(ifContainer, "if") || !!(typeof ifContainer.if === "string" || (0, _evaluate.isPreEvaluated)(ifContainer.if) ? await (0, _computeRealValue.asyncComputeRealValue)(ifContainer.if, runtimeContext) : ifContainer.if);
17
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"checkIf.js","names":["_general","require","_computeRealValue","_evaluate","_resolveData","asyncCheckIf","ifContainer","runtimeContext","hasOwnProperty","if","isPreEvaluated","asyncComputeRealValue","checkIf","computeRealValue","checkIfOfComputed","asyncCheckBrickIf","brickConf","isObject","resolved","resolveData","checkIfByTransform","data"],"sources":["../../../../src/internal/compute/checkIf.ts"],"sourcesContent":["import { hasOwnProperty, isObject } from \"@next-core/utils/general\";\nimport type { BrickConf, ResolveConf } from \"@next-core/types\";\nimport { asyncComputeRealValue, computeRealValue } from \"./computeRealValue.js\";\nimport { isPreEvaluated } from \"./evaluate.js\";\nimport { resolveData } from \"../data/resolveData.js\";\nimport type { RuntimeContext } from \"../interfaces.js\";\n\n/**\n * 包含 `if` 条件判断的对象。\n */\nexport interface IfContainer {\n /**\n * 条件判断,可以为表达式字符串。\n *\n * @example\n *\n * ```yaml\n * - brick: your.any-brick\n * if: '<% FLAGS[\"your-feature-flag\"] %>'\n * ```\n */\n if?: unknown;\n}\n\nexport async function asyncCheckIf(\n ifContainer: IfContainer,\n runtimeContext: RuntimeContext\n): Promise<boolean> {\n return (\n !hasOwnProperty(ifContainer, \"if\") ||\n !!(typeof ifContainer.if === \"string\" || isPreEvaluated(ifContainer.if)\n ? await asyncComputeRealValue(ifContainer.if, runtimeContext)\n : ifContainer.if)\n );\n}\n\nexport function checkIf(\n ifContainer: IfContainer,\n runtimeContext: RuntimeContext\n): boolean {\n return (\n !hasOwnProperty(ifContainer, \"if\") ||\n !!(typeof ifContainer.if === \"string\" || isPreEvaluated(ifContainer.if)\n ? computeRealValue(ifContainer.if, runtimeContext)\n : ifContainer.if)\n );\n}\n\nexport function checkIfOfComputed(ifContainer: IfContainer): boolean {\n return !hasOwnProperty(ifContainer, \"if\") || !!ifContainer.if;\n}\n\nexport async function asyncCheckBrickIf(\n brickConf: BrickConf,\n runtimeContext: RuntimeContext\n): Promise<boolean> {\n if (isObject(brickConf.if) && !isPreEvaluated(brickConf.if)) {\n const resolved = (await resolveData(\n brickConf.if as ResolveConf,\n runtimeContext\n )) as { if?: unknown };\n return checkIfOfComputed(resolved);\n }\n return asyncCheckIf(brickConf, runtimeContext);\n}\n\nexport function checkIfByTransform(ifContainer: IfContainer, data: unknown) {\n return checkIf(ifContainer, { data } as RuntimeContext);\n}\n"],"mappings":";;;;;;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAEA,IAAAC,iBAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AAoBO,eAAeI,YAAYA,CAChCC,WAAwB,EACxBC,cAA8B,EACZ;EAClB,OACE,CAAC,IAAAC,uBAAc,EAACF,WAAW,EAAE,IAAI,CAAC,IAClC,CAAC,EAAE,OAAOA,WAAW,CAACG,EAAE,KAAK,QAAQ,IAAI,IAAAC,wBAAc,EAACJ,WAAW,CAACG,EAAE,CAAC,GACnE,MAAM,IAAAE,uCAAqB,EAACL,WAAW,CAACG,EAAE,EAAEF,cAAc,CAAC,GAC3DD,WAAW,CAACG,EAAE,CAAC;AAEvB;AAEO,SAASG,OAAOA,CACrBN,WAAwB,EACxBC,cAA8B,EACrB;EACT,OACE,CAAC,IAAAC,uBAAc,EAACF,WAAW,EAAE,IAAI,CAAC,IAClC,CAAC,EAAE,OAAOA,WAAW,CAACG,EAAE,KAAK,QAAQ,IAAI,IAAAC,wBAAc,EAACJ,WAAW,CAACG,EAAE,CAAC,GACnE,IAAAI,kCAAgB,EAACP,WAAW,CAACG,EAAE,EAAEF,cAAc,CAAC,GAChDD,WAAW,CAACG,EAAE,CAAC;AAEvB;AAEO,SAASK,iBAAiBA,CAACR,WAAwB,EAAW;EACnE,OAAO,CAAC,IAAAE,uBAAc,EAACF,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAACA,WAAW,CAACG,EAAE;AAC/D;AAEO,eAAeM,iBAAiBA,CACrCC,SAAoB,EACpBT,cAA8B,EACZ;EAClB,IAAI,IAAAU,iBAAQ,EAACD,SAAS,CAACP,EAAE,CAAC,IAAI,CAAC,IAAAC,wBAAc,EAACM,SAAS,CAACP,EAAE,CAAC,EAAE;IAC3D,MAAMS,QAAQ,GAAI,MAAM,IAAAC,wBAAW,EACjCH,SAAS,CAACP,EAAE,EACZF,cAAc,CACM;IACtB,OAAOO,iBAAiB,CAACI,QAAQ,CAAC;EACpC;EACA,OAAOb,YAAY,CAACW,SAAS,EAAET,cAAc,CAAC;AAChD;AAEO,SAASa,kBAAkBA,CAACd,WAAwB,EAAEe,IAAa,EAAE;EAC1E,OAAOT,OAAO,CAACN,WAAW,EAAE;IAAEe;EAAK,CAAC,CAAmB;AACzD"}
1
+ {"version":3,"file":"checkIf.js","names":["_general","require","_computeRealValue","_evaluate","_resolveData","asyncCheckIf","ifContainer","runtimeContext","hasOwnProperty","if","isPreEvaluated","asyncComputeRealValue","checkIf","computeRealValue","checkIfOfComputed","asyncCheckBrickIf","brickConf","isObject","resolved","resolveData","checkIfByTransform","data"],"sources":["../../../../src/internal/compute/checkIf.ts"],"sourcesContent":["import { hasOwnProperty, isObject } from \"@next-core/utils/general\";\nimport type { BrickConf, ResolveConf } from \"@next-core/types\";\nimport { asyncComputeRealValue, computeRealValue } from \"./computeRealValue.js\";\nimport { isPreEvaluated } from \"./evaluate.js\";\nimport { resolveData } from \"../data/resolveData.js\";\nimport type { RuntimeContext } from \"../interfaces.js\";\n\n/**\n * 包含 `if` 条件判断的对象。\n */\nexport interface IfContainer {\n /**\n * 条件判断,可以为表达式字符串。\n *\n * @example\n *\n * ```yaml\n * - brick: your.any-brick\n * if: '<% FLAGS[\"your-feature-flag\"] %>'\n * ```\n */\n if?: unknown;\n}\n\nexport async function asyncCheckIf(\n ifContainer: IfContainer,\n runtimeContext: RuntimeContext\n): Promise<boolean> {\n return (\n !hasOwnProperty(ifContainer, \"if\") ||\n !!(typeof ifContainer.if === \"string\" || isPreEvaluated(ifContainer.if)\n ? await asyncComputeRealValue(ifContainer.if, runtimeContext)\n : ifContainer.if)\n );\n}\n\nexport function checkIf(\n ifContainer: IfContainer,\n runtimeContext: RuntimeContext\n): boolean {\n return (\n !hasOwnProperty(ifContainer, \"if\") ||\n !!(typeof ifContainer.if === \"string\" || isPreEvaluated(ifContainer.if)\n ? computeRealValue(ifContainer.if, runtimeContext)\n : ifContainer.if)\n );\n}\n\nexport function checkIfOfComputed(ifContainer: IfContainer): boolean {\n return !hasOwnProperty(ifContainer, \"if\") || !!ifContainer.if;\n}\n\nexport async function asyncCheckBrickIf(\n brickConf: BrickConf,\n runtimeContext: RuntimeContext\n): Promise<boolean> {\n if (isObject(brickConf.if) && !isPreEvaluated(brickConf.if)) {\n const resolved = (await resolveData(\n brickConf.if as ResolveConf,\n runtimeContext\n )) as { if?: unknown };\n return checkIfOfComputed(resolved);\n }\n return asyncCheckIf(brickConf, runtimeContext);\n}\n\nexport function checkIfByTransform(ifContainer: IfContainer, data: unknown) {\n return checkIf(ifContainer, { data } as RuntimeContext);\n}\n"],"mappings":";;;;;;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAEA,IAAAC,iBAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AAGA;AACA;AACA;;AAeO,eAAeI,YAAYA,CAChCC,WAAwB,EACxBC,cAA8B,EACZ;EAClB,OACE,CAAC,IAAAC,uBAAc,EAACF,WAAW,EAAE,IAAI,CAAC,IAClC,CAAC,EAAE,OAAOA,WAAW,CAACG,EAAE,KAAK,QAAQ,IAAI,IAAAC,wBAAc,EAACJ,WAAW,CAACG,EAAE,CAAC,GACnE,MAAM,IAAAE,uCAAqB,EAACL,WAAW,CAACG,EAAE,EAAEF,cAAc,CAAC,GAC3DD,WAAW,CAACG,EAAE,CAAC;AAEvB;AAEO,SAASG,OAAOA,CACrBN,WAAwB,EACxBC,cAA8B,EACrB;EACT,OACE,CAAC,IAAAC,uBAAc,EAACF,WAAW,EAAE,IAAI,CAAC,IAClC,CAAC,EAAE,OAAOA,WAAW,CAACG,EAAE,KAAK,QAAQ,IAAI,IAAAC,wBAAc,EAACJ,WAAW,CAACG,EAAE,CAAC,GACnE,IAAAI,kCAAgB,EAACP,WAAW,CAACG,EAAE,EAAEF,cAAc,CAAC,GAChDD,WAAW,CAACG,EAAE,CAAC;AAEvB;AAEO,SAASK,iBAAiBA,CAACR,WAAwB,EAAW;EACnE,OAAO,CAAC,IAAAE,uBAAc,EAACF,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAACA,WAAW,CAACG,EAAE;AAC/D;AAEO,eAAeM,iBAAiBA,CACrCC,SAAoB,EACpBT,cAA8B,EACZ;EAClB,IAAI,IAAAU,iBAAQ,EAACD,SAAS,CAACP,EAAE,CAAC,IAAI,CAAC,IAAAC,wBAAc,EAACM,SAAS,CAACP,EAAE,CAAC,EAAE;IAC3D,MAAMS,QAAQ,GAAI,MAAM,IAAAC,wBAAW,EACjCH,SAAS,CAACP,EAAE,EACZF,cAAc,CACM;IACtB,OAAOO,iBAAiB,CAACI,QAAQ,CAAC;EACpC;EACA,OAAOb,YAAY,CAACW,SAAS,EAAET,cAAc,CAAC;AAChD;AAEO,SAASa,kBAAkBA,CAACd,WAAwB,EAAEe,IAAa,EAAE;EAC1E,OAAOT,OAAO,CAACN,WAAW,EAAE;IAAEe;EAAK,CAAC,CAAmB;AACzD"}
@@ -6,9 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.StateOfUseBrick = void 0;
7
7
  exports.getNextStateOfUseBrick = getNextStateOfUseBrick;
8
8
  exports.isLazyContentInUseBrick = isLazyContentInUseBrick;
9
- let StateOfUseBrick;
10
- exports.StateOfUseBrick = StateOfUseBrick;
11
- (function (StateOfUseBrick) {
9
+ let StateOfUseBrick = /*#__PURE__*/function (StateOfUseBrick) {
12
10
  StateOfUseBrick[StateOfUseBrick["INITIAL"] = 0] = "INITIAL";
13
11
  StateOfUseBrick[StateOfUseBrick["USE_BRICK"] = 1] = "USE_BRICK";
14
12
  StateOfUseBrick[StateOfUseBrick["USE_BRICK_ITEM"] = 2] = "USE_BRICK_ITEM";
@@ -22,7 +20,9 @@ exports.StateOfUseBrick = StateOfUseBrick;
22
20
  StateOfUseBrick[StateOfUseBrick["USE_BRICK_SLOTS_ITEM_BRICKS_ITEM"] = 10] = "USE_BRICK_SLOTS_ITEM_BRICKS_ITEM";
23
21
  StateOfUseBrick[StateOfUseBrick["USE_BRICK_LIFECYCLE"] = 11] = "USE_BRICK_LIFECYCLE";
24
22
  StateOfUseBrick[StateOfUseBrick["USE_BRICK_DATA_SOURCE"] = 12] = "USE_BRICK_DATA_SOURCE";
25
- })(StateOfUseBrick || (exports.StateOfUseBrick = StateOfUseBrick = {}));
23
+ return StateOfUseBrick;
24
+ }({});
25
+ exports.StateOfUseBrick = StateOfUseBrick;
26
26
  function isLazyContentInUseBrick(state) {
27
27
  switch (state) {
28
28
  case StateOfUseBrick.USE_BRICK_PROPERTIES:
@@ -1 +1 @@
1
- {"version":3,"file":"getNextStateOfUseBrick.js","names":["StateOfUseBrick","exports","isLazyContentInUseBrick","state","USE_BRICK_PROPERTIES","USE_BRICK_TRANSFORM","USE_BRICK_EVENTS","USE_BRICK_IF","USE_BRICK_LIFECYCLE","USE_BRICK_DATA_SOURCE","getNextStateOfUseBrick","isArray","key","USE_BRICK","USE_BRICK_ITEM","USE_BRICK_SLOTS_ITEM_BRICKS","USE_BRICK_SLOTS_ITEM_BRICKS_ITEM","INITIAL","USE_BRICK_SLOTS","USE_BRICK_SLOTS_ITEM"],"sources":["../../../../src/internal/compute/getNextStateOfUseBrick.ts"],"sourcesContent":["export enum StateOfUseBrick {\n INITIAL,\n USE_BRICK,\n USE_BRICK_ITEM,\n USE_BRICK_PROPERTIES,\n // Compatible mode\n USE_BRICK_TRANSFORM,\n USE_BRICK_EVENTS,\n USE_BRICK_IF,\n USE_BRICK_SLOTS,\n USE_BRICK_SLOTS_ITEM,\n USE_BRICK_SLOTS_ITEM_BRICKS,\n USE_BRICK_SLOTS_ITEM_BRICKS_ITEM,\n USE_BRICK_LIFECYCLE,\n USE_BRICK_DATA_SOURCE,\n}\n\nexport function isLazyContentInUseBrick(\n state: StateOfUseBrick | undefined\n): boolean {\n switch (state) {\n case StateOfUseBrick.USE_BRICK_PROPERTIES:\n case StateOfUseBrick.USE_BRICK_TRANSFORM:\n case StateOfUseBrick.USE_BRICK_EVENTS:\n case StateOfUseBrick.USE_BRICK_IF:\n case StateOfUseBrick.USE_BRICK_LIFECYCLE:\n case StateOfUseBrick.USE_BRICK_DATA_SOURCE:\n return true;\n }\n return false;\n}\n\nexport function getNextStateOfUseBrick(\n state: StateOfUseBrick | undefined,\n isArray?: boolean,\n key?: string\n): StateOfUseBrick | undefined {\n if (isLazyContentInUseBrick(state)) {\n return state;\n }\n if (isArray) {\n switch (state) {\n case StateOfUseBrick.USE_BRICK:\n return StateOfUseBrick.USE_BRICK_ITEM;\n case StateOfUseBrick.USE_BRICK_SLOTS_ITEM_BRICKS:\n return StateOfUseBrick.USE_BRICK_SLOTS_ITEM_BRICKS_ITEM;\n }\n } else {\n switch (state) {\n case StateOfUseBrick.INITIAL:\n if (key === \"useBrick\") {\n return StateOfUseBrick.USE_BRICK;\n }\n break;\n case StateOfUseBrick.USE_BRICK:\n case StateOfUseBrick.USE_BRICK_ITEM:\n case StateOfUseBrick.USE_BRICK_SLOTS_ITEM_BRICKS_ITEM: {\n switch (key) {\n case \"properties\":\n return StateOfUseBrick.USE_BRICK_PROPERTIES;\n case \"transform\":\n return StateOfUseBrick.USE_BRICK_TRANSFORM;\n case \"dataSource\":\n return StateOfUseBrick.USE_BRICK_DATA_SOURCE;\n case \"events\":\n return StateOfUseBrick.USE_BRICK_EVENTS;\n case \"slots\":\n return StateOfUseBrick.USE_BRICK_SLOTS;\n case \"children\":\n return StateOfUseBrick.USE_BRICK_SLOTS_ITEM_BRICKS;\n case \"if\":\n return StateOfUseBrick.USE_BRICK_IF;\n case \"lifeCycle\":\n return StateOfUseBrick.USE_BRICK_LIFECYCLE;\n }\n break;\n }\n case StateOfUseBrick.USE_BRICK_SLOTS:\n return StateOfUseBrick.USE_BRICK_SLOTS_ITEM;\n case StateOfUseBrick.USE_BRICK_SLOTS_ITEM:\n if (key === \"bricks\") {\n return StateOfUseBrick.USE_BRICK_SLOTS_ITEM_BRICKS;\n }\n break;\n }\n }\n return StateOfUseBrick.INITIAL;\n}\n"],"mappings":";;;;;;;;IAAYA,eAAe;AAAAC,OAAA,CAAAD,eAAA,GAAAA,eAAA;AAAA,WAAfA,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;AAAA,GAAfA,eAAe,KAAAC,OAAA,CAAAD,eAAA,GAAfA,eAAe;AAiBpB,SAASE,uBAAuBA,CACrCC,KAAkC,EACzB;EACT,QAAQA,KAAK;IACX,KAAKH,eAAe,CAACI,oBAAoB;IACzC,KAAKJ,eAAe,CAACK,mBAAmB;IACxC,KAAKL,eAAe,CAACM,gBAAgB;IACrC,KAAKN,eAAe,CAACO,YAAY;IACjC,KAAKP,eAAe,CAACQ,mBAAmB;IACxC,KAAKR,eAAe,CAACS,qBAAqB;MACxC,OAAO,IAAI;EAAC;EAEhB,OAAO,KAAK;AACd;AAEO,SAASC,sBAAsBA,CACpCP,KAAkC,EAClCQ,OAAiB,EACjBC,GAAY,EACiB;EAC7B,IAAIV,uBAAuB,CAACC,KAAK,CAAC,EAAE;IAClC,OAAOA,KAAK;EACd;EACA,IAAIQ,OAAO,EAAE;IACX,QAAQR,KAAK;MACX,KAAKH,eAAe,CAACa,SAAS;QAC5B,OAAOb,eAAe,CAACc,cAAc;MACvC,KAAKd,eAAe,CAACe,2BAA2B;QAC9C,OAAOf,eAAe,CAACgB,gCAAgC;IAAC;EAE9D,CAAC,MAAM;IACL,QAAQb,KAAK;MACX,KAAKH,eAAe,CAACiB,OAAO;QAC1B,IAAIL,GAAG,KAAK,UAAU,EAAE;UACtB,OAAOZ,eAAe,CAACa,SAAS;QAClC;QACA;MACF,KAAKb,eAAe,CAACa,SAAS;MAC9B,KAAKb,eAAe,CAACc,cAAc;MACnC,KAAKd,eAAe,CAACgB,gCAAgC;QAAE;UACrD,QAAQJ,GAAG;YACT,KAAK,YAAY;cACf,OAAOZ,eAAe,CAACI,oBAAoB;YAC7C,KAAK,WAAW;cACd,OAAOJ,eAAe,CAACK,mBAAmB;YAC5C,KAAK,YAAY;cACf,OAAOL,eAAe,CAACS,qBAAqB;YAC9C,KAAK,QAAQ;cACX,OAAOT,eAAe,CAACM,gBAAgB;YACzC,KAAK,OAAO;cACV,OAAON,eAAe,CAACkB,eAAe;YACxC,KAAK,UAAU;cACb,OAAOlB,eAAe,CAACe,2BAA2B;YACpD,KAAK,IAAI;cACP,OAAOf,eAAe,CAACO,YAAY;YACrC,KAAK,WAAW;cACd,OAAOP,eAAe,CAACQ,mBAAmB;UAAC;UAE/C;QACF;MACA,KAAKR,eAAe,CAACkB,eAAe;QAClC,OAAOlB,eAAe,CAACmB,oBAAoB;MAC7C,KAAKnB,eAAe,CAACmB,oBAAoB;QACvC,IAAIP,GAAG,KAAK,QAAQ,EAAE;UACpB,OAAOZ,eAAe,CAACe,2BAA2B;QACpD;QACA;IAAM;EAEZ;EACA,OAAOf,eAAe,CAACiB,OAAO;AAChC"}
1
+ {"version":3,"file":"getNextStateOfUseBrick.js","names":["StateOfUseBrick","exports","isLazyContentInUseBrick","state","USE_BRICK_PROPERTIES","USE_BRICK_TRANSFORM","USE_BRICK_EVENTS","USE_BRICK_IF","USE_BRICK_LIFECYCLE","USE_BRICK_DATA_SOURCE","getNextStateOfUseBrick","isArray","key","USE_BRICK","USE_BRICK_ITEM","USE_BRICK_SLOTS_ITEM_BRICKS","USE_BRICK_SLOTS_ITEM_BRICKS_ITEM","INITIAL","USE_BRICK_SLOTS","USE_BRICK_SLOTS_ITEM"],"sources":["../../../../src/internal/compute/getNextStateOfUseBrick.ts"],"sourcesContent":["export enum StateOfUseBrick {\n INITIAL,\n USE_BRICK,\n USE_BRICK_ITEM,\n USE_BRICK_PROPERTIES,\n // Compatible mode\n USE_BRICK_TRANSFORM,\n USE_BRICK_EVENTS,\n USE_BRICK_IF,\n USE_BRICK_SLOTS,\n USE_BRICK_SLOTS_ITEM,\n USE_BRICK_SLOTS_ITEM_BRICKS,\n USE_BRICK_SLOTS_ITEM_BRICKS_ITEM,\n USE_BRICK_LIFECYCLE,\n USE_BRICK_DATA_SOURCE,\n}\n\nexport function isLazyContentInUseBrick(\n state: StateOfUseBrick | undefined\n): boolean {\n switch (state) {\n case StateOfUseBrick.USE_BRICK_PROPERTIES:\n case StateOfUseBrick.USE_BRICK_TRANSFORM:\n case StateOfUseBrick.USE_BRICK_EVENTS:\n case StateOfUseBrick.USE_BRICK_IF:\n case StateOfUseBrick.USE_BRICK_LIFECYCLE:\n case StateOfUseBrick.USE_BRICK_DATA_SOURCE:\n return true;\n }\n return false;\n}\n\nexport function getNextStateOfUseBrick(\n state: StateOfUseBrick | undefined,\n isArray?: boolean,\n key?: string\n): StateOfUseBrick | undefined {\n if (isLazyContentInUseBrick(state)) {\n return state;\n }\n if (isArray) {\n switch (state) {\n case StateOfUseBrick.USE_BRICK:\n return StateOfUseBrick.USE_BRICK_ITEM;\n case StateOfUseBrick.USE_BRICK_SLOTS_ITEM_BRICKS:\n return StateOfUseBrick.USE_BRICK_SLOTS_ITEM_BRICKS_ITEM;\n }\n } else {\n switch (state) {\n case StateOfUseBrick.INITIAL:\n if (key === \"useBrick\") {\n return StateOfUseBrick.USE_BRICK;\n }\n break;\n case StateOfUseBrick.USE_BRICK:\n case StateOfUseBrick.USE_BRICK_ITEM:\n case StateOfUseBrick.USE_BRICK_SLOTS_ITEM_BRICKS_ITEM: {\n switch (key) {\n case \"properties\":\n return StateOfUseBrick.USE_BRICK_PROPERTIES;\n case \"transform\":\n return StateOfUseBrick.USE_BRICK_TRANSFORM;\n case \"dataSource\":\n return StateOfUseBrick.USE_BRICK_DATA_SOURCE;\n case \"events\":\n return StateOfUseBrick.USE_BRICK_EVENTS;\n case \"slots\":\n return StateOfUseBrick.USE_BRICK_SLOTS;\n case \"children\":\n return StateOfUseBrick.USE_BRICK_SLOTS_ITEM_BRICKS;\n case \"if\":\n return StateOfUseBrick.USE_BRICK_IF;\n case \"lifeCycle\":\n return StateOfUseBrick.USE_BRICK_LIFECYCLE;\n }\n break;\n }\n case StateOfUseBrick.USE_BRICK_SLOTS:\n return StateOfUseBrick.USE_BRICK_SLOTS_ITEM;\n case StateOfUseBrick.USE_BRICK_SLOTS_ITEM:\n if (key === \"bricks\") {\n return StateOfUseBrick.USE_BRICK_SLOTS_ITEM_BRICKS;\n }\n break;\n }\n }\n return StateOfUseBrick.INITIAL;\n}\n"],"mappings":";;;;;;;;IAAYA,eAAe,0BAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA;AAAAC,OAAA,CAAAD,eAAA,GAAAA,eAAA;AAiBpB,SAASE,uBAAuBA,CACrCC,KAAkC,EACzB;EACT,QAAQA,KAAK;IACX,KAAKH,eAAe,CAACI,oBAAoB;IACzC,KAAKJ,eAAe,CAACK,mBAAmB;IACxC,KAAKL,eAAe,CAACM,gBAAgB;IACrC,KAAKN,eAAe,CAACO,YAAY;IACjC,KAAKP,eAAe,CAACQ,mBAAmB;IACxC,KAAKR,eAAe,CAACS,qBAAqB;MACxC,OAAO,IAAI;EAAC;EAEhB,OAAO,KAAK;AACd;AAEO,SAASC,sBAAsBA,CACpCP,KAAkC,EAClCQ,OAAiB,EACjBC,GAAY,EACiB;EAC7B,IAAIV,uBAAuB,CAACC,KAAK,CAAC,EAAE;IAClC,OAAOA,KAAK;EACd;EACA,IAAIQ,OAAO,EAAE;IACX,QAAQR,KAAK;MACX,KAAKH,eAAe,CAACa,SAAS;QAC5B,OAAOb,eAAe,CAACc,cAAc;MACvC,KAAKd,eAAe,CAACe,2BAA2B;QAC9C,OAAOf,eAAe,CAACgB,gCAAgC;IAAC;EAE9D,CAAC,MAAM;IACL,QAAQb,KAAK;MACX,KAAKH,eAAe,CAACiB,OAAO;QAC1B,IAAIL,GAAG,KAAK,UAAU,EAAE;UACtB,OAAOZ,eAAe,CAACa,SAAS;QAClC;QACA;MACF,KAAKb,eAAe,CAACa,SAAS;MAC9B,KAAKb,eAAe,CAACc,cAAc;MACnC,KAAKd,eAAe,CAACgB,gCAAgC;QAAE;UACrD,QAAQJ,GAAG;YACT,KAAK,YAAY;cACf,OAAOZ,eAAe,CAACI,oBAAoB;YAC7C,KAAK,WAAW;cACd,OAAOJ,eAAe,CAACK,mBAAmB;YAC5C,KAAK,YAAY;cACf,OAAOL,eAAe,CAACS,qBAAqB;YAC9C,KAAK,QAAQ;cACX,OAAOT,eAAe,CAACM,gBAAgB;YACzC,KAAK,OAAO;cACV,OAAON,eAAe,CAACkB,eAAe;YACxC,KAAK,UAAU;cACb,OAAOlB,eAAe,CAACe,2BAA2B;YACpD,KAAK,IAAI;cACP,OAAOf,eAAe,CAACO,YAAY;YACrC,KAAK,WAAW;cACd,OAAOP,eAAe,CAACQ,mBAAmB;UAAC;UAE/C;QACF;MACA,KAAKR,eAAe,CAACkB,eAAe;QAClC,OAAOlB,eAAe,CAACmB,oBAAoB;MAC7C,KAAKnB,eAAe,CAACmB,oBAAoB;QACvC,IAAIP,GAAG,KAAK,QAAQ,EAAE;UACpB,OAAOZ,eAAe,CAACe,2BAA2B;QACpD;QACA;IAAM;EAEZ;EACA,OAAOf,eAAe,CAACiB,OAAO;AAChC"}
@@ -4,10 +4,10 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.RenderTag = void 0;
7
- let RenderTag;
8
- exports.RenderTag = RenderTag;
9
- (function (RenderTag) {
7
+ let RenderTag = /*#__PURE__*/function (RenderTag) {
10
8
  RenderTag[RenderTag["ROOT"] = 1] = "ROOT";
11
9
  RenderTag[RenderTag["BRICK"] = 2] = "BRICK";
12
- })(RenderTag || (exports.RenderTag = RenderTag = {}));
10
+ return RenderTag;
11
+ }({});
12
+ exports.RenderTag = RenderTag;
13
13
  //# sourceMappingURL=enums.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"enums.js","names":["RenderTag","exports"],"sources":["../../../src/internal/enums.ts"],"sourcesContent":["export enum RenderTag {\n ROOT = 1,\n BRICK = 2,\n}\n"],"mappings":";;;;;;IAAYA,SAAS;AAAAC,OAAA,CAAAD,SAAA,GAAAA,SAAA;AAAA,WAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;AAAA,GAATA,SAAS,KAAAC,OAAA,CAAAD,SAAA,GAATA,SAAS"}
1
+ {"version":3,"file":"enums.js","names":["RenderTag","exports"],"sources":["../../../src/internal/enums.ts"],"sourcesContent":["export enum RenderTag {\n ROOT = 1,\n BRICK = 2,\n}\n"],"mappings":";;;;;;IAAYA,SAAS,0BAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAAA,OAATA,SAAS;AAAA;AAAAC,OAAA,CAAAD,SAAA,GAAAA,SAAA"}
@@ -137,4 +137,25 @@ function historyOverridden(browserHistory) {
137
137
  replace: updateFactory("replace")
138
138
  };
139
139
  }
140
+
141
+ /**
142
+ * 扩展的系统会话对象。
143
+ */
144
+
145
+ /**
146
+ * 更新指定的 query 参数。
147
+ *
148
+ * @param query - 要更新的 query 参数。
149
+ * @param options - 选项。
150
+ */
151
+
152
+ /** 更新 query 参数时的选项 */
153
+
154
+ /**
155
+ * 设置指定的 anchor (URL hash)地址,此方法默认不会触发页面重新渲染。
156
+ * 往浏览器会话历史栈中推入一条新记录。
157
+ *
158
+ * @param hash - Hash 地址。
159
+ * @param state - 会话状态设置。
160
+ */
140
161
  //# sourceMappingURL=historyExtended.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"historyExtended.js","names":["_history","require","_getBasePath","_Runtime","_matchStoryboard","blocked","getUserConfirmation","message","callback","confirm","historyExtended","browserHistory","push","originalPush","replace","originalReplace","location","state","updateQueryFactory","method","updateQuery","query","options","extraQuery","clear","keepHash","urlSearchParams","URLSearchParams","search","params","Object","assign","key","value","entries","Array","isArray","delete","item","append","undefined","set","toString","hash","pushAnchor","notify","reload","blockMessage","setBlockMessage","getBlockMessage","unblock","pushQuery","replaceQuery","historyOverridden","updateFactory","update","path","pathname","pathIsString","parsePath","startsWith","isOutsideApp","_internalApiMatchStoryboard","getBasePath","substring","createHref"],"sources":["../../../src/internal/historyExtended.ts"],"sourcesContent":["import {\n History,\n LocationDescriptor,\n LocationDescriptorObject,\n parsePath,\n} from \"history\";\nimport { getBasePath } from \"../getBasePath.js\";\nimport { _internalApiMatchStoryboard } from \"./Runtime.js\";\nimport { isOutsideApp } from \"./matchStoryboard.js\";\n\nlet blocked = false;\nexport function getUserConfirmation(\n message: string,\n callback: (result: boolean) => void\n): void {\n blocked = !confirm(message);\n callback(!blocked);\n}\n\nexport function historyExtended(\n browserHistory: History<NextHistoryState>\n): ExtendedHistory {\n const { push: originalPush, replace: originalReplace } = browserHistory;\n\n function push(\n location: LocationDescriptor<NextHistoryState>,\n state?: NextHistoryState,\n callback?: (blocked: boolean) => void\n ): void {\n blocked = false;\n originalPush(location, state);\n callback?.(blocked);\n }\n\n function replace(\n location: LocationDescriptor<NextHistoryState>,\n state?: NextHistoryState,\n callback?: (blocked: boolean) => void\n ): void {\n blocked = false;\n originalReplace(location, state);\n callback?.(blocked);\n }\n\n function updateQueryFactory(method: \"push\" | \"replace\"): UpdateQueryFunction {\n return function updateQuery(query, options = {}, callback?): void {\n const { extraQuery, clear, keepHash, ...state } = options;\n const urlSearchParams = new URLSearchParams(\n clear ? \"\" : browserHistory.location.search\n );\n const params: Record<string, string | string[]> = {};\n Object.assign(params, query, extraQuery);\n for (const [key, value] of Object.entries(params)) {\n if (Array.isArray(value)) {\n urlSearchParams.delete(key);\n for (const item of value) {\n urlSearchParams.append(key, item);\n }\n } else if (value === undefined || value === null || value === \"\") {\n urlSearchParams.delete(key);\n } else {\n urlSearchParams.set(key, value);\n }\n }\n (method === \"push\" ? push : replace)(\n `?${urlSearchParams.toString()}${\n keepHash ? browserHistory.location.hash : \"\"\n }`,\n state,\n callback\n );\n };\n }\n\n function pushAnchor(\n hash: string,\n state?: NextHistoryState,\n callback?: (blocked: boolean) => void\n ): void {\n push(\n {\n ...browserHistory.location,\n key: undefined,\n hash,\n state: {\n // The default notify is false\n notify: false,\n ...state,\n },\n },\n undefined,\n callback\n );\n }\n\n function reload(callback?: (blocked: boolean) => void): void {\n replace(\n {\n ...browserHistory.location,\n state: {\n ...browserHistory.location.state,\n // Always notify\n notify: true,\n },\n },\n undefined,\n callback\n );\n }\n\n let blockMessage: string | undefined;\n\n function setBlockMessage(message: string | undefined): void {\n blockMessage = message;\n }\n\n function getBlockMessage(): string | undefined {\n return blockMessage;\n }\n\n function unblock(): void {\n blockMessage = undefined;\n }\n\n return {\n pushQuery: updateQueryFactory(\"push\"),\n replaceQuery: updateQueryFactory(\"replace\"),\n pushAnchor: pushAnchor,\n reload,\n setBlockMessage,\n getBlockMessage,\n unblock,\n ...historyOverridden({ ...browserHistory, push, replace }),\n };\n}\n\n/**\n * Override history for standalone micro apps.\n *\n * when `push` or `replace` to other apps, force page refresh.\n */\nfunction historyOverridden(\n browserHistory: History<NextHistoryState> &\n Pick<ExtendedHistory, \"push\" | \"replace\">\n): Pick<ExtendedHistory, \"push\" | \"replace\"> {\n const { push: originalPush, replace: originalReplace } = browserHistory;\n function updateFactory(method: \"push\" | \"replace\"): ExtendedHistory[\"push\"] {\n return function update(path, state?, callback?) {\n let pathname: string | undefined;\n const pathIsString = typeof path === \"string\";\n if (pathIsString) {\n pathname = parsePath(path).pathname;\n } else {\n pathname = path.pathname;\n }\n\n // When history.push or history.replace is performing with an absolute pathname,\n // force load the target page when it is a page of an outside app.\n if (\n typeof pathname === \"string\" &&\n pathname.startsWith(\"/\") &&\n isOutsideApp(_internalApiMatchStoryboard(pathname))\n ) {\n // Going to outside apps.\n return location[method === \"push\" ? \"assign\" : \"replace\"](\n pathIsString\n ? getBasePath() + path.substring(1)\n : browserHistory.createHref(\n path as LocationDescriptorObject<NextHistoryState>\n )\n );\n }\n\n return (method === \"push\" ? originalPush : originalReplace)(\n path as string,\n state,\n callback\n );\n };\n }\n return {\n push: updateFactory(\"push\"),\n replace: updateFactory(\"replace\"),\n };\n}\n\nexport interface NextHistoryState {\n notify?: boolean;\n from?: LocationDescriptor<NextHistoryState>;\n}\n\n/**\n * 扩展的系统会话对象。\n */\nexport interface ExtendedHistory {\n /**\n * 更新指定的 query 参数,会保留当前其它 query 参数,往浏览器会话历史栈中推入一条新记录。\n */\n pushQuery: UpdateQueryFunction;\n\n /**\n * 更新指定的 query 参数,会保留当前其它 query 参数,替换浏览器会话历史栈中最新的一条记录。\n */\n replaceQuery: UpdateQueryFunction;\n\n /** {@inheritDoc UpdateAnchorFunction} */\n pushAnchor: UpdateAnchorFunction;\n\n /** 重载当前会话,即触发页面重新渲染。与 location.reload() 不同,它不会触发浏览器页面的重载。 */\n reload: (callback?: (blocked: boolean) => void) => void;\n\n /** @internal */\n setBlockMessage: (message: string | undefined) => void;\n\n /** @internal */\n getBlockMessage: () => string | undefined;\n\n /** 取消之前设置的阻止页面离开信息的设置。 */\n unblock: () => void;\n\n /** 推入一条记录。*/\n push: (\n location: LocationDescriptor<NextHistoryState>,\n state?: NextHistoryState,\n callback?: (blocked: boolean) => void\n ) => void;\n\n /** 替换一条记录。*/\n replace: (\n location: LocationDescriptor<NextHistoryState>,\n state?: NextHistoryState,\n callback?: (blocked: boolean) => void\n ) => void;\n}\n\n/**\n * 更新指定的 query 参数。\n *\n * @param query - 要更新的 query 参数。\n * @param options - 选项。\n */\nexport type UpdateQueryFunction = (\n query: Record<string, unknown>,\n options?: UpdateQueryOptions,\n callback?: (blocked: boolean) => void\n) => void;\n\n/** 更新 query 参数时的选项 */\nexport interface UpdateQueryOptions extends NextHistoryState {\n /** 额外要更新的 query 参数。 */\n extraQuery?: Record<string, unknown>;\n /** 是否同时清除当前的所有其它 query 参数。 */\n clear?: boolean;\n /** 是否保留当前 hash 参数。 */\n keepHash?: boolean;\n}\n\n/**\n * 设置指定的 anchor (URL hash)地址,此方法默认不会触发页面重新渲染。\n * 往浏览器会话历史栈中推入一条新记录。\n *\n * @param hash - Hash 地址。\n * @param state - 会话状态设置。\n */\nexport type UpdateAnchorFunction = (\n hash: string,\n state?: NextHistoryState,\n callback?: (blocked: boolean) => void\n) => void;\n"],"mappings":"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"}
1
+ {"version":3,"file":"historyExtended.js","names":["_history","require","_getBasePath","_Runtime","_matchStoryboard","blocked","getUserConfirmation","message","callback","confirm","historyExtended","browserHistory","push","originalPush","replace","originalReplace","location","state","updateQueryFactory","method","updateQuery","query","options","extraQuery","clear","keepHash","urlSearchParams","URLSearchParams","search","params","Object","assign","key","value","entries","Array","isArray","delete","item","append","undefined","set","toString","hash","pushAnchor","notify","reload","blockMessage","setBlockMessage","getBlockMessage","unblock","pushQuery","replaceQuery","historyOverridden","updateFactory","update","path","pathname","pathIsString","parsePath","startsWith","isOutsideApp","_internalApiMatchStoryboard","getBasePath","substring","createHref"],"sources":["../../../src/internal/historyExtended.ts"],"sourcesContent":["import {\n History,\n LocationDescriptor,\n LocationDescriptorObject,\n parsePath,\n} from \"history\";\nimport { getBasePath } from \"../getBasePath.js\";\nimport { _internalApiMatchStoryboard } from \"./Runtime.js\";\nimport { isOutsideApp } from \"./matchStoryboard.js\";\n\nlet blocked = false;\nexport function getUserConfirmation(\n message: string,\n callback: (result: boolean) => void\n): void {\n blocked = !confirm(message);\n callback(!blocked);\n}\n\nexport function historyExtended(\n browserHistory: History<NextHistoryState>\n): ExtendedHistory {\n const { push: originalPush, replace: originalReplace } = browserHistory;\n\n function push(\n location: LocationDescriptor<NextHistoryState>,\n state?: NextHistoryState,\n callback?: (blocked: boolean) => void\n ): void {\n blocked = false;\n originalPush(location, state);\n callback?.(blocked);\n }\n\n function replace(\n location: LocationDescriptor<NextHistoryState>,\n state?: NextHistoryState,\n callback?: (blocked: boolean) => void\n ): void {\n blocked = false;\n originalReplace(location, state);\n callback?.(blocked);\n }\n\n function updateQueryFactory(method: \"push\" | \"replace\"): UpdateQueryFunction {\n return function updateQuery(query, options = {}, callback?): void {\n const { extraQuery, clear, keepHash, ...state } = options;\n const urlSearchParams = new URLSearchParams(\n clear ? \"\" : browserHistory.location.search\n );\n const params: Record<string, string | string[]> = {};\n Object.assign(params, query, extraQuery);\n for (const [key, value] of Object.entries(params)) {\n if (Array.isArray(value)) {\n urlSearchParams.delete(key);\n for (const item of value) {\n urlSearchParams.append(key, item);\n }\n } else if (value === undefined || value === null || value === \"\") {\n urlSearchParams.delete(key);\n } else {\n urlSearchParams.set(key, value);\n }\n }\n (method === \"push\" ? push : replace)(\n `?${urlSearchParams.toString()}${\n keepHash ? browserHistory.location.hash : \"\"\n }`,\n state,\n callback\n );\n };\n }\n\n function pushAnchor(\n hash: string,\n state?: NextHistoryState,\n callback?: (blocked: boolean) => void\n ): void {\n push(\n {\n ...browserHistory.location,\n key: undefined,\n hash,\n state: {\n // The default notify is false\n notify: false,\n ...state,\n },\n },\n undefined,\n callback\n );\n }\n\n function reload(callback?: (blocked: boolean) => void): void {\n replace(\n {\n ...browserHistory.location,\n state: {\n ...browserHistory.location.state,\n // Always notify\n notify: true,\n },\n },\n undefined,\n callback\n );\n }\n\n let blockMessage: string | undefined;\n\n function setBlockMessage(message: string | undefined): void {\n blockMessage = message;\n }\n\n function getBlockMessage(): string | undefined {\n return blockMessage;\n }\n\n function unblock(): void {\n blockMessage = undefined;\n }\n\n return {\n pushQuery: updateQueryFactory(\"push\"),\n replaceQuery: updateQueryFactory(\"replace\"),\n pushAnchor: pushAnchor,\n reload,\n setBlockMessage,\n getBlockMessage,\n unblock,\n ...historyOverridden({ ...browserHistory, push, replace }),\n };\n}\n\n/**\n * Override history for standalone micro apps.\n *\n * when `push` or `replace` to other apps, force page refresh.\n */\nfunction historyOverridden(\n browserHistory: History<NextHistoryState> &\n Pick<ExtendedHistory, \"push\" | \"replace\">\n): Pick<ExtendedHistory, \"push\" | \"replace\"> {\n const { push: originalPush, replace: originalReplace } = browserHistory;\n function updateFactory(method: \"push\" | \"replace\"): ExtendedHistory[\"push\"] {\n return function update(path, state?, callback?) {\n let pathname: string | undefined;\n const pathIsString = typeof path === \"string\";\n if (pathIsString) {\n pathname = parsePath(path).pathname;\n } else {\n pathname = path.pathname;\n }\n\n // When history.push or history.replace is performing with an absolute pathname,\n // force load the target page when it is a page of an outside app.\n if (\n typeof pathname === \"string\" &&\n pathname.startsWith(\"/\") &&\n isOutsideApp(_internalApiMatchStoryboard(pathname))\n ) {\n // Going to outside apps.\n return location[method === \"push\" ? \"assign\" : \"replace\"](\n pathIsString\n ? getBasePath() + path.substring(1)\n : browserHistory.createHref(\n path as LocationDescriptorObject<NextHistoryState>\n )\n );\n }\n\n return (method === \"push\" ? originalPush : originalReplace)(\n path as string,\n state,\n callback\n );\n };\n }\n return {\n push: updateFactory(\"push\"),\n replace: updateFactory(\"replace\"),\n };\n}\n\nexport interface NextHistoryState {\n notify?: boolean;\n from?: LocationDescriptor<NextHistoryState>;\n}\n\n/**\n * 扩展的系统会话对象。\n */\nexport interface ExtendedHistory {\n /**\n * 更新指定的 query 参数,会保留当前其它 query 参数,往浏览器会话历史栈中推入一条新记录。\n */\n pushQuery: UpdateQueryFunction;\n\n /**\n * 更新指定的 query 参数,会保留当前其它 query 参数,替换浏览器会话历史栈中最新的一条记录。\n */\n replaceQuery: UpdateQueryFunction;\n\n /** {@inheritDoc UpdateAnchorFunction} */\n pushAnchor: UpdateAnchorFunction;\n\n /** 重载当前会话,即触发页面重新渲染。与 location.reload() 不同,它不会触发浏览器页面的重载。 */\n reload: (callback?: (blocked: boolean) => void) => void;\n\n /** @internal */\n setBlockMessage: (message: string | undefined) => void;\n\n /** @internal */\n getBlockMessage: () => string | undefined;\n\n /** 取消之前设置的阻止页面离开信息的设置。 */\n unblock: () => void;\n\n /** 推入一条记录。*/\n push: (\n location: LocationDescriptor<NextHistoryState>,\n state?: NextHistoryState,\n callback?: (blocked: boolean) => void\n ) => void;\n\n /** 替换一条记录。*/\n replace: (\n location: LocationDescriptor<NextHistoryState>,\n state?: NextHistoryState,\n callback?: (blocked: boolean) => void\n ) => void;\n}\n\n/**\n * 更新指定的 query 参数。\n *\n * @param query - 要更新的 query 参数。\n * @param options - 选项。\n */\nexport type UpdateQueryFunction = (\n query: Record<string, unknown>,\n options?: UpdateQueryOptions,\n callback?: (blocked: boolean) => void\n) => void;\n\n/** 更新 query 参数时的选项 */\nexport interface UpdateQueryOptions extends NextHistoryState {\n /** 额外要更新的 query 参数。 */\n extraQuery?: Record<string, unknown>;\n /** 是否同时清除当前的所有其它 query 参数。 */\n clear?: boolean;\n /** 是否保留当前 hash 参数。 */\n keepHash?: boolean;\n}\n\n/**\n * 设置指定的 anchor (URL hash)地址,此方法默认不会触发页面重新渲染。\n * 往浏览器会话历史栈中推入一条新记录。\n *\n * @param hash - Hash 地址。\n * @param state - 会话状态设置。\n */\nexport type UpdateAnchorFunction = (\n hash: string,\n state?: NextHistoryState,\n callback?: (blocked: boolean) => void\n) => void;\n"],"mappings":"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"}
@@ -6,15 +6,15 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.mediaEventTarget = exports.mediaBreakpointMinWidthMap = exports.getMedia = exports.MediaBreakpoint = void 0;
8
8
  var _eventTarget = _interopRequireDefault(require("@ungap/event-target"));
9
- let MediaBreakpoint;
10
- exports.MediaBreakpoint = MediaBreakpoint;
11
- (function (MediaBreakpoint) {
9
+ let MediaBreakpoint = /*#__PURE__*/function (MediaBreakpoint) {
12
10
  MediaBreakpoint["xLarge"] = "xLarge";
13
11
  MediaBreakpoint["large"] = "large";
14
12
  MediaBreakpoint["medium"] = "medium";
15
13
  MediaBreakpoint["small"] = "small";
16
14
  MediaBreakpoint["xSmall"] = "xSmall";
17
- })(MediaBreakpoint || (exports.MediaBreakpoint = MediaBreakpoint = {}));
15
+ return MediaBreakpoint;
16
+ }({});
17
+ exports.MediaBreakpoint = MediaBreakpoint;
18
18
  const mediaBreakpointMinWidthMap = new Map([[MediaBreakpoint.xLarge, "1920px"], [MediaBreakpoint.large, "1600px"], [MediaBreakpoint.medium, "1280px"], [MediaBreakpoint.small, "1024px"], [MediaBreakpoint.xSmall, 0]]);
19
19
  exports.mediaBreakpointMinWidthMap = mediaBreakpointMinWidthMap;
20
20
  const mediaEventTarget = new _eventTarget.default();
@@ -1 +1 @@
1
- {"version":3,"file":"mediaQuery.js","names":["_eventTarget","_interopRequireDefault","require","MediaBreakpoint","exports","mediaBreakpointMinWidthMap","Map","xLarge","large","medium","small","xSmall","mediaEventTarget","EventTarget","breakpointMatchesMap","MEDIA","handleMatchesChange","data","breakpoint","changed","matches","dispatchEvent","CustomEvent","detail","forEach","minWidth","mediaQueryList","window","matchMedia","addEventListener","event","addListener","getMedia"],"sources":["../../../src/internal/mediaQuery.ts"],"sourcesContent":["import EventTarget from \"@ungap/event-target\";\n\nexport interface Media {\n breakpoint?: MediaBreakpoint;\n}\n\nexport enum MediaBreakpoint {\n xLarge = \"xLarge\",\n large = \"large\",\n medium = \"medium\",\n small = \"small\",\n xSmall = \"xSmall\",\n}\n\nexport const mediaBreakpointMinWidthMap = new Map<\n MediaBreakpoint,\n string | number\n>([\n [MediaBreakpoint.xLarge, \"1920px\"],\n [MediaBreakpoint.large, \"1600px\"],\n [MediaBreakpoint.medium, \"1280px\"],\n [MediaBreakpoint.small, \"1024px\"],\n [MediaBreakpoint.xSmall, 0],\n]);\nexport const mediaEventTarget = new EventTarget();\n\nconst breakpointMatchesMap: Partial<Record<MediaBreakpoint, boolean>> = {};\nconst MEDIA: Media = {};\n\nfunction handleMatchesChange(\n data: { readonly matches: boolean; readonly media: string },\n breakpoint: MediaBreakpoint\n): void {\n let changed = false;\n breakpointMatchesMap[breakpoint] = data.matches;\n\n for (const [breakpoint] of mediaBreakpointMinWidthMap) {\n if (breakpointMatchesMap[breakpoint] && MEDIA.breakpoint !== breakpoint) {\n MEDIA.breakpoint = breakpoint;\n changed = true;\n break;\n }\n }\n\n if (changed) {\n mediaEventTarget.dispatchEvent(\n new CustomEvent(\"change\", { detail: MEDIA })\n );\n }\n}\n\nmediaBreakpointMinWidthMap.forEach((minWidth, breakpoint) => {\n const mediaQueryList = window.matchMedia(`(min-width: ${minWidth})`);\n\n handleMatchesChange(mediaQueryList, breakpoint);\n\n if (mediaQueryList.addEventListener) {\n mediaQueryList.addEventListener(\"change\", (event) => {\n handleMatchesChange(event, breakpoint);\n });\n } else {\n mediaQueryList.addListener((event) => {\n handleMatchesChange(event, breakpoint);\n });\n }\n});\n\nexport const getMedia = (): Media => MEDIA;\n"],"mappings":";;;;;;;AAAA,IAAAA,YAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA8C,IAMlCC,eAAe;AAAAC,OAAA,CAAAD,eAAA,GAAAA,eAAA;AAAA,WAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;AAAA,GAAfA,eAAe,KAAAC,OAAA,CAAAD,eAAA,GAAfA,eAAe;AAQpB,MAAME,0BAA0B,GAAG,IAAIC,GAAG,CAG/C,CACA,CAACH,eAAe,CAACI,MAAM,EAAE,QAAQ,CAAC,EAClC,CAACJ,eAAe,CAACK,KAAK,EAAE,QAAQ,CAAC,EACjC,CAACL,eAAe,CAACM,MAAM,EAAE,QAAQ,CAAC,EAClC,CAACN,eAAe,CAACO,KAAK,EAAE,QAAQ,CAAC,EACjC,CAACP,eAAe,CAACQ,MAAM,EAAE,CAAC,CAAC,CAC5B,CAAC;AAACP,OAAA,CAAAC,0BAAA,GAAAA,0BAAA;AACI,MAAMO,gBAAgB,GAAG,IAAIC,oBAAW,EAAE;AAACT,OAAA,CAAAQ,gBAAA,GAAAA,gBAAA;AAElD,MAAME,oBAA+D,GAAG,CAAC,CAAC;AAC1E,MAAMC,KAAY,GAAG,CAAC,CAAC;AAEvB,SAASC,mBAAmBA,CAC1BC,IAA2D,EAC3DC,UAA2B,EACrB;EACN,IAAIC,OAAO,GAAG,KAAK;EACnBL,oBAAoB,CAACI,UAAU,CAAC,GAAGD,IAAI,CAACG,OAAO;EAE/C,KAAK,MAAM,CAACF,UAAU,CAAC,IAAIb,0BAA0B,EAAE;IACrD,IAAIS,oBAAoB,CAACI,UAAU,CAAC,IAAIH,KAAK,CAACG,UAAU,KAAKA,UAAU,EAAE;MACvEH,KAAK,CAACG,UAAU,GAAGA,UAAU;MAC7BC,OAAO,GAAG,IAAI;MACd;IACF;EACF;EAEA,IAAIA,OAAO,EAAE;IACXP,gBAAgB,CAACS,aAAa,CAC5B,IAAIC,WAAW,CAAC,QAAQ,EAAE;MAAEC,MAAM,EAAER;IAAM,CAAC,CAAC,CAC7C;EACH;AACF;AAEAV,0BAA0B,CAACmB,OAAO,CAAC,CAACC,QAAQ,EAAEP,UAAU,KAAK;EAC3D,MAAMQ,cAAc,GAAGC,MAAM,CAACC,UAAU,CAAE,eAAcH,QAAS,GAAE,CAAC;EAEpET,mBAAmB,CAACU,cAAc,EAAER,UAAU,CAAC;EAE/C,IAAIQ,cAAc,CAACG,gBAAgB,EAAE;IACnCH,cAAc,CAACG,gBAAgB,CAAC,QAAQ,EAAGC,KAAK,IAAK;MACnDd,mBAAmB,CAACc,KAAK,EAAEZ,UAAU,CAAC;IACxC,CAAC,CAAC;EACJ,CAAC,MAAM;IACLQ,cAAc,CAACK,WAAW,CAAED,KAAK,IAAK;MACpCd,mBAAmB,CAACc,KAAK,EAAEZ,UAAU,CAAC;IACxC,CAAC,CAAC;EACJ;AACF,CAAC,CAAC;AAEK,MAAMc,QAAQ,GAAGA,CAAA,KAAajB,KAAK;AAACX,OAAA,CAAA4B,QAAA,GAAAA,QAAA"}
1
+ {"version":3,"file":"mediaQuery.js","names":["_eventTarget","_interopRequireDefault","require","MediaBreakpoint","exports","mediaBreakpointMinWidthMap","Map","xLarge","large","medium","small","xSmall","mediaEventTarget","EventTarget","breakpointMatchesMap","MEDIA","handleMatchesChange","data","breakpoint","changed","matches","dispatchEvent","CustomEvent","detail","forEach","minWidth","mediaQueryList","window","matchMedia","addEventListener","event","addListener","getMedia"],"sources":["../../../src/internal/mediaQuery.ts"],"sourcesContent":["import EventTarget from \"@ungap/event-target\";\n\nexport interface Media {\n breakpoint?: MediaBreakpoint;\n}\n\nexport enum MediaBreakpoint {\n xLarge = \"xLarge\",\n large = \"large\",\n medium = \"medium\",\n small = \"small\",\n xSmall = \"xSmall\",\n}\n\nexport const mediaBreakpointMinWidthMap = new Map<\n MediaBreakpoint,\n string | number\n>([\n [MediaBreakpoint.xLarge, \"1920px\"],\n [MediaBreakpoint.large, \"1600px\"],\n [MediaBreakpoint.medium, \"1280px\"],\n [MediaBreakpoint.small, \"1024px\"],\n [MediaBreakpoint.xSmall, 0],\n]);\nexport const mediaEventTarget = new EventTarget();\n\nconst breakpointMatchesMap: Partial<Record<MediaBreakpoint, boolean>> = {};\nconst MEDIA: Media = {};\n\nfunction handleMatchesChange(\n data: { readonly matches: boolean; readonly media: string },\n breakpoint: MediaBreakpoint\n): void {\n let changed = false;\n breakpointMatchesMap[breakpoint] = data.matches;\n\n for (const [breakpoint] of mediaBreakpointMinWidthMap) {\n if (breakpointMatchesMap[breakpoint] && MEDIA.breakpoint !== breakpoint) {\n MEDIA.breakpoint = breakpoint;\n changed = true;\n break;\n }\n }\n\n if (changed) {\n mediaEventTarget.dispatchEvent(\n new CustomEvent(\"change\", { detail: MEDIA })\n );\n }\n}\n\nmediaBreakpointMinWidthMap.forEach((minWidth, breakpoint) => {\n const mediaQueryList = window.matchMedia(`(min-width: ${minWidth})`);\n\n handleMatchesChange(mediaQueryList, breakpoint);\n\n if (mediaQueryList.addEventListener) {\n mediaQueryList.addEventListener(\"change\", (event) => {\n handleMatchesChange(event, breakpoint);\n });\n } else {\n mediaQueryList.addListener((event) => {\n handleMatchesChange(event, breakpoint);\n });\n }\n});\n\nexport const getMedia = (): Media => MEDIA;\n"],"mappings":";;;;;;;AAAA,IAAAA,YAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA8C,IAMlCC,eAAe,0BAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA;AAAAC,OAAA,CAAAD,eAAA,GAAAA,eAAA;AAQpB,MAAME,0BAA0B,GAAG,IAAIC,GAAG,CAG/C,CACA,CAACH,eAAe,CAACI,MAAM,EAAE,QAAQ,CAAC,EAClC,CAACJ,eAAe,CAACK,KAAK,EAAE,QAAQ,CAAC,EACjC,CAACL,eAAe,CAACM,MAAM,EAAE,QAAQ,CAAC,EAClC,CAACN,eAAe,CAACO,KAAK,EAAE,QAAQ,CAAC,EACjC,CAACP,eAAe,CAACQ,MAAM,EAAE,CAAC,CAAC,CAC5B,CAAC;AAACP,OAAA,CAAAC,0BAAA,GAAAA,0BAAA;AACI,MAAMO,gBAAgB,GAAG,IAAIC,oBAAW,EAAE;AAACT,OAAA,CAAAQ,gBAAA,GAAAA,gBAAA;AAElD,MAAME,oBAA+D,GAAG,CAAC,CAAC;AAC1E,MAAMC,KAAY,GAAG,CAAC,CAAC;AAEvB,SAASC,mBAAmBA,CAC1BC,IAA2D,EAC3DC,UAA2B,EACrB;EACN,IAAIC,OAAO,GAAG,KAAK;EACnBL,oBAAoB,CAACI,UAAU,CAAC,GAAGD,IAAI,CAACG,OAAO;EAE/C,KAAK,MAAM,CAACF,UAAU,CAAC,IAAIb,0BAA0B,EAAE;IACrD,IAAIS,oBAAoB,CAACI,UAAU,CAAC,IAAIH,KAAK,CAACG,UAAU,KAAKA,UAAU,EAAE;MACvEH,KAAK,CAACG,UAAU,GAAGA,UAAU;MAC7BC,OAAO,GAAG,IAAI;MACd;IACF;EACF;EAEA,IAAIA,OAAO,EAAE;IACXP,gBAAgB,CAACS,aAAa,CAC5B,IAAIC,WAAW,CAAC,QAAQ,EAAE;MAAEC,MAAM,EAAER;IAAM,CAAC,CAAC,CAC7C;EACH;AACF;AAEAV,0BAA0B,CAACmB,OAAO,CAAC,CAACC,QAAQ,EAAEP,UAAU,KAAK;EAC3D,MAAMQ,cAAc,GAAGC,MAAM,CAACC,UAAU,CAAE,eAAcH,QAAS,GAAE,CAAC;EAEpET,mBAAmB,CAACU,cAAc,EAAER,UAAU,CAAC;EAE/C,IAAIQ,cAAc,CAACG,gBAAgB,EAAE;IACnCH,cAAc,CAACG,gBAAgB,CAAC,QAAQ,EAAGC,KAAK,IAAK;MACnDd,mBAAmB,CAACc,KAAK,EAAEZ,UAAU,CAAC;IACxC,CAAC,CAAC;EACJ,CAAC,MAAM;IACLQ,cAAc,CAACK,WAAW,CAAED,KAAK,IAAK;MACpCd,mBAAmB,CAACc,KAAK,EAAEZ,UAAU,CAAC;IACxC,CAAC,CAAC;EACJ;AACF,CAAC,CAAC;AAEK,MAAMc,QAAQ,GAAGA,CAAA,KAAajB,KAAK;AAACX,OAAA,CAAA4B,QAAA,GAAAA,QAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"CustomTemplates.js","names":["uniq","isStrictMode","warnAboutStrictMode","allowedNativeProps","Set","_registry","WeakMap","CustomTemplateRegistry","constructor","_classPrivateFieldInitSpec","writable","value","Map","define","tagName","_constructor$proxy$pr","_constructor$proxy","_compatibleConstructo","_compatibleConstructo2","registered","_classPrivateFieldGet","has","console","warn","concat","customElements","get","strict","proxyProperties","proxy","properties","validProxyProps","legacyTplVariables","key","Object","entries","asVariable","push","mergeProperty","refTransform","error","ref","compatibleConstructor","_objectSpread","fromEntries","state","map","item","expose","tpl","name","set","exposedStates","getExposedStates","proxyMethods","methods","props","entry","nativeProps","filter","prop","HTMLElement","prototype","length","Error","p","join","TplElement","$$typeof","_dev_only_definedProperties","_dev_only_definedMethods","$$getElementByRef","_this$$$tplStateStore","_this$$$tplStateStore2","_this$$$tplStateStore3","_this$$$tplStateStore4","$$tplStateStore","hostBrick","tplHostMetadata","internalBricksByRef","element","connectedCallback","shadowRoot","attachShadow","mode","fragment","document","createDocumentFragment","style","createElement","textContent","slot","appendChild","disconnectedCallback","_loop","propName","some","defineProperty","getValue","_this$$$tplStateStore5","updateValue","enumerable","_ret","_loop2","from","to","_to$refProperty","refProperty","_this$$$getElementByR","call","_to$refProperty2","_loop3","_to$refMethod","refMethod","arguments","customTemplates","_state$filter$map"],"sources":["../../src/CustomTemplates.ts"],"sourcesContent":["import type {\n ContextConf,\n CustomTemplate,\n CustomTemplateConstructor,\n CustomTemplateProxyBasicProperty,\n} from \"@next-core/types\";\nimport { uniq } from \"lodash\";\nimport type { RuntimeBrickElement } from \"./internal/interfaces.js\";\nimport { isStrictMode, warnAboutStrictMode } from \"./isStrictMode.js\";\n\n// Note: `prefix` is a native prop on Element, but it's only used in XML documents.\nconst allowedNativeProps = new Set([\"prefix\"]);\n\ninterface LegacyTplPropProxy extends CustomTemplateProxyBasicProperty {\n asVariable?: boolean;\n mergeProperty?: unknown;\n refTransform?: unknown;\n}\n\nclass CustomTemplateRegistry {\n readonly #registry = new Map<string, CustomTemplate>();\n\n define(tagName: string, constructor: CustomTemplateConstructor): void {\n let registered = this.#registry.has(tagName);\n if (registered) {\n // When open launchpad, the storyboard will be updated.\n // However, we can't *undefine* a custom element.\n // Just ignore re-registering custom templates.\n // eslint-disable-next-line no-console\n console.warn(`Custom template of \"${tagName}\" already registered.`);\n } else {\n registered = !!customElements.get(tagName);\n if (registered) {\n // eslint-disable-next-line no-console\n console.warn(\n `Custom template of \"${tagName}\" already defined by customElements.`\n );\n }\n }\n\n // Transform legacy `proxy.properties[].asVariable` as states.\n const strict = isStrictMode();\n const proxyProperties = (constructor.proxy?.properties ?? {}) as {\n [name: string]: LegacyTplPropProxy;\n };\n const validProxyProps: [string, CustomTemplateProxyBasicProperty][] = [];\n const legacyTplVariables: string[] = [];\n for (const [key, value] of Object.entries(proxyProperties)) {\n if (value.asVariable) {\n warnAboutStrictMode(strict, \"Template `asVariable`\", tagName, key);\n // istanbul ignore next\n if (!strict) {\n // For existed TPL usage, treat it as a STATE.\n legacyTplVariables.push(key);\n }\n } else if (value.mergeProperty || value.refTransform) {\n // eslint-disable-next-line no-console\n console.error(\n \"Template `mergeProperty` and `refTransform` are dropped in v3:\",\n tagName,\n key\n );\n } else if (value.ref) {\n validProxyProps.push([key, value]);\n }\n // Else: documentation only, for exposed states.\n }\n\n const compatibleConstructor = {\n ...constructor,\n proxy: {\n ...constructor.proxy,\n properties: Object.fromEntries(validProxyProps),\n },\n state: (constructor.state\n ? strict\n ? constructor.state\n : constructor.state.map((item) => ({\n // Make `expose` defaults to true in non-strict mode.\n expose: true,\n ...item,\n }))\n : []\n ).concat(legacyTplVariables.map((tpl) => ({ name: tpl, expose: true }))),\n };\n\n // Now we allow re-register custom template\n this.#registry.set(tagName, {\n ...compatibleConstructor,\n name: tagName,\n });\n\n const exposedStates = getExposedStates(compatibleConstructor.state);\n const proxyMethods = Object.entries(\n compatibleConstructor.proxy?.methods ?? {}\n );\n\n const props = exposedStates.concat(\n validProxyProps.map((entry) => entry[0])\n );\n const methods = proxyMethods.map((entry) => entry[0]);\n\n const nativeProps = props\n .concat(methods)\n .filter(\n (prop) => prop in HTMLElement.prototype && !allowedNativeProps.has(prop)\n );\n if (nativeProps.length > 0) {\n warnAboutStrictMode(\n strict,\n \"Using native HTMLElement properties as template properties or methods\",\n tagName,\n ...nativeProps\n );\n // istanbul ignore next\n if (strict) {\n throw new Error(\n `In custom template \"${tagName}\", ${nativeProps\n .map((p) => `\"${p}\"`)\n .join(\n \", \"\n )} are native HTMLElement properties, and should be avoid to be used as brick properties or methods.`\n );\n }\n }\n\n if (registered) {\n return;\n }\n\n class TplElement extends HTMLElement {\n get $$typeof() {\n return \"custom-template\" as const;\n }\n\n static get _dev_only_definedProperties(): string[] {\n return props;\n }\n\n static get _dev_only_definedMethods(): string[] {\n return methods;\n }\n\n $$getElementByRef(this: RuntimeBrickElement, ref: string) {\n return this.$$tplStateStore?.hostBrick?.tplHostMetadata?.internalBricksByRef.get(\n ref\n )?.element;\n }\n\n connectedCallback() {\n let shadowRoot = this.shadowRoot;\n if (!shadowRoot) {\n shadowRoot = this.attachShadow({ mode: \"open\" });\n }\n const fragment = document.createDocumentFragment();\n const style = document.createElement(\"style\");\n style.textContent = \":host{display:block}:host([hidden]){display:none}\";\n const slot = document.createElement(\"slot\");\n fragment.appendChild(style);\n fragment.appendChild(slot);\n shadowRoot.appendChild(fragment);\n }\n\n disconnectedCallback() {\n if (this.shadowRoot) {\n this.shadowRoot.textContent = \"\";\n }\n }\n }\n\n for (const propName of exposedStates) {\n if (validProxyProps.some((entry) => entry[0] === propName)) {\n // eslint-disable-next-line no-console\n console.error(\n `Cannot define an exposed state that is also a proxy property: \"${propName}\" in ${tagName}`\n );\n continue;\n }\n Object.defineProperty(TplElement.prototype, propName, {\n get(this: RuntimeBrickElement) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return this.$$tplStateStore!.getValue(propName);\n },\n set(this: RuntimeBrickElement, value: unknown) {\n // 在 mount 过程中,先设置属性,再设置 `$$tplStateStore`,这样,当触发属性设置时,\n // 避免初始化的一次 state update 操作及其 onChange 事件。\n this.$$tplStateStore?.updateValue(propName, value, \"replace\");\n },\n enumerable: true,\n });\n }\n\n for (const [from, to] of validProxyProps) {\n Object.defineProperty(TplElement.prototype, from, {\n get(this: TplElement) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const element = this.$$getElementByRef!(to.ref) as unknown as Record<\n string,\n unknown\n >;\n return element[to.refProperty ?? from];\n },\n set(this: TplElement, value: unknown) {\n // 同上 exposedState.set\n const element = this.$$getElementByRef?.(to.ref) as unknown as Record<\n string,\n unknown\n >;\n if (element) {\n element[to.refProperty ?? from] = value;\n }\n },\n enumerable: true,\n });\n }\n\n for (const [from, to] of proxyMethods) {\n Object.defineProperty(TplElement.prototype, from, {\n value(this: TplElement, ...args: unknown[]) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const element = this.$$getElementByRef!(to.ref) as unknown as Record<\n string,\n Function\n >;\n element[to.refMethod ?? from](...args);\n },\n enumerable: true,\n });\n }\n\n customElements.define(tagName, TplElement);\n }\n\n get(tagName: string) {\n return this.#registry.get(tagName);\n }\n}\n\nexport const customTemplates = new CustomTemplateRegistry();\n\nfunction getExposedStates(state: ContextConf[] | undefined): string[] {\n // Allow duplicated state names which maybe mutually exclusive.\n return uniq(\n state?.filter((item) => item.expose).map((item) => item.name) ?? []\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"CustomTemplates.js","names":["uniq","isStrictMode","warnAboutStrictMode","allowedNativeProps","Set","_registry","WeakMap","CustomTemplateRegistry","constructor","_classPrivateFieldInitSpec","writable","value","Map","define","tagName","_constructor$proxy$pr","_constructor$proxy","_compatibleConstructo","_compatibleConstructo2","registered","_classPrivateFieldGet","has","console","warn","concat","customElements","get","strict","proxyProperties","proxy","properties","validProxyProps","legacyTplVariables","key","Object","entries","asVariable","push","mergeProperty","refTransform","error","ref","compatibleConstructor","_objectSpread","fromEntries","state","map","item","expose","tpl","name","set","exposedStates","getExposedStates","proxyMethods","methods","props","entry","nativeProps","filter","prop","HTMLElement","prototype","length","Error","p","join","TplElement","$$typeof","_dev_only_definedProperties","_dev_only_definedMethods","$$getElementByRef","_this$$$tplStateStore","_this$$$tplStateStore2","_this$$$tplStateStore3","_this$$$tplStateStore4","$$tplStateStore","hostBrick","tplHostMetadata","internalBricksByRef","element","connectedCallback","shadowRoot","attachShadow","mode","fragment","document","createDocumentFragment","style","createElement","textContent","slot","appendChild","disconnectedCallback","_loop","propName","some","defineProperty","getValue","_this$$$tplStateStore5","updateValue","enumerable","_ret","_loop2","from","to","_to$refProperty","refProperty","_this$$$getElementByR","call","_to$refProperty2","_loop3","_from","_to","_to$refMethod","refMethod","arguments","customTemplates","_state$filter$map"],"sources":["../../src/CustomTemplates.ts"],"sourcesContent":["import type {\n ContextConf,\n CustomTemplate,\n CustomTemplateConstructor,\n CustomTemplateProxyBasicProperty,\n} from \"@next-core/types\";\nimport { uniq } from \"lodash\";\nimport type { RuntimeBrickElement } from \"./internal/interfaces.js\";\nimport { isStrictMode, warnAboutStrictMode } from \"./isStrictMode.js\";\n\n// Note: `prefix` is a native prop on Element, but it's only used in XML documents.\nconst allowedNativeProps = new Set([\"prefix\"]);\n\ninterface LegacyTplPropProxy extends CustomTemplateProxyBasicProperty {\n asVariable?: boolean;\n mergeProperty?: unknown;\n refTransform?: unknown;\n}\n\nclass CustomTemplateRegistry {\n readonly #registry = new Map<string, CustomTemplate>();\n\n define(tagName: string, constructor: CustomTemplateConstructor): void {\n let registered = this.#registry.has(tagName);\n if (registered) {\n // When open launchpad, the storyboard will be updated.\n // However, we can't *undefine* a custom element.\n // Just ignore re-registering custom templates.\n // eslint-disable-next-line no-console\n console.warn(`Custom template of \"${tagName}\" already registered.`);\n } else {\n registered = !!customElements.get(tagName);\n if (registered) {\n // eslint-disable-next-line no-console\n console.warn(\n `Custom template of \"${tagName}\" already defined by customElements.`\n );\n }\n }\n\n // Transform legacy `proxy.properties[].asVariable` as states.\n const strict = isStrictMode();\n const proxyProperties = (constructor.proxy?.properties ?? {}) as {\n [name: string]: LegacyTplPropProxy;\n };\n const validProxyProps: [string, CustomTemplateProxyBasicProperty][] = [];\n const legacyTplVariables: string[] = [];\n for (const [key, value] of Object.entries(proxyProperties)) {\n if (value.asVariable) {\n warnAboutStrictMode(strict, \"Template `asVariable`\", tagName, key);\n // istanbul ignore next\n if (!strict) {\n // For existed TPL usage, treat it as a STATE.\n legacyTplVariables.push(key);\n }\n } else if (value.mergeProperty || value.refTransform) {\n // eslint-disable-next-line no-console\n console.error(\n \"Template `mergeProperty` and `refTransform` are dropped in v3:\",\n tagName,\n key\n );\n } else if (value.ref) {\n validProxyProps.push([key, value]);\n }\n // Else: documentation only, for exposed states.\n }\n\n const compatibleConstructor = {\n ...constructor,\n proxy: {\n ...constructor.proxy,\n properties: Object.fromEntries(validProxyProps),\n },\n state: (constructor.state\n ? strict\n ? constructor.state\n : constructor.state.map((item) => ({\n // Make `expose` defaults to true in non-strict mode.\n expose: true,\n ...item,\n }))\n : []\n ).concat(legacyTplVariables.map((tpl) => ({ name: tpl, expose: true }))),\n };\n\n // Now we allow re-register custom template\n this.#registry.set(tagName, {\n ...compatibleConstructor,\n name: tagName,\n });\n\n const exposedStates = getExposedStates(compatibleConstructor.state);\n const proxyMethods = Object.entries(\n compatibleConstructor.proxy?.methods ?? {}\n );\n\n const props = exposedStates.concat(\n validProxyProps.map((entry) => entry[0])\n );\n const methods = proxyMethods.map((entry) => entry[0]);\n\n const nativeProps = props\n .concat(methods)\n .filter(\n (prop) => prop in HTMLElement.prototype && !allowedNativeProps.has(prop)\n );\n if (nativeProps.length > 0) {\n warnAboutStrictMode(\n strict,\n \"Using native HTMLElement properties as template properties or methods\",\n tagName,\n ...nativeProps\n );\n // istanbul ignore next\n if (strict) {\n throw new Error(\n `In custom template \"${tagName}\", ${nativeProps\n .map((p) => `\"${p}\"`)\n .join(\n \", \"\n )} are native HTMLElement properties, and should be avoid to be used as brick properties or methods.`\n );\n }\n }\n\n if (registered) {\n return;\n }\n\n class TplElement extends HTMLElement {\n get $$typeof() {\n return \"custom-template\" as const;\n }\n\n static get _dev_only_definedProperties(): string[] {\n return props;\n }\n\n static get _dev_only_definedMethods(): string[] {\n return methods;\n }\n\n $$getElementByRef(this: RuntimeBrickElement, ref: string) {\n return this.$$tplStateStore?.hostBrick?.tplHostMetadata?.internalBricksByRef.get(\n ref\n )?.element;\n }\n\n connectedCallback() {\n let shadowRoot = this.shadowRoot;\n if (!shadowRoot) {\n shadowRoot = this.attachShadow({ mode: \"open\" });\n }\n const fragment = document.createDocumentFragment();\n const style = document.createElement(\"style\");\n style.textContent = \":host{display:block}:host([hidden]){display:none}\";\n const slot = document.createElement(\"slot\");\n fragment.appendChild(style);\n fragment.appendChild(slot);\n shadowRoot.appendChild(fragment);\n }\n\n disconnectedCallback() {\n if (this.shadowRoot) {\n this.shadowRoot.textContent = \"\";\n }\n }\n }\n\n for (const propName of exposedStates) {\n if (validProxyProps.some((entry) => entry[0] === propName)) {\n // eslint-disable-next-line no-console\n console.error(\n `Cannot define an exposed state that is also a proxy property: \"${propName}\" in ${tagName}`\n );\n continue;\n }\n Object.defineProperty(TplElement.prototype, propName, {\n get(this: RuntimeBrickElement) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return this.$$tplStateStore!.getValue(propName);\n },\n set(this: RuntimeBrickElement, value: unknown) {\n // 在 mount 过程中,先设置属性,再设置 `$$tplStateStore`,这样,当触发属性设置时,\n // 避免初始化的一次 state update 操作及其 onChange 事件。\n this.$$tplStateStore?.updateValue(propName, value, \"replace\");\n },\n enumerable: true,\n });\n }\n\n for (const [from, to] of validProxyProps) {\n Object.defineProperty(TplElement.prototype, from, {\n get(this: TplElement) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const element = this.$$getElementByRef!(to.ref) as unknown as Record<\n string,\n unknown\n >;\n return element[to.refProperty ?? from];\n },\n set(this: TplElement, value: unknown) {\n // 同上 exposedState.set\n const element = this.$$getElementByRef?.(to.ref) as unknown as Record<\n string,\n unknown\n >;\n if (element) {\n element[to.refProperty ?? from] = value;\n }\n },\n enumerable: true,\n });\n }\n\n for (const [from, to] of proxyMethods) {\n Object.defineProperty(TplElement.prototype, from, {\n value(this: TplElement, ...args: unknown[]) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const element = this.$$getElementByRef!(to.ref) as unknown as Record<\n string,\n Function\n >;\n element[to.refMethod ?? from](...args);\n },\n enumerable: true,\n });\n }\n\n customElements.define(tagName, TplElement);\n }\n\n get(tagName: string) {\n return this.#registry.get(tagName);\n }\n}\n\nexport const customTemplates = new CustomTemplateRegistry();\n\nfunction getExposedStates(state: ContextConf[] | undefined): string[] {\n // Allow duplicated state names which maybe mutually exclusive.\n return uniq(\n state?.filter((item) => item.expose).map((item) => item.name) ?? []\n );\n}\n"],"mappings":"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"}
@@ -6,6 +6,18 @@ import { getGeneralGlobals } from "./internal/compute/getGeneralGlobals.js";
6
6
 
7
7
  /** @internal */
8
8
 
9
+ /** @internal */
10
+
11
+ /** @internal */
12
+
13
+ /** @internal */
14
+
15
+ /** @internal */
16
+
17
+ /** @internal */
18
+
19
+ /** @internal */
20
+
9
21
  /** @internal */
10
22
  export function StoryboardFunctionRegistryFactory() {
11
23
  var {