@next-core/runtime 1.58.2 → 1.58.4

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 (74) hide show
  1. package/dist/cjs/CustomTemplates.js +11 -7
  2. package/dist/cjs/CustomTemplates.js.map +1 -1
  3. package/dist/cjs/ModalStack.js +2 -1
  4. package/dist/cjs/ModalStack.js.map +1 -1
  5. package/dist/cjs/StoryboardFunctionRegistry.js +2 -1
  6. package/dist/cjs/StoryboardFunctionRegistry.js.map +1 -1
  7. package/dist/cjs/createRoot.js +4 -4
  8. package/dist/cjs/createRoot.js.map +1 -1
  9. package/dist/cjs/index.js +24 -0
  10. package/dist/cjs/index.js.map +1 -1
  11. package/dist/cjs/internal/CustomTemplates/bindTemplateProxy.js +5 -4
  12. package/dist/cjs/internal/CustomTemplates/bindTemplateProxy.js.map +1 -1
  13. package/dist/cjs/internal/CustomTemplates/expandCustomTemplate.js +7 -4
  14. package/dist/cjs/internal/CustomTemplates/expandCustomTemplate.js.map +1 -1
  15. package/dist/cjs/internal/CustomTemplates/replaceSlotWithSlottedBricks.js +5 -4
  16. package/dist/cjs/internal/CustomTemplates/replaceSlotWithSlottedBricks.js.map +1 -1
  17. package/dist/cjs/internal/CustomTemplates/setupTemplateProxy.js +21 -18
  18. package/dist/cjs/internal/CustomTemplates/setupTemplateProxy.js.map +1 -1
  19. package/dist/cjs/internal/CustomTemplates/setupUseBrickInTemplate.js +7 -4
  20. package/dist/cjs/internal/CustomTemplates/setupUseBrickInTemplate.js.map +1 -1
  21. package/dist/cjs/internal/CustomTemplates/utils.js +3 -3
  22. package/dist/cjs/internal/CustomTemplates/utils.js.map +1 -1
  23. package/dist/cjs/internal/ErrorNode.js +2 -1
  24. package/dist/cjs/internal/ErrorNode.js.map +1 -1
  25. package/dist/cjs/internal/FormRenderer/expandFormRenderer.js +3 -3
  26. package/dist/cjs/internal/FormRenderer/expandFormRenderer.js.map +1 -1
  27. package/dist/cjs/internal/FormRenderer/utils.js +2 -2
  28. package/dist/cjs/internal/FormRenderer/utils.js.map +1 -1
  29. package/dist/cjs/internal/Renderer.js +18 -13
  30. package/dist/cjs/internal/Renderer.js.map +1 -1
  31. package/dist/cjs/internal/RendererContext.js +10 -8
  32. package/dist/cjs/internal/RendererContext.js.map +1 -1
  33. package/dist/cjs/internal/Router.js +6 -0
  34. package/dist/cjs/internal/Router.js.map +1 -1
  35. package/dist/cjs/internal/Runtime.js +15 -16
  36. package/dist/cjs/internal/Runtime.js.map +1 -1
  37. package/dist/cjs/internal/bindListeners.js +3 -2
  38. package/dist/cjs/internal/bindListeners.js.map +1 -1
  39. package/dist/cjs/internal/compute/evaluate.js +4 -4
  40. package/dist/cjs/internal/compute/evaluate.js.map +1 -1
  41. package/dist/cjs/internal/compute/getStorageItem.js +2 -1
  42. package/dist/cjs/internal/compute/getStorageItem.js.map +1 -1
  43. package/dist/cjs/internal/compute/listenOnTrackingContext.js +2 -1
  44. package/dist/cjs/internal/compute/listenOnTrackingContext.js.map +1 -1
  45. package/dist/cjs/internal/data/resolveDataStore.js +4 -2
  46. package/dist/cjs/internal/data/resolveDataStore.js.map +1 -1
  47. package/dist/cjs/internal/matchStoryboard.js +2 -2
  48. package/dist/cjs/internal/matchStoryboard.js.map +1 -1
  49. package/dist/cjs/internal/poll.js +3 -3
  50. package/dist/cjs/internal/poll.js.map +1 -1
  51. package/dist/cjs/internal/secret_internals.js +7 -6
  52. package/dist/cjs/internal/secret_internals.js.map +1 -1
  53. package/dist/cjs/internal/setupRootRuntimeContext.js +3 -2
  54. package/dist/cjs/internal/setupRootRuntimeContext.js.map +1 -1
  55. package/dist/cjs/isNetworkError.js +12 -0
  56. package/dist/cjs/isNetworkError.js.map +1 -0
  57. package/dist/cjs/setWatermark.js +4 -4
  58. package/dist/cjs/setWatermark.js.map +1 -1
  59. package/dist/cjs/shouldReloadForError.js +26 -0
  60. package/dist/cjs/shouldReloadForError.js.map +1 -0
  61. package/dist/cjs/themeAndMode.js +2 -1
  62. package/dist/cjs/themeAndMode.js.map +1 -1
  63. package/dist/esm/index.js +2 -0
  64. package/dist/esm/index.js.map +1 -1
  65. package/dist/esm/internal/Router.js +6 -0
  66. package/dist/esm/internal/Router.js.map +1 -1
  67. package/dist/esm/isNetworkError.js +6 -0
  68. package/dist/esm/isNetworkError.js.map +1 -0
  69. package/dist/esm/shouldReloadForError.js +19 -0
  70. package/dist/esm/shouldReloadForError.js.map +1 -0
  71. package/dist/types/index.d.ts +2 -0
  72. package/dist/types/isNetworkError.d.ts +1 -0
  73. package/dist/types/shouldReloadForError.d.ts +2 -0
  74. package/package.json +9 -9
@@ -10,6 +10,7 @@ var _utils = require("../CustomTemplates/utils.js");
10
10
  var _utils2 = require("../FormRenderer/utils.js");
11
11
  function listenOnTrackingContext(brick, trackingContextList) {
12
12
  for (const track of trackingContextList) {
13
+ var _brick$disposes;
13
14
  const listener = () => {
14
15
  if (brick.element) {
15
16
  (0, _setProperties.setProperties)(brick.element, {
@@ -17,7 +18,7 @@ function listenOnTrackingContext(brick, trackingContextList) {
17
18
  }, brick.runtimeContext);
18
19
  }
19
20
  };
20
- brick.disposes ?? (brick.disposes = []);
21
+ (_brick$disposes = brick.disposes) !== null && _brick$disposes !== void 0 ? _brick$disposes : brick.disposes = [];
21
22
  if (track.contextNames) {
22
23
  for (const contextName of track.contextNames) {
23
24
  brick.disposes.push(brick.runtimeContext.ctxStore.onChange(contextName, listener));
@@ -1 +1 @@
1
- {"version":3,"file":"listenOnTrackingContext.js","names":["_setProperties","require","_utils","_utils2","listenOnTrackingContext","brick","trackingContextList","track","listener","element","setProperties","propName","propValue","runtimeContext","disposes","contextNames","contextName","push","ctxStore","onChange","stateNames","tplStateStore","getTplStateStore","stateName","formStateNames","formStateStore","getFormStateStore","trackAfterInitial","initialTracker"],"sources":["../../../../src/internal/compute/listenOnTrackingContext.ts"],"sourcesContent":["import { setProperties } from \"./setProperties.js\";\nimport type { RuntimeBrick, RuntimeContext } from \"../interfaces.js\";\nimport { getTplStateStore } from \"../CustomTemplates/utils.js\";\nimport { getFormStateStore } from \"../FormRenderer/utils.js\";\n\nexport interface TrackingContextItem {\n contextNames: string[] | Set<string> | false;\n stateNames: string[] | Set<string> | false;\n formStateNames: string[] | Set<string> | false;\n propName: string;\n propValue: unknown;\n}\n\nexport interface InitialTracker {\n disposes: (() => void)[];\n listener: () => void;\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 brick.disposes ??= [];\n if (track.contextNames) {\n for (const contextName of track.contextNames) {\n brick.disposes.push(\n brick.runtimeContext.ctxStore.onChange(contextName, listener)\n );\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 brick.disposes.push(tplStateStore.onChange(stateName, listener));\n }\n }\n if (track.formStateNames) {\n const formStateStore = getFormStateStore(\n brick.runtimeContext,\n \"FORM_STATE\",\n `: \"${track.propValue}\"`\n );\n for (const stateName of track.formStateNames) {\n brick.disposes.push(formStateStore.onChange(stateName, listener));\n }\n }\n }\n}\n\nexport function trackAfterInitial(\n runtimeContext: RuntimeContext,\n trackingContextList: Pick<\n TrackingContextItem,\n \"contextNames\" | \"stateNames\" | \"propValue\"\n >[],\n initialTracker: InitialTracker | undefined\n) {\n if (!initialTracker) {\n return;\n }\n for (const { contextNames, stateNames, propValue } of trackingContextList) {\n if (contextNames) {\n for (const contextName of contextNames) {\n initialTracker.disposes.push(\n runtimeContext.ctxStore.onChange(contextName, initialTracker.listener)\n );\n }\n }\n if (stateNames) {\n for (const stateName of stateNames) {\n const tplStateStore = getTplStateStore(\n runtimeContext,\n \"STATE\",\n `: \"${propValue}\"`\n );\n initialTracker.disposes.push(\n tplStateStore.onChange(stateName, initialTracker.listener)\n );\n }\n }\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAeO,SAASG,uBAAuBA,CACrCC,KAAmB,EACnBC,mBAA0C,EACpC;EACN,KAAK,MAAMC,KAAK,IAAID,mBAAmB,EAAE;IACvC,MAAME,QAAQ,GAAGA,CAAA,KAAY;MAC3B,IAAIH,KAAK,CAACI,OAAO,EAAE;QACjB,IAAAC,4BAAa,EACXL,KAAK,CAACI,OAAO,EACb;UAAE,CAACF,KAAK,CAACI,QAAQ,GAAGJ,KAAK,CAACK;QAAU,CAAC,EACrCP,KAAK,CAACQ,cACR,CAAC;MACH;IACF,CAAC;IACDR,KAAK,CAACS,QAAQ,KAAdT,KAAK,CAACS,QAAQ,GAAK,EAAE;IACrB,IAAIP,KAAK,CAACQ,YAAY,EAAE;MACtB,KAAK,MAAMC,WAAW,IAAIT,KAAK,CAACQ,YAAY,EAAE;QAC5CV,KAAK,CAACS,QAAQ,CAACG,IAAI,CACjBZ,KAAK,CAACQ,cAAc,CAACK,QAAQ,CAACC,QAAQ,CAACH,WAAW,EAAER,QAAQ,CAC9D,CAAC;MACH;IACF;IACA,IAAID,KAAK,CAACa,UAAU,EAAE;MACpB,MAAMC,aAAa,GAAG,IAAAC,uBAAgB,EACpCjB,KAAK,CAACQ,cAAc,EACpB,OAAO,EACP,MAAMN,KAAK,CAACK,SAAS,GACvB,CAAC;MACD,KAAK,MAAMW,SAAS,IAAIhB,KAAK,CAACa,UAAU,EAAE;QACxCf,KAAK,CAACS,QAAQ,CAACG,IAAI,CAACI,aAAa,CAACF,QAAQ,CAACI,SAAS,EAAEf,QAAQ,CAAC,CAAC;MAClE;IACF;IACA,IAAID,KAAK,CAACiB,cAAc,EAAE;MACxB,MAAMC,cAAc,GAAG,IAAAC,yBAAiB,EACtCrB,KAAK,CAACQ,cAAc,EACpB,YAAY,EACZ,MAAMN,KAAK,CAACK,SAAS,GACvB,CAAC;MACD,KAAK,MAAMW,SAAS,IAAIhB,KAAK,CAACiB,cAAc,EAAE;QAC5CnB,KAAK,CAACS,QAAQ,CAACG,IAAI,CAACQ,cAAc,CAACN,QAAQ,CAACI,SAAS,EAAEf,QAAQ,CAAC,CAAC;MACnE;IACF;EACF;AACF;AAEO,SAASmB,iBAAiBA,CAC/Bd,cAA8B,EAC9BP,mBAGG,EACHsB,cAA0C,EAC1C;EACA,IAAI,CAACA,cAAc,EAAE;IACnB;EACF;EACA,KAAK,MAAM;IAAEb,YAAY;IAAEK,UAAU;IAAER;EAAU,CAAC,IAAIN,mBAAmB,EAAE;IACzE,IAAIS,YAAY,EAAE;MAChB,KAAK,MAAMC,WAAW,IAAID,YAAY,EAAE;QACtCa,cAAc,CAACd,QAAQ,CAACG,IAAI,CAC1BJ,cAAc,CAACK,QAAQ,CAACC,QAAQ,CAACH,WAAW,EAAEY,cAAc,CAACpB,QAAQ,CACvE,CAAC;MACH;IACF;IACA,IAAIY,UAAU,EAAE;MACd,KAAK,MAAMG,SAAS,IAAIH,UAAU,EAAE;QAClC,MAAMC,aAAa,GAAG,IAAAC,uBAAgB,EACpCT,cAAc,EACd,OAAO,EACP,MAAMD,SAAS,GACjB,CAAC;QACDgB,cAAc,CAACd,QAAQ,CAACG,IAAI,CAC1BI,aAAa,CAACF,QAAQ,CAACI,SAAS,EAAEK,cAAc,CAACpB,QAAQ,CAC3D,CAAC;MACH;IACF;EACF;AACF","ignoreList":[]}
1
+ {"version":3,"file":"listenOnTrackingContext.js","names":["_setProperties","require","_utils","_utils2","listenOnTrackingContext","brick","trackingContextList","track","_brick$disposes","listener","element","setProperties","propName","propValue","runtimeContext","disposes","contextNames","contextName","push","ctxStore","onChange","stateNames","tplStateStore","getTplStateStore","stateName","formStateNames","formStateStore","getFormStateStore","trackAfterInitial","initialTracker"],"sources":["../../../../src/internal/compute/listenOnTrackingContext.ts"],"sourcesContent":["import { setProperties } from \"./setProperties.js\";\nimport type { RuntimeBrick, RuntimeContext } from \"../interfaces.js\";\nimport { getTplStateStore } from \"../CustomTemplates/utils.js\";\nimport { getFormStateStore } from \"../FormRenderer/utils.js\";\n\nexport interface TrackingContextItem {\n contextNames: string[] | Set<string> | false;\n stateNames: string[] | Set<string> | false;\n formStateNames: string[] | Set<string> | false;\n propName: string;\n propValue: unknown;\n}\n\nexport interface InitialTracker {\n disposes: (() => void)[];\n listener: () => void;\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 brick.disposes ??= [];\n if (track.contextNames) {\n for (const contextName of track.contextNames) {\n brick.disposes.push(\n brick.runtimeContext.ctxStore.onChange(contextName, listener)\n );\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 brick.disposes.push(tplStateStore.onChange(stateName, listener));\n }\n }\n if (track.formStateNames) {\n const formStateStore = getFormStateStore(\n brick.runtimeContext,\n \"FORM_STATE\",\n `: \"${track.propValue}\"`\n );\n for (const stateName of track.formStateNames) {\n brick.disposes.push(formStateStore.onChange(stateName, listener));\n }\n }\n }\n}\n\nexport function trackAfterInitial(\n runtimeContext: RuntimeContext,\n trackingContextList: Pick<\n TrackingContextItem,\n \"contextNames\" | \"stateNames\" | \"propValue\"\n >[],\n initialTracker: InitialTracker | undefined\n) {\n if (!initialTracker) {\n return;\n }\n for (const { contextNames, stateNames, propValue } of trackingContextList) {\n if (contextNames) {\n for (const contextName of contextNames) {\n initialTracker.disposes.push(\n runtimeContext.ctxStore.onChange(contextName, initialTracker.listener)\n );\n }\n }\n if (stateNames) {\n for (const stateName of stateNames) {\n const tplStateStore = getTplStateStore(\n runtimeContext,\n \"STATE\",\n `: \"${propValue}\"`\n );\n initialTracker.disposes.push(\n tplStateStore.onChange(stateName, initialTracker.listener)\n );\n }\n }\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAeO,SAASG,uBAAuBA,CACrCC,KAAmB,EACnBC,mBAA0C,EACpC;EACN,KAAK,MAAMC,KAAK,IAAID,mBAAmB,EAAE;IAAA,IAAAE,eAAA;IACvC,MAAMC,QAAQ,GAAGA,CAAA,KAAY;MAC3B,IAAIJ,KAAK,CAACK,OAAO,EAAE;QACjB,IAAAC,4BAAa,EACXN,KAAK,CAACK,OAAO,EACb;UAAE,CAACH,KAAK,CAACK,QAAQ,GAAGL,KAAK,CAACM;QAAU,CAAC,EACrCR,KAAK,CAACS,cACR,CAAC;MACH;IACF,CAAC;IACD,CAAAN,eAAA,GAAAH,KAAK,CAACU,QAAQ,cAAAP,eAAA,cAAAA,eAAA,GAAdH,KAAK,CAACU,QAAQ,GAAK,EAAE;IACrB,IAAIR,KAAK,CAACS,YAAY,EAAE;MACtB,KAAK,MAAMC,WAAW,IAAIV,KAAK,CAACS,YAAY,EAAE;QAC5CX,KAAK,CAACU,QAAQ,CAACG,IAAI,CACjBb,KAAK,CAACS,cAAc,CAACK,QAAQ,CAACC,QAAQ,CAACH,WAAW,EAAER,QAAQ,CAC9D,CAAC;MACH;IACF;IACA,IAAIF,KAAK,CAACc,UAAU,EAAE;MACpB,MAAMC,aAAa,GAAG,IAAAC,uBAAgB,EACpClB,KAAK,CAACS,cAAc,EACpB,OAAO,EACP,MAAMP,KAAK,CAACM,SAAS,GACvB,CAAC;MACD,KAAK,MAAMW,SAAS,IAAIjB,KAAK,CAACc,UAAU,EAAE;QACxChB,KAAK,CAACU,QAAQ,CAACG,IAAI,CAACI,aAAa,CAACF,QAAQ,CAACI,SAAS,EAAEf,QAAQ,CAAC,CAAC;MAClE;IACF;IACA,IAAIF,KAAK,CAACkB,cAAc,EAAE;MACxB,MAAMC,cAAc,GAAG,IAAAC,yBAAiB,EACtCtB,KAAK,CAACS,cAAc,EACpB,YAAY,EACZ,MAAMP,KAAK,CAACM,SAAS,GACvB,CAAC;MACD,KAAK,MAAMW,SAAS,IAAIjB,KAAK,CAACkB,cAAc,EAAE;QAC5CpB,KAAK,CAACU,QAAQ,CAACG,IAAI,CAACQ,cAAc,CAACN,QAAQ,CAACI,SAAS,EAAEf,QAAQ,CAAC,CAAC;MACnE;IACF;EACF;AACF;AAEO,SAASmB,iBAAiBA,CAC/Bd,cAA8B,EAC9BR,mBAGG,EACHuB,cAA0C,EAC1C;EACA,IAAI,CAACA,cAAc,EAAE;IACnB;EACF;EACA,KAAK,MAAM;IAAEb,YAAY;IAAEK,UAAU;IAAER;EAAU,CAAC,IAAIP,mBAAmB,EAAE;IACzE,IAAIU,YAAY,EAAE;MAChB,KAAK,MAAMC,WAAW,IAAID,YAAY,EAAE;QACtCa,cAAc,CAACd,QAAQ,CAACG,IAAI,CAC1BJ,cAAc,CAACK,QAAQ,CAACC,QAAQ,CAACH,WAAW,EAAEY,cAAc,CAACpB,QAAQ,CACvE,CAAC;MACH;IACF;IACA,IAAIY,UAAU,EAAE;MACd,KAAK,MAAMG,SAAS,IAAIH,UAAU,EAAE;QAClC,MAAMC,aAAa,GAAG,IAAAC,uBAAgB,EACpCT,cAAc,EACd,OAAO,EACP,MAAMD,SAAS,GACjB,CAAC;QACDgB,cAAc,CAACd,QAAQ,CAACG,IAAI,CAC1BI,aAAa,CAACF,QAAQ,CAACI,SAAS,EAAEK,cAAc,CAACpB,QAAQ,CAC3D,CAAC;MACH;IACF;EACF;AACF","ignoreList":[]}
@@ -12,7 +12,8 @@ function resolveDataStore(contextConfs, resolveContext, keyword = "CTX", strict)
12
12
  // This is a map of how many pending context confs for each context name.
13
13
  const pendingDeps = new Map();
14
14
  for (const contextName of Array.from(dependencyMap.keys()).map(contextConf => contextConf.name)) {
15
- pendingDeps.set(contextName, (pendingDeps.get(contextName) ?? 0) + 1);
15
+ var _pendingDeps$get;
16
+ pendingDeps.set(contextName, ((_pendingDeps$get = pendingDeps.get(contextName)) !== null && _pendingDeps$get !== void 0 ? _pendingDeps$get : 0) + 1);
16
17
  }
17
18
  const hasNonStaticUsage = Array.from(dependencyMap.values()).some(stats => stats.hasNonStaticUsage);
18
19
  const processed = new WeakSet();
@@ -29,10 +30,11 @@ function resolveDataStore(contextConfs, resolveContext, keyword = "CTX", strict)
29
30
  return [contextName, promise];
30
31
  }));
31
32
  const wrapResolve = async contextConf => {
33
+ var _pendingDeps$get2;
32
34
  processed.add(contextConf);
33
35
  const resolved = await resolveContext(contextConf);
34
36
  dependencyMap.delete(contextConf);
35
- const left = pendingDeps.get(contextConf.name) ?? 0;
37
+ const left = (_pendingDeps$get2 = pendingDeps.get(contextConf.name)) !== null && _pendingDeps$get2 !== void 0 ? _pendingDeps$get2 : 0;
36
38
  if (resolved) {
37
39
  // Assert: contextConf.name exists in deferredContexts
38
40
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
@@ -1 +1 @@
1
- {"version":3,"file":"resolveDataStore.js","names":["_storyboard","require","resolveDataStore","contextConfs","resolveContext","keyword","strict","dependencyMap","getDependencyMapOfContext","pendingDeps","Map","contextName","Array","from","keys","map","contextConf","name","set","get","hasNonStaticUsage","values","some","stats","processed","WeakSet","deferredContexts","pendingContexts","Set","promise","Promise","resolve","reject","catch","wrapResolve","add","resolved","delete","left","Error","scheduleNext","scheduleAsSerial","readyContexts","entries","filter","predicateNextResolveFactory","entry","has","all","pendingResult","then","size","detectCircularContexts","deferred","error","index","usedProperties","dep","depsMap","data","if","value","collectMemberUsage","legacyTplStats","prop","duplicatedMap","next","processedAtLeastOne","ReferenceError","join"],"sources":["../../../../src/internal/data/resolveDataStore.ts"],"sourcesContent":["import { ContextConf } from \"@next-core/types\";\nimport { collectMemberUsage, MemberUsage } from \"@next-core/utils/storyboard\";\n\nexport interface DeferredContext {\n resolve(): void;\n reject(e: unknown): void;\n}\n\nexport function resolveDataStore(\n contextConfs: ContextConf[],\n resolveContext: (contextConf: ContextConf) => Promise<boolean>,\n keyword = \"CTX\",\n strict?: boolean\n): {\n pendingResult: Promise<void>;\n pendingContexts: Map<string, Promise<void>>;\n} {\n const dependencyMap = getDependencyMapOfContext(\n contextConfs,\n keyword,\n strict\n );\n // There maybe multiple context confs for a specific name, since there are conditional contexts.\n // This is a map of how many pending context confs for each context name.\n const pendingDeps = new Map<string, number>();\n for (const contextName of Array.from(dependencyMap.keys()).map(\n (contextConf) => contextConf.name\n )) {\n pendingDeps.set(contextName, (pendingDeps.get(contextName) ?? 0) + 1);\n }\n const hasNonStaticUsage = Array.from(dependencyMap.values()).some(\n (stats) => stats.hasNonStaticUsage\n );\n const processed = new WeakSet<ContextConf>();\n\n const deferredContexts = new Map<string, DeferredContext>();\n const pendingContexts = new Map(\n [...new Set(contextConfs.map((contextConf) => contextConf.name))].map(\n (contextName) => {\n const promise = new Promise<void>((resolve, reject) => {\n deferredContexts.set(contextName, { resolve, reject });\n });\n // The pending context will be caught by the renderer.\n promise.catch(() => {});\n return [contextName, promise];\n }\n )\n );\n\n const wrapResolve = async (contextConf: ContextConf): Promise<void> => {\n processed.add(contextConf);\n const resolved = await resolveContext(contextConf);\n dependencyMap.delete(contextConf);\n const left = pendingDeps.get(contextConf.name) ?? 0;\n if (resolved) {\n // Assert: contextConf.name exists in deferredContexts\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n deferredContexts.get(contextConf.name)!.resolve();\n pendingDeps.delete(contextConf.name);\n if (left === 0) {\n throw new Error(`Duplicated context defined: ${contextConf.name}`);\n }\n } else {\n // Assert: left >= 1\n if (left === 1) {\n // Assert: contextConf.name exists in deferredContexts\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n deferredContexts.get(contextConf.name)!.resolve();\n pendingDeps.delete(contextConf.name);\n } else {\n pendingDeps.set(contextConf.name, left - 1);\n }\n }\n await scheduleNext();\n };\n\n let scheduleAsSerial = hasNonStaticUsage;\n\n async function scheduleNext(): Promise<void> {\n const readyContexts = Array.from(dependencyMap.entries())\n .filter(predicateNextResolveFactory(pendingDeps, scheduleAsSerial))\n .map((entry) => entry[0])\n .filter((contextConf) => !processed.has(contextConf));\n await Promise.all(readyContexts.map(wrapResolve));\n }\n\n const pendingResult = scheduleNext()\n .then(async () => {\n // If there are still contexts left, it implies one of these situations:\n // - Circular contexts.\n // Such as: a depends on b, while b depends on a.\n // - Related contexts are all ignored.\n // Such as: a depends on b,\n // while both them are ignore by a falsy result of `if`.\n if (dependencyMap.size > 0) {\n // This will throw if circular contexts detected.\n detectCircularContexts(dependencyMap, keyword);\n scheduleAsSerial = true;\n await scheduleNext();\n }\n // There maybe ignored contexts which are still not fulfilled.\n // We treat them as RESOLVED.\n for (const deferred of deferredContexts.values()) {\n deferred.resolve();\n }\n })\n .catch((error) => {\n // There maybe contexts left not fulfilled, when an error occurred.\n // We treat them as REJECTED.\n for (const deferred of deferredContexts.values()) {\n deferred.reject(error);\n }\n throw error;\n });\n // The pending result will be caught by the renderer.\n pendingResult.catch(() => {});\n return { pendingResult, pendingContexts };\n}\n\nfunction predicateNextResolveFactory(\n pendingDeps: Map<string, number>,\n scheduleAsSerial: boolean\n): (entry: [ContextConf, MemberUsage], index: number) => boolean {\n return (entry, index) =>\n // When contexts contain computed CTX accesses, it implies a dynamic dependency map.\n // So make them process sequentially, keep the same behavior as before.\n scheduleAsSerial\n ? index === 0\n : // A context is ready when it has no pending dependencies.\n ![...entry[1].usedProperties].some((dep) => pendingDeps.has(dep));\n}\n\nexport function getDependencyMapOfContext(\n contextConfs: ContextConf[],\n keyword = \"CTX\",\n strict?: boolean\n): Map<ContextConf, MemberUsage> {\n const depsMap = new Map<ContextConf, MemberUsage>();\n for (const contextConf of contextConfs) {\n const data = [contextConf.if, contextConf.value, contextConf.resolve];\n const stats = collectMemberUsage(data, keyword);\n if (!strict && keyword === \"STATE\") {\n const legacyTplStats = collectMemberUsage(data, \"TPL\");\n // Merge stats with legacyTplStats\n for (const prop of legacyTplStats.usedProperties) {\n stats.usedProperties.add(prop);\n }\n if (legacyTplStats.hasNonStaticUsage) {\n stats.hasNonStaticUsage = true;\n }\n }\n depsMap.set(contextConf, stats);\n }\n return depsMap;\n}\n\nfunction detectCircularContexts(\n dependencyMap: Map<ContextConf, MemberUsage>,\n keyword: string\n): void {\n const duplicatedMap = new Map(dependencyMap);\n const pendingDeps = new Set<string>(\n Array.from(duplicatedMap.keys()).map((contextConf) => contextConf.name)\n );\n const next = (): void => {\n let processedAtLeastOne = false;\n for (const [contextConf, stats] of duplicatedMap.entries()) {\n if (![...stats.usedProperties].some((dep) => pendingDeps.has(dep))) {\n duplicatedMap.delete(contextConf);\n pendingDeps.delete(contextConf.name);\n processedAtLeastOne = true;\n }\n }\n if (processedAtLeastOne) {\n next();\n }\n };\n next();\n\n if (duplicatedMap.size > 0) {\n throw new ReferenceError(\n `Circular ${keyword} detected: ${Array.from(duplicatedMap.keys())\n .map((contextConf) => contextConf.name)\n .join(\", \")}`\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"resolveDataStore.js","names":["_storyboard","require","resolveDataStore","contextConfs","resolveContext","keyword","strict","dependencyMap","getDependencyMapOfContext","pendingDeps","Map","contextName","Array","from","keys","map","contextConf","name","_pendingDeps$get","set","get","hasNonStaticUsage","values","some","stats","processed","WeakSet","deferredContexts","pendingContexts","Set","promise","Promise","resolve","reject","catch","wrapResolve","_pendingDeps$get2","add","resolved","delete","left","Error","scheduleNext","scheduleAsSerial","readyContexts","entries","filter","predicateNextResolveFactory","entry","has","all","pendingResult","then","size","detectCircularContexts","deferred","error","index","usedProperties","dep","depsMap","data","if","value","collectMemberUsage","legacyTplStats","prop","duplicatedMap","next","processedAtLeastOne","ReferenceError","join"],"sources":["../../../../src/internal/data/resolveDataStore.ts"],"sourcesContent":["import { ContextConf } from \"@next-core/types\";\nimport { collectMemberUsage, MemberUsage } from \"@next-core/utils/storyboard\";\n\nexport interface DeferredContext {\n resolve(): void;\n reject(e: unknown): void;\n}\n\nexport function resolveDataStore(\n contextConfs: ContextConf[],\n resolveContext: (contextConf: ContextConf) => Promise<boolean>,\n keyword = \"CTX\",\n strict?: boolean\n): {\n pendingResult: Promise<void>;\n pendingContexts: Map<string, Promise<void>>;\n} {\n const dependencyMap = getDependencyMapOfContext(\n contextConfs,\n keyword,\n strict\n );\n // There maybe multiple context confs for a specific name, since there are conditional contexts.\n // This is a map of how many pending context confs for each context name.\n const pendingDeps = new Map<string, number>();\n for (const contextName of Array.from(dependencyMap.keys()).map(\n (contextConf) => contextConf.name\n )) {\n pendingDeps.set(contextName, (pendingDeps.get(contextName) ?? 0) + 1);\n }\n const hasNonStaticUsage = Array.from(dependencyMap.values()).some(\n (stats) => stats.hasNonStaticUsage\n );\n const processed = new WeakSet<ContextConf>();\n\n const deferredContexts = new Map<string, DeferredContext>();\n const pendingContexts = new Map(\n [...new Set(contextConfs.map((contextConf) => contextConf.name))].map(\n (contextName) => {\n const promise = new Promise<void>((resolve, reject) => {\n deferredContexts.set(contextName, { resolve, reject });\n });\n // The pending context will be caught by the renderer.\n promise.catch(() => {});\n return [contextName, promise];\n }\n )\n );\n\n const wrapResolve = async (contextConf: ContextConf): Promise<void> => {\n processed.add(contextConf);\n const resolved = await resolveContext(contextConf);\n dependencyMap.delete(contextConf);\n const left = pendingDeps.get(contextConf.name) ?? 0;\n if (resolved) {\n // Assert: contextConf.name exists in deferredContexts\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n deferredContexts.get(contextConf.name)!.resolve();\n pendingDeps.delete(contextConf.name);\n if (left === 0) {\n throw new Error(`Duplicated context defined: ${contextConf.name}`);\n }\n } else {\n // Assert: left >= 1\n if (left === 1) {\n // Assert: contextConf.name exists in deferredContexts\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n deferredContexts.get(contextConf.name)!.resolve();\n pendingDeps.delete(contextConf.name);\n } else {\n pendingDeps.set(contextConf.name, left - 1);\n }\n }\n await scheduleNext();\n };\n\n let scheduleAsSerial = hasNonStaticUsage;\n\n async function scheduleNext(): Promise<void> {\n const readyContexts = Array.from(dependencyMap.entries())\n .filter(predicateNextResolveFactory(pendingDeps, scheduleAsSerial))\n .map((entry) => entry[0])\n .filter((contextConf) => !processed.has(contextConf));\n await Promise.all(readyContexts.map(wrapResolve));\n }\n\n const pendingResult = scheduleNext()\n .then(async () => {\n // If there are still contexts left, it implies one of these situations:\n // - Circular contexts.\n // Such as: a depends on b, while b depends on a.\n // - Related contexts are all ignored.\n // Such as: a depends on b,\n // while both them are ignore by a falsy result of `if`.\n if (dependencyMap.size > 0) {\n // This will throw if circular contexts detected.\n detectCircularContexts(dependencyMap, keyword);\n scheduleAsSerial = true;\n await scheduleNext();\n }\n // There maybe ignored contexts which are still not fulfilled.\n // We treat them as RESOLVED.\n for (const deferred of deferredContexts.values()) {\n deferred.resolve();\n }\n })\n .catch((error) => {\n // There maybe contexts left not fulfilled, when an error occurred.\n // We treat them as REJECTED.\n for (const deferred of deferredContexts.values()) {\n deferred.reject(error);\n }\n throw error;\n });\n // The pending result will be caught by the renderer.\n pendingResult.catch(() => {});\n return { pendingResult, pendingContexts };\n}\n\nfunction predicateNextResolveFactory(\n pendingDeps: Map<string, number>,\n scheduleAsSerial: boolean\n): (entry: [ContextConf, MemberUsage], index: number) => boolean {\n return (entry, index) =>\n // When contexts contain computed CTX accesses, it implies a dynamic dependency map.\n // So make them process sequentially, keep the same behavior as before.\n scheduleAsSerial\n ? index === 0\n : // A context is ready when it has no pending dependencies.\n ![...entry[1].usedProperties].some((dep) => pendingDeps.has(dep));\n}\n\nexport function getDependencyMapOfContext(\n contextConfs: ContextConf[],\n keyword = \"CTX\",\n strict?: boolean\n): Map<ContextConf, MemberUsage> {\n const depsMap = new Map<ContextConf, MemberUsage>();\n for (const contextConf of contextConfs) {\n const data = [contextConf.if, contextConf.value, contextConf.resolve];\n const stats = collectMemberUsage(data, keyword);\n if (!strict && keyword === \"STATE\") {\n const legacyTplStats = collectMemberUsage(data, \"TPL\");\n // Merge stats with legacyTplStats\n for (const prop of legacyTplStats.usedProperties) {\n stats.usedProperties.add(prop);\n }\n if (legacyTplStats.hasNonStaticUsage) {\n stats.hasNonStaticUsage = true;\n }\n }\n depsMap.set(contextConf, stats);\n }\n return depsMap;\n}\n\nfunction detectCircularContexts(\n dependencyMap: Map<ContextConf, MemberUsage>,\n keyword: string\n): void {\n const duplicatedMap = new Map(dependencyMap);\n const pendingDeps = new Set<string>(\n Array.from(duplicatedMap.keys()).map((contextConf) => contextConf.name)\n );\n const next = (): void => {\n let processedAtLeastOne = false;\n for (const [contextConf, stats] of duplicatedMap.entries()) {\n if (![...stats.usedProperties].some((dep) => pendingDeps.has(dep))) {\n duplicatedMap.delete(contextConf);\n pendingDeps.delete(contextConf.name);\n processedAtLeastOne = true;\n }\n }\n if (processedAtLeastOne) {\n next();\n }\n };\n next();\n\n if (duplicatedMap.size > 0) {\n throw new ReferenceError(\n `Circular ${keyword} detected: ${Array.from(duplicatedMap.keys())\n .map((contextConf) => contextConf.name)\n .join(\", \")}`\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -13,8 +13,8 @@ function matchStoryboard(storyboards, pathname) {
13
13
  // E.g., `/legacy/tool` will match first before `/legacy`.
14
14
  // This enables two apps with relationship of parent-child of homepage.
15
15
  const sortedStoryboards = (0, _lodash.orderBy)(storyboards, storyboard => {
16
- var _storyboard$app$homep;
17
- return ((_storyboard$app$homep = storyboard.app.homepage) === null || _storyboard$app$homep === void 0 ? void 0 : _storyboard$app$homep.length) ?? 0;
16
+ var _storyboard$app$homep, _storyboard$app$homep2;
17
+ return (_storyboard$app$homep = (_storyboard$app$homep2 = storyboard.app.homepage) === null || _storyboard$app$homep2 === void 0 ? void 0 : _storyboard$app$homep2.length) !== null && _storyboard$app$homep !== void 0 ? _storyboard$app$homep : 0;
18
18
  }, "desc");
19
19
  for (const storyboard of sortedStoryboards) {
20
20
  const homepage = storyboard.app.homepage;
@@ -1 +1 @@
1
- {"version":3,"file":"matchStoryboard.js","names":["_lodash","require","_Runtime","matchStoryboard","storyboards","pathname","sortedStoryboards","orderBy","storyboard","_storyboard$app$homep","app","homepage","length","matchHomepage","replace","startsWith","isOutsideApp","_getRuntime$getCurren","process","env","NODE_ENV","getRuntime","getCurrentApp","id","window","STANDALONE_MICRO_APPS","standaloneMode"],"sources":["../../../src/internal/matchStoryboard.ts"],"sourcesContent":["import type { RuntimeStoryboard } from \"@next-core/types\";\nimport { orderBy } from \"lodash\";\nimport { getRuntime } from \"./Runtime.js\";\n\nexport function matchStoryboard(\n storyboards: RuntimeStoryboard[],\n pathname: string\n): RuntimeStoryboard | undefined {\n // Put apps with longer homepage before shorter ones.\n // E.g., `/legacy/tool` will match first before `/legacy`.\n // This enables two apps with relationship of parent-child of homepage.\n const sortedStoryboards = orderBy(\n storyboards,\n (storyboard) => storyboard.app.homepage?.length ?? 0,\n \"desc\"\n );\n for (const storyboard of sortedStoryboards) {\n const homepage = storyboard.app.homepage;\n if (typeof homepage === \"string\" && homepage[0] === \"/\") {\n if (matchHomepage(homepage, pathname)) {\n return storyboard;\n }\n }\n }\n}\n\nexport function matchHomepage(homepage: string, pathname: string) {\n return homepage === \"/\"\n ? pathname === homepage\n : `${pathname.replace(/\\/+$/, \"\")}/`.startsWith(\n `${homepage.replace(/\\/+$/, \"\")}/`\n );\n}\n\n// istanbul ignore next\n/**\n * We say it's an outside app when at least one of the below conditions are true:\n * - target app is not found.\n * - target app is not the current app.\n * - current app is non-standalone mode and target app is standalone mode.\n *\n * Note: when current app is standalone mode, other apps will not be found.\n */\nexport function isOutsideApp(\n storyboard: RuntimeStoryboard | undefined\n): boolean | undefined {\n if (process.env.NODE_ENV === \"test\") {\n return false;\n }\n return (\n !storyboard ||\n // Sometimes `storyboard.app.standaloneMode` is incorrect.\n (getRuntime().getCurrentApp()?.id !== storyboard.app.id &&\n !window.STANDALONE_MICRO_APPS &&\n storyboard.app.standaloneMode)\n );\n}\n"],"mappings":";;;;;;;;AACA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAEO,SAASE,eAAeA,CAC7BC,WAAgC,EAChCC,QAAgB,EACe;EAC/B;EACA;EACA;EACA,MAAMC,iBAAiB,GAAG,IAAAC,eAAO,EAC/BH,WAAW,EACVI,UAAU;IAAA,IAAAC,qBAAA;IAAA,OAAK,EAAAA,qBAAA,GAAAD,UAAU,CAACE,GAAG,CAACC,QAAQ,cAAAF,qBAAA,uBAAvBA,qBAAA,CAAyBG,MAAM,KAAI,CAAC;EAAA,GACpD,MACF,CAAC;EACD,KAAK,MAAMJ,UAAU,IAAIF,iBAAiB,EAAE;IAC1C,MAAMK,QAAQ,GAAGH,UAAU,CAACE,GAAG,CAACC,QAAQ;IACxC,IAAI,OAAOA,QAAQ,KAAK,QAAQ,IAAIA,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;MACvD,IAAIE,aAAa,CAACF,QAAQ,EAAEN,QAAQ,CAAC,EAAE;QACrC,OAAOG,UAAU;MACnB;IACF;EACF;AACF;AAEO,SAASK,aAAaA,CAACF,QAAgB,EAAEN,QAAgB,EAAE;EAChE,OAAOM,QAAQ,KAAK,GAAG,GACnBN,QAAQ,KAAKM,QAAQ,GACrB,GAAGN,QAAQ,CAACS,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAACC,UAAU,CAC3C,GAAGJ,QAAQ,CAACG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,GACjC,CAAC;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASE,YAAYA,CAC1BR,UAAyC,EACpB;EAAA,IAAAS,qBAAA;EACrB,IAAIC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,MAAM,EAAE;IACnC,OAAO,KAAK;EACd;EACA,OACE,CAACZ,UAAU;EACX;EACC,EAAAS,qBAAA,OAAAI,mBAAU,EAAC,CAAC,CAACC,aAAa,CAAC,CAAC,cAAAL,qBAAA,uBAA5BA,qBAAA,CAA8BM,EAAE,MAAKf,UAAU,CAACE,GAAG,CAACa,EAAE,IACrD,CAACC,MAAM,CAACC,qBAAqB,IAC7BjB,UAAU,CAACE,GAAG,CAACgB,cAAe;AAEpC","ignoreList":[]}
1
+ {"version":3,"file":"matchStoryboard.js","names":["_lodash","require","_Runtime","matchStoryboard","storyboards","pathname","sortedStoryboards","orderBy","storyboard","_storyboard$app$homep","_storyboard$app$homep2","app","homepage","length","matchHomepage","replace","startsWith","isOutsideApp","_getRuntime$getCurren","process","env","NODE_ENV","getRuntime","getCurrentApp","id","window","STANDALONE_MICRO_APPS","standaloneMode"],"sources":["../../../src/internal/matchStoryboard.ts"],"sourcesContent":["import type { RuntimeStoryboard } from \"@next-core/types\";\nimport { orderBy } from \"lodash\";\nimport { getRuntime } from \"./Runtime.js\";\n\nexport function matchStoryboard(\n storyboards: RuntimeStoryboard[],\n pathname: string\n): RuntimeStoryboard | undefined {\n // Put apps with longer homepage before shorter ones.\n // E.g., `/legacy/tool` will match first before `/legacy`.\n // This enables two apps with relationship of parent-child of homepage.\n const sortedStoryboards = orderBy(\n storyboards,\n (storyboard) => storyboard.app.homepage?.length ?? 0,\n \"desc\"\n );\n for (const storyboard of sortedStoryboards) {\n const homepage = storyboard.app.homepage;\n if (typeof homepage === \"string\" && homepage[0] === \"/\") {\n if (matchHomepage(homepage, pathname)) {\n return storyboard;\n }\n }\n }\n}\n\nexport function matchHomepage(homepage: string, pathname: string) {\n return homepage === \"/\"\n ? pathname === homepage\n : `${pathname.replace(/\\/+$/, \"\")}/`.startsWith(\n `${homepage.replace(/\\/+$/, \"\")}/`\n );\n}\n\n// istanbul ignore next\n/**\n * We say it's an outside app when at least one of the below conditions are true:\n * - target app is not found.\n * - target app is not the current app.\n * - current app is non-standalone mode and target app is standalone mode.\n *\n * Note: when current app is standalone mode, other apps will not be found.\n */\nexport function isOutsideApp(\n storyboard: RuntimeStoryboard | undefined\n): boolean | undefined {\n if (process.env.NODE_ENV === \"test\") {\n return false;\n }\n return (\n !storyboard ||\n // Sometimes `storyboard.app.standaloneMode` is incorrect.\n (getRuntime().getCurrentApp()?.id !== storyboard.app.id &&\n !window.STANDALONE_MICRO_APPS &&\n storyboard.app.standaloneMode)\n );\n}\n"],"mappings":";;;;;;;;AACA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAEO,SAASE,eAAeA,CAC7BC,WAAgC,EAChCC,QAAgB,EACe;EAC/B;EACA;EACA;EACA,MAAMC,iBAAiB,GAAG,IAAAC,eAAO,EAC/BH,WAAW,EACVI,UAAU;IAAA,IAAAC,qBAAA,EAAAC,sBAAA;IAAA,QAAAD,qBAAA,IAAAC,sBAAA,GAAKF,UAAU,CAACG,GAAG,CAACC,QAAQ,cAAAF,sBAAA,uBAAvBA,sBAAA,CAAyBG,MAAM,cAAAJ,qBAAA,cAAAA,qBAAA,GAAI,CAAC;EAAA,GACpD,MACF,CAAC;EACD,KAAK,MAAMD,UAAU,IAAIF,iBAAiB,EAAE;IAC1C,MAAMM,QAAQ,GAAGJ,UAAU,CAACG,GAAG,CAACC,QAAQ;IACxC,IAAI,OAAOA,QAAQ,KAAK,QAAQ,IAAIA,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;MACvD,IAAIE,aAAa,CAACF,QAAQ,EAAEP,QAAQ,CAAC,EAAE;QACrC,OAAOG,UAAU;MACnB;IACF;EACF;AACF;AAEO,SAASM,aAAaA,CAACF,QAAgB,EAAEP,QAAgB,EAAE;EAChE,OAAOO,QAAQ,KAAK,GAAG,GACnBP,QAAQ,KAAKO,QAAQ,GACrB,GAAGP,QAAQ,CAACU,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAACC,UAAU,CAC3C,GAAGJ,QAAQ,CAACG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,GACjC,CAAC;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASE,YAAYA,CAC1BT,UAAyC,EACpB;EAAA,IAAAU,qBAAA;EACrB,IAAIC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,MAAM,EAAE;IACnC,OAAO,KAAK;EACd;EACA,OACE,CAACb,UAAU;EACX;EACC,EAAAU,qBAAA,OAAAI,mBAAU,EAAC,CAAC,CAACC,aAAa,CAAC,CAAC,cAAAL,qBAAA,uBAA5BA,qBAAA,CAA8BM,EAAE,MAAKhB,UAAU,CAACG,GAAG,CAACa,EAAE,IACrD,CAACC,MAAM,CAACC,qBAAqB,IAC7BlB,UAAU,CAACG,GAAG,CAACgB,cAAe;AAEpC","ignoreList":[]}
@@ -51,7 +51,7 @@ function startPoll(task, {
51
51
  success === null || success === void 0 || success(result);
52
52
  finallyCallback === null || finallyCallback === void 0 || finallyCallback();
53
53
  } else {
54
- delayedPoll(interval ?? 3000);
54
+ delayedPoll(interval !== null && interval !== void 0 ? interval : 3000);
55
55
  }
56
56
  } else if (expectPollStopImmediatelyResult) {
57
57
  finallyCallback === null || finallyCallback === void 0 || finallyCallback();
@@ -68,7 +68,7 @@ function startPoll(task, {
68
68
  if (!shouldStop) {
69
69
  error === null || error === void 0 || error(e);
70
70
  if (continueOnError) {
71
- delayedPoll(interval ?? 3000);
71
+ delayedPoll(interval !== null && interval !== void 0 ? interval : 3000);
72
72
  } else {
73
73
  finallyCallback === null || finallyCallback === void 0 || finallyCallback();
74
74
  }
@@ -86,7 +86,7 @@ function startPoll(task, {
86
86
  currentTimeoutId = setTimeout(poll, delay);
87
87
  timeoutIdList.add(currentTimeoutId);
88
88
  }
89
- delayedPoll(leadingRequestDelay ?? 0);
89
+ delayedPoll(leadingRequestDelay !== null && leadingRequestDelay !== void 0 ? leadingRequestDelay : 0);
90
90
  if (delegateLoadingBar) {
91
91
  window.dispatchEvent(new Event("request.start"));
92
92
  }
@@ -1 +1 @@
1
- {"version":3,"file":"poll.js","names":["_lodash","require","_Runtime","_computeRealValue5","timeoutIdList","Set","startPoll","task","progress","success","error","finally","finallyCallback","pollOptions","runtimeContext","expectPollStopImmediately","expectPollEnd","interval","leadingRequestDelay","continueOnError","delegateLoadingBar","computeRealValue","pick","currentRenderId","_internalApiGetRenderId","currentTimeoutId","poll","delete","shouldStop","_computeRealValue","_computeRealValue2","result","expectPollStopImmediatelyResult","_computeRealValue3","window","dispatchEvent","Event","delayedPoll","e","_computeRealValue4","delay","setTimeout","add","clearPollTimeout","timeoutId","clearTimeout","clear"],"sources":["../../../src/internal/poll.ts"],"sourcesContent":["import type { ProviderPollOptions } from \"@next-core/types\";\nimport { pick } from \"lodash\";\nimport { _internalApiGetRenderId } from \"./Runtime.js\";\nimport { computeRealValue } from \"./compute/computeRealValue.js\";\nimport { RuntimeContext } from \"./interfaces.js\";\n\nexport type PollableCallbackFunction = (result?: unknown) => unknown;\n\nexport interface PollableCallback {\n progress?: PollableCallbackFunction;\n success?: PollableCallbackFunction;\n error?: PollableCallbackFunction;\n finally?: PollableCallbackFunction;\n}\n\nconst timeoutIdList = new Set<number>();\n\nexport function startPoll(\n task: () => unknown,\n { progress, success, error, finally: finallyCallback }: PollableCallback,\n pollOptions: ProviderPollOptions,\n runtimeContext: RuntimeContext\n): void {\n const { expectPollStopImmediately, expectPollEnd } = pollOptions;\n const { interval, leadingRequestDelay, continueOnError, delegateLoadingBar } =\n computeRealValue(\n pick(pollOptions, [\n \"interval\",\n \"leadingRequestDelay\",\n \"continueOnError\",\n \"delegateLoadingBar\",\n ]),\n runtimeContext\n ) as ProviderPollOptions;\n const currentRenderId = _internalApiGetRenderId();\n let currentTimeoutId: number;\n async function poll(): Promise<void> {\n timeoutIdList.delete(currentTimeoutId);\n let shouldStop: boolean | undefined;\n try {\n shouldStop = (\n computeRealValue(expectPollStopImmediately, runtimeContext) as\n | (() => boolean)\n | undefined\n )?.();\n // Stop polling immediately when the expectation is match before task.\n if (!shouldStop) {\n const result = await task();\n const expectPollStopImmediatelyResult = (\n computeRealValue(expectPollStopImmediately, runtimeContext) as\n | (() => boolean)\n | undefined\n )?.();\n // Stop polling immediately when the expectation is match or a different router\n // is rendering after the task processed.\n shouldStop =\n expectPollStopImmediatelyResult ||\n currentRenderId !== _internalApiGetRenderId();\n if (!shouldStop) {\n progress?.(result);\n if (\n (\n computeRealValue(expectPollEnd, runtimeContext) as\n | ((result: unknown) => boolean)\n | undefined\n )?.(result)\n ) {\n if (delegateLoadingBar) {\n window.dispatchEvent(new Event(\"request.end\"));\n }\n success?.(result);\n finallyCallback?.();\n } else {\n delayedPoll(interval ?? 3000);\n }\n } else if (expectPollStopImmediatelyResult) {\n finallyCallback?.();\n }\n } else {\n finallyCallback?.();\n }\n } catch (e) {\n const expectPollStopImmediatelyResult = (\n computeRealValue(expectPollStopImmediately, runtimeContext) as\n | (() => boolean)\n | undefined\n )?.();\n // Stop polling immediately when the expectation is match or a different router\n // is rendering after the task processed.\n shouldStop =\n expectPollStopImmediatelyResult ||\n currentRenderId !== _internalApiGetRenderId();\n if (!shouldStop) {\n error?.(e);\n if (continueOnError) {\n delayedPoll(interval ?? 3000);\n } else {\n finallyCallback?.();\n }\n } else if (expectPollStopImmediatelyResult) {\n finallyCallback?.();\n }\n } finally {\n // Manually dispatch an event of `request.end` when the polling is stopped immediately.\n if (delegateLoadingBar && shouldStop) {\n window.dispatchEvent(new Event(\"request.end\"));\n }\n }\n }\n\n function delayedPoll(delay: number): void {\n currentTimeoutId = setTimeout(poll, delay) as unknown as number;\n timeoutIdList.add(currentTimeoutId);\n }\n\n delayedPoll(leadingRequestDelay ?? 0);\n\n if (delegateLoadingBar) {\n window.dispatchEvent(new Event(\"request.start\"));\n }\n}\n\nexport function clearPollTimeout(): void {\n for (const timeoutId of timeoutIdList) {\n clearTimeout(timeoutId);\n }\n timeoutIdList.clear();\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"poll.js","names":["_lodash","require","_Runtime","_computeRealValue5","timeoutIdList","Set","startPoll","task","progress","success","error","finally","finallyCallback","pollOptions","runtimeContext","expectPollStopImmediately","expectPollEnd","interval","leadingRequestDelay","continueOnError","delegateLoadingBar","computeRealValue","pick","currentRenderId","_internalApiGetRenderId","currentTimeoutId","poll","delete","shouldStop","_computeRealValue","_computeRealValue2","result","expectPollStopImmediatelyResult","_computeRealValue3","window","dispatchEvent","Event","delayedPoll","e","_computeRealValue4","delay","setTimeout","add","clearPollTimeout","timeoutId","clearTimeout","clear"],"sources":["../../../src/internal/poll.ts"],"sourcesContent":["import type { ProviderPollOptions } from \"@next-core/types\";\nimport { pick } from \"lodash\";\nimport { _internalApiGetRenderId } from \"./Runtime.js\";\nimport { computeRealValue } from \"./compute/computeRealValue.js\";\nimport { RuntimeContext } from \"./interfaces.js\";\n\nexport type PollableCallbackFunction = (result?: unknown) => unknown;\n\nexport interface PollableCallback {\n progress?: PollableCallbackFunction;\n success?: PollableCallbackFunction;\n error?: PollableCallbackFunction;\n finally?: PollableCallbackFunction;\n}\n\nconst timeoutIdList = new Set<number>();\n\nexport function startPoll(\n task: () => unknown,\n { progress, success, error, finally: finallyCallback }: PollableCallback,\n pollOptions: ProviderPollOptions,\n runtimeContext: RuntimeContext\n): void {\n const { expectPollStopImmediately, expectPollEnd } = pollOptions;\n const { interval, leadingRequestDelay, continueOnError, delegateLoadingBar } =\n computeRealValue(\n pick(pollOptions, [\n \"interval\",\n \"leadingRequestDelay\",\n \"continueOnError\",\n \"delegateLoadingBar\",\n ]),\n runtimeContext\n ) as ProviderPollOptions;\n const currentRenderId = _internalApiGetRenderId();\n let currentTimeoutId: number;\n async function poll(): Promise<void> {\n timeoutIdList.delete(currentTimeoutId);\n let shouldStop: boolean | undefined;\n try {\n shouldStop = (\n computeRealValue(expectPollStopImmediately, runtimeContext) as\n | (() => boolean)\n | undefined\n )?.();\n // Stop polling immediately when the expectation is match before task.\n if (!shouldStop) {\n const result = await task();\n const expectPollStopImmediatelyResult = (\n computeRealValue(expectPollStopImmediately, runtimeContext) as\n | (() => boolean)\n | undefined\n )?.();\n // Stop polling immediately when the expectation is match or a different router\n // is rendering after the task processed.\n shouldStop =\n expectPollStopImmediatelyResult ||\n currentRenderId !== _internalApiGetRenderId();\n if (!shouldStop) {\n progress?.(result);\n if (\n (\n computeRealValue(expectPollEnd, runtimeContext) as\n | ((result: unknown) => boolean)\n | undefined\n )?.(result)\n ) {\n if (delegateLoadingBar) {\n window.dispatchEvent(new Event(\"request.end\"));\n }\n success?.(result);\n finallyCallback?.();\n } else {\n delayedPoll(interval ?? 3000);\n }\n } else if (expectPollStopImmediatelyResult) {\n finallyCallback?.();\n }\n } else {\n finallyCallback?.();\n }\n } catch (e) {\n const expectPollStopImmediatelyResult = (\n computeRealValue(expectPollStopImmediately, runtimeContext) as\n | (() => boolean)\n | undefined\n )?.();\n // Stop polling immediately when the expectation is match or a different router\n // is rendering after the task processed.\n shouldStop =\n expectPollStopImmediatelyResult ||\n currentRenderId !== _internalApiGetRenderId();\n if (!shouldStop) {\n error?.(e);\n if (continueOnError) {\n delayedPoll(interval ?? 3000);\n } else {\n finallyCallback?.();\n }\n } else if (expectPollStopImmediatelyResult) {\n finallyCallback?.();\n }\n } finally {\n // Manually dispatch an event of `request.end` when the polling is stopped immediately.\n if (delegateLoadingBar && shouldStop) {\n window.dispatchEvent(new Event(\"request.end\"));\n }\n }\n }\n\n function delayedPoll(delay: number): void {\n currentTimeoutId = setTimeout(poll, delay) as unknown as number;\n timeoutIdList.add(currentTimeoutId);\n }\n\n delayedPoll(leadingRequestDelay ?? 0);\n\n if (delegateLoadingBar) {\n window.dispatchEvent(new Event(\"request.start\"));\n }\n}\n\nexport function clearPollTimeout(): void {\n for (const timeoutId of timeoutIdList) {\n clearTimeout(timeoutId);\n }\n timeoutIdList.clear();\n}\n"],"mappings":"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","ignoreList":[]}
@@ -52,15 +52,15 @@ var _routeMatchedMap = require("./routeMatchedMap.js");
52
52
  var _realTimeDataInspect = require("./data/realTimeDataInspect.js");
53
53
  const symbolForRootRuntimeContext = exports.symbolForRootRuntimeContext = Symbol.for("root.runtimeContext");
54
54
  async function renderUseBrick(useBrick, data, errorBoundary) {
55
- var _output$node, _output$node2;
55
+ var _useBrick$symbolForRo, _scopedRuntimeContext, _scopedRuntimeContext2, _output$node, _output$node2;
56
56
  const [scopedRuntimeContext, tplStateStoreScope, formStateStoreScope] = (0, _Renderer.createScopedRuntimeContext)({
57
- ...(useBrick[symbolForRootRuntimeContext] ?? (0, _Runtime._internalApiGetRuntimeContext)()),
57
+ ...((_useBrick$symbolForRo = useBrick[symbolForRootRuntimeContext]) !== null && _useBrick$symbolForRo !== void 0 ? _useBrick$symbolForRo : (0, _Runtime._internalApiGetRuntimeContext)()),
58
58
  data,
59
59
  pendingPermissionsPreCheck: []
60
60
  });
61
61
  scopedRuntimeContext.inUseBrick = true;
62
- scopedRuntimeContext.tplStateStoreMap ?? (scopedRuntimeContext.tplStateStoreMap = new Map());
63
- scopedRuntimeContext.formStateStoreMap ?? (scopedRuntimeContext.formStateStoreMap = new Map());
62
+ (_scopedRuntimeContext = scopedRuntimeContext.tplStateStoreMap) !== null && _scopedRuntimeContext !== void 0 ? _scopedRuntimeContext : scopedRuntimeContext.tplStateStoreMap = new Map();
63
+ (_scopedRuntimeContext2 = scopedRuntimeContext.formStateStoreMap) !== null && _scopedRuntimeContext2 !== void 0 ? _scopedRuntimeContext2 : scopedRuntimeContext.formStateStoreMap = new Map();
64
64
  const rendererContext = new _RendererContext.RendererContext("fragment");
65
65
  const renderRoot = {
66
66
  tag: _enums.RenderTag.ROOT,
@@ -280,7 +280,7 @@ function loadBricks(bricks) {
280
280
  * Try the brick packages passed in, before using from bootstrap.
281
281
  */
282
282
  function loadEditors(editors, brickPackages) {
283
- return (0, _loader.loadEditorsImperatively)(editors, brickPackages ?? (0, _Runtime.getBrickPackages)());
283
+ return (0, _loader.loadEditorsImperatively)(editors, brickPackages !== null && brickPackages !== void 0 ? brickPackages : (0, _Runtime.getBrickPackages)());
284
284
  }
285
285
  function getRenderId() {
286
286
  return (0, _Runtime._internalApiGetRenderId)();
@@ -344,9 +344,10 @@ async function debugDataValue(debugData, {
344
344
  return (0, _computeRealValue.asyncComputeRealValue)(debugData.value, runtimeContext);
345
345
  }
346
346
  function getLegalRuntimeValue(options) {
347
+ var _runtimeContext$overr;
347
348
  const runtimeContext = (0, _Runtime._internalApiGetRuntimeContext)();
348
349
  return {
349
- app: (runtimeContext === null || runtimeContext === void 0 ? void 0 : runtimeContext.overrideApp) ?? (runtimeContext === null || runtimeContext === void 0 ? void 0 : runtimeContext.app),
350
+ app: (_runtimeContext$overr = runtimeContext === null || runtimeContext === void 0 ? void 0 : runtimeContext.overrideApp) !== null && _runtimeContext$overr !== void 0 ? _runtimeContext$overr : runtimeContext === null || runtimeContext === void 0 ? void 0 : runtimeContext.app,
350
351
  location: (0, _lodash.pick)(location, ["href", "origin", "hostname", "host"]),
351
352
  ...(0, _lodash.pick)(runtimeContext, ["query", "sys"]),
352
353
  match: (0, _routeMatchedMap.getMatchedRoute)(options === null || options === void 0 ? void 0 : options.routeId)
@@ -1 +1 @@
1
- {"version":3,"file":"secret_internals.js","names":["_lodash","require","_Runtime","_Renderer","_RendererContext","_resolveData","_computeRealValue","_mount","_enums","_isStrictMode","_CustomTemplates","_registerAppI18n","_utils","_loader","_routeMatchedMap","_realTimeDataInspect","symbolForRootRuntimeContext","exports","Symbol","for","renderUseBrick","useBrick","data","errorBoundary","_output$node","_output$node2","scopedRuntimeContext","tplStateStoreScope","formStateStoreScope","createScopedRuntimeContext","_internalApiGetRuntimeContext","pendingPermissionsPreCheck","inUseBrick","tplStateStoreMap","Map","formStateStoreMap","rendererContext","RendererContext","renderRoot","tag","RenderTag","ROOT","createPortal","strict","isStrictMode","output","renderBrick","scopedStores","postAsyncRender","node","PLACEHOLDER","tracking","Error","undefined","portal","child","tagName","type","mountUseBrick","element","portalRoot","document","querySelector","createElement","appendChild","mountTree","dispatchOnMount","initializeScrollIntoView","initializeMediaChange","initializeMessageDispatcher","store","mountAsyncData","unmountUseBrick","mountResult","unmountTree","remove","dispatchOnUnmount","dispose","legacyDoTransform","to","options","computeRealValue","noInject","updateStoryboard","appId","storyboardPatch","storyboard","_internalApiGetStoryboardInBootstrapData","Object","assign","meta","$$fulfilling","$$fulfilled","$$registerCustomTemplateProcessed","registerAppI18n","updateStoryboardByRoute","newRoute","matched","matchRoute","route","path","exact","replaceRoutes","routes","forEach","index","Array","isArray","bricks","replaceBricks","brick","slots","slotConf","values","unshift","updateStoryboardByTemplate","newTemplate","settings","tplName","name","customTemplates","define","proxy","state","updateTemplatePreviewSettings","templateId","_updatePreviewSettings","pick","getSnippetPreviewPath","snippetId","updateStoryboardBySnippet","snippetData","_snippetData$bricks","length","context","updateSnippetPreviewSettings","previewRouteIndex","findIndex","newPreviewRoute","menu","splice","getContextValue","tplStateStoreId","runtimeContext","tplStateStore","getTplStateStore","getValue","ctxStore","getAllContextValues","getAllValues","getBrickPackagesById","id","getBrickPackages","find","pkg","filePath","startsWith","loadBricks","loadBricksImperatively","loadEditors","editors","brickPackages","loadEditorsImperatively","getRenderId","_internalApiGetRenderId","getAddedContracts","updateStoryboardType","collectUsedContracts","updatedStoryboard","_storyboard$routes","snippetPreviewPath","currentRoute","addedContracts","contractApis","api","_storyboard$meta","_","namespaceId","match","contracts","some","contract","push","debugDataValue","debugData","routeId","getMatchedRoute","resolve","resolveData","cache","asyncComputeRealValue","value","getLegalRuntimeValue","app","overrideApp","location"],"sources":["../../../src/internal/secret_internals.ts"],"sourcesContent":["import type {\n BrickConf,\n CustomTemplate,\n RouteConf,\n Storyboard,\n UseSingleBrickConf,\n RuntimeSnippet,\n ContextConf,\n BrickPackage,\n RouteConfOfBricks,\n} from \"@next-core/types\";\nimport { pick } from \"lodash\";\nimport {\n _internalApiGetRenderId,\n _internalApiGetRuntimeContext,\n _internalApiGetStoryboardInBootstrapData,\n getBrickPackages,\n} from \"./Runtime.js\";\nimport {\n createScopedRuntimeContext,\n postAsyncRender,\n renderBrick,\n} from \"./Renderer.js\";\nimport { RendererContext } from \"./RendererContext.js\";\nimport type { DataStore } from \"./data/DataStore.js\";\nimport { resolveData } from \"./data/resolveData.js\";\nimport { asyncComputeRealValue } from \"./compute/computeRealValue.js\";\nimport type {\n DataValueOption,\n PreviewOption,\n PreviewStoryboardPatch,\n RenderRoot,\n RuntimeContext,\n DebugDataValue,\n RuntimeDataVale,\n RuntimeDataValueOption,\n} from \"./interfaces.js\";\nimport { mountTree, unmountTree } from \"./mount.js\";\nimport { RenderTag } from \"./enums.js\";\nimport { computeRealValue } from \"./compute/computeRealValue.js\";\nimport { isStrictMode } from \"../isStrictMode.js\";\nimport { customTemplates } from \"../CustomTemplates.js\";\nimport { registerAppI18n } from \"./registerAppI18n.js\";\nimport { getTplStateStore } from \"./CustomTemplates/utils.js\";\nimport {\n loadBricksImperatively,\n loadEditorsImperatively,\n} from \"@next-core/loader\";\nimport { getMatchedRoute } from \"./routeMatchedMap.js\";\n\nexport type { DataValueOption, RuntimeContext };\n\nexport const symbolForRootRuntimeContext = Symbol.for(\"root.runtimeContext\");\n\nexport interface RuntimeUseBrickConfWithRootSymbols extends UseSingleBrickConf {\n [symbolForRootRuntimeContext]?: RuntimeContext;\n}\n\nexport interface RenderUseBrickResult {\n tagName: string | null;\n renderRoot: RenderRoot;\n rendererContext: RendererContext;\n scopedStores: DataStore<\"STATE\" | \"FORM_STATE\">[];\n}\n\nexport async function renderUseBrick(\n useBrick: RuntimeUseBrickConfWithRootSymbols,\n data: unknown,\n errorBoundary?: boolean\n): Promise<RenderUseBrickResult> {\n const [scopedRuntimeContext, tplStateStoreScope, formStateStoreScope] =\n createScopedRuntimeContext({\n ...(useBrick[symbolForRootRuntimeContext] ??\n _internalApiGetRuntimeContext()!),\n data,\n pendingPermissionsPreCheck: [],\n });\n\n scopedRuntimeContext.inUseBrick = true;\n scopedRuntimeContext.tplStateStoreMap ??= new Map();\n scopedRuntimeContext.formStateStoreMap ??= new Map();\n\n const rendererContext = new RendererContext(\"fragment\");\n\n const renderRoot: RenderRoot = {\n tag: RenderTag.ROOT,\n // Will set during `mountUseBrick`\n createPortal: null!,\n };\n\n const strict = isStrictMode();\n\n const output = await renderBrick(\n renderRoot,\n strict && !errorBoundary\n ? useBrick\n : {\n errorBoundary,\n ...useBrick,\n },\n scopedRuntimeContext,\n rendererContext,\n [],\n {}\n );\n\n const scopedStores = [...tplStateStoreScope, ...formStateStoreScope];\n\n await postAsyncRender(output, scopedRuntimeContext, scopedStores);\n\n if (output.node?.tag === RenderTag.PLACEHOLDER) {\n if (output.node.tracking) {\n throw new Error(\n \"The root brick of useBrick cannot be an ignored tracking control node\"\n );\n }\n output.node = undefined;\n }\n\n if (output.node?.portal) {\n throw new Error(\"The root brick of useBrick cannot be a portal brick\");\n }\n\n renderRoot.child = output.node;\n\n const tagName = output.node ? output.node.type : null;\n\n return { tagName, renderRoot, rendererContext, scopedStores };\n}\n\nexport interface MountUseBrickResult {\n portal?: HTMLElement;\n}\n\nexport function mountUseBrick(\n { renderRoot, rendererContext, scopedStores }: RenderUseBrickResult,\n element: HTMLElement\n): MountUseBrickResult {\n let portal: HTMLElement | undefined;\n renderRoot.createPortal = () => {\n const portalRoot = document.querySelector(\n \"#portal-mount-point\"\n ) as HTMLElement;\n portal = document.createElement(\"div\");\n portalRoot.appendChild(portal);\n return portal;\n };\n\n mountTree(renderRoot, element);\n\n rendererContext.dispatchOnMount();\n rendererContext.initializeScrollIntoView();\n rendererContext.initializeMediaChange();\n rendererContext.initializeMessageDispatcher();\n\n for (const store of scopedStores) {\n store.mountAsyncData();\n }\n\n return {\n portal,\n };\n}\n\nexport function unmountUseBrick(\n { rendererContext }: RenderUseBrickResult,\n mountResult: MountUseBrickResult\n): void {\n // if (mountResult.mainBrick) {\n // mountResult.mainBrick.unmount();\n // }\n if (mountResult.portal) {\n unmountTree(mountResult.portal);\n mountResult.portal.remove();\n }\n rendererContext.dispatchOnUnmount();\n rendererContext.dispose();\n}\n\n/** For v2 compatibility of `doTransform` from brick-kit. */\nexport function legacyDoTransform(\n data: unknown,\n to: unknown,\n options?: unknown\n) {\n if (options) {\n throw new Error(\"Legacy doTransform does not support options in v3\");\n }\n return computeRealValue(\n to,\n {\n ..._internalApiGetRuntimeContext()!,\n data,\n },\n {\n noInject: true,\n }\n );\n}\n\nexport function updateStoryboard(\n appId: string,\n storyboardPatch: Partial<Storyboard>\n): void {\n const storyboard = _internalApiGetStoryboardInBootstrapData(appId)!;\n Object.assign(storyboard, {\n ...storyboardPatch,\n meta: {\n // Keep runtime fields such as `injectMenus`\n ...storyboard.meta,\n ...storyboardPatch.meta,\n },\n $$fulfilling: null,\n $$fulfilled: true,\n $$registerCustomTemplateProcessed: false,\n });\n registerAppI18n(storyboard);\n}\n\nexport function updateStoryboardByRoute(appId: string, newRoute: RouteConf) {\n const storyboard = _internalApiGetStoryboardInBootstrapData(appId)!;\n let matched = false;\n\n function matchRoute(route: RouteConf) {\n return route.path === newRoute.path && !route.exact === !newRoute.exact;\n }\n\n function replaceRoutes(routes: RouteConf[]) {\n routes.forEach((route, index) => {\n if (route.type === \"routes\") {\n replaceRoutes(route.routes);\n } else {\n if (matchRoute(route)) {\n matched = true;\n routes[index] = newRoute;\n } else if (Array.isArray((route as RouteConfOfBricks).bricks)) {\n replaceBricks((route as RouteConfOfBricks).bricks);\n }\n }\n });\n }\n\n function replaceBricks(bricks: BrickConf[]) {\n bricks.forEach((brick) => {\n if (brick.slots) {\n for (const slotConf of Object.values(brick.slots)) {\n if (slotConf.type === \"routes\") {\n replaceRoutes(slotConf.routes);\n } else {\n replaceBricks(slotConf.bricks);\n }\n }\n }\n });\n }\n\n replaceRoutes(storyboard.routes);\n\n if (!matched) {\n storyboard.routes.unshift(newRoute);\n }\n}\n\nexport function updateStoryboardByTemplate(\n appId: string,\n newTemplate: CustomTemplate,\n settings: unknown\n): void {\n const tplName = `${appId}.${newTemplate.name}`;\n // customTemplateRegistry.delete(tplName);\n customTemplates.define(tplName, {\n bricks: newTemplate.bricks,\n proxy: newTemplate.proxy,\n state: newTemplate.state,\n });\n updateTemplatePreviewSettings(appId, newTemplate.name, settings);\n}\n\nexport function updateTemplatePreviewSettings(\n appId: string,\n templateId: string,\n settings?: unknown\n): void {\n _updatePreviewSettings(\n appId,\n `\\${APP.homepage}/_dev_only_/template-preview/${templateId}`,\n [\n {\n brick: templateId,\n ...pick(\n settings,\n \"properties\",\n \"events\",\n \"lifeCycle\",\n \"context\",\n \"slots\",\n \"children\"\n ),\n },\n ]\n );\n}\n\nfunction getSnippetPreviewPath(snippetId: string): string {\n return `\\${APP.homepage}/_dev_only_/snippet-preview/${snippetId}`;\n}\n\nexport function updateStoryboardBySnippet(\n appId: string,\n snippetData: {\n snippetId: string;\n bricks?: BrickConf[];\n context?: ContextConf[];\n }\n): void {\n _updatePreviewSettings(\n appId,\n getSnippetPreviewPath(snippetData.snippetId),\n snippetData.bricks?.length ? snippetData.bricks : [{ brick: \"span\" }],\n snippetData.context\n );\n}\n\nexport const updateSnippetPreviewSettings = updateStoryboardBySnippet;\n\nfunction _updatePreviewSettings(\n appId: string,\n path: string,\n bricks: BrickConf[],\n context?: ContextConf[]\n) {\n const { routes } = _internalApiGetStoryboardInBootstrapData(appId)!;\n const previewRouteIndex = routes.findIndex((route) => route.path === path);\n const newPreviewRoute: RouteConf = {\n path,\n bricks,\n context,\n menu: false,\n exact: true,\n };\n if (previewRouteIndex === -1) {\n routes.unshift(newPreviewRoute);\n } else {\n routes.splice(previewRouteIndex, 1, newPreviewRoute);\n }\n}\n\nexport function getContextValue(\n name: string,\n { tplStateStoreId }: DataValueOption\n): unknown {\n const runtimeContext = _internalApiGetRuntimeContext()!;\n\n if (tplStateStoreId) {\n const tplStateStore = getTplStateStore(\n {\n ...runtimeContext,\n tplStateStoreId,\n },\n \"STATE\"\n );\n return tplStateStore.getValue(name);\n }\n\n return runtimeContext.ctxStore.getValue(name);\n}\n\nexport function getAllContextValues({\n tplStateStoreId,\n}: DataValueOption): Record<string, unknown> {\n const runtimeContext = _internalApiGetRuntimeContext()!;\n\n if (tplStateStoreId) {\n const tplStateStore = getTplStateStore(\n {\n ...runtimeContext,\n tplStateStoreId,\n },\n \"STATE\"\n );\n return tplStateStore.getAllValues();\n }\n\n return runtimeContext.ctxStore.getAllValues();\n}\n\nexport function getBrickPackagesById(id: string) {\n return getBrickPackages().find((pkg) =>\n pkg.id ? pkg.id === id : pkg.filePath.startsWith(`${id}/`)\n );\n}\n\n/**\n * Support loading v3 bricks only.\n */\nexport function loadBricks(bricks: string[]) {\n return loadBricksImperatively(bricks, getBrickPackages());\n}\n\n/**\n * Try the brick packages passed in, before using from bootstrap.\n */\nexport function loadEditors(\n editors: string[] | Set<string>,\n brickPackages?: BrickPackage[]\n) {\n return loadEditorsImperatively(editors, brickPackages ?? getBrickPackages());\n}\n\nexport function getRenderId() {\n return _internalApiGetRenderId();\n}\n\nexport async function getAddedContracts(\n storyboardPatch: PreviewStoryboardPatch,\n { appId, updateStoryboardType, collectUsedContracts }: PreviewOption\n): Promise<string[]> {\n const storyboard = _internalApiGetStoryboardInBootstrapData(appId);\n let updatedStoryboard;\n\n // 拿到更新部分的 storyboard 配置,然后扫描一遍,找到新增的 contracts\n if (updateStoryboardType === \"route\") {\n updatedStoryboard = {\n routes: [storyboardPatch as RouteConf],\n } as Storyboard;\n } else if (updateStoryboardType === \"template\") {\n updatedStoryboard = {\n meta: {\n customTemplates: [storyboardPatch as CustomTemplate],\n },\n } as Storyboard;\n } else if (updateStoryboardType === \"snippet\") {\n // snippet 是放在挂载 route 里预览,通过 previewPath 拿到当前修改 route\n const snippetPreviewPath = getSnippetPreviewPath(\n (storyboardPatch as RuntimeSnippet).snippetId\n );\n const currentRoute = storyboard?.routes?.find(\n (route) => route.path === snippetPreviewPath\n );\n\n updatedStoryboard = {\n routes: [currentRoute],\n } as Storyboard;\n }\n\n const addedContracts: string[] = [];\n\n if (updatedStoryboard && collectUsedContracts) {\n const contractApis = await collectUsedContracts(updatedStoryboard);\n\n contractApis.forEach((api: string) => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [_, namespaceId, name] = api.match(\n /(.*)@(.*):\\d\\.\\d\\.\\d/\n ) as string[];\n\n if (\n !storyboard?.meta?.contracts?.some(\n (contract) =>\n contract.namespaceId === namespaceId && contract.name === name\n )\n ) {\n addedContracts.push(api);\n }\n });\n }\n\n return addedContracts;\n}\n\nexport async function debugDataValue(\n debugData: DebugDataValue,\n { tplStateStoreId, routeId }: DataValueOption\n): Promise<any> {\n const runtimeContext = {\n ..._internalApiGetRuntimeContext()!,\n tplStateStoreId,\n match: getMatchedRoute(routeId as string),\n };\n\n if (debugData.resolve) {\n return resolveData(debugData.resolve!, runtimeContext, { cache: \"reload\" });\n }\n\n return asyncComputeRealValue(debugData.value, runtimeContext);\n}\n\nexport function getLegalRuntimeValue(\n options?: RuntimeDataValueOption\n): RuntimeDataVale {\n const runtimeContext = _internalApiGetRuntimeContext();\n\n return {\n app: runtimeContext?.overrideApp ?? runtimeContext?.app,\n location: pick(location, [\"href\", \"origin\", \"hostname\", \"host\"]),\n ...pick(runtimeContext, [\"query\", \"sys\"]),\n match: getMatchedRoute(options?.routeId as string),\n } as RuntimeDataVale;\n}\n\nexport {\n setRealTimeDataInspectRoot,\n addRealTimeDataInspectHook,\n} from \"./data/realTimeDataInspect.js\";\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"secret_internals.js","names":["_lodash","require","_Runtime","_Renderer","_RendererContext","_resolveData","_computeRealValue","_mount","_enums","_isStrictMode","_CustomTemplates","_registerAppI18n","_utils","_loader","_routeMatchedMap","_realTimeDataInspect","symbolForRootRuntimeContext","exports","Symbol","for","renderUseBrick","useBrick","data","errorBoundary","_useBrick$symbolForRo","_scopedRuntimeContext","_scopedRuntimeContext2","_output$node","_output$node2","scopedRuntimeContext","tplStateStoreScope","formStateStoreScope","createScopedRuntimeContext","_internalApiGetRuntimeContext","pendingPermissionsPreCheck","inUseBrick","tplStateStoreMap","Map","formStateStoreMap","rendererContext","RendererContext","renderRoot","tag","RenderTag","ROOT","createPortal","strict","isStrictMode","output","renderBrick","scopedStores","postAsyncRender","node","PLACEHOLDER","tracking","Error","undefined","portal","child","tagName","type","mountUseBrick","element","portalRoot","document","querySelector","createElement","appendChild","mountTree","dispatchOnMount","initializeScrollIntoView","initializeMediaChange","initializeMessageDispatcher","store","mountAsyncData","unmountUseBrick","mountResult","unmountTree","remove","dispatchOnUnmount","dispose","legacyDoTransform","to","options","computeRealValue","noInject","updateStoryboard","appId","storyboardPatch","storyboard","_internalApiGetStoryboardInBootstrapData","Object","assign","meta","$$fulfilling","$$fulfilled","$$registerCustomTemplateProcessed","registerAppI18n","updateStoryboardByRoute","newRoute","matched","matchRoute","route","path","exact","replaceRoutes","routes","forEach","index","Array","isArray","bricks","replaceBricks","brick","slots","slotConf","values","unshift","updateStoryboardByTemplate","newTemplate","settings","tplName","name","customTemplates","define","proxy","state","updateTemplatePreviewSettings","templateId","_updatePreviewSettings","pick","getSnippetPreviewPath","snippetId","updateStoryboardBySnippet","snippetData","_snippetData$bricks","length","context","updateSnippetPreviewSettings","previewRouteIndex","findIndex","newPreviewRoute","menu","splice","getContextValue","tplStateStoreId","runtimeContext","tplStateStore","getTplStateStore","getValue","ctxStore","getAllContextValues","getAllValues","getBrickPackagesById","id","getBrickPackages","find","pkg","filePath","startsWith","loadBricks","loadBricksImperatively","loadEditors","editors","brickPackages","loadEditorsImperatively","getRenderId","_internalApiGetRenderId","getAddedContracts","updateStoryboardType","collectUsedContracts","updatedStoryboard","_storyboard$routes","snippetPreviewPath","currentRoute","addedContracts","contractApis","api","_storyboard$meta","_","namespaceId","match","contracts","some","contract","push","debugDataValue","debugData","routeId","getMatchedRoute","resolve","resolveData","cache","asyncComputeRealValue","value","getLegalRuntimeValue","_runtimeContext$overr","app","overrideApp","location"],"sources":["../../../src/internal/secret_internals.ts"],"sourcesContent":["import type {\n BrickConf,\n CustomTemplate,\n RouteConf,\n Storyboard,\n UseSingleBrickConf,\n RuntimeSnippet,\n ContextConf,\n BrickPackage,\n RouteConfOfBricks,\n} from \"@next-core/types\";\nimport { pick } from \"lodash\";\nimport {\n _internalApiGetRenderId,\n _internalApiGetRuntimeContext,\n _internalApiGetStoryboardInBootstrapData,\n getBrickPackages,\n} from \"./Runtime.js\";\nimport {\n createScopedRuntimeContext,\n postAsyncRender,\n renderBrick,\n} from \"./Renderer.js\";\nimport { RendererContext } from \"./RendererContext.js\";\nimport type { DataStore } from \"./data/DataStore.js\";\nimport { resolveData } from \"./data/resolveData.js\";\nimport { asyncComputeRealValue } from \"./compute/computeRealValue.js\";\nimport type {\n DataValueOption,\n PreviewOption,\n PreviewStoryboardPatch,\n RenderRoot,\n RuntimeContext,\n DebugDataValue,\n RuntimeDataVale,\n RuntimeDataValueOption,\n} from \"./interfaces.js\";\nimport { mountTree, unmountTree } from \"./mount.js\";\nimport { RenderTag } from \"./enums.js\";\nimport { computeRealValue } from \"./compute/computeRealValue.js\";\nimport { isStrictMode } from \"../isStrictMode.js\";\nimport { customTemplates } from \"../CustomTemplates.js\";\nimport { registerAppI18n } from \"./registerAppI18n.js\";\nimport { getTplStateStore } from \"./CustomTemplates/utils.js\";\nimport {\n loadBricksImperatively,\n loadEditorsImperatively,\n} from \"@next-core/loader\";\nimport { getMatchedRoute } from \"./routeMatchedMap.js\";\n\nexport type { DataValueOption, RuntimeContext };\n\nexport const symbolForRootRuntimeContext = Symbol.for(\"root.runtimeContext\");\n\nexport interface RuntimeUseBrickConfWithRootSymbols extends UseSingleBrickConf {\n [symbolForRootRuntimeContext]?: RuntimeContext;\n}\n\nexport interface RenderUseBrickResult {\n tagName: string | null;\n renderRoot: RenderRoot;\n rendererContext: RendererContext;\n scopedStores: DataStore<\"STATE\" | \"FORM_STATE\">[];\n}\n\nexport async function renderUseBrick(\n useBrick: RuntimeUseBrickConfWithRootSymbols,\n data: unknown,\n errorBoundary?: boolean\n): Promise<RenderUseBrickResult> {\n const [scopedRuntimeContext, tplStateStoreScope, formStateStoreScope] =\n createScopedRuntimeContext({\n ...(useBrick[symbolForRootRuntimeContext] ??\n _internalApiGetRuntimeContext()!),\n data,\n pendingPermissionsPreCheck: [],\n });\n\n scopedRuntimeContext.inUseBrick = true;\n scopedRuntimeContext.tplStateStoreMap ??= new Map();\n scopedRuntimeContext.formStateStoreMap ??= new Map();\n\n const rendererContext = new RendererContext(\"fragment\");\n\n const renderRoot: RenderRoot = {\n tag: RenderTag.ROOT,\n // Will set during `mountUseBrick`\n createPortal: null!,\n };\n\n const strict = isStrictMode();\n\n const output = await renderBrick(\n renderRoot,\n strict && !errorBoundary\n ? useBrick\n : {\n errorBoundary,\n ...useBrick,\n },\n scopedRuntimeContext,\n rendererContext,\n [],\n {}\n );\n\n const scopedStores = [...tplStateStoreScope, ...formStateStoreScope];\n\n await postAsyncRender(output, scopedRuntimeContext, scopedStores);\n\n if (output.node?.tag === RenderTag.PLACEHOLDER) {\n if (output.node.tracking) {\n throw new Error(\n \"The root brick of useBrick cannot be an ignored tracking control node\"\n );\n }\n output.node = undefined;\n }\n\n if (output.node?.portal) {\n throw new Error(\"The root brick of useBrick cannot be a portal brick\");\n }\n\n renderRoot.child = output.node;\n\n const tagName = output.node ? output.node.type : null;\n\n return { tagName, renderRoot, rendererContext, scopedStores };\n}\n\nexport interface MountUseBrickResult {\n portal?: HTMLElement;\n}\n\nexport function mountUseBrick(\n { renderRoot, rendererContext, scopedStores }: RenderUseBrickResult,\n element: HTMLElement\n): MountUseBrickResult {\n let portal: HTMLElement | undefined;\n renderRoot.createPortal = () => {\n const portalRoot = document.querySelector(\n \"#portal-mount-point\"\n ) as HTMLElement;\n portal = document.createElement(\"div\");\n portalRoot.appendChild(portal);\n return portal;\n };\n\n mountTree(renderRoot, element);\n\n rendererContext.dispatchOnMount();\n rendererContext.initializeScrollIntoView();\n rendererContext.initializeMediaChange();\n rendererContext.initializeMessageDispatcher();\n\n for (const store of scopedStores) {\n store.mountAsyncData();\n }\n\n return {\n portal,\n };\n}\n\nexport function unmountUseBrick(\n { rendererContext }: RenderUseBrickResult,\n mountResult: MountUseBrickResult\n): void {\n // if (mountResult.mainBrick) {\n // mountResult.mainBrick.unmount();\n // }\n if (mountResult.portal) {\n unmountTree(mountResult.portal);\n mountResult.portal.remove();\n }\n rendererContext.dispatchOnUnmount();\n rendererContext.dispose();\n}\n\n/** For v2 compatibility of `doTransform` from brick-kit. */\nexport function legacyDoTransform(\n data: unknown,\n to: unknown,\n options?: unknown\n) {\n if (options) {\n throw new Error(\"Legacy doTransform does not support options in v3\");\n }\n return computeRealValue(\n to,\n {\n ..._internalApiGetRuntimeContext()!,\n data,\n },\n {\n noInject: true,\n }\n );\n}\n\nexport function updateStoryboard(\n appId: string,\n storyboardPatch: Partial<Storyboard>\n): void {\n const storyboard = _internalApiGetStoryboardInBootstrapData(appId)!;\n Object.assign(storyboard, {\n ...storyboardPatch,\n meta: {\n // Keep runtime fields such as `injectMenus`\n ...storyboard.meta,\n ...storyboardPatch.meta,\n },\n $$fulfilling: null,\n $$fulfilled: true,\n $$registerCustomTemplateProcessed: false,\n });\n registerAppI18n(storyboard);\n}\n\nexport function updateStoryboardByRoute(appId: string, newRoute: RouteConf) {\n const storyboard = _internalApiGetStoryboardInBootstrapData(appId)!;\n let matched = false;\n\n function matchRoute(route: RouteConf) {\n return route.path === newRoute.path && !route.exact === !newRoute.exact;\n }\n\n function replaceRoutes(routes: RouteConf[]) {\n routes.forEach((route, index) => {\n if (route.type === \"routes\") {\n replaceRoutes(route.routes);\n } else {\n if (matchRoute(route)) {\n matched = true;\n routes[index] = newRoute;\n } else if (Array.isArray((route as RouteConfOfBricks).bricks)) {\n replaceBricks((route as RouteConfOfBricks).bricks);\n }\n }\n });\n }\n\n function replaceBricks(bricks: BrickConf[]) {\n bricks.forEach((brick) => {\n if (brick.slots) {\n for (const slotConf of Object.values(brick.slots)) {\n if (slotConf.type === \"routes\") {\n replaceRoutes(slotConf.routes);\n } else {\n replaceBricks(slotConf.bricks);\n }\n }\n }\n });\n }\n\n replaceRoutes(storyboard.routes);\n\n if (!matched) {\n storyboard.routes.unshift(newRoute);\n }\n}\n\nexport function updateStoryboardByTemplate(\n appId: string,\n newTemplate: CustomTemplate,\n settings: unknown\n): void {\n const tplName = `${appId}.${newTemplate.name}`;\n // customTemplateRegistry.delete(tplName);\n customTemplates.define(tplName, {\n bricks: newTemplate.bricks,\n proxy: newTemplate.proxy,\n state: newTemplate.state,\n });\n updateTemplatePreviewSettings(appId, newTemplate.name, settings);\n}\n\nexport function updateTemplatePreviewSettings(\n appId: string,\n templateId: string,\n settings?: unknown\n): void {\n _updatePreviewSettings(\n appId,\n `\\${APP.homepage}/_dev_only_/template-preview/${templateId}`,\n [\n {\n brick: templateId,\n ...pick(\n settings,\n \"properties\",\n \"events\",\n \"lifeCycle\",\n \"context\",\n \"slots\",\n \"children\"\n ),\n },\n ]\n );\n}\n\nfunction getSnippetPreviewPath(snippetId: string): string {\n return `\\${APP.homepage}/_dev_only_/snippet-preview/${snippetId}`;\n}\n\nexport function updateStoryboardBySnippet(\n appId: string,\n snippetData: {\n snippetId: string;\n bricks?: BrickConf[];\n context?: ContextConf[];\n }\n): void {\n _updatePreviewSettings(\n appId,\n getSnippetPreviewPath(snippetData.snippetId),\n snippetData.bricks?.length ? snippetData.bricks : [{ brick: \"span\" }],\n snippetData.context\n );\n}\n\nexport const updateSnippetPreviewSettings = updateStoryboardBySnippet;\n\nfunction _updatePreviewSettings(\n appId: string,\n path: string,\n bricks: BrickConf[],\n context?: ContextConf[]\n) {\n const { routes } = _internalApiGetStoryboardInBootstrapData(appId)!;\n const previewRouteIndex = routes.findIndex((route) => route.path === path);\n const newPreviewRoute: RouteConf = {\n path,\n bricks,\n context,\n menu: false,\n exact: true,\n };\n if (previewRouteIndex === -1) {\n routes.unshift(newPreviewRoute);\n } else {\n routes.splice(previewRouteIndex, 1, newPreviewRoute);\n }\n}\n\nexport function getContextValue(\n name: string,\n { tplStateStoreId }: DataValueOption\n): unknown {\n const runtimeContext = _internalApiGetRuntimeContext()!;\n\n if (tplStateStoreId) {\n const tplStateStore = getTplStateStore(\n {\n ...runtimeContext,\n tplStateStoreId,\n },\n \"STATE\"\n );\n return tplStateStore.getValue(name);\n }\n\n return runtimeContext.ctxStore.getValue(name);\n}\n\nexport function getAllContextValues({\n tplStateStoreId,\n}: DataValueOption): Record<string, unknown> {\n const runtimeContext = _internalApiGetRuntimeContext()!;\n\n if (tplStateStoreId) {\n const tplStateStore = getTplStateStore(\n {\n ...runtimeContext,\n tplStateStoreId,\n },\n \"STATE\"\n );\n return tplStateStore.getAllValues();\n }\n\n return runtimeContext.ctxStore.getAllValues();\n}\n\nexport function getBrickPackagesById(id: string) {\n return getBrickPackages().find((pkg) =>\n pkg.id ? pkg.id === id : pkg.filePath.startsWith(`${id}/`)\n );\n}\n\n/**\n * Support loading v3 bricks only.\n */\nexport function loadBricks(bricks: string[]) {\n return loadBricksImperatively(bricks, getBrickPackages());\n}\n\n/**\n * Try the brick packages passed in, before using from bootstrap.\n */\nexport function loadEditors(\n editors: string[] | Set<string>,\n brickPackages?: BrickPackage[]\n) {\n return loadEditorsImperatively(editors, brickPackages ?? getBrickPackages());\n}\n\nexport function getRenderId() {\n return _internalApiGetRenderId();\n}\n\nexport async function getAddedContracts(\n storyboardPatch: PreviewStoryboardPatch,\n { appId, updateStoryboardType, collectUsedContracts }: PreviewOption\n): Promise<string[]> {\n const storyboard = _internalApiGetStoryboardInBootstrapData(appId);\n let updatedStoryboard;\n\n // 拿到更新部分的 storyboard 配置,然后扫描一遍,找到新增的 contracts\n if (updateStoryboardType === \"route\") {\n updatedStoryboard = {\n routes: [storyboardPatch as RouteConf],\n } as Storyboard;\n } else if (updateStoryboardType === \"template\") {\n updatedStoryboard = {\n meta: {\n customTemplates: [storyboardPatch as CustomTemplate],\n },\n } as Storyboard;\n } else if (updateStoryboardType === \"snippet\") {\n // snippet 是放在挂载 route 里预览,通过 previewPath 拿到当前修改 route\n const snippetPreviewPath = getSnippetPreviewPath(\n (storyboardPatch as RuntimeSnippet).snippetId\n );\n const currentRoute = storyboard?.routes?.find(\n (route) => route.path === snippetPreviewPath\n );\n\n updatedStoryboard = {\n routes: [currentRoute],\n } as Storyboard;\n }\n\n const addedContracts: string[] = [];\n\n if (updatedStoryboard && collectUsedContracts) {\n const contractApis = await collectUsedContracts(updatedStoryboard);\n\n contractApis.forEach((api: string) => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [_, namespaceId, name] = api.match(\n /(.*)@(.*):\\d\\.\\d\\.\\d/\n ) as string[];\n\n if (\n !storyboard?.meta?.contracts?.some(\n (contract) =>\n contract.namespaceId === namespaceId && contract.name === name\n )\n ) {\n addedContracts.push(api);\n }\n });\n }\n\n return addedContracts;\n}\n\nexport async function debugDataValue(\n debugData: DebugDataValue,\n { tplStateStoreId, routeId }: DataValueOption\n): Promise<any> {\n const runtimeContext = {\n ..._internalApiGetRuntimeContext()!,\n tplStateStoreId,\n match: getMatchedRoute(routeId as string),\n };\n\n if (debugData.resolve) {\n return resolveData(debugData.resolve!, runtimeContext, { cache: \"reload\" });\n }\n\n return asyncComputeRealValue(debugData.value, runtimeContext);\n}\n\nexport function getLegalRuntimeValue(\n options?: RuntimeDataValueOption\n): RuntimeDataVale {\n const runtimeContext = _internalApiGetRuntimeContext();\n\n return {\n app: runtimeContext?.overrideApp ?? runtimeContext?.app,\n location: pick(location, [\"href\", \"origin\", \"hostname\", \"host\"]),\n ...pick(runtimeContext, [\"query\", \"sys\"]),\n match: getMatchedRoute(options?.routeId as string),\n } as RuntimeDataVale;\n}\n\nexport {\n setRealTimeDataInspectRoot,\n addRealTimeDataInspectHook,\n} from \"./data/realTimeDataInspect.js\";\n"],"mappings":"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","ignoreList":[]}
@@ -39,8 +39,9 @@ function setupRootRuntimeContext(bricks, runtimeContext, shallow) {
39
39
  return;
40
40
  }
41
41
  const transpiledSlots = (0, _Renderer.childrenToSlots)(brick.children, brick.slots);
42
- for (const slotConf of Object.values(transpiledSlots ?? {})) {
43
- for (const brick of slotConf.bricks ?? []) {
42
+ for (const slotConf of Object.values(transpiledSlots !== null && transpiledSlots !== void 0 ? transpiledSlots : {})) {
43
+ for (const brick of (_slotConf$bricks = slotConf.bricks) !== null && _slotConf$bricks !== void 0 ? _slotConf$bricks : []) {
44
+ var _slotConf$bricks;
44
45
  setupBrick(brick, inUseBrick);
45
46
  }
46
47
  }
@@ -1 +1 @@
1
- {"version":3,"file":"setupRootRuntimeContext.js","names":["_general","require","_secret_internals","_Renderer","setupRootRuntimeContext","bricks","runtimeContext","shallow","walk","props","isObject","Array","isArray","map","key","value","Object","entries","forEach","v","setupBrick","brick","inUseBrick","forceRecursive","symbolForRootRuntimeContext","properties","transpiledSlots","childrenToSlots","children","slots","slotConf","values"],"sources":["../../../src/internal/setupRootRuntimeContext.ts"],"sourcesContent":["import { isObject } from \"@next-core/utils/general\";\nimport type {\n BrickConf,\n UseBrickSlotsConf,\n UseSingleBrickConf,\n} from \"@next-core/types\";\nimport {\n RuntimeContext,\n RuntimeUseBrickConfWithRootSymbols,\n symbolForRootRuntimeContext,\n} from \"./secret_internals.js\";\nimport { childrenToSlots } from \"./Renderer.js\";\n\nexport function setupRootRuntimeContext(\n bricks: BrickConf[],\n runtimeContext: RuntimeContext,\n shallow?: boolean\n) {\n function walk(props: unknown) {\n if (!isObject(props) || typeof props === \"function\") {\n return;\n }\n\n if (Array.isArray(props)) {\n props.map(walk);\n return;\n }\n\n for (const [key, value] of Object.entries(props)) {\n if (isObject(value) && key === \"useBrick\") {\n if (Array.isArray(value)) {\n value.forEach((v) => setupBrick(v, true));\n } else {\n setupBrick(\n value as UseSingleBrickConf as RuntimeUseBrickConfWithRootSymbols,\n true,\n // For inside useBrick, we always need to setup recursively.\n true\n );\n }\n } else {\n walk(value);\n }\n }\n }\n\n function setupBrick(\n brick: BrickConf,\n inUseBrick?: boolean,\n forceRecursive?: boolean\n ) {\n if (inUseBrick) {\n (brick as RuntimeUseBrickConfWithRootSymbols)[\n symbolForRootRuntimeContext\n ] = runtimeContext;\n }\n\n walk(brick.properties);\n\n if (shallow && !forceRecursive) {\n return;\n }\n\n const transpiledSlots = childrenToSlots(brick.children, brick.slots) as\n | UseBrickSlotsConf\n | undefined;\n\n for (const slotConf of Object.values(transpiledSlots ?? {})) {\n for (const brick of slotConf.bricks ?? []) {\n setupBrick(brick, inUseBrick);\n }\n }\n }\n\n for (const brick of bricks) {\n setupBrick(brick);\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAMA,IAAAC,iBAAA,GAAAD,OAAA;AAKA,IAAAE,SAAA,GAAAF,OAAA;AAEO,SAASG,uBAAuBA,CACrCC,MAAmB,EACnBC,cAA8B,EAC9BC,OAAiB,EACjB;EACA,SAASC,IAAIA,CAACC,KAAc,EAAE;IAC5B,IAAI,CAAC,IAAAC,iBAAQ,EAACD,KAAK,CAAC,IAAI,OAAOA,KAAK,KAAK,UAAU,EAAE;MACnD;IACF;IAEA,IAAIE,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,EAAE;MACxBA,KAAK,CAACI,GAAG,CAACL,IAAI,CAAC;MACf;IACF;IAEA,KAAK,MAAM,CAACM,GAAG,EAAEC,KAAK,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACR,KAAK,CAAC,EAAE;MAChD,IAAI,IAAAC,iBAAQ,EAACK,KAAK,CAAC,IAAID,GAAG,KAAK,UAAU,EAAE;QACzC,IAAIH,KAAK,CAACC,OAAO,CAACG,KAAK,CAAC,EAAE;UACxBA,KAAK,CAACG,OAAO,CAAEC,CAAC,IAAKC,UAAU,CAACD,CAAC,EAAE,IAAI,CAAC,CAAC;QAC3C,CAAC,MAAM;UACLC,UAAU,CACRL,KAAK,EACL,IAAI;UACJ;UACA,IACF,CAAC;QACH;MACF,CAAC,MAAM;QACLP,IAAI,CAACO,KAAK,CAAC;MACb;IACF;EACF;EAEA,SAASK,UAAUA,CACjBC,KAAgB,EAChBC,UAAoB,EACpBC,cAAwB,EACxB;IACA,IAAID,UAAU,EAAE;MACbD,KAAK,CACJG,6CAA2B,CAC5B,GAAGlB,cAAc;IACpB;IAEAE,IAAI,CAACa,KAAK,CAACI,UAAU,CAAC;IAEtB,IAAIlB,OAAO,IAAI,CAACgB,cAAc,EAAE;MAC9B;IACF;IAEA,MAAMG,eAAe,GAAG,IAAAC,yBAAe,EAACN,KAAK,CAACO,QAAQ,EAAEP,KAAK,CAACQ,KAAK,CAEtD;IAEb,KAAK,MAAMC,QAAQ,IAAId,MAAM,CAACe,MAAM,CAACL,eAAe,IAAI,CAAC,CAAC,CAAC,EAAE;MAC3D,KAAK,MAAML,KAAK,IAAIS,QAAQ,CAACzB,MAAM,IAAI,EAAE,EAAE;QACzCe,UAAU,CAACC,KAAK,EAAEC,UAAU,CAAC;MAC/B;IACF;EACF;EAEA,KAAK,MAAMD,KAAK,IAAIhB,MAAM,EAAE;IAC1Be,UAAU,CAACC,KAAK,CAAC;EACnB;AACF","ignoreList":[]}
1
+ {"version":3,"file":"setupRootRuntimeContext.js","names":["_general","require","_secret_internals","_Renderer","setupRootRuntimeContext","bricks","runtimeContext","shallow","walk","props","isObject","Array","isArray","map","key","value","Object","entries","forEach","v","setupBrick","brick","inUseBrick","forceRecursive","symbolForRootRuntimeContext","properties","transpiledSlots","childrenToSlots","children","slots","slotConf","values","_slotConf$bricks"],"sources":["../../../src/internal/setupRootRuntimeContext.ts"],"sourcesContent":["import { isObject } from \"@next-core/utils/general\";\nimport type {\n BrickConf,\n UseBrickSlotsConf,\n UseSingleBrickConf,\n} from \"@next-core/types\";\nimport {\n RuntimeContext,\n RuntimeUseBrickConfWithRootSymbols,\n symbolForRootRuntimeContext,\n} from \"./secret_internals.js\";\nimport { childrenToSlots } from \"./Renderer.js\";\n\nexport function setupRootRuntimeContext(\n bricks: BrickConf[],\n runtimeContext: RuntimeContext,\n shallow?: boolean\n) {\n function walk(props: unknown) {\n if (!isObject(props) || typeof props === \"function\") {\n return;\n }\n\n if (Array.isArray(props)) {\n props.map(walk);\n return;\n }\n\n for (const [key, value] of Object.entries(props)) {\n if (isObject(value) && key === \"useBrick\") {\n if (Array.isArray(value)) {\n value.forEach((v) => setupBrick(v, true));\n } else {\n setupBrick(\n value as UseSingleBrickConf as RuntimeUseBrickConfWithRootSymbols,\n true,\n // For inside useBrick, we always need to setup recursively.\n true\n );\n }\n } else {\n walk(value);\n }\n }\n }\n\n function setupBrick(\n brick: BrickConf,\n inUseBrick?: boolean,\n forceRecursive?: boolean\n ) {\n if (inUseBrick) {\n (brick as RuntimeUseBrickConfWithRootSymbols)[\n symbolForRootRuntimeContext\n ] = runtimeContext;\n }\n\n walk(brick.properties);\n\n if (shallow && !forceRecursive) {\n return;\n }\n\n const transpiledSlots = childrenToSlots(brick.children, brick.slots) as\n | UseBrickSlotsConf\n | undefined;\n\n for (const slotConf of Object.values(transpiledSlots ?? {})) {\n for (const brick of slotConf.bricks ?? []) {\n setupBrick(brick, inUseBrick);\n }\n }\n }\n\n for (const brick of bricks) {\n setupBrick(brick);\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAMA,IAAAC,iBAAA,GAAAD,OAAA;AAKA,IAAAE,SAAA,GAAAF,OAAA;AAEO,SAASG,uBAAuBA,CACrCC,MAAmB,EACnBC,cAA8B,EAC9BC,OAAiB,EACjB;EACA,SAASC,IAAIA,CAACC,KAAc,EAAE;IAC5B,IAAI,CAAC,IAAAC,iBAAQ,EAACD,KAAK,CAAC,IAAI,OAAOA,KAAK,KAAK,UAAU,EAAE;MACnD;IACF;IAEA,IAAIE,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,EAAE;MACxBA,KAAK,CAACI,GAAG,CAACL,IAAI,CAAC;MACf;IACF;IAEA,KAAK,MAAM,CAACM,GAAG,EAAEC,KAAK,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACR,KAAK,CAAC,EAAE;MAChD,IAAI,IAAAC,iBAAQ,EAACK,KAAK,CAAC,IAAID,GAAG,KAAK,UAAU,EAAE;QACzC,IAAIH,KAAK,CAACC,OAAO,CAACG,KAAK,CAAC,EAAE;UACxBA,KAAK,CAACG,OAAO,CAAEC,CAAC,IAAKC,UAAU,CAACD,CAAC,EAAE,IAAI,CAAC,CAAC;QAC3C,CAAC,MAAM;UACLC,UAAU,CACRL,KAAK,EACL,IAAI;UACJ;UACA,IACF,CAAC;QACH;MACF,CAAC,MAAM;QACLP,IAAI,CAACO,KAAK,CAAC;MACb;IACF;EACF;EAEA,SAASK,UAAUA,CACjBC,KAAgB,EAChBC,UAAoB,EACpBC,cAAwB,EACxB;IACA,IAAID,UAAU,EAAE;MACbD,KAAK,CACJG,6CAA2B,CAC5B,GAAGlB,cAAc;IACpB;IAEAE,IAAI,CAACa,KAAK,CAACI,UAAU,CAAC;IAEtB,IAAIlB,OAAO,IAAI,CAACgB,cAAc,EAAE;MAC9B;IACF;IAEA,MAAMG,eAAe,GAAG,IAAAC,yBAAe,EAACN,KAAK,CAACO,QAAQ,EAAEP,KAAK,CAACQ,KAAK,CAEtD;IAEb,KAAK,MAAMC,QAAQ,IAAId,MAAM,CAACe,MAAM,CAACL,eAAe,aAAfA,eAAe,cAAfA,eAAe,GAAI,CAAC,CAAC,CAAC,EAAE;MAC3D,KAAK,MAAML,KAAK,KAAAW,gBAAA,GAAIF,QAAQ,CAACzB,MAAM,cAAA2B,gBAAA,cAAAA,gBAAA,GAAI,EAAE,EAAE;QAAA,IAAAA,gBAAA;QACzCZ,UAAU,CAACC,KAAK,EAAEC,UAAU,CAAC;MAC/B;IACF;EACF;EAEA,KAAK,MAAMD,KAAK,IAAIhB,MAAM,EAAE;IAC1Be,UAAU,CAACC,KAAK,CAAC;EACnB;AACF","ignoreList":[]}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.isNetworkError = isNetworkError;
7
+ var _http = require("@next-core/http");
8
+ var _loader = require("@next-core/loader");
9
+ function isNetworkError(error) {
10
+ return !!error && (error instanceof _loader.BrickLoadError || error instanceof _http.HttpFetchError || error instanceof Error && error.name === "ChunkLoadError" || error instanceof Event && error.type === "error" && error.target instanceof HTMLScriptElement);
11
+ }
12
+ //# sourceMappingURL=isNetworkError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isNetworkError.js","names":["_http","require","_loader","isNetworkError","error","BrickLoadError","HttpFetchError","Error","name","Event","type","target","HTMLScriptElement"],"sources":["../../src/isNetworkError.ts"],"sourcesContent":["import { HttpFetchError } from \"@next-core/http\";\nimport { BrickLoadError } from \"@next-core/loader\";\n\nexport function isNetworkError(error: unknown): boolean {\n return (\n !!error &&\n (error instanceof BrickLoadError ||\n error instanceof HttpFetchError ||\n (error instanceof Error && error.name === \"ChunkLoadError\") ||\n (error instanceof Event &&\n error.type === \"error\" &&\n error.target instanceof HTMLScriptElement))\n );\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAEO,SAASE,cAAcA,CAACC,KAAc,EAAW;EACtD,OACE,CAAC,CAACA,KAAK,KACNA,KAAK,YAAYC,sBAAc,IAC9BD,KAAK,YAAYE,oBAAc,IAC9BF,KAAK,YAAYG,KAAK,IAAIH,KAAK,CAACI,IAAI,KAAK,gBAAiB,IAC1DJ,KAAK,YAAYK,KAAK,IACrBL,KAAK,CAACM,IAAI,KAAK,OAAO,IACtBN,KAAK,CAACO,MAAM,YAAYC,iBAAkB,CAAC;AAEnD","ignoreList":[]}
@@ -11,18 +11,18 @@ var _lodash = require("lodash");
11
11
  let brick;
12
12
  const WATEMARK_BRICKNAME = exports.WATEMARK_BRICKNAME = "basic.show-watermark";
13
13
  function setWatermark() {
14
- var _window$APP_ROOT, _window$APP_ROOT2, _hooks$auth, _watermarkConfig$flag, _watermarkConfig$flag2;
14
+ var _window$APP_ROOT, _window$APP_ROOT2, _username, _hooks$auth, _settings$watermarkCo, _watermarkConfig$cont, _watermarkConfig$flag, _watermarkConfig$flag2;
15
15
  const flags = (0, _Runtime.getRuntime)().getFeatureFlags();
16
16
  const settings = (0, _Runtime.getRuntime)().getMiscSettings();
17
17
  if (!flags["show-watermark"]) {
18
18
  return;
19
19
  }
20
20
  const isDeveloper = ((_window$APP_ROOT = window.APP_ROOT) === null || _window$APP_ROOT === void 0 || (_window$APP_ROOT = _window$APP_ROOT.match(/versions\/([^/]+)\//)) === null || _window$APP_ROOT === void 0 ? void 0 : _window$APP_ROOT[1]) === "0.0.0" || ((_window$APP_ROOT2 = window.APP_ROOT) === null || _window$APP_ROOT2 === void 0 || (_window$APP_ROOT2 = _window$APP_ROOT2.match(/micro-apps\/(?:v2|v3)\/[^/]+\/([^/]+)/)) === null || _window$APP_ROOT2 === void 0 ? void 0 : _window$APP_ROOT2[1]) === "0.0.0";
21
- const username = (_Runtime.hooks === null || _Runtime.hooks === void 0 || (_hooks$auth = _Runtime.hooks.auth) === null || _hooks$auth === void 0 || (_hooks$auth = _hooks$auth.getAuth()) === null || _hooks$auth === void 0 ? void 0 : _hooks$auth.username) ?? "";
22
- const watermarkConfig = settings.watermarkConfig ?? {
21
+ const username = (_username = _Runtime.hooks === null || _Runtime.hooks === void 0 || (_hooks$auth = _Runtime.hooks.auth) === null || _hooks$auth === void 0 || (_hooks$auth = _hooks$auth.getAuth()) === null || _hooks$auth === void 0 ? void 0 : _hooks$auth.username) !== null && _username !== void 0 ? _username : "";
22
+ const watermarkConfig = (_settings$watermarkCo = settings.watermarkConfig) !== null && _settings$watermarkCo !== void 0 ? _settings$watermarkCo : {
23
23
  flags: {}
24
24
  };
25
- const content = [...(typeof watermarkConfig.content === "string" ? [watermarkConfig.content] : watermarkConfig.content ?? []), (_watermarkConfig$flag = watermarkConfig.flags) !== null && _watermarkConfig$flag !== void 0 && _watermarkConfig$flag["show-development"] && isDeveloper ? "Development" : "", (_watermarkConfig$flag2 = watermarkConfig.flags) !== null && _watermarkConfig$flag2 !== void 0 && _watermarkConfig$flag2["show-user"] ? username : ""].filter(Boolean);
25
+ const content = [...(typeof watermarkConfig.content === "string" ? [watermarkConfig.content] : (_watermarkConfig$cont = watermarkConfig.content) !== null && _watermarkConfig$cont !== void 0 ? _watermarkConfig$cont : []), (_watermarkConfig$flag = watermarkConfig.flags) !== null && _watermarkConfig$flag !== void 0 && _watermarkConfig$flag["show-development"] && isDeveloper ? "Development" : "", (_watermarkConfig$flag2 = watermarkConfig.flags) !== null && _watermarkConfig$flag2 !== void 0 && _watermarkConfig$flag2["show-user"] ? username : ""].filter(Boolean);
26
26
 
27
27
  // Do not call showWatermark if there is no content
28
28
  if (content.length === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"setWatermark.js","names":["_loader","require","_Runtime","_lodash","brick","WATEMARK_BRICKNAME","exports","setWatermark","_window$APP_ROOT","_window$APP_ROOT2","_hooks$auth","_watermarkConfig$flag","_watermarkConfig$flag2","flags","getRuntime","getFeatureFlags","settings","getMiscSettings","isDeveloper","window","APP_ROOT","match","username","hooks","auth","getAuth","watermarkConfig","content","filter","Boolean","length","defaultProps","zIndex","width","font","fontSize","gap","omit","resolve","loadBricksImperatively","getBrickPackages","then","document","createElement","error","console"],"sources":["../../src/setWatermark.ts"],"sourcesContent":["import { loadBricksImperatively } from \"@next-core/loader\";\nimport { getBrickPackages, getRuntime, hooks } from \"./internal/Runtime.js\";\nimport { omit } from \"lodash\";\n\ninterface WaterMarkProps {\n container?: HTMLElement;\n content?: string | string[];\n zIndex?: number;\n rotate?: number;\n width?: number;\n height?: number;\n image?: string;\n font?: {\n color?: CanvasFillStrokeStyles[\"fillStyle\"];\n fontSize?: number | string;\n fontWeight?: \"normal\" | \"light\" | \"weight\" | number;\n fontStyle?: \"none\" | \"normal\" | \"italic\" | \"oblique\";\n fontFamily?: string;\n textAlign?: CanvasTextAlign;\n };\n style?: React.CSSProperties;\n gap?: [number, number];\n offset?: [number, number];\n}\n\nlet brick: {\n resolve(options: WaterMarkProps): void;\n};\n\nexport const WATEMARK_BRICKNAME = \"basic.show-watermark\";\n\nexport function setWatermark() {\n const flags = getRuntime().getFeatureFlags();\n const settings = getRuntime().getMiscSettings();\n if (!flags[\"show-watermark\"]) {\n return;\n }\n const isDeveloper =\n window.APP_ROOT?.match(/versions\\/([^/]+)\\//)?.[1] === \"0.0.0\" ||\n window.APP_ROOT?.match(/micro-apps\\/(?:v2|v3)\\/[^/]+\\/([^/]+)/)?.[1] ===\n \"0.0.0\";\n const username =\n (hooks?.auth?.getAuth() as Record<string, any>)?.username ?? \"\";\n const watermarkConfig = (settings.watermarkConfig ?? {\n flags: {},\n }) as WaterMarkProps & {\n flags: {\n \"show-development\"?: boolean;\n \"show-user\"?: boolean;\n };\n };\n\n const content = [\n ...(typeof watermarkConfig.content === \"string\"\n ? [watermarkConfig.content]\n : watermarkConfig.content ?? []),\n watermarkConfig.flags?.[\"show-development\"] && isDeveloper\n ? \"Development\"\n : \"\",\n watermarkConfig.flags?.[\"show-user\"] ? username : \"\",\n ].filter(Boolean);\n\n // Do not call showWatermark if there is no content\n if (content.length === 0) {\n return;\n }\n\n const defaultProps: WaterMarkProps = {\n content,\n zIndex: 1001,\n width: 200,\n font: {\n fontSize: 28,\n },\n gap: [190, 190],\n ...omit(watermarkConfig, [\"content\", \"flags\"]),\n };\n if (brick) {\n brick.resolve(defaultProps);\n } else {\n loadBricksImperatively([WATEMARK_BRICKNAME], getBrickPackages()).then(\n () => {\n brick = document.createElement(WATEMARK_BRICKNAME) as any;\n\n brick.resolve(defaultProps);\n },\n // istanbul ignore next\n (error: unknown) => {\n // eslint-disable-next-line no-console\n console.error(\"Load watermark service failed:\", error);\n }\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"setWatermark.js","names":["_loader","require","_Runtime","_lodash","brick","WATEMARK_BRICKNAME","exports","setWatermark","_window$APP_ROOT","_window$APP_ROOT2","_username","_hooks$auth","_settings$watermarkCo","_watermarkConfig$cont","_watermarkConfig$flag","_watermarkConfig$flag2","flags","getRuntime","getFeatureFlags","settings","getMiscSettings","isDeveloper","window","APP_ROOT","match","username","hooks","auth","getAuth","watermarkConfig","content","filter","Boolean","length","defaultProps","zIndex","width","font","fontSize","gap","omit","resolve","loadBricksImperatively","getBrickPackages","then","document","createElement","error","console"],"sources":["../../src/setWatermark.ts"],"sourcesContent":["import { loadBricksImperatively } from \"@next-core/loader\";\nimport { getBrickPackages, getRuntime, hooks } from \"./internal/Runtime.js\";\nimport { omit } from \"lodash\";\n\ninterface WaterMarkProps {\n container?: HTMLElement;\n content?: string | string[];\n zIndex?: number;\n rotate?: number;\n width?: number;\n height?: number;\n image?: string;\n font?: {\n color?: CanvasFillStrokeStyles[\"fillStyle\"];\n fontSize?: number | string;\n fontWeight?: \"normal\" | \"light\" | \"weight\" | number;\n fontStyle?: \"none\" | \"normal\" | \"italic\" | \"oblique\";\n fontFamily?: string;\n textAlign?: CanvasTextAlign;\n };\n style?: React.CSSProperties;\n gap?: [number, number];\n offset?: [number, number];\n}\n\nlet brick: {\n resolve(options: WaterMarkProps): void;\n};\n\nexport const WATEMARK_BRICKNAME = \"basic.show-watermark\";\n\nexport function setWatermark() {\n const flags = getRuntime().getFeatureFlags();\n const settings = getRuntime().getMiscSettings();\n if (!flags[\"show-watermark\"]) {\n return;\n }\n const isDeveloper =\n window.APP_ROOT?.match(/versions\\/([^/]+)\\//)?.[1] === \"0.0.0\" ||\n window.APP_ROOT?.match(/micro-apps\\/(?:v2|v3)\\/[^/]+\\/([^/]+)/)?.[1] ===\n \"0.0.0\";\n const username =\n (hooks?.auth?.getAuth() as Record<string, any>)?.username ?? \"\";\n const watermarkConfig = (settings.watermarkConfig ?? {\n flags: {},\n }) as WaterMarkProps & {\n flags: {\n \"show-development\"?: boolean;\n \"show-user\"?: boolean;\n };\n };\n\n const content = [\n ...(typeof watermarkConfig.content === \"string\"\n ? [watermarkConfig.content]\n : watermarkConfig.content ?? []),\n watermarkConfig.flags?.[\"show-development\"] && isDeveloper\n ? \"Development\"\n : \"\",\n watermarkConfig.flags?.[\"show-user\"] ? username : \"\",\n ].filter(Boolean);\n\n // Do not call showWatermark if there is no content\n if (content.length === 0) {\n return;\n }\n\n const defaultProps: WaterMarkProps = {\n content,\n zIndex: 1001,\n width: 200,\n font: {\n fontSize: 28,\n },\n gap: [190, 190],\n ...omit(watermarkConfig, [\"content\", \"flags\"]),\n };\n if (brick) {\n brick.resolve(defaultProps);\n } else {\n loadBricksImperatively([WATEMARK_BRICKNAME], getBrickPackages()).then(\n () => {\n brick = document.createElement(WATEMARK_BRICKNAME) as any;\n\n brick.resolve(defaultProps);\n },\n // istanbul ignore next\n (error: unknown) => {\n // eslint-disable-next-line no-console\n console.error(\"Load watermark service failed:\", error);\n }\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.resetReloadForError = resetReloadForError;
7
+ exports.shouldReloadForError = shouldReloadForError;
8
+ var _isNetworkError = require("./isNetworkError.js");
9
+ const STORAGE_KEY = "reload-for-error-count";
10
+ const MAX_RELOAD_COUNT = 2;
11
+ function shouldReloadForError(error) {
12
+ if (/upchat/i.test(navigator.userAgent) && (0, _isNetworkError.isNetworkError)(error)) {
13
+ var _sessionStorage$getIt;
14
+ const count = +((_sessionStorage$getIt = sessionStorage.getItem(STORAGE_KEY)) !== null && _sessionStorage$getIt !== void 0 ? _sessionStorage$getIt : 0);
15
+ if (count < MAX_RELOAD_COUNT) {
16
+ sessionStorage.setItem(STORAGE_KEY, String(count + 1));
17
+ return true;
18
+ }
19
+ resetReloadForError();
20
+ }
21
+ return false;
22
+ }
23
+ function resetReloadForError() {
24
+ sessionStorage.removeItem(STORAGE_KEY);
25
+ }
26
+ //# sourceMappingURL=shouldReloadForError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shouldReloadForError.js","names":["_isNetworkError","require","STORAGE_KEY","MAX_RELOAD_COUNT","shouldReloadForError","error","test","navigator","userAgent","isNetworkError","_sessionStorage$getIt","count","sessionStorage","getItem","setItem","String","resetReloadForError","removeItem"],"sources":["../../src/shouldReloadForError.ts"],"sourcesContent":["import { isNetworkError } from \"./isNetworkError.js\";\n\nconst STORAGE_KEY = \"reload-for-error-count\";\nconst MAX_RELOAD_COUNT = 2;\n\nexport function shouldReloadForError(error: unknown): boolean {\n if (/upchat/i.test(navigator.userAgent) && isNetworkError(error)) {\n const count = +(sessionStorage.getItem(STORAGE_KEY) ?? 0);\n if (count < MAX_RELOAD_COUNT) {\n sessionStorage.setItem(STORAGE_KEY, String(count + 1));\n return true;\n }\n resetReloadForError();\n }\n return false;\n}\n\nexport function resetReloadForError() {\n sessionStorage.removeItem(STORAGE_KEY);\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,eAAA,GAAAC,OAAA;AAEA,MAAMC,WAAW,GAAG,wBAAwB;AAC5C,MAAMC,gBAAgB,GAAG,CAAC;AAEnB,SAASC,oBAAoBA,CAACC,KAAc,EAAW;EAC5D,IAAI,SAAS,CAACC,IAAI,CAACC,SAAS,CAACC,SAAS,CAAC,IAAI,IAAAC,8BAAc,EAACJ,KAAK,CAAC,EAAE;IAAA,IAAAK,qBAAA;IAChE,MAAMC,KAAK,GAAG,GAAAD,qBAAA,GAAEE,cAAc,CAACC,OAAO,CAACX,WAAW,CAAC,cAAAQ,qBAAA,cAAAA,qBAAA,GAAI,CAAC,CAAC;IACzD,IAAIC,KAAK,GAAGR,gBAAgB,EAAE;MAC5BS,cAAc,CAACE,OAAO,CAACZ,WAAW,EAAEa,MAAM,CAACJ,KAAK,GAAG,CAAC,CAAC,CAAC;MACtD,OAAO,IAAI;IACb;IACAK,mBAAmB,CAAC,CAAC;EACvB;EACA,OAAO,KAAK;AACd;AAEO,SAASA,mBAAmBA,CAAA,EAAG;EACpCJ,cAAc,CAACK,UAAU,CAACf,WAAW,CAAC;AACxC","ignoreList":[]}