@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
@@ -1 +1 @@
1
- {"version":3,"file":"StoryboardFunctionRegistry.js","names":["cook","precookFunction","supply","strictCollectMemberUsageInFunction","getGeneralGlobals","StoryboardFunctionRegistryFactory","widgetId","widgetVersion","collectCoverage","arguments","length","undefined","registeredFunctions","Map","storyboardFunctions","Proxy","Object","freeze","get","target","key","getStoryboardFunction","currentApp","registerStoryboardFunctions","functions","app","clear","Array","isArray","fn","deps","hasPermissionsCheck","has","set","name","source","typescript","processed","cooked","collector","createCollector","precooked","hooks","beforeVisit","function","rules","noVar","globalVariables","attemptToVisitGlobals","isStoryboardFunction","beforeEvaluate","beforeCall","beforeBranch","updateStoryboardFunction","data","newFn","_objectSpread","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","precookFunction","supply","strictCollectMemberUsageInFunction","getGeneralGlobals","StoryboardFunctionRegistryFactory","widgetId","widgetVersion","collectCoverage","arguments","length","undefined","registeredFunctions","Map","storyboardFunctions","Proxy","Object","freeze","get","target","key","getStoryboardFunction","currentApp","registerStoryboardFunctions","functions","app","clear","Array","isArray","fn","deps","hasPermissionsCheck","has","set","name","source","typescript","processed","cooked","collector","createCollector","precooked","hooks","beforeVisit","function","rules","noVar","globalVariables","attemptToVisitGlobals","isStoryboardFunction","beforeEvaluate","beforeCall","beforeBranch","updateStoryboardFunction","data","newFn","_objectSpread","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/esm/index.js CHANGED
@@ -7,8 +7,8 @@ export * from "./getPageInfo.js";
7
7
  export * from "./handleHttpError.js";
8
8
  export * from "./history.js";
9
9
  export { createRuntime, getRuntime } from "./internal/Runtime.js";
10
- import * as _secret_internals from "./internal/secret_internals.js";
11
- export { _secret_internals as __secret_internals };
10
+ import * as __secret_internals from "./internal/secret_internals.js";
11
+ export { __secret_internals };
12
12
  export { getCssPropertyValue, getCurrentTheme, getCurrentMode, batchSetAppsLocalTheme, applyTheme } from "./themeAndMode.js";
13
13
  export { checkIfOfComputed, checkIfByTransform } from "./internal/compute/checkIf.js";
14
14
  export { registerWidgetFunctions } from "./internal/compute/WidgetFunctions.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["createRuntime","getRuntime","_secret_internals","__secret_internals","getCssPropertyValue","getCurrentTheme","getCurrentMode","batchSetAppsLocalTheme","applyTheme","checkIfOfComputed","checkIfByTransform","registerWidgetFunctions","registerWidgetI18n","StoryboardFunctionRegistryFactory","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":"AAAA,cAAc,WAAW;AACzB,cAAc,uBAAuB;AACrC,cAAc,sBAAsB;AACpC,cAAc,sBAAsB;AACpC,cAAc,kBAAkB;AAChC,cAAc,kBAAkB;AAChC,cAAc,sBAAsB;AACpC,cAAc,cAAc;AAC5B,SAASA,aAAa,EAAEC,UAAU,QAAQ,uBAAuB;AAAC,YAAAC,iBAAA,MAC9B,gCAAgC;AAAA,SAAAA,iBAAA,IAAxDC,kBAAkB;AAC9B,SACEC,mBAAmB,EACnBC,eAAe,EACfC,cAAc,EACdC,sBAAsB,EACtBC,UAAU,QACL,mBAAmB;AAC1B,SACEC,iBAAiB,EACjBC,kBAAkB,QACb,+BAA+B;AACtC,SAASC,uBAAuB,QAAQ,uCAAuC;AAC/E,SAASC,kBAAkB,QAAQ,kCAAkC;AACrE,SAASC,iCAAiC,QAAQ,iCAAiC;AACnF,SAASC,SAAS,QAAQ,yBAAyB"}
1
+ {"version":3,"file":"index.js","names":["createRuntime","getRuntime","__secret_internals","getCssPropertyValue","getCurrentTheme","getCurrentMode","batchSetAppsLocalTheme","applyTheme","checkIfOfComputed","checkIfByTransform","registerWidgetFunctions","registerWidgetI18n","StoryboardFunctionRegistryFactory","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":"AAAA,cAAc,WAAW;AACzB,cAAc,uBAAuB;AACrC,cAAc,sBAAsB;AACpC,cAAc,sBAAsB;AACpC,cAAc,kBAAkB;AAChC,cAAc,kBAAkB;AAChC,cAAc,sBAAsB;AACpC,cAAc,cAAc;AAC5B,SAASA,aAAa,EAAEC,UAAU,QAAQ,uBAAuB;AACjE,OAAO,KAAKC,kBAAkB,MAAM,gCAAgC;AACpE,SAASA,kBAAkB;AAC3B,SACEC,mBAAmB,EACnBC,eAAe,EACfC,cAAc,EACdC,sBAAsB,EACtBC,UAAU,QACL,mBAAmB;AAC1B,SACEC,iBAAiB,EACjBC,kBAAkB,QACb,+BAA+B;AACtC,SAASC,uBAAuB,QAAQ,uCAAuC;AAC/E,SAASC,kBAAkB,QAAQ,kCAAkC;AACrE,SAASC,iCAAiC,QAAQ,iCAAiC;AACnF,SAASC,SAAS,QAAQ,yBAAyB"}
@@ -19,7 +19,7 @@ export function bindTemplateProxy(brick) {
19
19
  tplHostMetadata.internalBricksByRef.set(ref, brick);
20
20
  var events = (_tplHostMetadata$prox = tplHostMetadata.proxy) === null || _tplHostMetadata$prox === void 0 ? void 0 : _tplHostMetadata$prox.events;
21
21
  if (events) {
22
- var _loop = function (from, to) {
22
+ var _loop = function (from) {
23
23
  if (to.ref === ref) {
24
24
  var _to$refEvent, _ref, _ref$$$proxyListeners;
25
25
  var listener = e => {
@@ -40,7 +40,7 @@ export function bindTemplateProxy(brick) {
40
40
  }
41
41
  };
42
42
  for (var [from, to] of Object.entries(events)) {
43
- _loop(from, to);
43
+ _loop(from);
44
44
  }
45
45
  }
46
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"bindTemplateProxy.js","names":["getTplStateStore","bindTemplateProxy","brick","_tplHostMetadata$prox","ref","runtimeContext","element","tplStateStoreId","hostBrick","tplHostMetadata","internalBricksByRef","set","events","proxy","_loop","from","to","_to$refEvent","_ref","_ref$$$proxyListeners","listener","e","bubbles","stopPropagation","dispatchEvent","CustomEvent","detail","cancelable","composed","eventType","refEvent","addEventListener","$$proxyListeners","push","Object","entries","unbindTemplateProxy","delete","type","fn","_$$proxyListeners","removeEventListener"],"sources":["../../../../src/internal/CustomTemplates/bindTemplateProxy.ts"],"sourcesContent":["import type { RuntimeBrick } from \"../interfaces.js\";\nimport { getTplStateStore } from \"./utils.js\";\n\nexport function bindTemplateProxy(brick: RuntimeBrick) {\n const { ref, runtimeContext, element } = brick;\n\n // Error recovering brick may have no runtimeContext.\n if (!ref || !runtimeContext.tplStateStoreId) {\n return;\n }\n\n const { hostBrick } = getTplStateStore(runtimeContext, \"bindTemplateProxy\");\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const tplHostMetadata = hostBrick!.tplHostMetadata!;\n\n tplHostMetadata.internalBricksByRef.set(ref, brick);\n\n const events = tplHostMetadata.proxy?.events;\n if (events) {\n for (const [from, to] of Object.entries(events)) {\n if (to.ref === ref) {\n const listener = (e: Event) => {\n if (e.bubbles) {\n e.stopPropagation();\n }\n hostBrick!.element!.dispatchEvent(\n new CustomEvent(from, {\n detail: (e as CustomEvent).detail,\n bubbles: e.bubbles,\n cancelable: e.cancelable,\n composed: e.composed,\n })\n );\n };\n const eventType = to.refEvent ?? from;\n element!.addEventListener(eventType, listener);\n element!.$$proxyListeners ??= [];\n element!.$$proxyListeners.push([eventType, listener]);\n }\n }\n }\n}\n\nexport function unbindTemplateProxy(brick: RuntimeBrick) {\n const { ref, runtimeContext, element } = brick;\n\n if (!runtimeContext.tplStateStoreId || !ref) {\n return;\n }\n\n const { hostBrick } = getTplStateStore(runtimeContext, \"unbindTemplateProxy\");\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const tplHostMetadata = hostBrick!.tplHostMetadata!;\n\n tplHostMetadata.internalBricksByRef.delete(ref);\n\n for (const [type, fn] of element!.$$proxyListeners ?? []) {\n element!.removeEventListener(type, fn);\n }\n delete element!.$$proxyListeners;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"bindTemplateProxy.js","names":["getTplStateStore","bindTemplateProxy","brick","_tplHostMetadata$prox","ref","runtimeContext","element","tplStateStoreId","hostBrick","tplHostMetadata","internalBricksByRef","set","events","proxy","_loop","from","to","_to$refEvent","_ref","_ref$$$proxyListeners","listener","e","bubbles","stopPropagation","dispatchEvent","CustomEvent","detail","cancelable","composed","eventType","refEvent","addEventListener","$$proxyListeners","push","Object","entries","unbindTemplateProxy","delete","type","fn","_$$proxyListeners","removeEventListener"],"sources":["../../../../src/internal/CustomTemplates/bindTemplateProxy.ts"],"sourcesContent":["import type { RuntimeBrick } from \"../interfaces.js\";\nimport { getTplStateStore } from \"./utils.js\";\n\nexport function bindTemplateProxy(brick: RuntimeBrick) {\n const { ref, runtimeContext, element } = brick;\n\n // Error recovering brick may have no runtimeContext.\n if (!ref || !runtimeContext.tplStateStoreId) {\n return;\n }\n\n const { hostBrick } = getTplStateStore(runtimeContext, \"bindTemplateProxy\");\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const tplHostMetadata = hostBrick!.tplHostMetadata!;\n\n tplHostMetadata.internalBricksByRef.set(ref, brick);\n\n const events = tplHostMetadata.proxy?.events;\n if (events) {\n for (const [from, to] of Object.entries(events)) {\n if (to.ref === ref) {\n const listener = (e: Event) => {\n if (e.bubbles) {\n e.stopPropagation();\n }\n hostBrick!.element!.dispatchEvent(\n new CustomEvent(from, {\n detail: (e as CustomEvent).detail,\n bubbles: e.bubbles,\n cancelable: e.cancelable,\n composed: e.composed,\n })\n );\n };\n const eventType = to.refEvent ?? from;\n element!.addEventListener(eventType, listener);\n element!.$$proxyListeners ??= [];\n element!.$$proxyListeners.push([eventType, listener]);\n }\n }\n }\n}\n\nexport function unbindTemplateProxy(brick: RuntimeBrick) {\n const { ref, runtimeContext, element } = brick;\n\n if (!runtimeContext.tplStateStoreId || !ref) {\n return;\n }\n\n const { hostBrick } = getTplStateStore(runtimeContext, \"unbindTemplateProxy\");\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const tplHostMetadata = hostBrick!.tplHostMetadata!;\n\n tplHostMetadata.internalBricksByRef.delete(ref);\n\n for (const [type, fn] of element!.$$proxyListeners ?? []) {\n element!.removeEventListener(type, fn);\n }\n delete element!.$$proxyListeners;\n}\n"],"mappings":"AACA,SAASA,gBAAgB,QAAQ,YAAY;AAE7C,OAAO,SAASC,iBAAiBA,CAACC,KAAmB,EAAE;EAAA,IAAAC,qBAAA;EACrD,IAAM;IAAEC,GAAG;IAAEC,cAAc;IAAEC;EAAQ,CAAC,GAAGJ,KAAK;;EAE9C;EACA,IAAI,CAACE,GAAG,IAAI,CAACC,cAAc,CAACE,eAAe,EAAE;IAC3C;EACF;EAEA,IAAM;IAAEC;EAAU,CAAC,GAAGR,gBAAgB,CAACK,cAAc,EAAE,mBAAmB,CAAC;EAC3E;EACA,IAAMI,eAAe,GAAGD,SAAS,CAAEC,eAAgB;EAEnDA,eAAe,CAACC,mBAAmB,CAACC,GAAG,CAACP,GAAG,EAAEF,KAAK,CAAC;EAEnD,IAAMU,MAAM,IAAAT,qBAAA,GAAGM,eAAe,CAACI,KAAK,cAAAV,qBAAA,uBAArBA,qBAAA,CAAuBS,MAAM;EAC5C,IAAIA,MAAM,EAAE;IAAA,IAAAE,KAAA,YAAAA,CAAAC,IAAA,EACuC;MAC/C,IAAIC,EAAE,CAACZ,GAAG,KAAKA,GAAG,EAAE;QAAA,IAAAa,YAAA,EAAAC,IAAA,EAAAC,qBAAA;QAClB,IAAMC,QAAQ,GAAIC,CAAQ,IAAK;UAC7B,IAAIA,CAAC,CAACC,OAAO,EAAE;YACbD,CAAC,CAACE,eAAe,EAAE;UACrB;UACAf,SAAS,CAAEF,OAAO,CAAEkB,aAAa,CAC/B,IAAIC,WAAW,CAACV,IAAI,EAAE;YACpBW,MAAM,EAAGL,CAAC,CAAiBK,MAAM;YACjCJ,OAAO,EAAED,CAAC,CAACC,OAAO;YAClBK,UAAU,EAAEN,CAAC,CAACM,UAAU;YACxBC,QAAQ,EAAEP,CAAC,CAACO;UACd,CAAC,CAAC,CACH;QACH,CAAC;QACD,IAAMC,SAAS,IAAAZ,YAAA,GAAGD,EAAE,CAACc,QAAQ,cAAAb,YAAA,cAAAA,YAAA,GAAIF,IAAI;QACrCT,OAAO,CAAEyB,gBAAgB,CAACF,SAAS,EAAET,QAAQ,CAAC;QAC9C,CAAAD,qBAAA,IAAAD,IAAA,GAAAZ,OAAO,EAAE0B,gBAAgB,cAAAb,qBAAA,cAAAA,qBAAA,GAAzBD,IAAA,CAASc,gBAAgB,GAAK,EAAE;QAChC1B,OAAO,CAAE0B,gBAAgB,CAACC,IAAI,CAAC,CAACJ,SAAS,EAAET,QAAQ,CAAC,CAAC;MACvD;IACF,CAAC;IApBD,KAAK,IAAM,CAACL,IAAI,EAAEC,EAAE,CAAC,IAAIkB,MAAM,CAACC,OAAO,CAACvB,MAAM,CAAC;MAAAE,KAAA,CAAAC,IAAA;IAAA;EAqBjD;AACF;AAEA,OAAO,SAASqB,mBAAmBA,CAAClC,KAAmB,EAAE;EACvD,IAAM;IAAEE,GAAG;IAAEC,cAAc;IAAEC;EAAQ,CAAC,GAAGJ,KAAK;EAE9C,IAAI,CAACG,cAAc,CAACE,eAAe,IAAI,CAACH,GAAG,EAAE;IAC3C;EACF;EAEA,IAAM;IAAEI;EAAU,CAAC,GAAGR,gBAAgB,CAACK,cAAc,EAAE,qBAAqB,CAAC;EAC7E;EACA,IAAMI,eAAe,GAAGD,SAAS,CAAEC,eAAgB;EAEnDA,eAAe,CAACC,mBAAmB,CAAC2B,MAAM,CAACjC,GAAG,CAAC;EAE/C,KAAK,IAAM,CAACkC,IAAI,EAAEC,EAAE,CAAC,KAAAC,iBAAA,GAAIlC,OAAO,CAAE0B,gBAAgB,cAAAQ,iBAAA,cAAAA,iBAAA,GAAI,EAAE,EAAE;IAAA,IAAAA,iBAAA;IACxDlC,OAAO,CAAEmC,mBAAmB,CAACH,IAAI,EAAEC,EAAE,CAAC;EACxC;EACA,OAAOjC,OAAO,CAAE0B,gBAAgB;AAClC"}
@@ -58,7 +58,7 @@ export function setupTemplateProxy(hostContext, ref, slots) {
58
58
  var refPosition = (_to$refPosition = to.refPosition) !== null && _to$refPosition !== void 0 ? _to$refPosition : -1;
59
59
  expandableSlot[clamp(refPosition < 0 ? expandableSlot.length + refPosition : refPosition, 0, expandableSlot.length - 1)].push(...(hasOwnProperty(hostBrick.runtimeContext, "forEachItem") ? setupTemplateExternalBricks(insertBricks, hostBrick.runtimeContext.forEachItem) : insertBricks));
60
60
  }
61
- var _loop = function (slotName, quasis) {
61
+ var _loop = function () {
62
62
  if (!hasOwnProperty(slots, slotName)) {
63
63
  slots[slotName] = {
64
64
  type: "bricks",
@@ -72,7 +72,7 @@ export function setupTemplateProxy(hostContext, ref, slots) {
72
72
  }
73
73
  };
74
74
  for (var [slotName, quasis] of quasisMap.entries()) {
75
- _loop(slotName, quasis);
75
+ _loop();
76
76
  }
77
77
  }
78
78
  }
@@ -1 +1 @@
1
- {"version":3,"file":"setupTemplateProxy.js","names":["hasOwnProperty","clamp","symbolForAsyncComputedPropsFromHost","symbolForTPlExternalForEachItem","symbolForTplStateStoreId","setupTemplateProxy","hostContext","ref","slots","reversedProxies","asyncHostProperties","externalSlots","tplStateStoreId","hostBrick","asyncComputedProps","propertyProxies","properties","get","getComputedProps","hostProps","props","from","to","propValue","undefined","refProperty","then","slotProxies","quasisMap","Map","_externalSlots$from$b","_externalSlots$from","_to$refSlot","_to$refPosition","insertBricks","bricks","length","refToSlot","refSlot","expandableSlot","size","i","push","set","refPosition","runtimeContext","setupTemplateExternalBricks","forEachItem","_loop","slotName","quasis","type","slotConf","flatMap","index","concat","entries","map","brick","_brick$slots","_objectSpread","Object","fromEntries","_ref","_slotConf$bricks","routes","setupTemplateExternalRoutes","route"],"sources":["../../../../src/internal/CustomTemplates/setupTemplateProxy.ts"],"sourcesContent":["import type { BrickConf, RouteConf, SlotsConfOfBricks } from \"@next-core/types\";\nimport { hasOwnProperty } from \"@next-core/utils/general\";\nimport { clamp } from \"lodash\";\nimport {\n symbolForAsyncComputedPropsFromHost,\n symbolForTPlExternalForEachItem,\n symbolForTplStateStoreId,\n} from \"./constants.js\";\nimport type { AsyncProperties, TemplateHostContext } from \"../interfaces.js\";\n\nexport function setupTemplateProxy(\n hostContext: TemplateHostContext,\n ref: string | undefined,\n slots: SlotsConfOfBricks\n) {\n const {\n reversedProxies,\n asyncHostProperties,\n externalSlots,\n tplStateStoreId,\n hostBrick,\n } = hostContext;\n\n let asyncComputedProps: AsyncProperties | undefined;\n\n if (ref && reversedProxies) {\n const propertyProxies = reversedProxies.properties.get(ref);\n if (propertyProxies) {\n const getComputedProps = (hostProps: Record<string, unknown>) => {\n const props: Record<string, unknown> = {};\n for (const { from, to } of propertyProxies) {\n const propValue = hostProps[from];\n if (propValue !== undefined && to.refProperty) {\n props[to.refProperty] = propValue;\n }\n }\n return props;\n };\n\n asyncComputedProps = (asyncHostProperties as AsyncProperties).then(\n getComputedProps\n );\n }\n\n const slotProxies = reversedProxies.slots.get(ref);\n if (slotProxies && externalSlots) {\n // Use an approach like template-literal's quasis:\n // `quasi0${0}quais1${1}quasi2...`\n // Every quasi (indexed by `refPosition`) can be slotted with multiple bricks.\n const quasisMap = new Map<string, BrickConf[][]>();\n\n for (const { from, to } of slotProxies) {\n const insertBricks = externalSlots[from]?.bricks ?? [];\n if (!insertBricks.length) {\n continue;\n }\n const refToSlot = to.refSlot ?? from;\n let expandableSlot = quasisMap.get(refToSlot);\n if (!expandableSlot) {\n expandableSlot = [];\n // The size of quasis should be the existed slotted bricks' size plus one.\n const size = hasOwnProperty(slots, refToSlot)\n ? slots[refToSlot].bricks.length + 1\n : 1;\n for (let i = 0; i < size; i += 1) {\n expandableSlot.push([]);\n }\n quasisMap.set(refToSlot, expandableSlot);\n }\n const refPosition = to.refPosition ?? -1;\n expandableSlot[\n clamp(\n refPosition < 0 ? expandableSlot.length + refPosition : refPosition,\n 0,\n expandableSlot.length - 1\n )\n ].push(\n ...(hasOwnProperty(hostBrick.runtimeContext, \"forEachItem\")\n ? setupTemplateExternalBricks(\n insertBricks,\n hostBrick.runtimeContext.forEachItem\n )\n : insertBricks)\n );\n }\n\n for (const [slotName, quasis] of quasisMap.entries()) {\n if (!hasOwnProperty(slots, slotName)) {\n slots[slotName] = {\n type: \"bricks\",\n bricks: [],\n };\n }\n const slotConf = slots[slotName];\n slotConf.bricks = quasis.flatMap((bricks, index) =>\n index < slotConf.bricks.length\n ? bricks.concat(slotConf.bricks[index])\n : bricks\n );\n\n if (slotConf.bricks.length === 0) {\n delete slots[slotName];\n }\n }\n }\n }\n\n return {\n [symbolForAsyncComputedPropsFromHost]: asyncComputedProps,\n [symbolForTplStateStoreId]: tplStateStoreId,\n };\n}\n\n// External bricks of a template, have the same forEachItem context as their host.\nfunction setupTemplateExternalBricks(\n bricks: BrickConf[],\n forEachItem: unknown\n): BrickConf[] {\n return bricks.map((brick) => ({\n ...brick,\n [symbolForTPlExternalForEachItem]: forEachItem,\n slots: Object.fromEntries(\n Object.entries(brick.slots ?? {}).map(([slotName, slotConf]) => [\n slotName,\n slotConf.type === \"routes\"\n ? {\n type: \"routes\",\n routes: setupTemplateExternalRoutes(slotConf.routes, forEachItem),\n }\n : {\n type: \"bricks\",\n bricks: setupTemplateExternalBricks(\n slotConf.bricks ?? [],\n forEachItem\n ),\n },\n ])\n ),\n }));\n}\n\nfunction setupTemplateExternalRoutes(\n routes: RouteConf[],\n forEachItem: unknown\n): RouteConf[] {\n return routes.map((route) =>\n route.type && route.type !== \"bricks\"\n ? route\n : {\n ...route,\n bricks: setupTemplateExternalBricks(route.bricks, forEachItem),\n }\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"setupTemplateProxy.js","names":["hasOwnProperty","clamp","symbolForAsyncComputedPropsFromHost","symbolForTPlExternalForEachItem","symbolForTplStateStoreId","setupTemplateProxy","hostContext","ref","slots","reversedProxies","asyncHostProperties","externalSlots","tplStateStoreId","hostBrick","asyncComputedProps","propertyProxies","properties","get","getComputedProps","hostProps","props","from","to","propValue","undefined","refProperty","then","slotProxies","quasisMap","Map","_externalSlots$from$b","_externalSlots$from","_to$refSlot","_to$refPosition","insertBricks","bricks","length","refToSlot","refSlot","expandableSlot","size","i","push","set","refPosition","runtimeContext","setupTemplateExternalBricks","forEachItem","_loop","slotName","type","slotConf","quasis","flatMap","index","concat","entries","map","brick","_brick$slots","_objectSpread","Object","fromEntries","_ref","_slotConf$bricks","routes","setupTemplateExternalRoutes","route"],"sources":["../../../../src/internal/CustomTemplates/setupTemplateProxy.ts"],"sourcesContent":["import type { BrickConf, RouteConf, SlotsConfOfBricks } from \"@next-core/types\";\nimport { hasOwnProperty } from \"@next-core/utils/general\";\nimport { clamp } from \"lodash\";\nimport {\n symbolForAsyncComputedPropsFromHost,\n symbolForTPlExternalForEachItem,\n symbolForTplStateStoreId,\n} from \"./constants.js\";\nimport type { AsyncProperties, TemplateHostContext } from \"../interfaces.js\";\n\nexport function setupTemplateProxy(\n hostContext: TemplateHostContext,\n ref: string | undefined,\n slots: SlotsConfOfBricks\n) {\n const {\n reversedProxies,\n asyncHostProperties,\n externalSlots,\n tplStateStoreId,\n hostBrick,\n } = hostContext;\n\n let asyncComputedProps: AsyncProperties | undefined;\n\n if (ref && reversedProxies) {\n const propertyProxies = reversedProxies.properties.get(ref);\n if (propertyProxies) {\n const getComputedProps = (hostProps: Record<string, unknown>) => {\n const props: Record<string, unknown> = {};\n for (const { from, to } of propertyProxies) {\n const propValue = hostProps[from];\n if (propValue !== undefined && to.refProperty) {\n props[to.refProperty] = propValue;\n }\n }\n return props;\n };\n\n asyncComputedProps = (asyncHostProperties as AsyncProperties).then(\n getComputedProps\n );\n }\n\n const slotProxies = reversedProxies.slots.get(ref);\n if (slotProxies && externalSlots) {\n // Use an approach like template-literal's quasis:\n // `quasi0${0}quais1${1}quasi2...`\n // Every quasi (indexed by `refPosition`) can be slotted with multiple bricks.\n const quasisMap = new Map<string, BrickConf[][]>();\n\n for (const { from, to } of slotProxies) {\n const insertBricks = externalSlots[from]?.bricks ?? [];\n if (!insertBricks.length) {\n continue;\n }\n const refToSlot = to.refSlot ?? from;\n let expandableSlot = quasisMap.get(refToSlot);\n if (!expandableSlot) {\n expandableSlot = [];\n // The size of quasis should be the existed slotted bricks' size plus one.\n const size = hasOwnProperty(slots, refToSlot)\n ? slots[refToSlot].bricks.length + 1\n : 1;\n for (let i = 0; i < size; i += 1) {\n expandableSlot.push([]);\n }\n quasisMap.set(refToSlot, expandableSlot);\n }\n const refPosition = to.refPosition ?? -1;\n expandableSlot[\n clamp(\n refPosition < 0 ? expandableSlot.length + refPosition : refPosition,\n 0,\n expandableSlot.length - 1\n )\n ].push(\n ...(hasOwnProperty(hostBrick.runtimeContext, \"forEachItem\")\n ? setupTemplateExternalBricks(\n insertBricks,\n hostBrick.runtimeContext.forEachItem\n )\n : insertBricks)\n );\n }\n\n for (const [slotName, quasis] of quasisMap.entries()) {\n if (!hasOwnProperty(slots, slotName)) {\n slots[slotName] = {\n type: \"bricks\",\n bricks: [],\n };\n }\n const slotConf = slots[slotName];\n slotConf.bricks = quasis.flatMap((bricks, index) =>\n index < slotConf.bricks.length\n ? bricks.concat(slotConf.bricks[index])\n : bricks\n );\n\n if (slotConf.bricks.length === 0) {\n delete slots[slotName];\n }\n }\n }\n }\n\n return {\n [symbolForAsyncComputedPropsFromHost]: asyncComputedProps,\n [symbolForTplStateStoreId]: tplStateStoreId,\n };\n}\n\n// External bricks of a template, have the same forEachItem context as their host.\nfunction setupTemplateExternalBricks(\n bricks: BrickConf[],\n forEachItem: unknown\n): BrickConf[] {\n return bricks.map((brick) => ({\n ...brick,\n [symbolForTPlExternalForEachItem]: forEachItem,\n slots: Object.fromEntries(\n Object.entries(brick.slots ?? {}).map(([slotName, slotConf]) => [\n slotName,\n slotConf.type === \"routes\"\n ? {\n type: \"routes\",\n routes: setupTemplateExternalRoutes(slotConf.routes, forEachItem),\n }\n : {\n type: \"bricks\",\n bricks: setupTemplateExternalBricks(\n slotConf.bricks ?? [],\n forEachItem\n ),\n },\n ])\n ),\n }));\n}\n\nfunction setupTemplateExternalRoutes(\n routes: RouteConf[],\n forEachItem: unknown\n): RouteConf[] {\n return routes.map((route) =>\n route.type && route.type !== \"bricks\"\n ? route\n : {\n ...route,\n bricks: setupTemplateExternalBricks(route.bricks, forEachItem),\n }\n );\n}\n"],"mappings":"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"}
@@ -37,20 +37,22 @@ export class Runtime {
37
37
  })();
38
38
  }
39
39
  getRecentApps() {
40
- return router.getRecentApps();
40
+ var _router$getRecentApps, _router;
41
+ return (_router$getRecentApps = (_router = router) === null || _router === void 0 ? void 0 : _router.getRecentApps()) !== null && _router$getRecentApps !== void 0 ? _router$getRecentApps : {};
41
42
  }
42
43
  getCurrentApp() {
43
- return router.getRecentApps().currentApp;
44
+ var _router2;
45
+ return (_router2 = router) === null || _router2 === void 0 ? void 0 : _router2.getRecentApps().currentApp;
44
46
  }
45
47
  getFeatureFlags() {
46
- var _bootstrapData2, _bootstrapData2$setti, _router$getRecentApps, _router$getRecentApps2, _router$getRecentApps3;
47
- return _objectSpread(_objectSpread(_objectSpread({}, (_bootstrapData2 = bootstrapData) === null || _bootstrapData2 === void 0 ? void 0 : (_bootstrapData2$setti = _bootstrapData2.settings) === null || _bootstrapData2$setti === void 0 ? void 0 : _bootstrapData2$setti.featureFlags), (_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), {}, {
48
+ var _bootstrapData2, _bootstrapData2$setti, _router3, _router3$getRecentApp, _router3$getRecentApp2, _router3$getRecentApp3;
49
+ return _objectSpread(_objectSpread(_objectSpread({}, (_bootstrapData2 = bootstrapData) === null || _bootstrapData2 === void 0 ? void 0 : (_bootstrapData2$setti = _bootstrapData2.settings) === null || _bootstrapData2$setti === void 0 ? void 0 : _bootstrapData2$setti.featureFlags), (_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), {}, {
48
50
  "migrate-to-brick-next-v3": true
49
51
  });
50
52
  }
51
53
  getMiscSettings() {
52
- var _bootstrapData3, _bootstrapData3$setti, _router$getRecentApps4, _router$getRecentApps5, _router$getRecentApps6;
53
- return _objectSpread(_objectSpread({}, (_bootstrapData3 = bootstrapData) === null || _bootstrapData3 === void 0 ? void 0 : (_bootstrapData3$setti = _bootstrapData3.settings) === null || _bootstrapData3$setti === void 0 ? void 0 : _bootstrapData3$setti.misc), (_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);
54
+ var _bootstrapData3, _bootstrapData3$setti, _router4, _router4$getRecentApp, _router4$getRecentApp2, _router4$getRecentApp3;
55
+ return _objectSpread(_objectSpread({}, (_bootstrapData3 = bootstrapData) === null || _bootstrapData3 === void 0 ? void 0 : (_bootstrapData3$setti = _bootstrapData3.settings) === null || _bootstrapData3$setti === void 0 ? void 0 : _bootstrapData3$setti.misc), (_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);
54
56
  }
55
57
  getBrandSettings() {
56
58
  var _bootstrapData4, _bootstrapData4$setti;
@@ -81,7 +83,8 @@ export class Runtime {
81
83
  document.title = pageTitle ? "".concat(pageTitle, " - ").concat(baseTitle) : baseTitle;
82
84
  }
83
85
  getNavConfig() {
84
- return router.getNavConfig();
86
+ var _router5;
87
+ return (_router5 = router) === null || _router5 === void 0 ? void 0 : _router5.getNavConfig();
85
88
  }
86
89
  }
87
90
  export function _internalApiSetBootstrapData(data) {
@@ -92,15 +95,16 @@ export function getBrickPackages() {
92
95
  return (_bootstrapData$brickP = (_bootstrapData8 = bootstrapData) === null || _bootstrapData8 === void 0 ? void 0 : _bootstrapData8.brickPackages) !== null && _bootstrapData$brickP !== void 0 ? _bootstrapData$brickP : [];
93
96
  }
94
97
  export function _internalApiGetRenderId() {
95
- return router.getRenderId();
98
+ var _router6;
99
+ return (_router6 = router) === null || _router6 === void 0 ? void 0 : _router6.getRenderId();
96
100
  }
97
101
  export function _internalApiMatchStoryboard(pathname) {
98
102
  var _bootstrapData$storyb, _bootstrapData9;
99
103
  return matchStoryboard((_bootstrapData$storyb = (_bootstrapData9 = bootstrapData) === null || _bootstrapData9 === void 0 ? void 0 : _bootstrapData9.storyboards) !== null && _bootstrapData$storyb !== void 0 ? _bootstrapData$storyb : [], pathname);
100
104
  }
101
105
  export function _internalApiGetRuntimeContext() {
102
- var _router;
103
- return (_router = router) === null || _router === void 0 ? void 0 : _router.getRuntimeContext();
106
+ var _router7;
107
+ return (_router7 = router) === null || _router7 === void 0 ? void 0 : _router7.getRuntimeContext();
104
108
  }
105
109
  export function _internalApiGetStoryboardInBootstrapData(appId) {
106
110
  var _bootstrapData10, _bootstrapData10$stor;
@@ -1 +1 @@
1
- {"version":3,"file":"Runtime.js","names":["i18n","initializeI18n","moment","createHistory","matchStoryboard","Router","loadCheckLogin","loadBootstrapData","runtime","bootstrapData","router","createRuntime","Error","locale","language","on","Runtime","getRuntime","bootstrap","_asyncToGenerator","_bootstrapData","Promise","all","storyboards","getRecentApps","getCurrentApp","currentApp","getFeatureFlags","_bootstrapData2","_bootstrapData2$setti","_router$getRecentApps","_router$getRecentApps2","_router$getRecentApps3","_objectSpread","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","concat","getNavConfig","_internalApiSetBootstrapData","data","getBrickPackages","_bootstrapData$brickP","_bootstrapData8","brickPackages","_internalApiGetRenderId","getRenderId","_internalApiMatchStoryboard","pathname","_bootstrapData$storyb","_bootstrapData9","_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","initializeI18n","moment","createHistory","matchStoryboard","Router","loadCheckLogin","loadBootstrapData","runtime","bootstrapData","router","createRuntime","Error","locale","language","on","Runtime","getRuntime","bootstrap","_asyncToGenerator","_bootstrapData","Promise","all","storyboards","getRecentApps","_router$getRecentApps","_router","getCurrentApp","_router2","currentApp","getFeatureFlags","_bootstrapData2","_bootstrapData2$setti","_router3","_router3$getRecentApp","_router3$getRecentApp2","_router3$getRecentApp3","_objectSpread","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","concat","getNavConfig","_router5","_internalApiSetBootstrapData","data","getBrickPackages","_bootstrapData$brickP","_bootstrapData8","brickPackages","_internalApiGetRenderId","_router6","getRenderId","_internalApiMatchStoryboard","pathname","_bootstrapData$storyb","_bootstrapData9","_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":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"checkInstalledApps.js","names":["traverseStoryboardExpressions","RuntimeApi_searchMicroAppStandalone","compare","collectInstalledAppsHasUsage","_internalApiGetAppInBootstrapData","checkingApps","Map","checkedApps","preCheckInstalledApps","storyboard","window","STANDALONE_MICRO_APPS","NO_AUTH_GUARD","appIds","scanInstalledAppsUsage","searchIds","appId","has","push","length","promise","query","$in","fields","catch","error","console","_loop","set","then","result","_result$list","app","list","find","item","checkedApp","_objectSpread","id","undefined","waitForCheckingApps","Promise","all","map","get","hasInstalledApp","matchVersion","installStatus","currentVersion","matches","match","TypeError","concat","_storyboard$meta","usage","usedArgs","Set","customTemplates","menus","meta","routes","node","parent"],"sources":["../../../src/internal/checkInstalledApps.ts"],"sourcesContent":["import type { MicroApp, Storyboard } from \"@next-core/types\";\nimport { traverseStoryboardExpressions } from \"@next-core/utils/storyboard\";\nimport { RuntimeApi_searchMicroAppStandalone } from \"@next-api-sdk/micro-app-standalone-sdk\";\nimport { type CompareOperator, compare } from \"compare-versions\";\nimport {\n MemberCallUsage,\n collectInstalledAppsHasUsage,\n} from \"./compute/collectMemberCallUsage.js\";\nimport { _internalApiGetAppInBootstrapData } from \"./Runtime.js\";\n\ntype AppForCheck = Pick<MicroApp, \"id\" | \"currentVersion\" | \"installStatus\">;\n\nconst checkingApps = new Map<string, Promise<AppForCheck | undefined>>();\nconst checkedApps = new Map<string, AppForCheck | undefined>();\n\nexport function preCheckInstalledApps(storyboard: Storyboard) {\n if (window.STANDALONE_MICRO_APPS && !window.NO_AUTH_GUARD) {\n const appIds = scanInstalledAppsUsage(storyboard);\n const searchIds: string[] = [];\n for (const appId of appIds) {\n // Do not check these apps already checking or in bootstrap.\n if (\n !checkingApps.has(appId) &&\n !_internalApiGetAppInBootstrapData(appId)\n ) {\n searchIds.push(appId);\n }\n }\n if (searchIds.length === 0) {\n return;\n }\n const promise = RuntimeApi_searchMicroAppStandalone({\n query: { appId: { $in: searchIds } },\n fields: [\"appId\", \"currentVersion\", \"installStatus\"],\n }).catch((error) => {\n // Allow search micro app to fail, and\n // make it not crash when the backend service is not updated.\n // eslint-disable-next-line no-console\n console.error(\"Get off site standalone micro-apps failed\", error);\n });\n for (const appId of searchIds) {\n checkingApps.set(\n appId,\n promise.then((result) => {\n const app = result?.list?.find((item) => item.appId === appId);\n const checkedApp = app\n ? {\n ...app,\n id: appId,\n }\n : undefined;\n checkedApps.set(appId, checkedApp);\n return checkedApp;\n })\n );\n }\n }\n}\n\nexport function waitForCheckingApps(appIds: string[]) {\n return Promise.all(appIds.map((appId) => checkingApps.get(appId)));\n}\n\nexport function hasInstalledApp(appId: string, matchVersion?: string): boolean {\n // First, check whether the app is in bootstrap already.\n let app = _internalApiGetAppInBootstrapData(appId) as AppForCheck | undefined;\n if (!app && window.STANDALONE_MICRO_APPS) {\n app = checkedApps.get(appId);\n }\n if (!app || app.installStatus === \"running\") {\n return false;\n }\n // Todo: `currentVersion` maybe `\"\"`\n if (!matchVersion || !app.currentVersion) {\n return true;\n }\n // Valid `matchVersion`:\n // >=1.2.3\n // >1.2.3\n // =1.2.3\n // <=1.2.3\n // <1.2.3\n const matches = matchVersion.match(/^([><]=?|=)(.*)$/);\n try {\n if (!matches) {\n throw new TypeError(`Invalid match version: ${matchVersion}`);\n }\n return compare(\n app.currentVersion,\n matches[2],\n matches[1] as CompareOperator\n );\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(error);\n }\n return false;\n}\n\nfunction scanInstalledAppsUsage(storyboard: Storyboard) {\n const usage: MemberCallUsage = {\n usedArgs: new Set(),\n };\n // `INSTALLED_APPS.has(...)` is not available in storyboard functions\n const { customTemplates, menus } = storyboard.meta ?? {};\n traverseStoryboardExpressions(\n [storyboard.routes, customTemplates, menus],\n (node, parent) => {\n collectInstalledAppsHasUsage(usage, node, parent);\n },\n \"INSTALLED_APPS\"\n );\n return [...usage.usedArgs];\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"checkInstalledApps.js","names":["traverseStoryboardExpressions","RuntimeApi_searchMicroAppStandalone","compare","collectInstalledAppsHasUsage","_internalApiGetAppInBootstrapData","checkingApps","Map","checkedApps","preCheckInstalledApps","storyboard","window","STANDALONE_MICRO_APPS","NO_AUTH_GUARD","appIds","scanInstalledAppsUsage","searchIds","appId","has","push","length","promise","query","$in","fields","catch","error","console","_loop","_appId","set","then","result","_result$list","app","list","find","item","checkedApp","_objectSpread","id","undefined","waitForCheckingApps","Promise","all","map","get","hasInstalledApp","matchVersion","installStatus","currentVersion","matches","match","TypeError","concat","_storyboard$meta","usage","usedArgs","Set","customTemplates","menus","meta","routes","node","parent"],"sources":["../../../src/internal/checkInstalledApps.ts"],"sourcesContent":["import type { MicroApp, Storyboard } from \"@next-core/types\";\nimport { traverseStoryboardExpressions } from \"@next-core/utils/storyboard\";\nimport { RuntimeApi_searchMicroAppStandalone } from \"@next-api-sdk/micro-app-standalone-sdk\";\nimport { type CompareOperator, compare } from \"compare-versions\";\nimport {\n MemberCallUsage,\n collectInstalledAppsHasUsage,\n} from \"./compute/collectMemberCallUsage.js\";\nimport { _internalApiGetAppInBootstrapData } from \"./Runtime.js\";\n\ntype AppForCheck = Pick<MicroApp, \"id\" | \"currentVersion\" | \"installStatus\">;\n\nconst checkingApps = new Map<string, Promise<AppForCheck | undefined>>();\nconst checkedApps = new Map<string, AppForCheck | undefined>();\n\nexport function preCheckInstalledApps(storyboard: Storyboard) {\n if (window.STANDALONE_MICRO_APPS && !window.NO_AUTH_GUARD) {\n const appIds = scanInstalledAppsUsage(storyboard);\n const searchIds: string[] = [];\n for (const appId of appIds) {\n // Do not check these apps already checking or in bootstrap.\n if (\n !checkingApps.has(appId) &&\n !_internalApiGetAppInBootstrapData(appId)\n ) {\n searchIds.push(appId);\n }\n }\n if (searchIds.length === 0) {\n return;\n }\n const promise = RuntimeApi_searchMicroAppStandalone({\n query: { appId: { $in: searchIds } },\n fields: [\"appId\", \"currentVersion\", \"installStatus\"],\n }).catch((error) => {\n // Allow search micro app to fail, and\n // make it not crash when the backend service is not updated.\n // eslint-disable-next-line no-console\n console.error(\"Get off site standalone micro-apps failed\", error);\n });\n for (const appId of searchIds) {\n checkingApps.set(\n appId,\n promise.then((result) => {\n const app = result?.list?.find((item) => item.appId === appId);\n const checkedApp = app\n ? {\n ...app,\n id: appId,\n }\n : undefined;\n checkedApps.set(appId, checkedApp);\n return checkedApp;\n })\n );\n }\n }\n}\n\nexport function waitForCheckingApps(appIds: string[]) {\n return Promise.all(appIds.map((appId) => checkingApps.get(appId)));\n}\n\nexport function hasInstalledApp(appId: string, matchVersion?: string): boolean {\n // First, check whether the app is in bootstrap already.\n let app = _internalApiGetAppInBootstrapData(appId) as AppForCheck | undefined;\n if (!app && window.STANDALONE_MICRO_APPS) {\n app = checkedApps.get(appId);\n }\n if (!app || app.installStatus === \"running\") {\n return false;\n }\n // Todo: `currentVersion` maybe `\"\"`\n if (!matchVersion || !app.currentVersion) {\n return true;\n }\n // Valid `matchVersion`:\n // >=1.2.3\n // >1.2.3\n // =1.2.3\n // <=1.2.3\n // <1.2.3\n const matches = matchVersion.match(/^([><]=?|=)(.*)$/);\n try {\n if (!matches) {\n throw new TypeError(`Invalid match version: ${matchVersion}`);\n }\n return compare(\n app.currentVersion,\n matches[2],\n matches[1] as CompareOperator\n );\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(error);\n }\n return false;\n}\n\nfunction scanInstalledAppsUsage(storyboard: Storyboard) {\n const usage: MemberCallUsage = {\n usedArgs: new Set(),\n };\n // `INSTALLED_APPS.has(...)` is not available in storyboard functions\n const { customTemplates, menus } = storyboard.meta ?? {};\n traverseStoryboardExpressions(\n [storyboard.routes, customTemplates, menus],\n (node, parent) => {\n collectInstalledAppsHasUsage(usage, node, parent);\n },\n \"INSTALLED_APPS\"\n );\n return [...usage.usedArgs];\n}\n"],"mappings":"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"}
@@ -3,6 +3,11 @@ import { hasOwnProperty, isObject } from "@next-core/utils/general";
3
3
  import { asyncComputeRealValue, computeRealValue } from "./computeRealValue.js";
4
4
  import { isPreEvaluated } from "./evaluate.js";
5
5
  import { resolveData } from "../data/resolveData.js";
6
+
7
+ /**
8
+ * 包含 `if` 条件判断的对象。
9
+ */
10
+
6
11
  export function asyncCheckIf(_x, _x2) {
7
12
  return _asyncCheckIf.apply(this, arguments);
8
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"checkIf.js","names":["hasOwnProperty","isObject","asyncComputeRealValue","computeRealValue","isPreEvaluated","resolveData","asyncCheckIf","_x","_x2","_asyncCheckIf","apply","arguments","_asyncToGenerator","ifContainer","runtimeContext","if","checkIf","checkIfOfComputed","asyncCheckBrickIf","_x3","_x4","_asyncCheckBrickIf","brickConf","resolved","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,SAASA,cAAc,EAAEC,QAAQ,QAAQ,0BAA0B;AAEnE,SAASC,qBAAqB,EAAEC,gBAAgB,QAAQ,uBAAuB;AAC/E,SAASC,cAAc,QAAQ,eAAe;AAC9C,SAASC,WAAW,QAAQ,wBAAwB;AAoBpD,gBAAsBC,YAAYA,CAAAC,EAAA,EAAAC,GAAA;EAAA,OAAAC,aAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAUjC,SAAAF,cAAA;EAAAA,aAAA,GAAAG,iBAAA,CAVM,WACLC,WAAwB,EACxBC,cAA8B,EACZ;IAClB,OACE,CAACd,cAAc,CAACa,WAAW,EAAE,IAAI,CAAC,IAClC,CAAC,EAAE,OAAOA,WAAW,CAACE,EAAE,KAAK,QAAQ,IAAIX,cAAc,CAACS,WAAW,CAACE,EAAE,CAAC,SAC7Db,qBAAqB,CAACW,WAAW,CAACE,EAAE,EAAED,cAAc,CAAC,GAC3DD,WAAW,CAACE,EAAE,CAAC;EAEvB,CAAC;EAAA,OAAAN,aAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAED,OAAO,SAASK,OAAOA,CACrBH,WAAwB,EACxBC,cAA8B,EACrB;EACT,OACE,CAACd,cAAc,CAACa,WAAW,EAAE,IAAI,CAAC,IAClC,CAAC,EAAE,OAAOA,WAAW,CAACE,EAAE,KAAK,QAAQ,IAAIX,cAAc,CAACS,WAAW,CAACE,EAAE,CAAC,GACnEZ,gBAAgB,CAACU,WAAW,CAACE,EAAE,EAAED,cAAc,CAAC,GAChDD,WAAW,CAACE,EAAE,CAAC;AAEvB;AAEA,OAAO,SAASE,iBAAiBA,CAACJ,WAAwB,EAAW;EACnE,OAAO,CAACb,cAAc,CAACa,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAACA,WAAW,CAACE,EAAE;AAC/D;AAEA,gBAAsBG,iBAAiBA,CAAAC,GAAA,EAAAC,GAAA;EAAA,OAAAC,kBAAA,CAAAX,KAAA,OAAAC,SAAA;AAAA;AAYtC,SAAAU,mBAAA;EAAAA,kBAAA,GAAAT,iBAAA,CAZM,WACLU,SAAoB,EACpBR,cAA8B,EACZ;IAClB,IAAIb,QAAQ,CAACqB,SAAS,CAACP,EAAE,CAAC,IAAI,CAACX,cAAc,CAACkB,SAAS,CAACP,EAAE,CAAC,EAAE;MAC3D,IAAMQ,QAAQ,SAAUlB,WAAW,CACjCiB,SAAS,CAACP,EAAE,EACZD,cAAc,CACM;MACtB,OAAOG,iBAAiB,CAACM,QAAQ,CAAC;IACpC;IACA,OAAOjB,YAAY,CAACgB,SAAS,EAAER,cAAc,CAAC;EAChD,CAAC;EAAA,OAAAO,kBAAA,CAAAX,KAAA,OAAAC,SAAA;AAAA;AAED,OAAO,SAASa,kBAAkBA,CAACX,WAAwB,EAAEY,IAAa,EAAE;EAC1E,OAAOT,OAAO,CAACH,WAAW,EAAE;IAAEY;EAAK,CAAC,CAAmB;AACzD"}
1
+ {"version":3,"file":"checkIf.js","names":["hasOwnProperty","isObject","asyncComputeRealValue","computeRealValue","isPreEvaluated","resolveData","asyncCheckIf","_x","_x2","_asyncCheckIf","apply","arguments","_asyncToGenerator","ifContainer","runtimeContext","if","checkIf","checkIfOfComputed","asyncCheckBrickIf","_x3","_x4","_asyncCheckBrickIf","brickConf","resolved","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,SAASA,cAAc,EAAEC,QAAQ,QAAQ,0BAA0B;AAEnE,SAASC,qBAAqB,EAAEC,gBAAgB,QAAQ,uBAAuB;AAC/E,SAASC,cAAc,QAAQ,eAAe;AAC9C,SAASC,WAAW,QAAQ,wBAAwB;;AAGpD;AACA;AACA;;AAeA,gBAAsBC,YAAYA,CAAAC,EAAA,EAAAC,GAAA;EAAA,OAAAC,aAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAUjC,SAAAF,cAAA;EAAAA,aAAA,GAAAG,iBAAA,CAVM,WACLC,WAAwB,EACxBC,cAA8B,EACZ;IAClB,OACE,CAACd,cAAc,CAACa,WAAW,EAAE,IAAI,CAAC,IAClC,CAAC,EAAE,OAAOA,WAAW,CAACE,EAAE,KAAK,QAAQ,IAAIX,cAAc,CAACS,WAAW,CAACE,EAAE,CAAC,SAC7Db,qBAAqB,CAACW,WAAW,CAACE,EAAE,EAAED,cAAc,CAAC,GAC3DD,WAAW,CAACE,EAAE,CAAC;EAEvB,CAAC;EAAA,OAAAN,aAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAED,OAAO,SAASK,OAAOA,CACrBH,WAAwB,EACxBC,cAA8B,EACrB;EACT,OACE,CAACd,cAAc,CAACa,WAAW,EAAE,IAAI,CAAC,IAClC,CAAC,EAAE,OAAOA,WAAW,CAACE,EAAE,KAAK,QAAQ,IAAIX,cAAc,CAACS,WAAW,CAACE,EAAE,CAAC,GACnEZ,gBAAgB,CAACU,WAAW,CAACE,EAAE,EAAED,cAAc,CAAC,GAChDD,WAAW,CAACE,EAAE,CAAC;AAEvB;AAEA,OAAO,SAASE,iBAAiBA,CAACJ,WAAwB,EAAW;EACnE,OAAO,CAACb,cAAc,CAACa,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAACA,WAAW,CAACE,EAAE;AAC/D;AAEA,gBAAsBG,iBAAiBA,CAAAC,GAAA,EAAAC,GAAA;EAAA,OAAAC,kBAAA,CAAAX,KAAA,OAAAC,SAAA;AAAA;AAYtC,SAAAU,mBAAA;EAAAA,kBAAA,GAAAT,iBAAA,CAZM,WACLU,SAAoB,EACpBR,cAA8B,EACZ;IAClB,IAAIb,QAAQ,CAACqB,SAAS,CAACP,EAAE,CAAC,IAAI,CAACX,cAAc,CAACkB,SAAS,CAACP,EAAE,CAAC,EAAE;MAC3D,IAAMQ,QAAQ,SAAUlB,WAAW,CACjCiB,SAAS,CAACP,EAAE,EACZD,cAAc,CACM;MACtB,OAAOG,iBAAiB,CAACM,QAAQ,CAAC;IACpC;IACA,OAAOjB,YAAY,CAACgB,SAAS,EAAER,cAAc,CAAC;EAChD,CAAC;EAAA,OAAAO,kBAAA,CAAAX,KAAA,OAAAC,SAAA;AAAA;AAED,OAAO,SAASa,kBAAkBA,CAACX,WAAwB,EAAEY,IAAa,EAAE;EAC1E,OAAOT,OAAO,CAACH,WAAW,EAAE;IAAEY;EAAK,CAAC,CAAmB;AACzD"}
@@ -1,5 +1,4 @@
1
- export var StateOfUseBrick;
2
- (function (StateOfUseBrick) {
1
+ export var StateOfUseBrick = /*#__PURE__*/function (StateOfUseBrick) {
3
2
  StateOfUseBrick[StateOfUseBrick["INITIAL"] = 0] = "INITIAL";
4
3
  StateOfUseBrick[StateOfUseBrick["USE_BRICK"] = 1] = "USE_BRICK";
5
4
  StateOfUseBrick[StateOfUseBrick["USE_BRICK_ITEM"] = 2] = "USE_BRICK_ITEM";
@@ -13,7 +12,8 @@ export var StateOfUseBrick;
13
12
  StateOfUseBrick[StateOfUseBrick["USE_BRICK_SLOTS_ITEM_BRICKS_ITEM"] = 10] = "USE_BRICK_SLOTS_ITEM_BRICKS_ITEM";
14
13
  StateOfUseBrick[StateOfUseBrick["USE_BRICK_LIFECYCLE"] = 11] = "USE_BRICK_LIFECYCLE";
15
14
  StateOfUseBrick[StateOfUseBrick["USE_BRICK_DATA_SOURCE"] = 12] = "USE_BRICK_DATA_SOURCE";
16
- })(StateOfUseBrick || (StateOfUseBrick = {}));
15
+ return StateOfUseBrick;
16
+ }({});
17
17
  export function isLazyContentInUseBrick(state) {
18
18
  switch (state) {
19
19
  case StateOfUseBrick.USE_BRICK_PROPERTIES:
@@ -1 +1 @@
1
- {"version":3,"file":"getNextStateOfUseBrick.js","names":["StateOfUseBrick","isLazyContentInUseBrick","state","USE_BRICK_PROPERTIES","USE_BRICK_TRANSFORM","USE_BRICK_EVENTS","USE_BRICK_IF","USE_BRICK_LIFECYCLE","USE_BRICK_DATA_SOURCE","getNextStateOfUseBrick","isArray","key","USE_BRICK","USE_BRICK_ITEM","USE_BRICK_SLOTS_ITEM_BRICKS","USE_BRICK_SLOTS_ITEM_BRICKS_ITEM","INITIAL","USE_BRICK_SLOTS","USE_BRICK_SLOTS_ITEM"],"sources":["../../../../src/internal/compute/getNextStateOfUseBrick.ts"],"sourcesContent":["export enum StateOfUseBrick {\n INITIAL,\n USE_BRICK,\n USE_BRICK_ITEM,\n USE_BRICK_PROPERTIES,\n // Compatible mode\n USE_BRICK_TRANSFORM,\n USE_BRICK_EVENTS,\n USE_BRICK_IF,\n USE_BRICK_SLOTS,\n USE_BRICK_SLOTS_ITEM,\n USE_BRICK_SLOTS_ITEM_BRICKS,\n USE_BRICK_SLOTS_ITEM_BRICKS_ITEM,\n USE_BRICK_LIFECYCLE,\n USE_BRICK_DATA_SOURCE,\n}\n\nexport function isLazyContentInUseBrick(\n state: StateOfUseBrick | undefined\n): boolean {\n switch (state) {\n case StateOfUseBrick.USE_BRICK_PROPERTIES:\n case StateOfUseBrick.USE_BRICK_TRANSFORM:\n case StateOfUseBrick.USE_BRICK_EVENTS:\n case StateOfUseBrick.USE_BRICK_IF:\n case StateOfUseBrick.USE_BRICK_LIFECYCLE:\n case StateOfUseBrick.USE_BRICK_DATA_SOURCE:\n return true;\n }\n return false;\n}\n\nexport function getNextStateOfUseBrick(\n state: StateOfUseBrick | undefined,\n isArray?: boolean,\n key?: string\n): StateOfUseBrick | undefined {\n if (isLazyContentInUseBrick(state)) {\n return state;\n }\n if (isArray) {\n switch (state) {\n case StateOfUseBrick.USE_BRICK:\n return StateOfUseBrick.USE_BRICK_ITEM;\n case StateOfUseBrick.USE_BRICK_SLOTS_ITEM_BRICKS:\n return StateOfUseBrick.USE_BRICK_SLOTS_ITEM_BRICKS_ITEM;\n }\n } else {\n switch (state) {\n case StateOfUseBrick.INITIAL:\n if (key === \"useBrick\") {\n return StateOfUseBrick.USE_BRICK;\n }\n break;\n case StateOfUseBrick.USE_BRICK:\n case StateOfUseBrick.USE_BRICK_ITEM:\n case StateOfUseBrick.USE_BRICK_SLOTS_ITEM_BRICKS_ITEM: {\n switch (key) {\n case \"properties\":\n return StateOfUseBrick.USE_BRICK_PROPERTIES;\n case \"transform\":\n return StateOfUseBrick.USE_BRICK_TRANSFORM;\n case \"dataSource\":\n return StateOfUseBrick.USE_BRICK_DATA_SOURCE;\n case \"events\":\n return StateOfUseBrick.USE_BRICK_EVENTS;\n case \"slots\":\n return StateOfUseBrick.USE_BRICK_SLOTS;\n case \"children\":\n return StateOfUseBrick.USE_BRICK_SLOTS_ITEM_BRICKS;\n case \"if\":\n return StateOfUseBrick.USE_BRICK_IF;\n case \"lifeCycle\":\n return StateOfUseBrick.USE_BRICK_LIFECYCLE;\n }\n break;\n }\n case StateOfUseBrick.USE_BRICK_SLOTS:\n return StateOfUseBrick.USE_BRICK_SLOTS_ITEM;\n case StateOfUseBrick.USE_BRICK_SLOTS_ITEM:\n if (key === \"bricks\") {\n return StateOfUseBrick.USE_BRICK_SLOTS_ITEM_BRICKS;\n }\n break;\n }\n }\n return StateOfUseBrick.INITIAL;\n}\n"],"mappings":"AAAA,WAAYA,eAAe;AAe1B,WAfWA,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,KAAfA,eAAe;AAiB3B,OAAO,SAASC,uBAAuBA,CACrCC,KAAkC,EACzB;EACT,QAAQA,KAAK;IACX,KAAKF,eAAe,CAACG,oBAAoB;IACzC,KAAKH,eAAe,CAACI,mBAAmB;IACxC,KAAKJ,eAAe,CAACK,gBAAgB;IACrC,KAAKL,eAAe,CAACM,YAAY;IACjC,KAAKN,eAAe,CAACO,mBAAmB;IACxC,KAAKP,eAAe,CAACQ,qBAAqB;MACxC,OAAO,IAAI;EAAC;EAEhB,OAAO,KAAK;AACd;AAEA,OAAO,SAASC,sBAAsBA,CACpCP,KAAkC,EAClCQ,OAAiB,EACjBC,GAAY,EACiB;EAC7B,IAAIV,uBAAuB,CAACC,KAAK,CAAC,EAAE;IAClC,OAAOA,KAAK;EACd;EACA,IAAIQ,OAAO,EAAE;IACX,QAAQR,KAAK;MACX,KAAKF,eAAe,CAACY,SAAS;QAC5B,OAAOZ,eAAe,CAACa,cAAc;MACvC,KAAKb,eAAe,CAACc,2BAA2B;QAC9C,OAAOd,eAAe,CAACe,gCAAgC;IAAC;EAE9D,CAAC,MAAM;IACL,QAAQb,KAAK;MACX,KAAKF,eAAe,CAACgB,OAAO;QAC1B,IAAIL,GAAG,KAAK,UAAU,EAAE;UACtB,OAAOX,eAAe,CAACY,SAAS;QAClC;QACA;MACF,KAAKZ,eAAe,CAACY,SAAS;MAC9B,KAAKZ,eAAe,CAACa,cAAc;MACnC,KAAKb,eAAe,CAACe,gCAAgC;QAAE;UACrD,QAAQJ,GAAG;YACT,KAAK,YAAY;cACf,OAAOX,eAAe,CAACG,oBAAoB;YAC7C,KAAK,WAAW;cACd,OAAOH,eAAe,CAACI,mBAAmB;YAC5C,KAAK,YAAY;cACf,OAAOJ,eAAe,CAACQ,qBAAqB;YAC9C,KAAK,QAAQ;cACX,OAAOR,eAAe,CAACK,gBAAgB;YACzC,KAAK,OAAO;cACV,OAAOL,eAAe,CAACiB,eAAe;YACxC,KAAK,UAAU;cACb,OAAOjB,eAAe,CAACc,2BAA2B;YACpD,KAAK,IAAI;cACP,OAAOd,eAAe,CAACM,YAAY;YACrC,KAAK,WAAW;cACd,OAAON,eAAe,CAACO,mBAAmB;UAAC;UAE/C;QACF;MACA,KAAKP,eAAe,CAACiB,eAAe;QAClC,OAAOjB,eAAe,CAACkB,oBAAoB;MAC7C,KAAKlB,eAAe,CAACkB,oBAAoB;QACvC,IAAIP,GAAG,KAAK,QAAQ,EAAE;UACpB,OAAOX,eAAe,CAACc,2BAA2B;QACpD;QACA;IAAM;EAEZ;EACA,OAAOd,eAAe,CAACgB,OAAO;AAChC"}
1
+ {"version":3,"file":"getNextStateOfUseBrick.js","names":["StateOfUseBrick","isLazyContentInUseBrick","state","USE_BRICK_PROPERTIES","USE_BRICK_TRANSFORM","USE_BRICK_EVENTS","USE_BRICK_IF","USE_BRICK_LIFECYCLE","USE_BRICK_DATA_SOURCE","getNextStateOfUseBrick","isArray","key","USE_BRICK","USE_BRICK_ITEM","USE_BRICK_SLOTS_ITEM_BRICKS","USE_BRICK_SLOTS_ITEM_BRICKS_ITEM","INITIAL","USE_BRICK_SLOTS","USE_BRICK_SLOTS_ITEM"],"sources":["../../../../src/internal/compute/getNextStateOfUseBrick.ts"],"sourcesContent":["export enum StateOfUseBrick {\n INITIAL,\n USE_BRICK,\n USE_BRICK_ITEM,\n USE_BRICK_PROPERTIES,\n // Compatible mode\n USE_BRICK_TRANSFORM,\n USE_BRICK_EVENTS,\n USE_BRICK_IF,\n USE_BRICK_SLOTS,\n USE_BRICK_SLOTS_ITEM,\n USE_BRICK_SLOTS_ITEM_BRICKS,\n USE_BRICK_SLOTS_ITEM_BRICKS_ITEM,\n USE_BRICK_LIFECYCLE,\n USE_BRICK_DATA_SOURCE,\n}\n\nexport function isLazyContentInUseBrick(\n state: StateOfUseBrick | undefined\n): boolean {\n switch (state) {\n case StateOfUseBrick.USE_BRICK_PROPERTIES:\n case StateOfUseBrick.USE_BRICK_TRANSFORM:\n case StateOfUseBrick.USE_BRICK_EVENTS:\n case StateOfUseBrick.USE_BRICK_IF:\n case StateOfUseBrick.USE_BRICK_LIFECYCLE:\n case StateOfUseBrick.USE_BRICK_DATA_SOURCE:\n return true;\n }\n return false;\n}\n\nexport function getNextStateOfUseBrick(\n state: StateOfUseBrick | undefined,\n isArray?: boolean,\n key?: string\n): StateOfUseBrick | undefined {\n if (isLazyContentInUseBrick(state)) {\n return state;\n }\n if (isArray) {\n switch (state) {\n case StateOfUseBrick.USE_BRICK:\n return StateOfUseBrick.USE_BRICK_ITEM;\n case StateOfUseBrick.USE_BRICK_SLOTS_ITEM_BRICKS:\n return StateOfUseBrick.USE_BRICK_SLOTS_ITEM_BRICKS_ITEM;\n }\n } else {\n switch (state) {\n case StateOfUseBrick.INITIAL:\n if (key === \"useBrick\") {\n return StateOfUseBrick.USE_BRICK;\n }\n break;\n case StateOfUseBrick.USE_BRICK:\n case StateOfUseBrick.USE_BRICK_ITEM:\n case StateOfUseBrick.USE_BRICK_SLOTS_ITEM_BRICKS_ITEM: {\n switch (key) {\n case \"properties\":\n return StateOfUseBrick.USE_BRICK_PROPERTIES;\n case \"transform\":\n return StateOfUseBrick.USE_BRICK_TRANSFORM;\n case \"dataSource\":\n return StateOfUseBrick.USE_BRICK_DATA_SOURCE;\n case \"events\":\n return StateOfUseBrick.USE_BRICK_EVENTS;\n case \"slots\":\n return StateOfUseBrick.USE_BRICK_SLOTS;\n case \"children\":\n return StateOfUseBrick.USE_BRICK_SLOTS_ITEM_BRICKS;\n case \"if\":\n return StateOfUseBrick.USE_BRICK_IF;\n case \"lifeCycle\":\n return StateOfUseBrick.USE_BRICK_LIFECYCLE;\n }\n break;\n }\n case StateOfUseBrick.USE_BRICK_SLOTS:\n return StateOfUseBrick.USE_BRICK_SLOTS_ITEM;\n case StateOfUseBrick.USE_BRICK_SLOTS_ITEM:\n if (key === \"bricks\") {\n return StateOfUseBrick.USE_BRICK_SLOTS_ITEM_BRICKS;\n }\n break;\n }\n }\n return StateOfUseBrick.INITIAL;\n}\n"],"mappings":"AAAA,WAAYA,eAAe,0BAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA;AAiB3B,OAAO,SAASC,uBAAuBA,CACrCC,KAAkC,EACzB;EACT,QAAQA,KAAK;IACX,KAAKF,eAAe,CAACG,oBAAoB;IACzC,KAAKH,eAAe,CAACI,mBAAmB;IACxC,KAAKJ,eAAe,CAACK,gBAAgB;IACrC,KAAKL,eAAe,CAACM,YAAY;IACjC,KAAKN,eAAe,CAACO,mBAAmB;IACxC,KAAKP,eAAe,CAACQ,qBAAqB;MACxC,OAAO,IAAI;EAAC;EAEhB,OAAO,KAAK;AACd;AAEA,OAAO,SAASC,sBAAsBA,CACpCP,KAAkC,EAClCQ,OAAiB,EACjBC,GAAY,EACiB;EAC7B,IAAIV,uBAAuB,CAACC,KAAK,CAAC,EAAE;IAClC,OAAOA,KAAK;EACd;EACA,IAAIQ,OAAO,EAAE;IACX,QAAQR,KAAK;MACX,KAAKF,eAAe,CAACY,SAAS;QAC5B,OAAOZ,eAAe,CAACa,cAAc;MACvC,KAAKb,eAAe,CAACc,2BAA2B;QAC9C,OAAOd,eAAe,CAACe,gCAAgC;IAAC;EAE9D,CAAC,MAAM;IACL,QAAQb,KAAK;MACX,KAAKF,eAAe,CAACgB,OAAO;QAC1B,IAAIL,GAAG,KAAK,UAAU,EAAE;UACtB,OAAOX,eAAe,CAACY,SAAS;QAClC;QACA;MACF,KAAKZ,eAAe,CAACY,SAAS;MAC9B,KAAKZ,eAAe,CAACa,cAAc;MACnC,KAAKb,eAAe,CAACe,gCAAgC;QAAE;UACrD,QAAQJ,GAAG;YACT,KAAK,YAAY;cACf,OAAOX,eAAe,CAACG,oBAAoB;YAC7C,KAAK,WAAW;cACd,OAAOH,eAAe,CAACI,mBAAmB;YAC5C,KAAK,YAAY;cACf,OAAOJ,eAAe,CAACQ,qBAAqB;YAC9C,KAAK,QAAQ;cACX,OAAOR,eAAe,CAACK,gBAAgB;YACzC,KAAK,OAAO;cACV,OAAOL,eAAe,CAACiB,eAAe;YACxC,KAAK,UAAU;cACb,OAAOjB,eAAe,CAACc,2BAA2B;YACpD,KAAK,IAAI;cACP,OAAOd,eAAe,CAACM,YAAY;YACrC,KAAK,WAAW;cACd,OAAON,eAAe,CAACO,mBAAmB;UAAC;UAE/C;QACF;MACA,KAAKP,eAAe,CAACiB,eAAe;QAClC,OAAOjB,eAAe,CAACkB,oBAAoB;MAC7C,KAAKlB,eAAe,CAACkB,oBAAoB;QACvC,IAAIP,GAAG,KAAK,QAAQ,EAAE;UACpB,OAAOX,eAAe,CAACc,2BAA2B;QACpD;QACA;IAAM;EAEZ;EACA,OAAOd,eAAe,CAACgB,OAAO;AAChC"}
@@ -1 +1 @@
1
- {"version":3,"file":"listenOnTrackingContext.js","names":["setProperties","getTplStateStore","listenOnTrackingContext","brick","trackingContextList","_loop","track","listener","element","propName","propValue","runtimeContext","contextNames","contextName","ctxStore","onChange","stateNames","tplStateStore","concat","stateName"],"sources":["../../../../src/internal/compute/listenOnTrackingContext.ts"],"sourcesContent":["import { setProperties } from \"./setProperties.js\";\nimport type { RuntimeBrick } from \"../interfaces.js\";\nimport { getTplStateStore } from \"../CustomTemplates/utils.js\";\n\nexport interface TrackingContextItem {\n contextNames: string[] | Set<string> | false;\n stateNames: string[] | Set<string> | false;\n formStateNames: string[] | Set<string> | false;\n propName: string;\n propValue: unknown;\n}\n\nexport function listenOnTrackingContext(\n brick: RuntimeBrick,\n trackingContextList: TrackingContextItem[]\n): void {\n for (const track of trackingContextList) {\n const listener = (): void => {\n if (brick.element) {\n setProperties(\n brick.element,\n { [track.propName]: track.propValue },\n brick.runtimeContext\n );\n }\n };\n if (track.contextNames) {\n for (const contextName of track.contextNames) {\n brick.runtimeContext.ctxStore.onChange(contextName, listener);\n }\n }\n if (track.stateNames) {\n const tplStateStore = getTplStateStore(\n brick.runtimeContext,\n \"STATE\",\n `: \"${track.propValue}\"`\n );\n for (const stateName of track.stateNames) {\n tplStateStore.onChange(stateName, listener);\n }\n }\n // if (track.formStateNames) {\n // const formContext = getCustomFormContext(context.formContextId);\n // for (const stateName of track.formStateNames) {\n // const ctx = formContext.formState.get().get(stateName);\n // (\n // ctx as StoryboardContextItemFreeVariable\n // )?.eventTarget?.addEventListener(\"formstate.change\", listener);\n // }\n // }\n }\n}\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,oBAAoB;AAElD,SAASC,gBAAgB,QAAQ,6BAA6B;AAU9D,OAAO,SAASC,uBAAuBA,CACrCC,KAAmB,EACnBC,mBAA0C,EACpC;EAAA,IAAAC,KAAA,YAAAA,CACKC,KAAK;IACd,IAAMC,QAAQ,GAAGA,CAAA,KAAY;MAC3B,IAAIJ,KAAK,CAACK,OAAO,EAAE;QACjBR,aAAa,CACXG,KAAK,CAACK,OAAO,EACb;UAAE,CAACF,KAAK,CAACG,QAAQ,GAAGH,KAAK,CAACI;QAAU,CAAC,EACrCP,KAAK,CAACQ,cAAc,CACrB;MACH;IACF,CAAC;IACD,IAAIL,KAAK,CAACM,YAAY,EAAE;MACtB,KAAK,IAAMC,WAAW,IAAIP,KAAK,CAACM,YAAY,EAAE;QAC5CT,KAAK,CAACQ,cAAc,CAACG,QAAQ,CAACC,QAAQ,CAACF,WAAW,EAAEN,QAAQ,CAAC;MAC/D;IACF;IACA,IAAID,KAAK,CAACU,UAAU,EAAE;MACpB,IAAMC,aAAa,GAAGhB,gBAAgB,CACpCE,KAAK,CAACQ,cAAc,EACpB,OAAO,SAAAO,MAAA,CACDZ,KAAK,CAACI,SAAS,QACtB;MACD,KAAK,IAAMS,SAAS,IAAIb,KAAK,CAACU,UAAU,EAAE;QACxCC,aAAa,CAACF,QAAQ,CAACI,SAAS,EAAEZ,QAAQ,CAAC;MAC7C;IACF;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;EAAA;EAjCF,KAAK,IAAMD,KAAK,IAAIF,mBAAmB,EAAE;IAAAC,KAAA,CAA9BC,KAAK;EAkChB;AACF"}
1
+ {"version":3,"file":"listenOnTrackingContext.js","names":["setProperties","getTplStateStore","listenOnTrackingContext","brick","trackingContextList","_loop","track","listener","element","propName","propValue","runtimeContext","contextNames","contextName","ctxStore","onChange","stateNames","tplStateStore","concat","stateName"],"sources":["../../../../src/internal/compute/listenOnTrackingContext.ts"],"sourcesContent":["import { setProperties } from \"./setProperties.js\";\nimport type { RuntimeBrick } from \"../interfaces.js\";\nimport { getTplStateStore } from \"../CustomTemplates/utils.js\";\n\nexport interface TrackingContextItem {\n contextNames: string[] | Set<string> | false;\n stateNames: string[] | Set<string> | false;\n formStateNames: string[] | Set<string> | false;\n propName: string;\n propValue: unknown;\n}\n\nexport function listenOnTrackingContext(\n brick: RuntimeBrick,\n trackingContextList: TrackingContextItem[]\n): void {\n for (const track of trackingContextList) {\n const listener = (): void => {\n if (brick.element) {\n setProperties(\n brick.element,\n { [track.propName]: track.propValue },\n brick.runtimeContext\n );\n }\n };\n if (track.contextNames) {\n for (const contextName of track.contextNames) {\n brick.runtimeContext.ctxStore.onChange(contextName, listener);\n }\n }\n if (track.stateNames) {\n const tplStateStore = getTplStateStore(\n brick.runtimeContext,\n \"STATE\",\n `: \"${track.propValue}\"`\n );\n for (const stateName of track.stateNames) {\n tplStateStore.onChange(stateName, listener);\n }\n }\n // if (track.formStateNames) {\n // const formContext = getCustomFormContext(context.formContextId);\n // for (const stateName of track.formStateNames) {\n // const ctx = formContext.formState.get().get(stateName);\n // (\n // ctx as StoryboardContextItemFreeVariable\n // )?.eventTarget?.addEventListener(\"formstate.change\", listener);\n // }\n // }\n }\n}\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,oBAAoB;AAElD,SAASC,gBAAgB,QAAQ,6BAA6B;AAU9D,OAAO,SAASC,uBAAuBA,CACrCC,KAAmB,EACnBC,mBAA0C,EACpC;EAAA,IAAAC,KAAA,YAAAA,CAAAC,KAAA,EACmC;IACvC,IAAMC,QAAQ,GAAGA,CAAA,KAAY;MAC3B,IAAIJ,KAAK,CAACK,OAAO,EAAE;QACjBR,aAAa,CACXG,KAAK,CAACK,OAAO,EACb;UAAE,CAACF,KAAK,CAACG,QAAQ,GAAGH,KAAK,CAACI;QAAU,CAAC,EACrCP,KAAK,CAACQ,cAAc,CACrB;MACH;IACF,CAAC;IACD,IAAIL,KAAK,CAACM,YAAY,EAAE;MACtB,KAAK,IAAMC,WAAW,IAAIP,KAAK,CAACM,YAAY,EAAE;QAC5CT,KAAK,CAACQ,cAAc,CAACG,QAAQ,CAACC,QAAQ,CAACF,WAAW,EAAEN,QAAQ,CAAC;MAC/D;IACF;IACA,IAAID,KAAK,CAACU,UAAU,EAAE;MACpB,IAAMC,aAAa,GAAGhB,gBAAgB,CACpCE,KAAK,CAACQ,cAAc,EACpB,OAAO,SAAAO,MAAA,CACDZ,KAAK,CAACI,SAAS,QACtB;MACD,KAAK,IAAMS,SAAS,IAAIb,KAAK,CAACU,UAAU,EAAE;QACxCC,aAAa,CAACF,QAAQ,CAACI,SAAS,EAAEZ,QAAQ,CAAC;MAC7C;IACF;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;EACF,CAAC;EAlCD,KAAK,IAAMD,KAAK,IAAIF,mBAAmB;IAAAC,KAAA,CAAAC,KAAA;EAAA;AAmCzC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DataStore.js","names":["hasOwnProperty","isObject","strictCollectMemberUsage","eventCallbackFactory","listenerFactory","asyncCheckIf","asyncComputeRealValue","computeRealValue","resolveData","resolveDataStore","handleHttpError","DataStore","constructor","type","hostBrick","_defineProperty","Map","changeEventType","getValue","name","_this$data$get","data","get","value","updateValue","method","callback","callbackRuntimeContext","item","Error","concat","load","promise","loaded","Promise","resolve","loading","_objectSpread","cache","then","val","eventTarget","dispatchEvent","CustomEvent","detail","err","error","callbackFactory","Object","assign","console","warn","define","dataConfs","runtimeContext","asyncHostProperties","Array","isArray","length","pending","dataConf","pendingStack","push","onChange","dataName","listener","_this$data$get2","addEventListener","waitFor","dataNames","_this","_asyncToGenerator","_loop","pendingContexts","all","map","ctx","p","waitForAll","_this2","pendingResult","_this3","expose","hostProps","isLazyResolve","undefined","resolveConf","transform","_ref","options","_x","apply","arguments","lazy","newData","EventTarget","track","deps","dep","has","set"],"sources":["../../../../src/internal/data/DataStore.ts"],"sourcesContent":["import type { BrickEventHandlerCallback, ContextConf } from \"@next-core/types\";\nimport { hasOwnProperty, isObject } from \"@next-core/utils/general\";\nimport { strictCollectMemberUsage } from \"@next-core/utils/storyboard\";\nimport { eventCallbackFactory, listenerFactory } from \"../bindListeners.js\";\nimport { asyncCheckIf } from \"../compute/checkIf.js\";\nimport {\n asyncComputeRealValue,\n computeRealValue,\n} from \"../compute/computeRealValue.js\";\nimport { ResolveOptions, resolveData } from \"./resolveData.js\";\nimport { resolveDataStore } from \"./resolveDataStore.js\";\nimport type {\n AsyncProperties,\n RuntimeBrick,\n RuntimeContext,\n} from \"../interfaces.js\";\nimport { handleHttpError } from \"../../handleHttpError.js\";\n\nexport type DataStoreType = \"CTX\" | \"STATE\" | \"FORM_STATE\";\n\nexport interface DataStoreItem {\n value: unknown;\n eventTarget: EventTarget;\n loaded?: boolean;\n loading?: Promise<unknown>;\n load?: (options?: ResolveOptions) => Promise<unknown>;\n}\n\nexport class DataStore<T extends DataStoreType = \"CTX\"> {\n private readonly type: T;\n private readonly data = new Map<string, DataStoreItem>();\n private readonly changeEventType: string;\n private readonly pendingStack: Array<ReturnType<typeof resolveDataStore>> =\n [];\n public readonly hostBrick?: RuntimeBrick;\n\n constructor(type: T, hostBrick?: RuntimeBrick) {\n this.type = type;\n this.changeEventType =\n this.type === \"FORM_STATE\"\n ? \"formstate.change\"\n : this.type === \"STATE\"\n ? \"state.change\"\n : \"context.change\";\n this.hostBrick = hostBrick;\n }\n\n getValue(name: string): unknown {\n return this.data.get(name)?.value;\n }\n\n updateValue(\n name: string,\n value: unknown,\n method: \"assign\" | \"replace\" | \"refresh\" | \"load\",\n callback?: BrickEventHandlerCallback,\n callbackRuntimeContext?: RuntimeContext\n ): void {\n const item = this.data.get(name);\n if (!item) {\n throw new Error(`${this.type} '${name}' is not defined`);\n }\n\n if (method === \"refresh\" || method === \"load\") {\n if (!item.load) {\n throw new Error(\n `You can not ${method} \"${this.type}.${name}\" which has no resolve`\n );\n }\n\n let promise: Promise<unknown> | undefined;\n if (method === \"load\") {\n // Try to reuse previous request when calling `load`.\n if (item.loaded) {\n promise = Promise.resolve(item.value);\n } else if (item.loading) {\n promise = item.loading;\n }\n }\n\n if (!promise) {\n promise = item.loading = item.load({\n cache: method === \"load\" ? \"default\" : \"reload\",\n ...(value as ResolveOptions),\n });\n // Do not use the chained promise, since the callbacks need the original promise.\n promise.then(\n (val) => {\n item.loaded = true;\n item.value = val;\n item.eventTarget.dispatchEvent(\n new CustomEvent(this.changeEventType, {\n detail: item.value,\n })\n );\n },\n (err) => {\n // Let users override error handling.\n if (!callback?.error) {\n handleHttpError(err);\n }\n }\n );\n }\n\n if (callback) {\n const callbackFactory = eventCallbackFactory(\n callback,\n callbackRuntimeContext!\n );\n\n promise.then(\n (val) => {\n callbackFactory(\"success\")({ value: val });\n callbackFactory(\"finally\")();\n },\n (err) => {\n callbackFactory(\"error\")(err);\n callbackFactory(\"finally\")();\n }\n );\n }\n\n return;\n }\n\n if (method === \"replace\") {\n item.value = value;\n } else {\n if (isObject(item.value)) {\n Object.assign(item.value, value);\n } else {\n // eslint-disable-next-line no-console\n console.warn(\n `Non-object current value of \"${this.type}.${name}\" for \"context.assign\", try \"context.replace\" instead.`\n );\n item.value = value;\n }\n }\n\n item.eventTarget.dispatchEvent(\n new CustomEvent(this.changeEventType, {\n detail: item.value,\n })\n );\n }\n\n define(\n dataConfs: ContextConf[] | undefined,\n runtimeContext: RuntimeContext,\n asyncHostProperties?: AsyncProperties\n ): void {\n if (Array.isArray(dataConfs) && dataConfs.length > 0) {\n const pending = resolveDataStore(\n dataConfs,\n (dataConf: ContextConf) =>\n this.resolve(dataConf, runtimeContext, asyncHostProperties),\n this.type\n );\n this.pendingStack.push(pending);\n }\n }\n\n onChange(dataName: string, listener: EventListener): void {\n this.data\n .get(dataName)\n ?.eventTarget.addEventListener(this.changeEventType, listener);\n }\n\n async waitFor(dataNames: string[] | Set<string>): Promise<void> {\n for (const { pendingContexts } of this.pendingStack) {\n await Promise.all(\n [...dataNames].map((ctx) => {\n const p = pendingContexts.get(ctx);\n return p;\n })\n );\n }\n }\n\n async waitForAll(): Promise<void> {\n for (const { pendingResult } of this.pendingStack) {\n await pendingResult;\n }\n }\n\n private async resolve(\n dataConf: ContextConf,\n runtimeContext: RuntimeContext,\n asyncHostProperties?: AsyncProperties\n ): Promise<boolean> {\n if (!(await asyncCheckIf(dataConf, runtimeContext))) {\n return false;\n }\n let value: unknown;\n if (this.type === \"STATE\" && asyncHostProperties && dataConf.expose) {\n const hostProps = await asyncHostProperties;\n if (hasOwnProperty(hostProps, dataConf.name)) {\n value = hostProps[dataConf.name];\n }\n }\n let load: DataStoreItem[\"load\"];\n let isLazyResolve: boolean | undefined = false;\n if (value === undefined) {\n if (dataConf.resolve) {\n const resolveConf = {\n transform: \"value\",\n ...dataConf.resolve,\n };\n if (await asyncCheckIf(dataConf.resolve, runtimeContext)) {\n load = async (options) =>\n (\n (await resolveData(resolveConf, runtimeContext, options)) as {\n value: unknown;\n }\n ).value;\n isLazyResolve = dataConf.resolve.lazy;\n if (!isLazyResolve) {\n value = await load();\n }\n } else if (!hasOwnProperty(dataConf, \"value\")) {\n return false;\n }\n }\n if ((!load || isLazyResolve) && dataConf.value !== undefined) {\n // If the context has no resolve, just use its `value`.\n // Or if the resolve is ignored or lazy, use its `value` as a fallback.\n value = await asyncComputeRealValue(dataConf.value, runtimeContext);\n }\n }\n\n const newData: DataStoreItem = {\n value,\n // This is required for tracking context, even if no `onChange` is specified.\n eventTarget: new EventTarget(),\n load,\n loaded: !isLazyResolve,\n };\n\n if (dataConf.onChange) {\n newData.eventTarget.addEventListener(\n this.changeEventType,\n listenerFactory(dataConf.onChange, runtimeContext)\n );\n }\n\n if (dataConf.track && this.type !== \"FORM_STATE\") {\n const deps = strictCollectMemberUsage(\n load ? dataConf.resolve : dataConf.value,\n this.type\n );\n for (const dep of deps) {\n this.onChange(dep, () => {\n if (load) {\n this.updateValue(dataConf.name, { cache: \"default\" }, \"refresh\");\n } else {\n this.updateValue(\n dataConf.name,\n computeRealValue(dataConf.value, runtimeContext),\n \"replace\"\n );\n }\n });\n }\n }\n\n if (this.data.has(dataConf.name)) {\n throw new Error(\n `${this.type} '${dataConf.name}' has already been declared`\n );\n }\n this.data.set(dataConf.name, newData);\n\n return true;\n }\n}\n"],"mappings":";;;AACA,SAASA,cAAc,EAAEC,QAAQ,QAAQ,0BAA0B;AACnE,SAASC,wBAAwB,QAAQ,6BAA6B;AACtE,SAASC,oBAAoB,EAAEC,eAAe,QAAQ,qBAAqB;AAC3E,SAASC,YAAY,QAAQ,uBAAuB;AACpD,SACEC,qBAAqB,EACrBC,gBAAgB,QACX,gCAAgC;AACvC,SAAyBC,WAAW,QAAQ,kBAAkB;AAC9D,SAASC,gBAAgB,QAAQ,uBAAuB;AAMxD,SAASC,eAAe,QAAQ,0BAA0B;AAY1D,OAAO,MAAMC,SAAS,CAAkC;EAQtDC,WAAWA,CAACC,IAAO,EAAEC,SAAwB,EAAE;IAAAC,eAAA;IAAAA,eAAA,eANvB,IAAIC,GAAG,EAAyB;IAAAD,eAAA;IAAAA,eAAA,uBAGtD,EAAE;IAAAA,eAAA;IAIF,IAAI,CAACF,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACI,eAAe,GAClB,IAAI,CAACJ,IAAI,KAAK,YAAY,GACtB,kBAAkB,GAClB,IAAI,CAACA,IAAI,KAAK,OAAO,GACrB,cAAc,GACd,gBAAgB;IACtB,IAAI,CAACC,SAAS,GAAGA,SAAS;EAC5B;EAEAI,QAAQA,CAACC,IAAY,EAAW;IAAA,IAAAC,cAAA;IAC9B,QAAAA,cAAA,GAAO,IAAI,CAACC,IAAI,CAACC,GAAG,CAACH,IAAI,CAAC,cAAAC,cAAA,uBAAnBA,cAAA,CAAqBG,KAAK;EACnC;EAEAC,WAAWA,CACTL,IAAY,EACZI,KAAc,EACdE,MAAiD,EACjDC,QAAoC,EACpCC,sBAAuC,EACjC;IACN,IAAMC,IAAI,GAAG,IAAI,CAACP,IAAI,CAACC,GAAG,CAACH,IAAI,CAAC;IAChC,IAAI,CAACS,IAAI,EAAE;MACT,MAAM,IAAIC,KAAK,IAAAC,MAAA,CAAI,IAAI,CAACjB,IAAI,QAAAiB,MAAA,CAAKX,IAAI,sBAAmB;IAC1D;IAEA,IAAIM,MAAM,KAAK,SAAS,IAAIA,MAAM,KAAK,MAAM,EAAE;MAC7C,IAAI,CAACG,IAAI,CAACG,IAAI,EAAE;QACd,MAAM,IAAIF,KAAK,gBAAAC,MAAA,CACEL,MAAM,SAAAK,MAAA,CAAK,IAAI,CAACjB,IAAI,OAAAiB,MAAA,CAAIX,IAAI,6BAC5C;MACH;MAEA,IAAIa,OAAqC;MACzC,IAAIP,MAAM,KAAK,MAAM,EAAE;QACrB;QACA,IAAIG,IAAI,CAACK,MAAM,EAAE;UACfD,OAAO,GAAGE,OAAO,CAACC,OAAO,CAACP,IAAI,CAACL,KAAK,CAAC;QACvC,CAAC,MAAM,IAAIK,IAAI,CAACQ,OAAO,EAAE;UACvBJ,OAAO,GAAGJ,IAAI,CAACQ,OAAO;QACxB;MACF;MAEA,IAAI,CAACJ,OAAO,EAAE;QACZA,OAAO,GAAGJ,IAAI,CAACQ,OAAO,GAAGR,IAAI,CAACG,IAAI,CAAAM,aAAA;UAChCC,KAAK,EAAEb,MAAM,KAAK,MAAM,GAAG,SAAS,GAAG;QAAQ,GAC3CF,KAAK,EACT;QACF;QACAS,OAAO,CAACO,IAAI,CACTC,GAAG,IAAK;UACPZ,IAAI,CAACK,MAAM,GAAG,IAAI;UAClBL,IAAI,CAACL,KAAK,GAAGiB,GAAG;UAChBZ,IAAI,CAACa,WAAW,CAACC,aAAa,CAC5B,IAAIC,WAAW,CAAC,IAAI,CAAC1B,eAAe,EAAE;YACpC2B,MAAM,EAAEhB,IAAI,CAACL;UACf,CAAC,CAAC,CACH;QACH,CAAC,EACAsB,GAAG,IAAK;UACP;UACA,IAAI,EAACnB,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAEoB,KAAK,GAAE;YACpBpC,eAAe,CAACmC,GAAG,CAAC;UACtB;QACF,CAAC,CACF;MACH;MAEA,IAAInB,QAAQ,EAAE;QACZ,IAAMqB,eAAe,GAAG5C,oBAAoB,CAC1CuB,QAAQ,EACRC,sBAAsB,CACvB;QAEDK,OAAO,CAACO,IAAI,CACTC,GAAG,IAAK;UACPO,eAAe,CAAC,SAAS,CAAC,CAAC;YAAExB,KAAK,EAAEiB;UAAI,CAAC,CAAC;UAC1CO,eAAe,CAAC,SAAS,CAAC,EAAE;QAC9B,CAAC,EACAF,GAAG,IAAK;UACPE,eAAe,CAAC,OAAO,CAAC,CAACF,GAAG,CAAC;UAC7BE,eAAe,CAAC,SAAS,CAAC,EAAE;QAC9B,CAAC,CACF;MACH;MAEA;IACF;IAEA,IAAItB,MAAM,KAAK,SAAS,EAAE;MACxBG,IAAI,CAACL,KAAK,GAAGA,KAAK;IACpB,CAAC,MAAM;MACL,IAAItB,QAAQ,CAAC2B,IAAI,CAACL,KAAK,CAAC,EAAE;QACxByB,MAAM,CAACC,MAAM,CAACrB,IAAI,CAACL,KAAK,EAAEA,KAAK,CAAC;MAClC,CAAC,MAAM;QACL;QACA2B,OAAO,CAACC,IAAI,kCAAArB,MAAA,CACsB,IAAI,CAACjB,IAAI,OAAAiB,MAAA,CAAIX,IAAI,iEAClD;QACDS,IAAI,CAACL,KAAK,GAAGA,KAAK;MACpB;IACF;IAEAK,IAAI,CAACa,WAAW,CAACC,aAAa,CAC5B,IAAIC,WAAW,CAAC,IAAI,CAAC1B,eAAe,EAAE;MACpC2B,MAAM,EAAEhB,IAAI,CAACL;IACf,CAAC,CAAC,CACH;EACH;EAEA6B,MAAMA,CACJC,SAAoC,EACpCC,cAA8B,EAC9BC,mBAAqC,EAC/B;IACN,IAAIC,KAAK,CAACC,OAAO,CAACJ,SAAS,CAAC,IAAIA,SAAS,CAACK,MAAM,GAAG,CAAC,EAAE;MACpD,IAAMC,OAAO,GAAGlD,gBAAgB,CAC9B4C,SAAS,EACRO,QAAqB,IACpB,IAAI,CAACzB,OAAO,CAACyB,QAAQ,EAAEN,cAAc,EAAEC,mBAAmB,CAAC,EAC7D,IAAI,CAAC1C,IAAI,CACV;MACD,IAAI,CAACgD,YAAY,CAACC,IAAI,CAACH,OAAO,CAAC;IACjC;EACF;EAEAI,QAAQA,CAACC,QAAgB,EAAEC,QAAuB,EAAQ;IAAA,IAAAC,eAAA;IACxD,CAAAA,eAAA,OAAI,CAAC7C,IAAI,CACNC,GAAG,CAAC0C,QAAQ,CAAC,cAAAE,eAAA,uBADhBA,eAAA,CAEIzB,WAAW,CAAC0B,gBAAgB,CAAC,IAAI,CAAClD,eAAe,EAAEgD,QAAQ,CAAC;EAClE;EAEMG,OAAOA,CAACC,SAAiC,EAAiB;IAAA,IAAAC,KAAA;IAAA,OAAAC,iBAAA;MAAA,IAAAC,KAAA,aAAAA,CACjDC,eAAe;QAC1B,MAAMvC,OAAO,CAACwC,GAAG,CACf,CAAC,GAAGL,SAAS,CAAC,CAACM,GAAG,CAAEC,GAAG,IAAK;UAC1B,IAAMC,CAAC,GAAGJ,eAAe,CAACnD,GAAG,CAACsD,GAAG,CAAC;UAClC,OAAOC,CAAC;QACV,CAAC,CAAC,CACH;MAAC;MANJ,KAAK,IAAM;QAAEJ;MAAgB,CAAC,IAAIH,KAAI,CAACT,YAAY,EAAE;QAAA,OAAAW,KAAA,CAAxCC,eAAe;MAO5B;IAAC;EACH;EAEMK,UAAUA,CAAA,EAAkB;IAAA,IAAAC,MAAA;IAAA,OAAAR,iBAAA;MAChC,KAAK,IAAM;QAAES;MAAc,CAAC,IAAID,MAAI,CAAClB,YAAY,EAAE;QACjD,MAAMmB,aAAa;MACrB;IAAC;EACH;EAEc7C,OAAOA,CACnByB,QAAqB,EACrBN,cAA8B,EAC9BC,mBAAqC,EACnB;IAAA,IAAA0B,MAAA;IAAA,OAAAV,iBAAA;MAClB,IAAI,QAAQlE,YAAY,CAACuD,QAAQ,EAAEN,cAAc,CAAC,CAAC,EAAE;QACnD,OAAO,KAAK;MACd;MACA,IAAI/B,KAAc;MAClB,IAAI0D,MAAI,CAACpE,IAAI,KAAK,OAAO,IAAI0C,mBAAmB,IAAIK,QAAQ,CAACsB,MAAM,EAAE;QACnE,IAAMC,SAAS,SAAS5B,mBAAmB;QAC3C,IAAIvD,cAAc,CAACmF,SAAS,EAAEvB,QAAQ,CAACzC,IAAI,CAAC,EAAE;UAC5CI,KAAK,GAAG4D,SAAS,CAACvB,QAAQ,CAACzC,IAAI,CAAC;QAClC;MACF;MACA,IAAIY,IAA2B;MAC/B,IAAIqD,aAAkC,GAAG,KAAK;MAC9C,IAAI7D,KAAK,KAAK8D,SAAS,EAAE;QACvB,IAAIzB,QAAQ,CAACzB,OAAO,EAAE;UACpB,IAAMmD,WAAW,GAAAjD,aAAA;YACfkD,SAAS,EAAE;UAAO,GACf3B,QAAQ,CAACzB,OAAO,CACpB;UACD,UAAU9B,YAAY,CAACuD,QAAQ,CAACzB,OAAO,EAAEmB,cAAc,CAAC,EAAE;YACxDvB,IAAI;cAAA,IAAAyD,IAAA,GAAAjB,iBAAA,CAAG,WAAOkB,OAAO;gBAAA,OACnB,OACSjF,WAAW,CAAC8E,WAAW,EAAEhC,cAAc,EAAEmC,OAAO,CAAC,EAGxDlE,KAAK;cAAA;cAAA,gBAAAQ,KAAA2D,EAAA;gBAAA,OAAAF,IAAA,CAAAG,KAAA,OAAAC,SAAA;cAAA;YAAA;YACTR,aAAa,GAAGxB,QAAQ,CAACzB,OAAO,CAAC0D,IAAI;YACrC,IAAI,CAACT,aAAa,EAAE;cAClB7D,KAAK,SAASQ,IAAI,EAAE;YACtB;UACF,CAAC,MAAM,IAAI,CAAC/B,cAAc,CAAC4D,QAAQ,EAAE,OAAO,CAAC,EAAE;YAC7C,OAAO,KAAK;UACd;QACF;QACA,IAAI,CAAC,CAAC7B,IAAI,IAAIqD,aAAa,KAAKxB,QAAQ,CAACrC,KAAK,KAAK8D,SAAS,EAAE;UAC5D;UACA;UACA9D,KAAK,SAASjB,qBAAqB,CAACsD,QAAQ,CAACrC,KAAK,EAAE+B,cAAc,CAAC;QACrE;MACF;MAEA,IAAMwC,OAAsB,GAAG;QAC7BvE,KAAK;QACL;QACAkB,WAAW,EAAE,IAAIsD,WAAW,EAAE;QAC9BhE,IAAI;QACJE,MAAM,EAAE,CAACmD;MACX,CAAC;MAED,IAAIxB,QAAQ,CAACG,QAAQ,EAAE;QACrB+B,OAAO,CAACrD,WAAW,CAAC0B,gBAAgB,CAClCc,MAAI,CAAChE,eAAe,EACpBb,eAAe,CAACwD,QAAQ,CAACG,QAAQ,EAAET,cAAc,CAAC,CACnD;MACH;MAEA,IAAIM,QAAQ,CAACoC,KAAK,IAAIf,MAAI,CAACpE,IAAI,KAAK,YAAY,EAAE;QAChD,IAAMoF,IAAI,GAAG/F,wBAAwB,CACnC6B,IAAI,GAAG6B,QAAQ,CAACzB,OAAO,GAAGyB,QAAQ,CAACrC,KAAK,EACxC0D,MAAI,CAACpE,IAAI,CACV;QACD,KAAK,IAAMqF,GAAG,IAAID,IAAI,EAAE;UACtBhB,MAAI,CAAClB,QAAQ,CAACmC,GAAG,EAAE,MAAM;YACvB,IAAInE,IAAI,EAAE;cACRkD,MAAI,CAACzD,WAAW,CAACoC,QAAQ,CAACzC,IAAI,EAAE;gBAAEmB,KAAK,EAAE;cAAU,CAAC,EAAE,SAAS,CAAC;YAClE,CAAC,MAAM;cACL2C,MAAI,CAACzD,WAAW,CACdoC,QAAQ,CAACzC,IAAI,EACbZ,gBAAgB,CAACqD,QAAQ,CAACrC,KAAK,EAAE+B,cAAc,CAAC,EAChD,SAAS,CACV;YACH;UACF,CAAC,CAAC;QACJ;MACF;MAEA,IAAI2B,MAAI,CAAC5D,IAAI,CAAC8E,GAAG,CAACvC,QAAQ,CAACzC,IAAI,CAAC,EAAE;QAChC,MAAM,IAAIU,KAAK,IAAAC,MAAA,CACVmD,MAAI,CAACpE,IAAI,QAAAiB,MAAA,CAAK8B,QAAQ,CAACzC,IAAI,iCAC/B;MACH;MACA8D,MAAI,CAAC5D,IAAI,CAAC+E,GAAG,CAACxC,QAAQ,CAACzC,IAAI,EAAE2E,OAAO,CAAC;MAErC,OAAO,IAAI;IAAC;EACd;AACF"}
1
+ {"version":3,"file":"DataStore.js","names":["hasOwnProperty","isObject","strictCollectMemberUsage","eventCallbackFactory","listenerFactory","asyncCheckIf","asyncComputeRealValue","computeRealValue","resolveData","resolveDataStore","handleHttpError","DataStore","constructor","type","hostBrick","_defineProperty","Map","changeEventType","getValue","name","_this$data$get","data","get","value","updateValue","method","callback","callbackRuntimeContext","item","Error","concat","load","promise","loaded","Promise","resolve","loading","_objectSpread","cache","then","val","eventTarget","dispatchEvent","CustomEvent","detail","err","error","callbackFactory","Object","assign","console","warn","define","dataConfs","runtimeContext","asyncHostProperties","Array","isArray","length","pending","dataConf","pendingStack","push","onChange","dataName","listener","_this$data$get2","addEventListener","waitFor","dataNames","_this","_asyncToGenerator","_loop","pendingContexts","all","map","ctx","p","waitForAll","_this2","pendingResult","_this3","expose","hostProps","isLazyResolve","undefined","resolveConf","transform","_ref","options","_x","apply","arguments","lazy","newData","EventTarget","track","deps","dep","has","set"],"sources":["../../../../src/internal/data/DataStore.ts"],"sourcesContent":["import type { BrickEventHandlerCallback, ContextConf } from \"@next-core/types\";\nimport { hasOwnProperty, isObject } from \"@next-core/utils/general\";\nimport { strictCollectMemberUsage } from \"@next-core/utils/storyboard\";\nimport { eventCallbackFactory, listenerFactory } from \"../bindListeners.js\";\nimport { asyncCheckIf } from \"../compute/checkIf.js\";\nimport {\n asyncComputeRealValue,\n computeRealValue,\n} from \"../compute/computeRealValue.js\";\nimport { ResolveOptions, resolveData } from \"./resolveData.js\";\nimport { resolveDataStore } from \"./resolveDataStore.js\";\nimport type {\n AsyncProperties,\n RuntimeBrick,\n RuntimeContext,\n} from \"../interfaces.js\";\nimport { handleHttpError } from \"../../handleHttpError.js\";\n\nexport type DataStoreType = \"CTX\" | \"STATE\" | \"FORM_STATE\";\n\nexport interface DataStoreItem {\n value: unknown;\n eventTarget: EventTarget;\n loaded?: boolean;\n loading?: Promise<unknown>;\n load?: (options?: ResolveOptions) => Promise<unknown>;\n}\n\nexport class DataStore<T extends DataStoreType = \"CTX\"> {\n private readonly type: T;\n private readonly data = new Map<string, DataStoreItem>();\n private readonly changeEventType: string;\n private readonly pendingStack: Array<ReturnType<typeof resolveDataStore>> =\n [];\n public readonly hostBrick?: RuntimeBrick;\n\n constructor(type: T, hostBrick?: RuntimeBrick) {\n this.type = type;\n this.changeEventType =\n this.type === \"FORM_STATE\"\n ? \"formstate.change\"\n : this.type === \"STATE\"\n ? \"state.change\"\n : \"context.change\";\n this.hostBrick = hostBrick;\n }\n\n getValue(name: string): unknown {\n return this.data.get(name)?.value;\n }\n\n updateValue(\n name: string,\n value: unknown,\n method: \"assign\" | \"replace\" | \"refresh\" | \"load\",\n callback?: BrickEventHandlerCallback,\n callbackRuntimeContext?: RuntimeContext\n ): void {\n const item = this.data.get(name);\n if (!item) {\n throw new Error(`${this.type} '${name}' is not defined`);\n }\n\n if (method === \"refresh\" || method === \"load\") {\n if (!item.load) {\n throw new Error(\n `You can not ${method} \"${this.type}.${name}\" which has no resolve`\n );\n }\n\n let promise: Promise<unknown> | undefined;\n if (method === \"load\") {\n // Try to reuse previous request when calling `load`.\n if (item.loaded) {\n promise = Promise.resolve(item.value);\n } else if (item.loading) {\n promise = item.loading;\n }\n }\n\n if (!promise) {\n promise = item.loading = item.load({\n cache: method === \"load\" ? \"default\" : \"reload\",\n ...(value as ResolveOptions),\n });\n // Do not use the chained promise, since the callbacks need the original promise.\n promise.then(\n (val) => {\n item.loaded = true;\n item.value = val;\n item.eventTarget.dispatchEvent(\n new CustomEvent(this.changeEventType, {\n detail: item.value,\n })\n );\n },\n (err) => {\n // Let users override error handling.\n if (!callback?.error) {\n handleHttpError(err);\n }\n }\n );\n }\n\n if (callback) {\n const callbackFactory = eventCallbackFactory(\n callback,\n callbackRuntimeContext!\n );\n\n promise.then(\n (val) => {\n callbackFactory(\"success\")({ value: val });\n callbackFactory(\"finally\")();\n },\n (err) => {\n callbackFactory(\"error\")(err);\n callbackFactory(\"finally\")();\n }\n );\n }\n\n return;\n }\n\n if (method === \"replace\") {\n item.value = value;\n } else {\n if (isObject(item.value)) {\n Object.assign(item.value, value);\n } else {\n // eslint-disable-next-line no-console\n console.warn(\n `Non-object current value of \"${this.type}.${name}\" for \"context.assign\", try \"context.replace\" instead.`\n );\n item.value = value;\n }\n }\n\n item.eventTarget.dispatchEvent(\n new CustomEvent(this.changeEventType, {\n detail: item.value,\n })\n );\n }\n\n define(\n dataConfs: ContextConf[] | undefined,\n runtimeContext: RuntimeContext,\n asyncHostProperties?: AsyncProperties\n ): void {\n if (Array.isArray(dataConfs) && dataConfs.length > 0) {\n const pending = resolveDataStore(\n dataConfs,\n (dataConf: ContextConf) =>\n this.resolve(dataConf, runtimeContext, asyncHostProperties),\n this.type\n );\n this.pendingStack.push(pending);\n }\n }\n\n onChange(dataName: string, listener: EventListener): void {\n this.data\n .get(dataName)\n ?.eventTarget.addEventListener(this.changeEventType, listener);\n }\n\n async waitFor(dataNames: string[] | Set<string>): Promise<void> {\n for (const { pendingContexts } of this.pendingStack) {\n await Promise.all(\n [...dataNames].map((ctx) => {\n const p = pendingContexts.get(ctx);\n return p;\n })\n );\n }\n }\n\n async waitForAll(): Promise<void> {\n for (const { pendingResult } of this.pendingStack) {\n await pendingResult;\n }\n }\n\n private async resolve(\n dataConf: ContextConf,\n runtimeContext: RuntimeContext,\n asyncHostProperties?: AsyncProperties\n ): Promise<boolean> {\n if (!(await asyncCheckIf(dataConf, runtimeContext))) {\n return false;\n }\n let value: unknown;\n if (this.type === \"STATE\" && asyncHostProperties && dataConf.expose) {\n const hostProps = await asyncHostProperties;\n if (hasOwnProperty(hostProps, dataConf.name)) {\n value = hostProps[dataConf.name];\n }\n }\n let load: DataStoreItem[\"load\"];\n let isLazyResolve: boolean | undefined = false;\n if (value === undefined) {\n if (dataConf.resolve) {\n const resolveConf = {\n transform: \"value\",\n ...dataConf.resolve,\n };\n if (await asyncCheckIf(dataConf.resolve, runtimeContext)) {\n load = async (options) =>\n (\n (await resolveData(resolveConf, runtimeContext, options)) as {\n value: unknown;\n }\n ).value;\n isLazyResolve = dataConf.resolve.lazy;\n if (!isLazyResolve) {\n value = await load();\n }\n } else if (!hasOwnProperty(dataConf, \"value\")) {\n return false;\n }\n }\n if ((!load || isLazyResolve) && dataConf.value !== undefined) {\n // If the context has no resolve, just use its `value`.\n // Or if the resolve is ignored or lazy, use its `value` as a fallback.\n value = await asyncComputeRealValue(dataConf.value, runtimeContext);\n }\n }\n\n const newData: DataStoreItem = {\n value,\n // This is required for tracking context, even if no `onChange` is specified.\n eventTarget: new EventTarget(),\n load,\n loaded: !isLazyResolve,\n };\n\n if (dataConf.onChange) {\n newData.eventTarget.addEventListener(\n this.changeEventType,\n listenerFactory(dataConf.onChange, runtimeContext)\n );\n }\n\n if (dataConf.track && this.type !== \"FORM_STATE\") {\n const deps = strictCollectMemberUsage(\n load ? dataConf.resolve : dataConf.value,\n this.type\n );\n for (const dep of deps) {\n this.onChange(dep, () => {\n if (load) {\n this.updateValue(dataConf.name, { cache: \"default\" }, \"refresh\");\n } else {\n this.updateValue(\n dataConf.name,\n computeRealValue(dataConf.value, runtimeContext),\n \"replace\"\n );\n }\n });\n }\n }\n\n if (this.data.has(dataConf.name)) {\n throw new Error(\n `${this.type} '${dataConf.name}' has already been declared`\n );\n }\n this.data.set(dataConf.name, newData);\n\n return true;\n }\n}\n"],"mappings":"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"}
@@ -15,20 +15,20 @@ export function processExtFields(ext_fields) {
15
15
  }
16
16
  if (hasQueryParams) {
17
17
  if (hasBodyParams) {
18
- var [_data, _params, _options2] = args;
18
+ var [_data, _params, _options] = args;
19
19
  return {
20
20
  data: _data,
21
21
  options: _objectSpread({
22
22
  params: _params
23
- }, _options2)
23
+ }, _options)
24
24
  };
25
25
  }
26
- var [params, _options] = args;
26
+ var [params, _options2] = args;
27
27
  return {
28
28
  data: {},
29
29
  options: _objectSpread({
30
30
  params: params
31
- }, _options)
31
+ }, _options2)
32
32
  };
33
33
  }
34
34
 
@@ -53,7 +53,7 @@ export function transformFormData(data) {
53
53
  return data;
54
54
  }
55
55
  var formData = new FormData();
56
- var _loop = function (key, value) {
56
+ var _loop = function (key) {
57
57
  if (Array.isArray(value)) {
58
58
  value.forEach(v => {
59
59
  formData.append(key, v);
@@ -68,7 +68,7 @@ export function transformFormData(data) {
68
68
  }
69
69
  };
70
70
  for (var [key, value] of Object.entries(data)) {
71
- _loop(key, value);
71
+ _loop(key);
72
72
  }
73
73
  return formData;
74
74
  }