@next-bricks/vb-experiment 1.3.15 → 1.3.17
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.
- package/dist/bricks.json +3 -3
- package/dist/chunks/1469.1099f419.js +2 -0
- package/dist/chunks/1469.1099f419.js.map +1 -0
- package/dist/chunks/{246.e9cdf4f2.js → 246.3c1287e4.js} +2 -2
- package/dist/chunks/{246.e9cdf4f2.js.map → 246.3c1287e4.js.map} +1 -1
- package/dist/chunks/{7311.f04a9cac.js → 2857.da8e603e.js} +2 -2
- package/dist/chunks/2857.da8e603e.js.map +1 -0
- package/dist/chunks/{3171.3dd2f1c4.js → 3171.bee73fe6.js} +2 -2
- package/dist/chunks/{3171.3dd2f1c4.js.map → 3171.bee73fe6.js.map} +1 -1
- package/dist/chunks/{3735.61433691.js → 3735.6be3dc55.js} +4 -4
- package/dist/chunks/3735.6be3dc55.js.map +1 -0
- package/dist/chunks/{4765.9093ebcf.js → 4765.3a3c2ed3.js} +2 -2
- package/dist/chunks/{4765.9093ebcf.js.map → 4765.3a3c2ed3.js.map} +1 -1
- package/dist/chunks/4837.05a838ee.js +2 -0
- package/dist/chunks/{7218.9dc036f4.js.map → 4837.05a838ee.js.map} +1 -1
- package/dist/chunks/{5552.648b8e17.js → 5552.96d83691.js} +2 -2
- package/dist/chunks/{5552.648b8e17.js.map → 5552.96d83691.js.map} +1 -1
- package/dist/chunks/7131.ed1c7310.js +2 -0
- package/dist/chunks/7131.ed1c7310.js.map +1 -0
- package/dist/chunks/{7146.f95bb967.js → 7146.a8c80bcf.js} +2 -2
- package/dist/chunks/{7146.f95bb967.js.map → 7146.a8c80bcf.js.map} +1 -1
- package/dist/chunks/7218.b5820c83.js +2 -0
- package/dist/chunks/{4837.13dfbf22.js.map → 7218.b5820c83.js.map} +1 -1
- package/dist/chunks/948.1b677be1.js +3 -0
- package/dist/chunks/948.1b677be1.js.map +1 -0
- package/dist/chunks/app-playground.57f8b0b2.js +2 -0
- package/dist/chunks/app-playground.57f8b0b2.js.map +1 -0
- package/dist/chunks/app-preview.9fb1e8fc.js +2 -0
- package/dist/chunks/{app-preview.ca674689.js.map → app-preview.9fb1e8fc.js.map} +1 -1
- package/dist/chunks/{export-as-source-files.ce8ffd89.js → export-as-source-files.5accf195.js} +2 -2
- package/dist/chunks/{export-as-source-files.ce8ffd89.js.map → export-as-source-files.5accf195.js.map} +1 -1
- package/dist/chunks/{export-widgets.f2b4700e.js → export-widgets.1562a8ae.js} +2 -2
- package/dist/chunks/{export-widgets.f2b4700e.js.map → export-widgets.1562a8ae.js.map} +1 -1
- package/dist/chunks/main.0ecb65a5.js +2 -0
- package/dist/chunks/{main.3a36657c.js.map → main.0ecb65a5.js.map} +1 -1
- package/dist/chunks/tsx-playground.afd56710.js +2 -0
- package/dist/chunks/tsx-playground.afd56710.js.map +1 -0
- package/dist/index.ab859801.js +2 -0
- package/dist/{index.837b3856.js.map → index.ab859801.js.map} +1 -1
- package/dist/manifest.json +32 -19
- package/dist/types.json +27 -0
- package/dist-types/tsx-playground/index.d.ts +7 -0
- package/package.json +2 -2
- package/dist/chunks/1469.1261157a.js +0 -2
- package/dist/chunks/1469.1261157a.js.map +0 -1
- package/dist/chunks/3735.61433691.js.map +0 -1
- package/dist/chunks/4154.d161e0c4.js +0 -2
- package/dist/chunks/4154.d161e0c4.js.map +0 -1
- package/dist/chunks/4837.13dfbf22.js +0 -2
- package/dist/chunks/7218.9dc036f4.js +0 -2
- package/dist/chunks/7311.f04a9cac.js.map +0 -1
- package/dist/chunks/948.9e1553ab.js +0 -3
- package/dist/chunks/948.9e1553ab.js.map +0 -1
- package/dist/chunks/app-playground.76926a68.js +0 -2
- package/dist/chunks/app-playground.76926a68.js.map +0 -1
- package/dist/chunks/app-preview.ca674689.js +0 -2
- package/dist/chunks/main.3a36657c.js +0 -2
- package/dist/chunks/tsx-playground.3d6f89ab.js +0 -2
- package/dist/chunks/tsx-playground.3d6f89ab.js.map +0 -1
- package/dist/index.837b3856.js +0 -2
- /package/dist/chunks/{3735.61433691.js.LICENSE.txt → 3735.6be3dc55.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{948.9e1553ab.js.LICENSE.txt → 948.1b677be1.js.LICENSE.txt} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";(globalThis.webpackChunk_next_bricks_vb_experiment=globalThis.webpackChunk_next_bricks_vb_experiment||[]).push([[4765,7146],{7146:(e,t,r)=>{function o(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,o=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return function(n,s){if("string"==typeof t?n.name===t:t.includes(n.name)){const t=[];for(let i=1;i<=r;i++){const r=s[s.length-i];if("MemberExpression"===(null==r?void 0:r.node.type)&&"object"===r.key){const s=r.node;s.computed||"Identifier"!==s.property.type?s.computed&&"Literal"===s.property.type&&"string"==typeof s.property.value?t.push(o?`${n.name}.${s.property.value}`:s.property.value):e.hasNonStaticUsage=!0:t.push(o?`${n.name}.${s.property.name}`:s.property.name)}else e.hasNonStaticUsage=!0}t.length===r&&e.usedProperties.add(t.join("."))}}}function n(e,t){return function(r,o,n){if(o.name===e){const e=n[n.length-1],o=n[n.length-2];if("CallExpression"===(null==o?void 0:o.node.type)&&"callee"===(null==o?void 0:o.key)&&"MemberExpression"===(null==e?void 0:e.node.type)&&"object"===e.key&&(e.node.computed?"Literal"===e.node.property.type&&e.node.property.value===t:"Identifier"===e.node.property.type&&e.node.property.name===t)){const e=o.node.arguments;if(e.length>0){const t=e[0];"Literal"===t.type&&"string"==typeof t.value?r.usedArgs.add(t.value):r.hasNonStaticUsage=!0}}}}}r.r(t),r.d(t,{beforeVisitGlobalMember:()=>o,collectAppGetMenuUsage:()=>s,collectInstalledAppsHasUsage:()=>i,collectMemberUsage:()=>p,collectMemberUsageInFunction:()=>b,createProviderClass:()=>c.createProviderClass,replaceUseChildren:()=>E,scanPermissionActionsInAny:()=>A,scanPermissionActionsInStoryboard:()=>m,strictCollectMemberUsage:()=>u,track:()=>f,trackAll:()=>y,traverseStoryboardExpressions:()=>l,traverseStoryboardFunction:()=>g,traverseStoryboardFunctions:()=>h,unwrapProvider:()=>c.unwrapProvider});const s=n("APP","getMenu"),i=n("INSTALLED_APPS","has");var a=r(1321),c=r(
|
|
2
|
-
//# sourceMappingURL=4765.
|
|
1
|
+
"use strict";(globalThis.webpackChunk_next_bricks_vb_experiment=globalThis.webpackChunk_next_bricks_vb_experiment||[]).push([[4765,7146],{7146:(e,t,r)=>{function o(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,o=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return function(n,s){if("string"==typeof t?n.name===t:t.includes(n.name)){const t=[];for(let i=1;i<=r;i++){const r=s[s.length-i];if("MemberExpression"===(null==r?void 0:r.node.type)&&"object"===r.key){const s=r.node;s.computed||"Identifier"!==s.property.type?s.computed&&"Literal"===s.property.type&&"string"==typeof s.property.value?t.push(o?`${n.name}.${s.property.value}`:s.property.value):e.hasNonStaticUsage=!0:t.push(o?`${n.name}.${s.property.name}`:s.property.name)}else e.hasNonStaticUsage=!0}t.length===r&&e.usedProperties.add(t.join("."))}}}function n(e,t){return function(r,o,n){if(o.name===e){const e=n[n.length-1],o=n[n.length-2];if("CallExpression"===(null==o?void 0:o.node.type)&&"callee"===(null==o?void 0:o.key)&&"MemberExpression"===(null==e?void 0:e.node.type)&&"object"===e.key&&(e.node.computed?"Literal"===e.node.property.type&&e.node.property.value===t:"Identifier"===e.node.property.type&&e.node.property.name===t)){const e=o.node.arguments;if(e.length>0){const t=e[0];"Literal"===t.type&&"string"==typeof t.value?r.usedArgs.add(t.value):r.hasNonStaticUsage=!0}}}}}r.r(t),r.d(t,{beforeVisitGlobalMember:()=>o,collectAppGetMenuUsage:()=>s,collectInstalledAppsHasUsage:()=>i,collectMemberUsage:()=>p,collectMemberUsageInFunction:()=>b,createProviderClass:()=>c.createProviderClass,replaceUseChildren:()=>E,scanPermissionActionsInAny:()=>A,scanPermissionActionsInStoryboard:()=>m,strictCollectMemberUsage:()=>u,track:()=>f,trackAll:()=>y,traverseStoryboardExpressions:()=>l,traverseStoryboardFunction:()=>g,traverseStoryboardFunctions:()=>h,unwrapProvider:()=>c.unwrapProvider});const s=n("APP","getMenu"),i=n("INSTALLED_APPS","has");var a=r(1321),c=r(7019);function l(e,t,r){const o=new WeakSet,{matchExpressionString:n,visitNotMatchedExpressionString:s,visitNonExpressionString:i,visitObject:l}="string"==typeof r?{matchExpressionString:e=>e.includes(r)}:r;!function e(r){if("string"==typeof r)if((0,a.isEvaluable)(r))if(n(r))try{(0,a.preevaluate)(r,{cache:!0,withParent:!0,hooks:{beforeVisitGlobal(e,o){t(e,o,r)}}})}catch(e){console.error("Parse storyboard expression failed:",e)}else null==s||s(r);else null==i||i(r);else if((0,c.isObject)(r)){if(o.has(r))return;o.add(r),null==l||l(r);for(const t of Array.isArray(r)?r:Object.values(r))e(t)}}(e)}function u(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;const{hasNonStaticUsage:o,nonStaticUsage:n,usedProperties:s}=p(e,t,r);if(o)throw new Error(`Non-static usage of ${t} is prohibited, check your expression: "${n}"`);return s}function p(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;const n={usedProperties:new Set,hasNonStaticUsage:!1},s=o(n,t,r);return l(e,((e,t,r)=>{s(e,t),n.hasNonStaticUsage&&(n.nonStaticUsage=r)}),t),n}const d=["CTX","STATE","FORM_STATE"];function f(e,t,r){if(e.includes(t)){const n={usedProperties:new Set,hasNonStaticUsage:!1},{expression:s}=(0,a.preevaluate)(e,{cache:!0,withParent:!0,hooks:{beforeVisitGlobal:o(n,r)}});let i;if("SequenceExpression"===s.type&&(i=s.expressions[0])&&"Literal"===i.type&&i.value===t){if(n.usedProperties.size>0)return n.usedProperties;console.warn(`You are using "${t}" but no \`${r}\` usage found in your expression: ${JSON.stringify(e)}`)}}return!1}function y(e){if(d.some((t=>e.includes(t)))){const t={usedProperties:new Set,hasNonStaticUsage:!1};if((0,a.preevaluate)(e,{cache:!0,withParent:!0,hooks:{beforeVisitGlobal:o(t,d,1,!0)}}),t.usedProperties.size>0){const e=[...t.usedProperties],r={context:!1,state:!1,formState:!1},o={CTX:"context",STATE:"state",FORM_STATE:"formState"};return e.forEach((e=>{const[t,n]=e.split(".");r[o[t]]||(r[o[t]]=[]),r[o[t]].push(n)})),r}console.warn(`You are using track all but no "CTX" or "STATE" or "FORM_STATE" usage found in your expression: ${JSON.stringify(e)}`)}return!1}function h(e,t,r){if(Array.isArray(e))for(const o of e)null!=r&&r.matchSource&&!r.matchSource(o.source)||g(o,t)}function g(e,t,r){try{(0,a.precookFunction)(e.source,{typescript:e.typescript,withParent:!0,hooks:{beforeVisitGlobal:t},cacheKey:e})}catch(t){r||console.error(`Parse storyboard function "${e.name}" failed:`,t)}}function b(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;const s={usedProperties:new Set,hasNonStaticUsage:!1};if(e.source.includes(t)&&g(e,o(s,t,n),r),s.hasNonStaticUsage&&!r)throw new Error(`Non-static usage of ${t} is prohibited, check your function: "${e.name}"`);return s.usedProperties.delete(e.name),s.usedProperties}const S="PERMISSIONS",v="check";function m(e){var t;const r=new Set,o=P(r),{customTemplates:n,functions:s}=null!==(t=e.meta)&&void 0!==t?t:{};return l([e.routes,n],o,S),h(s,o,{matchSource:e=>e.includes(S)}),Array.from(r)}function A(e){const t=new Set;return l(e,P(t),S),Array.from(t)}function P(e){return function(t,r){if(t.name===S){const t=r[r.length-1],o=r[r.length-2];if("CallExpression"===(null==o?void 0:o.node.type)&&"callee"===(null==o?void 0:o.key)&&"MemberExpression"===(null==t?void 0:t.node.type)&&"object"===t.key&&(t.node.computed?"Literal"===t.node.property.type&&t.node.property.value===v:"Identifier"===t.node.property.type&&t.node.property.name===v))for(const t of o.node.arguments)"Literal"===t.type&&"string"==typeof t.value&&e.add(t.value)}}}var k=r(563);const{pull:w}=k,x=/^\[\w+\]$/;function E(e){if(Array.isArray(e))for(const t of e)T(t);else T(e)}function T(e){let t=e.slots;const r=new Map;if(Array.isArray(e.children)&&!t){const t=[];for(const n of e.children){var o;const e=null!==(o=n.slot)&&void 0!==o?o:"";if(x.test(e)){delete n.slot;const o=r.get(e);o?o.push(n):r.set(e,[n]),t.push(n)}T(n)}w(e.children,...t)}else{null!=t||(t={});for(const[e,o]of Object.entries(t)){if(x.test(e)){const{bricks:n}=o;Array.isArray(n)&&n.length>0&&(r.set(e,n),E(n)),delete t[e]}Array.isArray(o.bricks)&&E(o.bricks)}}r.size>0&&N(e.properties,r)}function N(e,t){if(Array.isArray(e))for(const r of e)N(r,t);else if((0,c.isObject)(e))for(const[r,o]of Object.entries(e))if("useChildren"===r){const n=t.get(o);n&&(delete e[r],e.useBrick=1===n.length?n[0]:n)}else N(o,t)}}}]);
|
|
2
|
+
//# sourceMappingURL=4765.3a3c2ed3.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/4765.9093ebcf.js","mappings":"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","sources":["webpack:///../../node_modules/@next-core/utils/dist/esm/storyboard/expressions/beforeVisitGlobalMember.js","webpack:///../../node_modules/@next-core/utils/dist/esm/storyboard/expressions/collectMemberCallUsage.js","webpack:///../../node_modules/@next-core/utils/dist/esm/storyboard/expressions/traverse.js","webpack:///../../node_modules/@next-core/utils/dist/esm/storyboard/expressions/collectMemberUsage.js","webpack:///../../node_modules/@next-core/utils/dist/esm/storyboard/expressions/track.js","webpack:///../../node_modules/@next-core/utils/dist/esm/storyboard/functions/traverse.js","webpack:///../../node_modules/@next-core/utils/dist/esm/storyboard/functions/collectMemberUsageInFunction.js","webpack:///../../node_modules/@next-core/utils/dist/esm/storyboard/permissions.js","webpack:///../../node_modules/@next-core/utils/dist/esm/storyboard/replaceUseChildren.js"],"sourcesContent":["export function beforeVisitGlobalMember(usage, objectName) {\n let level = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n let rememberObjectName = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n return function beforeVisitGlobal(node, parent) {\n if (typeof objectName === \"string\" ? node.name === objectName : objectName.includes(node.name)) {\n const segments = [];\n for (let i = 1; i <= level; i++) {\n const memberParent = parent[parent.length - i];\n if ((memberParent === null || memberParent === void 0 ? void 0 : memberParent.node.type) === \"MemberExpression\" && memberParent.key === \"object\") {\n const memberNode = memberParent.node;\n if (!memberNode.computed && memberNode.property.type === \"Identifier\") {\n segments.push(rememberObjectName ? `${node.name}.${memberNode.property.name}` : memberNode.property.name);\n } else if (memberNode.computed && memberNode.property.type === \"Literal\" && typeof memberNode.property.value === \"string\") {\n segments.push(rememberObjectName ? `${node.name}.${memberNode.property.value}` : memberNode.property.value);\n } else {\n usage.hasNonStaticUsage = true;\n }\n } else {\n usage.hasNonStaticUsage = true;\n }\n }\n if (segments.length === level) {\n usage.usedProperties.add(segments.join(\".\"));\n }\n }\n };\n}\n//# sourceMappingURL=beforeVisitGlobalMember.js.map","function collectMemberCallUsageFactory(object, property) {\n return function collectMemberCallUsage(usage, node, parent) {\n if (node.name === object) {\n const memberParent = parent[parent.length - 1];\n const callParent = parent[parent.length - 2];\n if ((callParent === null || callParent === void 0 ? void 0 : callParent.node.type) === \"CallExpression\" && (callParent === null || callParent === void 0 ? void 0 : callParent.key) === \"callee\" && (memberParent === null || memberParent === void 0 ? void 0 : memberParent.node.type) === \"MemberExpression\" && memberParent.key === \"object\" && (memberParent.node.computed ? memberParent.node.property.type === \"Literal\" && memberParent.node.property.value === property : memberParent.node.property.type === \"Identifier\" && memberParent.node.property.name === property)) {\n const args = callParent.node.arguments;\n if (args.length > 0) {\n const firstArg = args[0];\n if (firstArg.type === \"Literal\" && typeof firstArg.value === \"string\") {\n usage.usedArgs.add(firstArg.value);\n } else {\n usage.hasNonStaticUsage = true;\n }\n }\n }\n }\n };\n}\nexport const collectAppGetMenuUsage = collectMemberCallUsageFactory(\"APP\", \"getMenu\");\nexport const collectInstalledAppsHasUsage = collectMemberCallUsageFactory(\"INSTALLED_APPS\", \"has\");\n//# sourceMappingURL=collectMemberCallUsage.js.map","import { isEvaluable, preevaluate } from \"@next-core/cook\";\nimport { isObject } from \"@next-core/utils/general\";\nexport function traverseStoryboardExpressions(data, beforeVisitGlobal,\n// If `options` is a string, it means the *keyword*.\noptions) {\n const memo = new WeakSet();\n const {\n matchExpressionString,\n visitNotMatchedExpressionString,\n visitNonExpressionString,\n visitObject\n } = typeof options === \"string\" ? {\n matchExpressionString: v => v.includes(options)\n } : options;\n function traverse(value) {\n if (typeof value === \"string\") {\n if (isEvaluable(value)) {\n if (matchExpressionString(value)) {\n try {\n preevaluate(value, {\n cache: true,\n withParent: true,\n hooks: {\n beforeVisitGlobal(node, parent) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n beforeVisitGlobal(node, parent, value);\n }\n }\n });\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(\"Parse storyboard expression failed:\", error);\n }\n } else {\n visitNotMatchedExpressionString === null || visitNotMatchedExpressionString === void 0 || visitNotMatchedExpressionString(value);\n }\n } else {\n visitNonExpressionString === null || visitNonExpressionString === void 0 || visitNonExpressionString(value);\n }\n } else if (isObject(value)) {\n // Avoid call stack overflow.\n if (memo.has(value)) {\n return;\n }\n memo.add(value);\n visitObject === null || visitObject === void 0 || visitObject(value);\n for (const item of Array.isArray(value) ? value : Object.values(value)) {\n traverse(item);\n }\n }\n }\n traverse(data);\n}\n//# sourceMappingURL=traverse.js.map","import { beforeVisitGlobalMember } from \"./beforeVisitGlobalMember.js\";\nimport { traverseStoryboardExpressions } from \"./traverse.js\";\nexport function strictCollectMemberUsage(data, objectName) {\n let level = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n const {\n hasNonStaticUsage,\n nonStaticUsage,\n usedProperties\n } = collectMemberUsage(data, objectName, level);\n if (hasNonStaticUsage) {\n throw new Error(`Non-static usage of ${objectName} is prohibited, check your expression: \"${nonStaticUsage}\"`);\n }\n return usedProperties;\n}\nexport function collectMemberUsage(data, objectName) {\n let level = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n const usage = {\n usedProperties: new Set(),\n hasNonStaticUsage: false\n };\n const beforeVisitGlobal = beforeVisitGlobalMember(usage, objectName, level);\n traverseStoryboardExpressions(data, (node, parent, expr) => {\n beforeVisitGlobal(node, parent);\n if (usage.hasNonStaticUsage) {\n usage.nonStaticUsage = expr;\n }\n }, objectName);\n return usage;\n}\n//# sourceMappingURL=collectMemberUsage.js.map","import { preevaluate } from \"@next-core/cook\";\nimport { beforeVisitGlobalMember } from \"./beforeVisitGlobalMember.js\";\nconst TRACK_NAMES = [\"CTX\", \"STATE\", \"FORM_STATE\"];\nexport function track(raw, trackText, variableName) {\n if (raw.includes(trackText)) {\n const usage = {\n usedProperties: new Set(),\n hasNonStaticUsage: false\n };\n const {\n expression\n } = preevaluate(raw, {\n cache: true,\n withParent: true,\n hooks: {\n beforeVisitGlobal: beforeVisitGlobalMember(usage, variableName)\n }\n });\n let trackCtxExp;\n if (expression.type === \"SequenceExpression\" && (trackCtxExp = expression.expressions[0]) && trackCtxExp.type === \"Literal\" && trackCtxExp.value === trackText) {\n if (usage.usedProperties.size > 0) {\n return usage.usedProperties;\n } else {\n // eslint-disable-next-line no-console\n console.warn(`You are using \"${trackText}\" but no \\`${variableName}\\` usage found in your expression: ${JSON.stringify(raw)}`);\n }\n }\n }\n return false;\n}\nexport function trackAll(raw) {\n // Do not pre-evaluate a string if it doesn't include track names.\n if (TRACK_NAMES.some(name => raw.includes(name))) {\n const usage = {\n usedProperties: new Set(),\n hasNonStaticUsage: false\n };\n preevaluate(raw, {\n cache: true,\n withParent: true,\n hooks: {\n beforeVisitGlobal: beforeVisitGlobalMember(usage, TRACK_NAMES, 1, true)\n }\n });\n if (usage.usedProperties.size > 0) {\n const usedProperties = [...usage.usedProperties];\n const result = {\n context: false,\n state: false,\n formState: false\n };\n const keyMap = {\n CTX: \"context\",\n STATE: \"state\",\n FORM_STATE: \"formState\"\n };\n usedProperties.forEach(item => {\n const [key, name] = item.split(\".\");\n if (!result[keyMap[key]]) {\n result[keyMap[key]] = [];\n }\n result[keyMap[key]].push(name);\n });\n return result;\n } else {\n // eslint-disable-next-line no-console\n console.warn(`You are using track all but no \"CTX\" or \"STATE\" or \"FORM_STATE\" usage found in your expression: ${JSON.stringify(raw)}`);\n }\n }\n return false;\n}\n//# sourceMappingURL=track.js.map","import { precookFunction } from \"@next-core/cook\";\nexport function traverseStoryboardFunctions(functions, beforeVisitGlobal, options) {\n if (Array.isArray(functions)) {\n for (const fn of functions) {\n if (!(options !== null && options !== void 0 && options.matchSource) || options.matchSource(fn.source)) {\n traverseStoryboardFunction(fn, beforeVisitGlobal);\n }\n }\n }\n}\nexport function traverseStoryboardFunction(fn, beforeVisitGlobal, silentErrors) {\n try {\n precookFunction(fn.source, {\n typescript: fn.typescript,\n withParent: true,\n hooks: {\n beforeVisitGlobal\n },\n cacheKey: fn\n });\n } catch (error) {\n if (!silentErrors) {\n // eslint-disable-next-line no-console\n console.error(`Parse storyboard function \"${fn.name}\" failed:`, error);\n }\n }\n}\n//# sourceMappingURL=traverse.js.map","import { beforeVisitGlobalMember } from \"../expressions/beforeVisitGlobalMember.js\";\nimport { traverseStoryboardFunction } from \"./traverse.js\";\nexport function collectMemberUsageInFunction(fn, objectName, silentErrors) {\n let level = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;\n const usage = {\n usedProperties: new Set(),\n hasNonStaticUsage: false\n };\n if (fn.source.includes(objectName)) {\n traverseStoryboardFunction(fn, beforeVisitGlobalMember(usage, objectName, level), silentErrors);\n }\n if (usage.hasNonStaticUsage && !silentErrors) {\n throw new Error(`Non-static usage of ${objectName} is prohibited, check your function: \"${fn.name}\"`);\n }\n usage.usedProperties.delete(fn.name);\n return usage.usedProperties;\n}\n//# sourceMappingURL=collectMemberUsageInFunction.js.map","import { traverseStoryboardExpressions } from \"./expressions/index.js\";\nimport { traverseStoryboardFunctions } from \"./functions/index.js\";\nconst PERMISSIONS = \"PERMISSIONS\";\nconst check = \"check\";\nexport function scanPermissionActionsInStoryboard(storyboard) {\n var _storyboard$meta;\n const collection = new Set();\n const beforeVisitPermissions = beforeVisitPermissionsFactory(collection);\n const {\n customTemplates,\n functions\n } = (_storyboard$meta = storyboard.meta) !== null && _storyboard$meta !== void 0 ? _storyboard$meta : {};\n traverseStoryboardExpressions([storyboard.routes, customTemplates], beforeVisitPermissions, PERMISSIONS);\n traverseStoryboardFunctions(functions, beforeVisitPermissions, {\n matchSource(source) {\n return source.includes(PERMISSIONS);\n }\n });\n return Array.from(collection);\n}\nexport function scanPermissionActionsInAny(data) {\n const collection = new Set();\n traverseStoryboardExpressions(data, beforeVisitPermissionsFactory(collection), PERMISSIONS);\n return Array.from(collection);\n}\nfunction beforeVisitPermissionsFactory(collection) {\n return function beforeVisitPermissions(node, parent) {\n if (node.name === PERMISSIONS) {\n const memberParent = parent[parent.length - 1];\n const callParent = parent[parent.length - 2];\n if ((callParent === null || callParent === void 0 ? void 0 : callParent.node.type) === \"CallExpression\" && (callParent === null || callParent === void 0 ? void 0 : callParent.key) === \"callee\" && (memberParent === null || memberParent === void 0 ? void 0 : memberParent.node.type) === \"MemberExpression\" && memberParent.key === \"object\" && (memberParent.node.computed ? memberParent.node.property.type === \"Literal\" && memberParent.node.property.value === check : memberParent.node.property.type === \"Identifier\" && memberParent.node.property.name === check)) {\n for (const arg of callParent.node.arguments) {\n if (arg.type === \"Literal\" && typeof arg.value === \"string\") {\n collection.add(arg.value);\n }\n }\n }\n }\n };\n}\n//# sourceMappingURL=permissions.js.map","import { isObject } from \"@next-core/utils/general\";\nimport lodash from \"lodash\";\nconst {\n pull\n} = lodash;\nconst USE_CHILDREN_SLOT_REGEXP = /^\\[\\w+\\]$/;\n\n/**\n * Replace `useChildren: \"[xxx]\"` with `useBrick`.\n *\n * This will mutate the input.\n */\nexport function replaceUseChildren(input) {\n if (Array.isArray(input)) {\n for (const brick of input) {\n replaceInBrick(brick);\n }\n } else {\n replaceInBrick(input);\n }\n}\nfunction replaceInBrick(brick) {\n let slots = brick.slots;\n const useChildrenMap = new Map();\n if (Array.isArray(brick.children) && !slots) {\n const removeBricks = [];\n for (const child of brick.children) {\n var _child$slot;\n const slot = (_child$slot = child.slot) !== null && _child$slot !== void 0 ? _child$slot : \"\";\n if (USE_CHILDREN_SLOT_REGEXP.test(slot)) {\n delete child.slot;\n const children = useChildrenMap.get(slot);\n if (children) {\n children.push(child);\n } else {\n useChildrenMap.set(slot, [child]);\n }\n removeBricks.push(child);\n }\n replaceInBrick(child);\n }\n pull(brick.children, ...removeBricks);\n } else {\n slots !== null && slots !== void 0 ? slots : slots = {};\n for (const [slot, slotConf] of Object.entries(slots)) {\n if (USE_CHILDREN_SLOT_REGEXP.test(slot)) {\n const {\n bricks: children\n } = slotConf;\n if (Array.isArray(children) && children.length > 0) {\n useChildrenMap.set(slot, children);\n replaceUseChildren(children);\n }\n delete slots[slot];\n }\n if (Array.isArray(slotConf.bricks)) {\n replaceUseChildren(slotConf.bricks);\n }\n }\n }\n if (useChildrenMap.size > 0) {\n replaceInProperties(brick.properties, useChildrenMap);\n }\n}\nfunction replaceInProperties(value, useChildrenMap) {\n if (Array.isArray(value)) {\n for (const item of value) {\n replaceInProperties(item, useChildrenMap);\n }\n } else if (isObject(value)) {\n for (const [k, v] of Object.entries(value)) {\n if (k === \"useChildren\") {\n const children = useChildrenMap.get(v);\n if (children) {\n delete value[k];\n value.useBrick = children.length === 1 ? children[0] : children;\n }\n } else {\n replaceInProperties(v, useChildrenMap);\n }\n }\n }\n}\n//# sourceMappingURL=replaceUseChildren.js.map"],"names":["beforeVisitGlobalMember","usage","objectName","level","arguments","length","undefined","rememberObjectName","node","parent","name","includes","segments","i","memberParent","type","key","memberNode","computed","property","value","push","hasNonStaticUsage","usedProperties","add","join","collectMemberCallUsageFactory","object","callParent","args","firstArg","usedArgs","collectAppGetMenuUsage","collectInstalledAppsHasUsage","traverseStoryboardExpressions","data","beforeVisitGlobal","options","memo","WeakSet","matchExpressionString","visitNotMatchedExpressionString","visitNonExpressionString","visitObject","v","traverse","isEvaluable","preevaluate","cache","withParent","hooks","error","console","isObject","has","item","Array","isArray","Object","values","strictCollectMemberUsage","nonStaticUsage","collectMemberUsage","Error","Set","expr","TRACK_NAMES","track","raw","trackText","variableName","expression","trackCtxExp","expressions","size","warn","JSON","stringify","trackAll","some","result","context","state","formState","keyMap","CTX","STATE","FORM_STATE","forEach","split","traverseStoryboardFunctions","functions","fn","matchSource","source","traverseStoryboardFunction","silentErrors","precookFunction","typescript","cacheKey","collectMemberUsageInFunction","delete","PERMISSIONS","check","scanPermissionActionsInStoryboard","storyboard","_storyboard$meta","collection","beforeVisitPermissions","beforeVisitPermissionsFactory","customTemplates","meta","routes","from","scanPermissionActionsInAny","arg","pull","USE_CHILDREN_SLOT_REGEXP","replaceUseChildren","input","brick","replaceInBrick","slots","useChildrenMap","Map","children","removeBricks","child","_child$slot","slot","test","get","set","slotConf","entries","bricks","replaceInProperties","properties","k","useBrick"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"chunks/4765.3a3c2ed3.js","mappings":"yJAAO,SAASA,EAAwBC,EAAOC,GAC7C,IAAIC,EAAQC,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,EAC5EG,EAAqBH,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,IAAmBA,UAAU,GACxF,OAAO,SAA2BI,EAAMC,GACtC,GAA0B,iBAAfP,EAA0BM,EAAKE,OAASR,EAAaA,EAAWS,SAASH,EAAKE,MAAO,CAC9F,MAAME,EAAW,GACjB,IAAK,IAAIC,EAAI,EAAGA,GAAKV,EAAOU,IAAK,CAC/B,MAAMC,EAAeL,EAAOA,EAAOJ,OAASQ,GAC5C,GAA6F,sBAAxFC,aAAmD,EAASA,EAAaN,KAAKO,OAAqD,WAArBD,EAAaE,IAAkB,CAChJ,MAAMC,EAAaH,EAAaN,KAC3BS,EAAWC,UAAyC,eAA7BD,EAAWE,SAASJ,KAErCE,EAAWC,UAAyC,YAA7BD,EAAWE,SAASJ,MAA2D,iBAA9BE,EAAWE,SAASC,MACrGR,EAASS,KAAKd,EAAqB,GAAGC,EAAKE,QAAQO,EAAWE,SAASC,QAAUH,EAAWE,SAASC,OAErGnB,EAAMqB,mBAAoB,EAJ1BV,EAASS,KAAKd,EAAqB,GAAGC,EAAKE,QAAQO,EAAWE,SAAST,OAASO,EAAWE,SAAST,KAMxG,MACET,EAAMqB,mBAAoB,CAE9B,CACIV,EAASP,SAAWF,GACtBF,EAAMsB,eAAeC,IAAIZ,EAASa,KAAK,KAE3C,CACF,CACF,CC1BA,SAASC,EAA8BC,EAAQR,GAC7C,OAAO,SAAgClB,EAAOO,EAAMC,GAClD,GAAID,EAAKE,OAASiB,EAAQ,CACxB,MAAMb,EAAeL,EAAOA,EAAOJ,OAAS,GACtCuB,EAAanB,EAAOA,EAAOJ,OAAS,GAC1C,GAAuF,oBAAlFuB,aAA+C,EAASA,EAAWpB,KAAKO,OAA2G,YAA5Ea,aAA+C,EAASA,EAAWZ,MAA8G,sBAAxFF,aAAmD,EAASA,EAAaN,KAAKO,OAAqD,WAArBD,EAAaE,MAAqBF,EAAaN,KAAKU,SAA+C,YAApCJ,EAAaN,KAAKW,SAASJ,MAAsBD,EAAaN,KAAKW,SAASC,QAAUD,EAA+C,eAApCL,EAAaN,KAAKW,SAASJ,MAAyBD,EAAaN,KAAKW,SAAST,OAASS,GAAW,CACpjB,MAAMU,EAAOD,EAAWpB,KAAKJ,UAC7B,GAAIyB,EAAKxB,OAAS,EAAG,CACnB,MAAMyB,EAAWD,EAAK,GACA,YAAlBC,EAASf,MAAgD,iBAAnBe,EAASV,MACjDnB,EAAM8B,SAASP,IAAIM,EAASV,OAE5BnB,EAAMqB,mBAAoB,CAE9B,CACF,CACF,CACF,CACF,C,+fACO,MAAMU,EAAyBN,EAA8B,MAAO,WAC9DO,EAA+BP,EAA8B,iBAAkB,O,wBClBrF,SAASQ,EAA8BC,EAAMC,EAEpDC,GACE,MAAMC,EAAO,IAAIC,SACX,sBACJC,EAAqB,gCACrBC,EAA+B,yBAC/BC,EAAwB,YACxBC,GACqB,iBAAZN,EAAuB,CAChCG,sBAAuBI,GAAKA,EAAEjC,SAAS0B,IACrCA,GACJ,SAASQ,EAASzB,GAChB,GAAqB,iBAAVA,EACT,IAAI,IAAA0B,aAAY1B,GACd,GAAIoB,EAAsBpB,GACxB,KACE,IAAA2B,aAAY3B,EAAO,CACjB4B,OAAO,EACPC,YAAY,EACZC,MAAO,CACL,iBAAAd,CAAkB5B,EAAMC,GAEtB2B,EAAkB5B,EAAMC,EAAQW,EAClC,IAGN,CAAE,MAAO+B,GAEPC,QAAQD,MAAM,sCAAuCA,EACvD,MAEAV,SAA0FA,EAAgCrB,QAG5HsB,SAA4EA,EAAyBtB,QAElG,IAAI,IAAAiC,UAASjC,GAAQ,CAE1B,GAAIkB,EAAKgB,IAAIlC,GACX,OAEFkB,EAAKd,IAAIJ,GACTuB,SAAkDA,EAAYvB,GAC9D,IAAK,MAAMmC,KAAQC,MAAMC,QAAQrC,GAASA,EAAQsC,OAAOC,OAAOvC,GAC9DyB,EAASU,EAEb,CACF,CACAV,CAASV,EACX,CClDO,SAASyB,EAAyBzB,EAAMjC,GAC7C,IAAIC,EAAQC,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,EAChF,MAAM,kBACJkB,EAAiB,eACjBuC,EAAc,eACdtC,GACEuC,EAAmB3B,EAAMjC,EAAYC,GACzC,GAAImB,EACF,MAAM,IAAIyC,MAAM,uBAAuB7D,4CAAqD2D,MAE9F,OAAOtC,CACT,CACO,SAASuC,EAAmB3B,EAAMjC,GACvC,IAAIC,EAAQC,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,EAChF,MAAMH,EAAQ,CACZsB,eAAgB,IAAIyC,IACpB1C,mBAAmB,GAEfc,EAAoBpC,EAAwBC,EAAOC,EAAYC,GAOrE,OANA+B,EAA8BC,GAAM,CAAC3B,EAAMC,EAAQwD,KACjD7B,EAAkB5B,EAAMC,GACpBR,EAAMqB,oBACRrB,EAAM4D,eAAiBI,EACzB,GACC/D,GACID,CACT,CC1BA,MAAMiE,EAAc,CAAC,MAAO,QAAS,cAC9B,SAASC,EAAMC,EAAKC,EAAWC,GACpC,GAAIF,EAAIzD,SAAS0D,GAAY,CAC3B,MAAMpE,EAAQ,CACZsB,eAAgB,IAAIyC,IACpB1C,mBAAmB,IAEf,WACJiD,IACE,IAAAxB,aAAYqB,EAAK,CACnBpB,OAAO,EACPC,YAAY,EACZC,MAAO,CACLd,kBAAmBpC,EAAwBC,EAAOqE,MAGtD,IAAIE,EACJ,GAAwB,uBAApBD,EAAWxD,OAAkCyD,EAAcD,EAAWE,YAAY,KAA4B,YAArBD,EAAYzD,MAAsByD,EAAYpD,QAAUiD,EAAW,CAC9J,GAAIpE,EAAMsB,eAAemD,KAAO,EAC9B,OAAOzE,EAAMsB,eAGb6B,QAAQuB,KAAK,kBAAkBN,eAAuBC,uCAAkDM,KAAKC,UAAUT,KAE3H,CACF,CACA,OAAO,CACT,CACO,SAASU,EAASV,GAEvB,GAAIF,EAAYa,MAAKrE,GAAQ0D,EAAIzD,SAASD,KAAQ,CAChD,MAAMT,EAAQ,CACZsB,eAAgB,IAAIyC,IACpB1C,mBAAmB,GASrB,IAPA,IAAAyB,aAAYqB,EAAK,CACfpB,OAAO,EACPC,YAAY,EACZC,MAAO,CACLd,kBAAmBpC,EAAwBC,EAAOiE,EAAa,GAAG,MAGlEjE,EAAMsB,eAAemD,KAAO,EAAG,CACjC,MAAMnD,EAAiB,IAAItB,EAAMsB,gBAC3ByD,EAAS,CACbC,SAAS,EACTC,OAAO,EACPC,WAAW,GAEPC,EAAS,CACbC,IAAK,UACLC,MAAO,QACPC,WAAY,aASd,OAPAhE,EAAeiE,SAAQjC,IACrB,MAAOvC,EAAKN,GAAQ6C,EAAKkC,MAAM,KAC1BT,EAAOI,EAAOpE,MACjBgE,EAAOI,EAAOpE,IAAQ,IAExBgE,EAAOI,EAAOpE,IAAMK,KAAKX,EAAK,IAEzBsE,CACT,CAEE5B,QAAQuB,KAAK,mGAAmGC,KAAKC,UAAUT,KAEnI,CACA,OAAO,CACT,CCrEO,SAASsB,EAA4BC,EAAWvD,EAAmBC,GACxE,GAAImB,MAAMC,QAAQkC,GAChB,IAAK,MAAMC,KAAMD,EACTtD,SAA0CA,EAAQwD,cAAgBxD,EAAQwD,YAAYD,EAAGE,SAC7FC,EAA2BH,EAAIxD,EAIvC,CACO,SAAS2D,EAA2BH,EAAIxD,EAAmB4D,GAChE,KACE,IAAAC,iBAAgBL,EAAGE,OAAQ,CACzBI,WAAYN,EAAGM,WACfjD,YAAY,EACZC,MAAO,CACLd,qBAEF+D,SAAUP,GAEd,CAAE,MAAOzC,GACF6C,GAEH5C,QAAQD,MAAM,8BAA8ByC,EAAGlF,gBAAiByC,EAEpE,CACF,CCxBO,SAASiD,EAA6BR,EAAI1F,EAAY8F,GAC3D,IAAI7F,EAAQC,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,EAChF,MAAMH,EAAQ,CACZsB,eAAgB,IAAIyC,IACpB1C,mBAAmB,GAKrB,GAHIsE,EAAGE,OAAOnF,SAAST,IACrB6F,EAA2BH,EAAI5F,EAAwBC,EAAOC,EAAYC,GAAQ6F,GAEhF/F,EAAMqB,oBAAsB0E,EAC9B,MAAM,IAAIjC,MAAM,uBAAuB7D,0CAAmD0F,EAAGlF,SAG/F,OADAT,EAAMsB,eAAe8E,OAAOT,EAAGlF,MACxBT,EAAMsB,cACf,CCdA,MAAM+E,EAAc,cACdC,EAAQ,QACP,SAASC,EAAkCC,GAChD,IAAIC,EACJ,MAAMC,EAAa,IAAI3C,IACjB4C,EAAyBC,EAA8BF,IACvD,gBACJG,EAAe,UACfnB,GAC2C,QAAxCe,EAAmBD,EAAWM,YAAuC,IAArBL,EAA8BA,EAAmB,CAAC,EAOvG,OANAxE,EAA8B,CAACuE,EAAWO,OAAQF,GAAkBF,EAAwBN,GAC5FZ,EAA4BC,EAAWiB,EAAwB,CAC7Df,YAAYC,GACHA,EAAOnF,SAAS2F,KAGpB9C,MAAMyD,KAAKN,EACpB,CACO,SAASO,EAA2B/E,GACzC,MAAMwE,EAAa,IAAI3C,IAEvB,OADA9B,EAA8BC,EAAM0E,EAA8BF,GAAaL,GACxE9C,MAAMyD,KAAKN,EACpB,CACA,SAASE,EAA8BF,GACrC,OAAO,SAAgCnG,EAAMC,GAC3C,GAAID,EAAKE,OAAS4F,EAAa,CAC7B,MAAMxF,EAAeL,EAAOA,EAAOJ,OAAS,GACtCuB,EAAanB,EAAOA,EAAOJ,OAAS,GAC1C,GAAuF,oBAAlFuB,aAA+C,EAASA,EAAWpB,KAAKO,OAA2G,YAA5Ea,aAA+C,EAASA,EAAWZ,MAA8G,sBAAxFF,aAAmD,EAASA,EAAaN,KAAKO,OAAqD,WAArBD,EAAaE,MAAqBF,EAAaN,KAAKU,SAA+C,YAApCJ,EAAaN,KAAKW,SAASJ,MAAsBD,EAAaN,KAAKW,SAASC,QAAUmF,EAA4C,eAApCzF,EAAaN,KAAKW,SAASJ,MAAyBD,EAAaN,KAAKW,SAAST,OAAS6F,GACtiB,IAAK,MAAMY,KAAOvF,EAAWpB,KAAKJ,UACf,YAAb+G,EAAIpG,MAA2C,iBAAdoG,EAAI/F,OACvCuF,EAAWnF,IAAI2F,EAAI/F,MAI3B,CACF,CACF,C,aCrCA,MAAM,KACJgG,GACE,EACEC,EAA2B,YAO1B,SAASC,EAAmBC,GACjC,GAAI/D,MAAMC,QAAQ8D,GAChB,IAAK,MAAMC,KAASD,EAClBE,EAAeD,QAGjBC,EAAeF,EAEnB,CACA,SAASE,EAAeD,GACtB,IAAIE,EAAQF,EAAME,MAClB,MAAMC,EAAiB,IAAIC,IAC3B,GAAIpE,MAAMC,QAAQ+D,EAAMK,YAAcH,EAAO,CAC3C,MAAMI,EAAe,GACrB,IAAK,MAAMC,KAASP,EAAMK,SAAU,CAClC,IAAIG,EACJ,MAAMC,EAAsC,QAA9BD,EAAcD,EAAME,YAAkC,IAAhBD,EAAyBA,EAAc,GAC3F,GAAIX,EAAyBa,KAAKD,GAAO,QAChCF,EAAME,KACb,MAAMJ,EAAWF,EAAeQ,IAAIF,GAChCJ,EACFA,EAASxG,KAAK0G,GAEdJ,EAAeS,IAAIH,EAAM,CAACF,IAE5BD,EAAazG,KAAK0G,EACpB,CACAN,EAAeM,EACjB,CACAX,EAAKI,EAAMK,YAAaC,EAC1B,KAAO,CACLJ,UAA6CA,EAAQ,CAAC,GACtD,IAAK,MAAOO,EAAMI,KAAa3E,OAAO4E,QAAQZ,GAAQ,CACpD,GAAIL,EAAyBa,KAAKD,GAAO,CACvC,MACEM,OAAQV,GACNQ,EACA7E,MAAMC,QAAQoE,IAAaA,EAASxH,OAAS,IAC/CsH,EAAeS,IAAIH,EAAMJ,GACzBP,EAAmBO,WAEdH,EAAMO,EACf,CACIzE,MAAMC,QAAQ4E,EAASE,SACzBjB,EAAmBe,EAASE,OAEhC,CACF,CACIZ,EAAejD,KAAO,GACxB8D,EAAoBhB,EAAMiB,WAAYd,EAE1C,CACA,SAASa,EAAoBpH,EAAOuG,GAClC,GAAInE,MAAMC,QAAQrC,GAChB,IAAK,MAAMmC,KAAQnC,EACjBoH,EAAoBjF,EAAMoE,QAEvB,IAAI,IAAAtE,UAASjC,GAClB,IAAK,MAAOsH,EAAG9F,KAAMc,OAAO4E,QAAQlH,GAClC,GAAU,gBAANsH,EAAqB,CACvB,MAAMb,EAAWF,EAAeQ,IAAIvF,GAChCiF,WACKzG,EAAMsH,GACbtH,EAAMuH,SAA+B,IAApBd,EAASxH,OAAewH,EAAS,GAAKA,EAE3D,MACEW,EAAoB5F,EAAG+E,EAI/B,C","sources":["webpack:///../../node_modules/@next-core/utils/dist/esm/storyboard/expressions/beforeVisitGlobalMember.js","webpack:///../../node_modules/@next-core/utils/dist/esm/storyboard/expressions/collectMemberCallUsage.js","webpack:///../../node_modules/@next-core/utils/dist/esm/storyboard/expressions/traverse.js","webpack:///../../node_modules/@next-core/utils/dist/esm/storyboard/expressions/collectMemberUsage.js","webpack:///../../node_modules/@next-core/utils/dist/esm/storyboard/expressions/track.js","webpack:///../../node_modules/@next-core/utils/dist/esm/storyboard/functions/traverse.js","webpack:///../../node_modules/@next-core/utils/dist/esm/storyboard/functions/collectMemberUsageInFunction.js","webpack:///../../node_modules/@next-core/utils/dist/esm/storyboard/permissions.js","webpack:///../../node_modules/@next-core/utils/dist/esm/storyboard/replaceUseChildren.js"],"sourcesContent":["export function beforeVisitGlobalMember(usage, objectName) {\n let level = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n let rememberObjectName = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n return function beforeVisitGlobal(node, parent) {\n if (typeof objectName === \"string\" ? node.name === objectName : objectName.includes(node.name)) {\n const segments = [];\n for (let i = 1; i <= level; i++) {\n const memberParent = parent[parent.length - i];\n if ((memberParent === null || memberParent === void 0 ? void 0 : memberParent.node.type) === \"MemberExpression\" && memberParent.key === \"object\") {\n const memberNode = memberParent.node;\n if (!memberNode.computed && memberNode.property.type === \"Identifier\") {\n segments.push(rememberObjectName ? `${node.name}.${memberNode.property.name}` : memberNode.property.name);\n } else if (memberNode.computed && memberNode.property.type === \"Literal\" && typeof memberNode.property.value === \"string\") {\n segments.push(rememberObjectName ? `${node.name}.${memberNode.property.value}` : memberNode.property.value);\n } else {\n usage.hasNonStaticUsage = true;\n }\n } else {\n usage.hasNonStaticUsage = true;\n }\n }\n if (segments.length === level) {\n usage.usedProperties.add(segments.join(\".\"));\n }\n }\n };\n}\n//# sourceMappingURL=beforeVisitGlobalMember.js.map","function collectMemberCallUsageFactory(object, property) {\n return function collectMemberCallUsage(usage, node, parent) {\n if (node.name === object) {\n const memberParent = parent[parent.length - 1];\n const callParent = parent[parent.length - 2];\n if ((callParent === null || callParent === void 0 ? void 0 : callParent.node.type) === \"CallExpression\" && (callParent === null || callParent === void 0 ? void 0 : callParent.key) === \"callee\" && (memberParent === null || memberParent === void 0 ? void 0 : memberParent.node.type) === \"MemberExpression\" && memberParent.key === \"object\" && (memberParent.node.computed ? memberParent.node.property.type === \"Literal\" && memberParent.node.property.value === property : memberParent.node.property.type === \"Identifier\" && memberParent.node.property.name === property)) {\n const args = callParent.node.arguments;\n if (args.length > 0) {\n const firstArg = args[0];\n if (firstArg.type === \"Literal\" && typeof firstArg.value === \"string\") {\n usage.usedArgs.add(firstArg.value);\n } else {\n usage.hasNonStaticUsage = true;\n }\n }\n }\n }\n };\n}\nexport const collectAppGetMenuUsage = collectMemberCallUsageFactory(\"APP\", \"getMenu\");\nexport const collectInstalledAppsHasUsage = collectMemberCallUsageFactory(\"INSTALLED_APPS\", \"has\");\n//# sourceMappingURL=collectMemberCallUsage.js.map","import { isEvaluable, preevaluate } from \"@next-core/cook\";\nimport { isObject } from \"@next-core/utils/general\";\nexport function traverseStoryboardExpressions(data, beforeVisitGlobal,\n// If `options` is a string, it means the *keyword*.\noptions) {\n const memo = new WeakSet();\n const {\n matchExpressionString,\n visitNotMatchedExpressionString,\n visitNonExpressionString,\n visitObject\n } = typeof options === \"string\" ? {\n matchExpressionString: v => v.includes(options)\n } : options;\n function traverse(value) {\n if (typeof value === \"string\") {\n if (isEvaluable(value)) {\n if (matchExpressionString(value)) {\n try {\n preevaluate(value, {\n cache: true,\n withParent: true,\n hooks: {\n beforeVisitGlobal(node, parent) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n beforeVisitGlobal(node, parent, value);\n }\n }\n });\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(\"Parse storyboard expression failed:\", error);\n }\n } else {\n visitNotMatchedExpressionString === null || visitNotMatchedExpressionString === void 0 || visitNotMatchedExpressionString(value);\n }\n } else {\n visitNonExpressionString === null || visitNonExpressionString === void 0 || visitNonExpressionString(value);\n }\n } else if (isObject(value)) {\n // Avoid call stack overflow.\n if (memo.has(value)) {\n return;\n }\n memo.add(value);\n visitObject === null || visitObject === void 0 || visitObject(value);\n for (const item of Array.isArray(value) ? value : Object.values(value)) {\n traverse(item);\n }\n }\n }\n traverse(data);\n}\n//# sourceMappingURL=traverse.js.map","import { beforeVisitGlobalMember } from \"./beforeVisitGlobalMember.js\";\nimport { traverseStoryboardExpressions } from \"./traverse.js\";\nexport function strictCollectMemberUsage(data, objectName) {\n let level = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n const {\n hasNonStaticUsage,\n nonStaticUsage,\n usedProperties\n } = collectMemberUsage(data, objectName, level);\n if (hasNonStaticUsage) {\n throw new Error(`Non-static usage of ${objectName} is prohibited, check your expression: \"${nonStaticUsage}\"`);\n }\n return usedProperties;\n}\nexport function collectMemberUsage(data, objectName) {\n let level = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n const usage = {\n usedProperties: new Set(),\n hasNonStaticUsage: false\n };\n const beforeVisitGlobal = beforeVisitGlobalMember(usage, objectName, level);\n traverseStoryboardExpressions(data, (node, parent, expr) => {\n beforeVisitGlobal(node, parent);\n if (usage.hasNonStaticUsage) {\n usage.nonStaticUsage = expr;\n }\n }, objectName);\n return usage;\n}\n//# sourceMappingURL=collectMemberUsage.js.map","import { preevaluate } from \"@next-core/cook\";\nimport { beforeVisitGlobalMember } from \"./beforeVisitGlobalMember.js\";\nconst TRACK_NAMES = [\"CTX\", \"STATE\", \"FORM_STATE\"];\nexport function track(raw, trackText, variableName) {\n if (raw.includes(trackText)) {\n const usage = {\n usedProperties: new Set(),\n hasNonStaticUsage: false\n };\n const {\n expression\n } = preevaluate(raw, {\n cache: true,\n withParent: true,\n hooks: {\n beforeVisitGlobal: beforeVisitGlobalMember(usage, variableName)\n }\n });\n let trackCtxExp;\n if (expression.type === \"SequenceExpression\" && (trackCtxExp = expression.expressions[0]) && trackCtxExp.type === \"Literal\" && trackCtxExp.value === trackText) {\n if (usage.usedProperties.size > 0) {\n return usage.usedProperties;\n } else {\n // eslint-disable-next-line no-console\n console.warn(`You are using \"${trackText}\" but no \\`${variableName}\\` usage found in your expression: ${JSON.stringify(raw)}`);\n }\n }\n }\n return false;\n}\nexport function trackAll(raw) {\n // Do not pre-evaluate a string if it doesn't include track names.\n if (TRACK_NAMES.some(name => raw.includes(name))) {\n const usage = {\n usedProperties: new Set(),\n hasNonStaticUsage: false\n };\n preevaluate(raw, {\n cache: true,\n withParent: true,\n hooks: {\n beforeVisitGlobal: beforeVisitGlobalMember(usage, TRACK_NAMES, 1, true)\n }\n });\n if (usage.usedProperties.size > 0) {\n const usedProperties = [...usage.usedProperties];\n const result = {\n context: false,\n state: false,\n formState: false\n };\n const keyMap = {\n CTX: \"context\",\n STATE: \"state\",\n FORM_STATE: \"formState\"\n };\n usedProperties.forEach(item => {\n const [key, name] = item.split(\".\");\n if (!result[keyMap[key]]) {\n result[keyMap[key]] = [];\n }\n result[keyMap[key]].push(name);\n });\n return result;\n } else {\n // eslint-disable-next-line no-console\n console.warn(`You are using track all but no \"CTX\" or \"STATE\" or \"FORM_STATE\" usage found in your expression: ${JSON.stringify(raw)}`);\n }\n }\n return false;\n}\n//# sourceMappingURL=track.js.map","import { precookFunction } from \"@next-core/cook\";\nexport function traverseStoryboardFunctions(functions, beforeVisitGlobal, options) {\n if (Array.isArray(functions)) {\n for (const fn of functions) {\n if (!(options !== null && options !== void 0 && options.matchSource) || options.matchSource(fn.source)) {\n traverseStoryboardFunction(fn, beforeVisitGlobal);\n }\n }\n }\n}\nexport function traverseStoryboardFunction(fn, beforeVisitGlobal, silentErrors) {\n try {\n precookFunction(fn.source, {\n typescript: fn.typescript,\n withParent: true,\n hooks: {\n beforeVisitGlobal\n },\n cacheKey: fn\n });\n } catch (error) {\n if (!silentErrors) {\n // eslint-disable-next-line no-console\n console.error(`Parse storyboard function \"${fn.name}\" failed:`, error);\n }\n }\n}\n//# sourceMappingURL=traverse.js.map","import { beforeVisitGlobalMember } from \"../expressions/beforeVisitGlobalMember.js\";\nimport { traverseStoryboardFunction } from \"./traverse.js\";\nexport function collectMemberUsageInFunction(fn, objectName, silentErrors) {\n let level = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;\n const usage = {\n usedProperties: new Set(),\n hasNonStaticUsage: false\n };\n if (fn.source.includes(objectName)) {\n traverseStoryboardFunction(fn, beforeVisitGlobalMember(usage, objectName, level), silentErrors);\n }\n if (usage.hasNonStaticUsage && !silentErrors) {\n throw new Error(`Non-static usage of ${objectName} is prohibited, check your function: \"${fn.name}\"`);\n }\n usage.usedProperties.delete(fn.name);\n return usage.usedProperties;\n}\n//# sourceMappingURL=collectMemberUsageInFunction.js.map","import { traverseStoryboardExpressions } from \"./expressions/index.js\";\nimport { traverseStoryboardFunctions } from \"./functions/index.js\";\nconst PERMISSIONS = \"PERMISSIONS\";\nconst check = \"check\";\nexport function scanPermissionActionsInStoryboard(storyboard) {\n var _storyboard$meta;\n const collection = new Set();\n const beforeVisitPermissions = beforeVisitPermissionsFactory(collection);\n const {\n customTemplates,\n functions\n } = (_storyboard$meta = storyboard.meta) !== null && _storyboard$meta !== void 0 ? _storyboard$meta : {};\n traverseStoryboardExpressions([storyboard.routes, customTemplates], beforeVisitPermissions, PERMISSIONS);\n traverseStoryboardFunctions(functions, beforeVisitPermissions, {\n matchSource(source) {\n return source.includes(PERMISSIONS);\n }\n });\n return Array.from(collection);\n}\nexport function scanPermissionActionsInAny(data) {\n const collection = new Set();\n traverseStoryboardExpressions(data, beforeVisitPermissionsFactory(collection), PERMISSIONS);\n return Array.from(collection);\n}\nfunction beforeVisitPermissionsFactory(collection) {\n return function beforeVisitPermissions(node, parent) {\n if (node.name === PERMISSIONS) {\n const memberParent = parent[parent.length - 1];\n const callParent = parent[parent.length - 2];\n if ((callParent === null || callParent === void 0 ? void 0 : callParent.node.type) === \"CallExpression\" && (callParent === null || callParent === void 0 ? void 0 : callParent.key) === \"callee\" && (memberParent === null || memberParent === void 0 ? void 0 : memberParent.node.type) === \"MemberExpression\" && memberParent.key === \"object\" && (memberParent.node.computed ? memberParent.node.property.type === \"Literal\" && memberParent.node.property.value === check : memberParent.node.property.type === \"Identifier\" && memberParent.node.property.name === check)) {\n for (const arg of callParent.node.arguments) {\n if (arg.type === \"Literal\" && typeof arg.value === \"string\") {\n collection.add(arg.value);\n }\n }\n }\n }\n };\n}\n//# sourceMappingURL=permissions.js.map","import { isObject } from \"@next-core/utils/general\";\nimport lodash from \"lodash\";\nconst {\n pull\n} = lodash;\nconst USE_CHILDREN_SLOT_REGEXP = /^\\[\\w+\\]$/;\n\n/**\n * Replace `useChildren: \"[xxx]\"` with `useBrick`.\n *\n * This will mutate the input.\n */\nexport function replaceUseChildren(input) {\n if (Array.isArray(input)) {\n for (const brick of input) {\n replaceInBrick(brick);\n }\n } else {\n replaceInBrick(input);\n }\n}\nfunction replaceInBrick(brick) {\n let slots = brick.slots;\n const useChildrenMap = new Map();\n if (Array.isArray(brick.children) && !slots) {\n const removeBricks = [];\n for (const child of brick.children) {\n var _child$slot;\n const slot = (_child$slot = child.slot) !== null && _child$slot !== void 0 ? _child$slot : \"\";\n if (USE_CHILDREN_SLOT_REGEXP.test(slot)) {\n delete child.slot;\n const children = useChildrenMap.get(slot);\n if (children) {\n children.push(child);\n } else {\n useChildrenMap.set(slot, [child]);\n }\n removeBricks.push(child);\n }\n replaceInBrick(child);\n }\n pull(brick.children, ...removeBricks);\n } else {\n slots !== null && slots !== void 0 ? slots : slots = {};\n for (const [slot, slotConf] of Object.entries(slots)) {\n if (USE_CHILDREN_SLOT_REGEXP.test(slot)) {\n const {\n bricks: children\n } = slotConf;\n if (Array.isArray(children) && children.length > 0) {\n useChildrenMap.set(slot, children);\n replaceUseChildren(children);\n }\n delete slots[slot];\n }\n if (Array.isArray(slotConf.bricks)) {\n replaceUseChildren(slotConf.bricks);\n }\n }\n }\n if (useChildrenMap.size > 0) {\n replaceInProperties(brick.properties, useChildrenMap);\n }\n}\nfunction replaceInProperties(value, useChildrenMap) {\n if (Array.isArray(value)) {\n for (const item of value) {\n replaceInProperties(item, useChildrenMap);\n }\n } else if (isObject(value)) {\n for (const [k, v] of Object.entries(value)) {\n if (k === \"useChildren\") {\n const children = useChildrenMap.get(v);\n if (children) {\n delete value[k];\n value.useBrick = children.length === 1 ? children[0] : children;\n }\n } else {\n replaceInProperties(v, useChildrenMap);\n }\n }\n }\n}\n//# sourceMappingURL=replaceUseChildren.js.map"],"names":["beforeVisitGlobalMember","usage","objectName","level","arguments","length","undefined","rememberObjectName","node","parent","name","includes","segments","i","memberParent","type","key","memberNode","computed","property","value","push","hasNonStaticUsage","usedProperties","add","join","collectMemberCallUsageFactory","object","callParent","args","firstArg","usedArgs","collectAppGetMenuUsage","collectInstalledAppsHasUsage","traverseStoryboardExpressions","data","beforeVisitGlobal","options","memo","WeakSet","matchExpressionString","visitNotMatchedExpressionString","visitNonExpressionString","visitObject","v","traverse","isEvaluable","preevaluate","cache","withParent","hooks","error","console","isObject","has","item","Array","isArray","Object","values","strictCollectMemberUsage","nonStaticUsage","collectMemberUsage","Error","Set","expr","TRACK_NAMES","track","raw","trackText","variableName","expression","trackCtxExp","expressions","size","warn","JSON","stringify","trackAll","some","result","context","state","formState","keyMap","CTX","STATE","FORM_STATE","forEach","split","traverseStoryboardFunctions","functions","fn","matchSource","source","traverseStoryboardFunction","silentErrors","precookFunction","typescript","cacheKey","collectMemberUsageInFunction","delete","PERMISSIONS","check","scanPermissionActionsInStoryboard","storyboard","_storyboard$meta","collection","beforeVisitPermissions","beforeVisitPermissionsFactory","customTemplates","meta","routes","from","scanPermissionActionsInAny","arg","pull","USE_CHILDREN_SLOT_REGEXP","replaceUseChildren","input","brick","replaceInBrick","slots","useChildrenMap","Map","children","removeBricks","child","_child$slot","slot","test","get","set","slotConf","entries","bricks","replaceInProperties","properties","k","useBrick"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(globalThis.webpackChunk_next_bricks_vb_experiment=globalThis.webpackChunk_next_bricks_vb_experiment||[]).push([[4837,7218],{4837:(e,r,t)=>{t.r(r),t.d(r,{ReactUseBrick:()=>s,ReactUseMultipleBricks:()=>u,asyncWrapBrick:()=>k,useCurrentApp:()=>l,useCurrentTheme:()=>o,useLazyWrapBrick:()=>h,useNavConfig:()=>_,useProvider:()=>m,useRecentApps:()=>i,useRouteRender:()=>d});var n=t(8769),c=t(348);let s=function(e){let{useBrick:r,data:t,errorBoundary:s,refCallback:u,ignoredCallback:a}=e;const[o,i]=(0,n.useState)(null),l=(0,n.useRef)(),[d,f]=(0,n.useState)(),p=(0,n.useRef)(0),g=(0,n.useMemo)((()=>{var e;return null===(e=c.__secret_internals.getRenderId)||void 0===e?void 0:e.call(c.__secret_internals)}),[]);(0,n.useEffect)((()=>{let e=!1;return async function(){try{const n=await c.__secret_internals.renderUseBrick(r,t,s);if(e)return;i(n),f(++p.current)}catch(n){!e&&function(e){var r;const t=null===(r=c.__secret_internals.getRenderId)||void 0===r?void 0:r.call(c.__secret_internals);return!e||!t||e===t}(g)&&(console.error("Render useBrick failed:",r,"with data:",t),(0,c.handleHttpError)(n))}}(),()=>{e=!0}}),[t,r,g,s]);const y=(0,n.useCallback)((e=>{e?l.current=c.__secret_internals.mountUseBrick(o,e):(c.__secret_internals.unmountUseBrick(o,l.current),l.current=void 0),null==u||u(e)}),[u,o]);if(!o)return null;const{tagName:m}=o;if(null===m)return null==a||a(),null;const v=m;return n.createElement(v,{key:d,ref:y})},u=function(e){let{useBrick:r,data:t,errorBoundary:c}=e;return Array.isArray(r)?n.createElement(n.Fragment,null,r.map(((e,r)=>n.createElement(s,{key:r,useBrick:e,data:t,errorBoundary:c})))):n.createElement(s,{useBrick:r,data:t,errorBoundary:c})};const a=(0,c.getV2RuntimeFromDll)();if(a){const{SingleBrickAsComponentFactory:e,BrickAsComponentFactory:r}=a;e&&r&&(s=e(n),u=r(n))}function o(){const[e,r]=(0,n.useState)(c.getCurrentTheme);return(0,n.useEffect)((()=>{const e=e=>{r(e.detail)};return window.addEventListener("theme.change",e),()=>{window.removeEventListener("theme.change",e)}}),[]),e}function i(){const[e,r]=n.useState((()=>(0,c.getRuntime)().getRecentApps()));return n.useEffect((()=>{const e=e=>{r(e.detail)};return window.addEventListener("app.change",e),()=>window.removeEventListener("app.change",e)}),[]),e}function l(){return i().currentApp}function d(){const[e,r]=n.useState(null);return n.useEffect((()=>{const e=e=>{r(e.detail)};return window.addEventListener("route.render",e),()=>window.removeEventListener("route.render",e)}),[]),e}const f={provider:"",customOptions:{onError:()=>{},transform:(e,r)=>r,data:void 0,loading:!1,suspense:!1,cache:!0},dependencies:void 0},p=Object.entries(f).reduce(((e,r)=>{let[t,n]=r;return"[object Object]"===Object.prototype.toString.call(n)?{...e,...n}:{...e,[t]:n}}),{});var g=t(563);const y=new Map;function m(){const{provider:e,customOptions:r,dependencies:t,requestInit:s}=function(e,r,t){const c=(0,n.useMemo)((()=>"string"==typeof e?e:f.provider),[e,r]),s=(0,n.useMemo)((()=>{let t={};return(0,g.isObject)(e)?t=e:(0,g.isObject)(r)&&(t=r),{...p,...t}}),[e,r]),u=(0,n.useMemo)((()=>{const e=[...Object.keys(f),...Object.keys(f.customOptions)],{args:r=null,...t}=Object.keys(s).reduce(((r,t)=>(e.includes(t)||(r[t]=s[t]),r)),{});return{options:{...t},args:r}}),[s]),a=(0,n.useMemo)((()=>Array.isArray(r)?r:Array.isArray(t)?t:p.dependencies),[r,t]),o=s.loading||Array.isArray(a);return{provider:c,customOptions:(0,n.useMemo)((()=>({...Object.keys(f.customOptions).reduce(((e,r)=>(e[r]=s[r],e)),{}),loading:o})),[s]),requestInit:u,dependencies:a}}(...arguments),{onError:u,transform:a,suspense:o,cache:i,...l}=r,[d,m]=(0,n.useState)(l.loading),v=(0,n.useRef)("pending"),k=(0,n.useRef)(),_=(0,n.useRef)(!1),h=(0,n.useRef)(),w=(0,n.useRef)(),b=(0,n.useRef)(l.data),B=(0,n.useReducer)((()=>({})),[])[1],E=(0,n.useCallback)((async(e,r)=>{try{h.current=void 0,o||m(!0);const t=await async function(e,r,t){let n;const s=function(e){const r=e=>Object.keys(e).sort().map((r=>({[r]:e[r]})));for(var t=arguments.length,n=new Array(t>1?t-1:0),c=1;c<t;c++)n[c-1]=arguments[c];try{const t="object"!=typeof(s=n)||null===s||Array.isArray(s)?n.map((e=>function(e){return"string"==typeof e}(e)?e:r(e))):r(n);return JSON.stringify({provider:e,args:t})}catch(r){return JSON.stringify({provider:e,args:n})}var s}(e,...t);return!r&&y.has(s)&&y.delete(s),y.has(s)?n=y.get(s):(n=(0,c.fetchByProvider)(e,t,{cache:r?"default":"reload"}),r&&y.set(s,n)),n}(e,i,r);w.current=t,b.current=a(b.current,t)}catch(e){h.current=e,b.current=void 0}return o||m(!1),h.current&&u(h.current),b.current}),[e,r,t,s,o,a,l.data,u,i]),O=(0,n.useCallback)((async(r,t)=>{let n=e,c=[];return(0,g.isString)(r)&&(n=r),(0,g.isObject)(r)?c=r:(0,g.isObject)(t)&&(c=t),o?(async()=>(k.current=E(n,c).then((e=>(v.current="success",e)),(e=>(v.current="error",e.current=e,e))),B(),await k.current))():E(n,c)}),[E]),R=(0,n.useMemo)((()=>Object.defineProperties({query:O},{loading:{get:()=>d},data:{get:()=>b.current},error:{get:()=>h.current}})),[O]);if((0,n.useEffect)((()=>(_.current=!0,Array.isArray(t)&&e&&R.query(e,s.args),()=>_.current=!1)),t),o&&k.current)switch(v.current){case"pending":throw k.current;case"error":throw h.current}return Object.assign([R,w.current,d,h.current],{request:R,...R,response:w.current,data:b.current,loading:d,error:h.current})}var v=t(981);async function k(e,r){return await c.__secret_internals.loadBricks([e]),(0,v.wrapBrick)(e,r)}function _(){const[e,r]=(0,n.useState)((()=>(0,c.getRuntime)().getNavConfig()));return(0,n.useEffect)((()=>{const e=e=>{r(e.detail)};return window.addEventListener("navConfig.change",e),()=>window.removeEventListener("navConfig.change",e)}),[]),e}function h(e,r){return(0,n.useMemo)((()=>null!=e?(0,n.lazy)((async()=>({default:await k(e,r)}))):null),[e,r])}}}]);
|
|
2
|
+
//# sourceMappingURL=4837.05a838ee.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/7218.9dc036f4.js","mappings":"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","sources":["webpack:///../../node_modules/@next-core/react-runtime/dist/esm/ReactUseBrick.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useCurrentTheme.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useRecentApps.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useCurrentApp.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useRouteRender.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useProvider/useProviderArgsDefaults.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useProvider/fetch.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useProvider/useProvider.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useProvider/useProviderArgs.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/asyncWrapBrick.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useNavConfig.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useLazyWrapBrick.js"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { __secret_internals, handleHttpError, getV2RuntimeFromDll } from \"@next-core/runtime\";\n// Note: always synchronize code in LegacyUseBrick:\n// `bricks/v2-adapter/src/data-providers/legacy-brick-kit/getLegacyUseBrick.ts`\nlet ReactUseBrick = function ReactUseBrick(_ref) {\n let {\n useBrick,\n data,\n errorBoundary,\n refCallback,\n ignoredCallback\n } = _ref;\n const [renderResult, setRenderResult] = useState(null);\n const mountResult = useRef();\n const [renderKey, setRenderKey] = useState();\n const IdCounterRef = useRef(0);\n const initialRenderId = useMemo(() => {\n var _secret_internals$ge;\n return (_secret_internals$ge = __secret_internals.getRenderId) === null || _secret_internals$ge === void 0 ? void 0 : _secret_internals$ge.call(__secret_internals);\n }, []);\n useEffect(() => {\n let ignore = false;\n async function init() {\n try {\n const newRender = await __secret_internals.renderUseBrick(useBrick, data, errorBoundary);\n if (ignore) {\n return;\n }\n setRenderResult(newRender);\n setRenderKey(getUniqueId(IdCounterRef));\n } catch (error) {\n if (!ignore && isTheSameRender(initialRenderId)) {\n // eslint-disable-next-line no-console\n console.error(\"Render useBrick failed:\", useBrick, \"with data:\", data);\n handleHttpError(error);\n }\n }\n }\n init();\n return () => {\n ignore = true;\n };\n }, [data, useBrick, initialRenderId, errorBoundary]);\n const _refCallback = useCallback(element => {\n if (element) {\n mountResult.current = __secret_internals.mountUseBrick(renderResult, element);\n } else {\n __secret_internals.unmountUseBrick(renderResult, mountResult.current);\n mountResult.current = undefined;\n }\n refCallback === null || refCallback === void 0 || refCallback(element);\n }, [refCallback, renderResult]);\n if (!renderResult) {\n // Fallback when loading/\n return null;\n // return <span>🌀 Loading...</span>;\n }\n const {\n tagName\n } = renderResult;\n if (tagName === null) {\n ignoredCallback === null || ignoredCallback === void 0 || ignoredCallback();\n return null;\n }\n const WebComponent = tagName;\n return /*#__PURE__*/React.createElement(WebComponent, {\n key: renderKey,\n ref: _refCallback\n });\n};\nfunction getUniqueId(ref) {\n return ++ref.current;\n}\nfunction isTheSameRender(initialRenderId) {\n var _secret_internals$ge2;\n const newRenderId = (_secret_internals$ge2 = __secret_internals.getRenderId) === null || _secret_internals$ge2 === void 0 ? void 0 : _secret_internals$ge2.call(__secret_internals);\n return !initialRenderId || !newRenderId || initialRenderId === newRenderId;\n}\nlet ReactUseMultipleBricks = function ReactUseMultipleBricks(_ref2) {\n let {\n useBrick,\n data,\n errorBoundary\n } = _ref2;\n if (Array.isArray(useBrick)) {\n return /*#__PURE__*/React.createElement(React.Fragment, null, useBrick.map((item, index) => /*#__PURE__*/React.createElement(ReactUseBrick, {\n key: index,\n useBrick: item,\n data: data,\n errorBoundary: errorBoundary\n })));\n }\n return /*#__PURE__*/React.createElement(ReactUseBrick, {\n useBrick: useBrick,\n data: data,\n errorBoundary: errorBoundary\n });\n};\n\n// Make v3 bricks compatible with Brick Next v2.\n// istanbul ignore next\nconst v2Kit = getV2RuntimeFromDll();\n// istanbul ignore next\nif (v2Kit) {\n const {\n SingleBrickAsComponentFactory,\n BrickAsComponentFactory\n } = v2Kit;\n if (SingleBrickAsComponentFactory && BrickAsComponentFactory) {\n ReactUseBrick = SingleBrickAsComponentFactory(React);\n ReactUseMultipleBricks = BrickAsComponentFactory(React);\n }\n}\nexport { ReactUseBrick, ReactUseMultipleBricks };\n//# sourceMappingURL=ReactUseBrick.js.map","import { useEffect, useState } from \"react\";\nimport { getCurrentTheme } from \"@next-core/runtime\";\nexport function useCurrentTheme() {\n const [currentTheme, setCurrentTheme] = useState(getCurrentTheme);\n useEffect(() => {\n const listenToThemeChange = event => {\n setCurrentTheme(event.detail);\n };\n window.addEventListener(\"theme.change\", listenToThemeChange);\n return () => {\n window.removeEventListener(\"theme.change\", listenToThemeChange);\n };\n }, []);\n return currentTheme;\n}\n//# sourceMappingURL=useCurrentTheme.js.map","import React from \"react\";\nimport { getRuntime } from \"@next-core/runtime\";\nexport function useRecentApps() {\n const [recentApps, setRecentApps] = React.useState(() => getRuntime().getRecentApps());\n React.useEffect(() => {\n const listener = event => {\n setRecentApps(event.detail);\n };\n window.addEventListener(\"app.change\", listener);\n return () => window.removeEventListener(\"app.change\", listener);\n }, []);\n return recentApps;\n}\n//# sourceMappingURL=useRecentApps.js.map","import { useRecentApps } from \"./useRecentApps.js\";\n\n/**\n * 获取当前所在微应用信息的 React hooks。\n *\n * @example\n *\n * ```tsx\n * function MyReactComponent() {\n * const app = useCurrentApp();\n * return <div>{app.id}</div>;\n * }\n * ```\n *\n * @returns 当前所在微应用的信息。\n */\nexport function useCurrentApp() {\n return useRecentApps().currentApp;\n}\n//# sourceMappingURL=useCurrentApp.js.map","import React from \"react\";\nexport function useRouteRender() {\n const [routeRender, setRouteRender] = React.useState(null);\n React.useEffect(() => {\n const listener = event => {\n setRouteRender(event.detail);\n };\n window.addEventListener(\"route.render\", listener);\n return () => window.removeEventListener(\"route.render\", listener);\n }, []);\n return routeRender;\n}\n//# sourceMappingURL=useRouteRender.js.map","export const useProviderArgsDefaults = {\n provider: \"\",\n customOptions: {\n onError: () => {\n /* Do nothing.. */\n },\n transform: (oldData, newData) => newData,\n data: undefined,\n loading: false,\n suspense: false,\n cache: true\n },\n dependencies: undefined\n};\nexport default Object.entries(useProviderArgsDefaults).reduce((acc, _ref) => {\n let [key, value] = _ref;\n if (Object.prototype.toString.call(value) === \"[object Object]\") return {\n ...acc,\n ...value\n };\n return {\n ...acc,\n [key]: value\n };\n}, {});\n//# sourceMappingURL=useProviderArgsDefaults.js.map","import { fetchByProvider } from \"@next-core/runtime\";\nconst cacheMap = new Map();\nfunction isObj(v) {\n return typeof v === \"object\" && v !== null && !Array.isArray(v);\n}\nfunction isString(v) {\n return typeof v === \"string\";\n}\nfunction buildSortedCacheKey(provider) {\n const sortObj = obj => Object.keys(obj).sort().map(k => ({\n [k]: obj[k]\n }));\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n try {\n const sortedArgs = isObj(args) ? sortObj(args) : args.map(arg => isString(arg) ? arg : sortObj(arg));\n return JSON.stringify({\n provider,\n args: sortedArgs\n });\n } catch (e) {\n return JSON.stringify({\n provider,\n args\n });\n }\n}\nexport default async function fetch(provider, cache, args) {\n let promise;\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const cacheKey = buildSortedCacheKey(provider, ...args);\n !cache && cacheMap.has(cacheKey) && cacheMap.delete(cacheKey);\n if (cacheMap.has(cacheKey)) {\n promise = cacheMap.get(cacheKey);\n } else {\n promise = (() => {\n return fetchByProvider(provider, args, {\n cache: cache ? \"default\" : \"reload\"\n });\n })();\n cache && cacheMap.set(cacheKey, promise);\n }\n return promise;\n}\n//# sourceMappingURL=fetch.js.map","import { useCallback, useEffect, useMemo, useReducer, useRef, useState } from \"react\";\nimport useProviderArgs from \"./useProviderArgs.js\";\nimport { isObject, isString } from \"lodash\";\nimport fetch from \"./fetch.js\";\nexport function useProvider() {\n const {\n provider,\n customOptions,\n dependencies,\n requestInit\n } = useProviderArgs(...arguments);\n const {\n onError,\n transform,\n suspense,\n cache,\n ...defaults\n } = customOptions;\n const [loading, setLoading] = useState(defaults.loading);\n const suspenseStatus = useRef(\"pending\");\n const suspender = useRef();\n const mounted = useRef(false);\n const error = useRef();\n const response = useRef();\n const data = useRef(defaults.data);\n const forceUpdate = useReducer(() => ({}), [])[1];\n const doFetch = useCallback(async (provider, providerArgs) => {\n try {\n error.current = undefined;\n if (!suspense) setLoading(true);\n const newRes = await fetch(provider, cache, providerArgs);\n response.current = newRes;\n data.current = transform(data.current, newRes);\n } catch (e) {\n error.current = e;\n data.current = undefined;\n }\n if (!suspense) setLoading(false);\n if (error.current) onError(error.current);\n return data.current;\n }, [provider, customOptions, dependencies, requestInit, suspense, transform, defaults.data, onError, cache]);\n const makeFetch = useCallback(async (providerOrBody, args) => {\n let providerStr = provider;\n let providerArgs = [];\n if (isString(providerOrBody)) {\n providerStr = providerOrBody;\n }\n if (isObject(providerOrBody)) {\n providerArgs = providerOrBody;\n } else if (isObject(args)) {\n providerArgs = args;\n }\n if (suspense) {\n return (async () => {\n suspender.current = doFetch(providerStr, providerArgs).then(newData => {\n suspenseStatus.current = \"success\";\n return newData;\n }, error => {\n /* istanbul ignore next */\n suspenseStatus.current = \"error\";\n error.current = error;\n return error;\n });\n forceUpdate();\n return await suspender.current;\n })();\n }\n return doFetch(providerStr, providerArgs);\n }, [doFetch]);\n const request = useMemo(() => Object.defineProperties({\n query: makeFetch\n }, {\n loading: {\n get() {\n return loading;\n }\n },\n data: {\n get() {\n return data.current;\n }\n },\n error: {\n get() {\n return error.current;\n }\n }\n }), [makeFetch]);\n\n // onMount/onUpdate\n useEffect(() => {\n mounted.current = true;\n if (Array.isArray(dependencies) && provider) {\n request.query(provider, requestInit.args);\n }\n return () => mounted.current = false;\n }, dependencies);\n if (suspense && suspender.current) {\n switch (suspenseStatus.current) {\n case \"pending\":\n throw suspender.current;\n /* istanbul ignore next */\n case \"error\":\n throw error.current;\n }\n }\n return Object.assign([request, response.current, loading, error.current], {\n request,\n ...request,\n response: response.current,\n data: data.current,\n loading,\n error: error.current\n });\n}\n//# sourceMappingURL=useProvider.js.map","import { useMemo } from \"react\";\nimport defaults, { useProviderArgsDefaults } from \"./useProviderArgsDefaults.js\";\nimport { isObject } from \"lodash\";\nexport default function useProviderArgs(providerOrParamsOrGlobalOptions, globalOptionsOrDeps, deps) {\n const provider = useMemo(() => {\n if (typeof providerOrParamsOrGlobalOptions === \"string\") {\n return providerOrParamsOrGlobalOptions;\n }\n return useProviderArgsDefaults.provider;\n }, [providerOrParamsOrGlobalOptions, globalOptionsOrDeps]);\n const options = useMemo(() => {\n let localOptions = {};\n if (isObject(providerOrParamsOrGlobalOptions)) {\n localOptions = providerOrParamsOrGlobalOptions;\n } else if (isObject(globalOptionsOrDeps)) {\n localOptions = globalOptionsOrDeps;\n }\n return {\n ...defaults,\n ...localOptions\n };\n }, [providerOrParamsOrGlobalOptions, globalOptionsOrDeps]);\n const requestInit = useMemo(() => {\n const customOptionKeys = [...Object.keys(useProviderArgsDefaults), ...Object.keys(useProviderArgsDefaults.customOptions)];\n const {\n args = null,\n ...restOptions\n } = Object.keys(options).reduce((acc, key) => {\n if (!customOptionKeys.includes(key)) acc[key] = options[key];\n return acc;\n }, {});\n return {\n options: {\n ...restOptions\n },\n args\n };\n }, [options]);\n const dependencies = useMemo(() => {\n if (Array.isArray(globalOptionsOrDeps)) return globalOptionsOrDeps;\n if (Array.isArray(deps)) return deps;\n return defaults.dependencies;\n }, [globalOptionsOrDeps, deps]);\n const loading = options.loading || Array.isArray(dependencies);\n const customOptions = useMemo(() => {\n const customOptionKeys = Object.keys(useProviderArgsDefaults.customOptions);\n const customOptions = customOptionKeys.reduce((opts, key) => {\n opts[key] = options[key];\n return opts;\n }, {});\n return {\n ...customOptions,\n loading\n };\n }, [options]);\n return {\n provider,\n customOptions,\n requestInit,\n dependencies\n };\n}\n//# sourceMappingURL=useProviderArgs.js.map","import { __secret_internals } from \"@next-core/runtime\";\nimport { wrapBrick } from \"@next-core/react-element\";\n\n/**\n * 使用异步加载的方式包装一个构件,可用于按条件渲染的构件依赖。\n *\n * 例如提供复杂弹层内容的按钮构件,其内容需要使用到一些大型构件,那么这些依赖可以使用 asyncWrapBrick,\n * 这样只有在需要时才会加载这些依赖的构件。\n */\n\n/**\n * 使用异步加载的方式包装一个构件,可用于按条件渲染的构件依赖。\n *\n * 例如提供复杂弹层内容的按钮构件,其内容需要使用到一些大型构件,那么这些依赖可以使用 asyncWrapBrick,\n * 这样只有在需要时才会加载这些依赖的构件。\n */\n\nexport async function asyncWrapBrick(brickName, eventsMapping) {\n await __secret_internals.loadBricks([brickName]);\n return wrapBrick(brickName, eventsMapping);\n}\n//# sourceMappingURL=asyncWrapBrick.js.map","import { useEffect, useState } from \"react\";\nimport { getRuntime } from \"@next-core/runtime\";\nexport function useNavConfig() {\n const [navConfig, setNavConfig] = useState(() => getRuntime().getNavConfig());\n useEffect(() => {\n const listener = event => {\n setNavConfig(event.detail);\n };\n window.addEventListener(\"navConfig.change\", listener);\n return () => window.removeEventListener(\"navConfig.change\", listener);\n }, []);\n return navConfig;\n}\n//# sourceMappingURL=useNavConfig.js.map","import { lazy, useMemo } from \"react\";\nimport { asyncWrapBrick } from \"./asyncWrapBrick.js\";\n\n/**\n * 使用 `React.lazy` 包装一个异步加载的构件。\n *\n * ```jsx\n * const DepComponent = useLazyWrapBrick(\"async-dep\");\n * return (\n * <Suspense fallback=\"Loading...\">\n * <DepComponent {...props} />\n * </Suspense>\n * );\n * ```\n */\n\n/**\n * 使用 `React.lazy` 包装一个异步加载的构件。\n *\n * ```jsx\n * const DepComponent = useLazyWrapBrick(\"async-dep\");\n * return (\n * <Suspense fallback=\"Loading...\">\n * <DepComponent {...props} />\n * </Suspense>\n * );\n * ```\n */\n\n/**\n * 使用 `React.lazy` 包装一个异步加载的构件。\n *\n * ```jsx\n * const DepComponent = useLazyWrapBrick(\"async-dep\");\n * return (\n * <Suspense fallback=\"Loading...\">\n * <DepComponent {...props} />\n * </Suspense>\n * );\n * ```\n */\n\n/**\n * 使用 `React.lazy` 包装一个异步加载的构件。\n *\n * ```jsx\n * const DepComponent = useLazyWrapBrick(\"async-dep\");\n * return (\n * <Suspense fallback=\"Loading...\">\n * <DepComponent {...props} />\n * </Suspense>\n * );\n * ```\n */\n\nexport function useLazyWrapBrick(brickName, eventsMapping) {\n return useMemo(() => {\n if (brickName != null) {\n return /*#__PURE__*/lazy(async () => ({\n default: await asyncWrapBrick(brickName, eventsMapping)\n }));\n }\n return null;\n }, [brickName, eventsMapping]);\n}\n//# sourceMappingURL=useLazyWrapBrick.js.map"],"names":["ReactUseBrick","_ref","useBrick","data","errorBoundary","refCallback","ignoredCallback","renderResult","setRenderResult","useState","mountResult","useRef","renderKey","setRenderKey","IdCounterRef","initialRenderId","useMemo","_secret_internals$ge","__secret_internals","getRenderId","call","useEffect","ignore","async","newRender","renderUseBrick","current","error","_secret_internals$ge2","newRenderId","isTheSameRender","console","handleHttpError","init","_refCallback","useCallback","element","mountUseBrick","unmountUseBrick","undefined","tagName","WebComponent","key","ref","ReactUseMultipleBricks","_ref2","Array","isArray","map","item","index","v2Kit","getV2RuntimeFromDll","SingleBrickAsComponentFactory","BrickAsComponentFactory","useCurrentTheme","currentTheme","setCurrentTheme","getCurrentTheme","listenToThemeChange","event","detail","window","addEventListener","removeEventListener","useRecentApps","recentApps","setRecentApps","getRuntime","getRecentApps","listener","useCurrentApp","currentApp","useRouteRender","routeRender","setRouteRender","useProviderArgsDefaults","provider","customOptions","onError","transform","oldData","newData","loading","suspense","cache","dependencies","Object","entries","reduce","acc","value","prototype","toString","cacheMap","Map","useProvider","requestInit","providerOrParamsOrGlobalOptions","globalOptionsOrDeps","deps","options","localOptions","isObject","customOptionKeys","keys","args","restOptions","includes","opts","useProviderArgs","arguments","defaults","setLoading","suspenseStatus","suspender","mounted","response","forceUpdate","useReducer","doFetch","providerArgs","newRes","promise","cacheKey","sortObj","obj","sort","k","_len","length","_key","sortedArgs","v","arg","isString","JSON","stringify","e","buildSortedCacheKey","has","delete","get","fetchByProvider","set","fetch","makeFetch","providerOrBody","providerStr","then","request","defineProperties","query","assign","asyncWrapBrick","brickName","eventsMapping","loadBricks","wrapBrick","useNavConfig","navConfig","setNavConfig","getNavConfig","useLazyWrapBrick","lazy","default"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"chunks/4837.05a838ee.js","mappings":"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","sources":["webpack:///../../node_modules/@next-core/react-runtime/dist/esm/ReactUseBrick.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useCurrentTheme.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useRecentApps.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useCurrentApp.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useRouteRender.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useProvider/useProviderArgsDefaults.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useProvider/fetch.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useProvider/useProvider.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useProvider/useProviderArgs.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/asyncWrapBrick.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useNavConfig.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useLazyWrapBrick.js"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { __secret_internals, handleHttpError, getV2RuntimeFromDll } from \"@next-core/runtime\";\n// Note: always synchronize code in LegacyUseBrick:\n// `bricks/v2-adapter/src/data-providers/legacy-brick-kit/getLegacyUseBrick.ts`\nlet ReactUseBrick = function ReactUseBrick(_ref) {\n let {\n useBrick,\n data,\n errorBoundary,\n refCallback,\n ignoredCallback\n } = _ref;\n const [renderResult, setRenderResult] = useState(null);\n const mountResult = useRef();\n const [renderKey, setRenderKey] = useState();\n const IdCounterRef = useRef(0);\n const initialRenderId = useMemo(() => {\n var _secret_internals$ge;\n return (_secret_internals$ge = __secret_internals.getRenderId) === null || _secret_internals$ge === void 0 ? void 0 : _secret_internals$ge.call(__secret_internals);\n }, []);\n useEffect(() => {\n let ignore = false;\n async function init() {\n try {\n const newRender = await __secret_internals.renderUseBrick(useBrick, data, errorBoundary);\n if (ignore) {\n return;\n }\n setRenderResult(newRender);\n setRenderKey(getUniqueId(IdCounterRef));\n } catch (error) {\n if (!ignore && isTheSameRender(initialRenderId)) {\n // eslint-disable-next-line no-console\n console.error(\"Render useBrick failed:\", useBrick, \"with data:\", data);\n handleHttpError(error);\n }\n }\n }\n init();\n return () => {\n ignore = true;\n };\n }, [data, useBrick, initialRenderId, errorBoundary]);\n const _refCallback = useCallback(element => {\n if (element) {\n mountResult.current = __secret_internals.mountUseBrick(renderResult, element);\n } else {\n __secret_internals.unmountUseBrick(renderResult, mountResult.current);\n mountResult.current = undefined;\n }\n refCallback === null || refCallback === void 0 || refCallback(element);\n }, [refCallback, renderResult]);\n if (!renderResult) {\n // Fallback when loading/\n return null;\n // return <span>🌀 Loading...</span>;\n }\n const {\n tagName\n } = renderResult;\n if (tagName === null) {\n ignoredCallback === null || ignoredCallback === void 0 || ignoredCallback();\n return null;\n }\n const WebComponent = tagName;\n return /*#__PURE__*/React.createElement(WebComponent, {\n key: renderKey,\n ref: _refCallback\n });\n};\nfunction getUniqueId(ref) {\n return ++ref.current;\n}\nfunction isTheSameRender(initialRenderId) {\n var _secret_internals$ge2;\n const newRenderId = (_secret_internals$ge2 = __secret_internals.getRenderId) === null || _secret_internals$ge2 === void 0 ? void 0 : _secret_internals$ge2.call(__secret_internals);\n return !initialRenderId || !newRenderId || initialRenderId === newRenderId;\n}\nlet ReactUseMultipleBricks = function ReactUseMultipleBricks(_ref2) {\n let {\n useBrick,\n data,\n errorBoundary\n } = _ref2;\n if (Array.isArray(useBrick)) {\n return /*#__PURE__*/React.createElement(React.Fragment, null, useBrick.map((item, index) => /*#__PURE__*/React.createElement(ReactUseBrick, {\n key: index,\n useBrick: item,\n data: data,\n errorBoundary: errorBoundary\n })));\n }\n return /*#__PURE__*/React.createElement(ReactUseBrick, {\n useBrick: useBrick,\n data: data,\n errorBoundary: errorBoundary\n });\n};\n\n// Make v3 bricks compatible with Brick Next v2.\n// istanbul ignore next\nconst v2Kit = getV2RuntimeFromDll();\n// istanbul ignore next\nif (v2Kit) {\n const {\n SingleBrickAsComponentFactory,\n BrickAsComponentFactory\n } = v2Kit;\n if (SingleBrickAsComponentFactory && BrickAsComponentFactory) {\n ReactUseBrick = SingleBrickAsComponentFactory(React);\n ReactUseMultipleBricks = BrickAsComponentFactory(React);\n }\n}\nexport { ReactUseBrick, ReactUseMultipleBricks };\n//# sourceMappingURL=ReactUseBrick.js.map","import { useEffect, useState } from \"react\";\nimport { getCurrentTheme } from \"@next-core/runtime\";\nexport function useCurrentTheme() {\n const [currentTheme, setCurrentTheme] = useState(getCurrentTheme);\n useEffect(() => {\n const listenToThemeChange = event => {\n setCurrentTheme(event.detail);\n };\n window.addEventListener(\"theme.change\", listenToThemeChange);\n return () => {\n window.removeEventListener(\"theme.change\", listenToThemeChange);\n };\n }, []);\n return currentTheme;\n}\n//# sourceMappingURL=useCurrentTheme.js.map","import React from \"react\";\nimport { getRuntime } from \"@next-core/runtime\";\nexport function useRecentApps() {\n const [recentApps, setRecentApps] = React.useState(() => getRuntime().getRecentApps());\n React.useEffect(() => {\n const listener = event => {\n setRecentApps(event.detail);\n };\n window.addEventListener(\"app.change\", listener);\n return () => window.removeEventListener(\"app.change\", listener);\n }, []);\n return recentApps;\n}\n//# sourceMappingURL=useRecentApps.js.map","import { useRecentApps } from \"./useRecentApps.js\";\n\n/**\n * 获取当前所在微应用信息的 React hooks。\n *\n * @example\n *\n * ```tsx\n * function MyReactComponent() {\n * const app = useCurrentApp();\n * return <div>{app.id}</div>;\n * }\n * ```\n *\n * @returns 当前所在微应用的信息。\n */\nexport function useCurrentApp() {\n return useRecentApps().currentApp;\n}\n//# sourceMappingURL=useCurrentApp.js.map","import React from \"react\";\nexport function useRouteRender() {\n const [routeRender, setRouteRender] = React.useState(null);\n React.useEffect(() => {\n const listener = event => {\n setRouteRender(event.detail);\n };\n window.addEventListener(\"route.render\", listener);\n return () => window.removeEventListener(\"route.render\", listener);\n }, []);\n return routeRender;\n}\n//# sourceMappingURL=useRouteRender.js.map","export const useProviderArgsDefaults = {\n provider: \"\",\n customOptions: {\n onError: () => {\n /* Do nothing.. */\n },\n transform: (oldData, newData) => newData,\n data: undefined,\n loading: false,\n suspense: false,\n cache: true\n },\n dependencies: undefined\n};\nexport default Object.entries(useProviderArgsDefaults).reduce((acc, _ref) => {\n let [key, value] = _ref;\n if (Object.prototype.toString.call(value) === \"[object Object]\") return {\n ...acc,\n ...value\n };\n return {\n ...acc,\n [key]: value\n };\n}, {});\n//# sourceMappingURL=useProviderArgsDefaults.js.map","import { fetchByProvider } from \"@next-core/runtime\";\nconst cacheMap = new Map();\nfunction isObj(v) {\n return typeof v === \"object\" && v !== null && !Array.isArray(v);\n}\nfunction isString(v) {\n return typeof v === \"string\";\n}\nfunction buildSortedCacheKey(provider) {\n const sortObj = obj => Object.keys(obj).sort().map(k => ({\n [k]: obj[k]\n }));\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n try {\n const sortedArgs = isObj(args) ? sortObj(args) : args.map(arg => isString(arg) ? arg : sortObj(arg));\n return JSON.stringify({\n provider,\n args: sortedArgs\n });\n } catch (e) {\n return JSON.stringify({\n provider,\n args\n });\n }\n}\nexport default async function fetch(provider, cache, args) {\n let promise;\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const cacheKey = buildSortedCacheKey(provider, ...args);\n !cache && cacheMap.has(cacheKey) && cacheMap.delete(cacheKey);\n if (cacheMap.has(cacheKey)) {\n promise = cacheMap.get(cacheKey);\n } else {\n promise = (() => {\n return fetchByProvider(provider, args, {\n cache: cache ? \"default\" : \"reload\"\n });\n })();\n cache && cacheMap.set(cacheKey, promise);\n }\n return promise;\n}\n//# sourceMappingURL=fetch.js.map","import { useCallback, useEffect, useMemo, useReducer, useRef, useState } from \"react\";\nimport useProviderArgs from \"./useProviderArgs.js\";\nimport { isObject, isString } from \"lodash\";\nimport fetch from \"./fetch.js\";\nexport function useProvider() {\n const {\n provider,\n customOptions,\n dependencies,\n requestInit\n } = useProviderArgs(...arguments);\n const {\n onError,\n transform,\n suspense,\n cache,\n ...defaults\n } = customOptions;\n const [loading, setLoading] = useState(defaults.loading);\n const suspenseStatus = useRef(\"pending\");\n const suspender = useRef();\n const mounted = useRef(false);\n const error = useRef();\n const response = useRef();\n const data = useRef(defaults.data);\n const forceUpdate = useReducer(() => ({}), [])[1];\n const doFetch = useCallback(async (provider, providerArgs) => {\n try {\n error.current = undefined;\n if (!suspense) setLoading(true);\n const newRes = await fetch(provider, cache, providerArgs);\n response.current = newRes;\n data.current = transform(data.current, newRes);\n } catch (e) {\n error.current = e;\n data.current = undefined;\n }\n if (!suspense) setLoading(false);\n if (error.current) onError(error.current);\n return data.current;\n }, [provider, customOptions, dependencies, requestInit, suspense, transform, defaults.data, onError, cache]);\n const makeFetch = useCallback(async (providerOrBody, args) => {\n let providerStr = provider;\n let providerArgs = [];\n if (isString(providerOrBody)) {\n providerStr = providerOrBody;\n }\n if (isObject(providerOrBody)) {\n providerArgs = providerOrBody;\n } else if (isObject(args)) {\n providerArgs = args;\n }\n if (suspense) {\n return (async () => {\n suspender.current = doFetch(providerStr, providerArgs).then(newData => {\n suspenseStatus.current = \"success\";\n return newData;\n }, error => {\n /* istanbul ignore next */\n suspenseStatus.current = \"error\";\n error.current = error;\n return error;\n });\n forceUpdate();\n return await suspender.current;\n })();\n }\n return doFetch(providerStr, providerArgs);\n }, [doFetch]);\n const request = useMemo(() => Object.defineProperties({\n query: makeFetch\n }, {\n loading: {\n get() {\n return loading;\n }\n },\n data: {\n get() {\n return data.current;\n }\n },\n error: {\n get() {\n return error.current;\n }\n }\n }), [makeFetch]);\n\n // onMount/onUpdate\n useEffect(() => {\n mounted.current = true;\n if (Array.isArray(dependencies) && provider) {\n request.query(provider, requestInit.args);\n }\n return () => mounted.current = false;\n }, dependencies);\n if (suspense && suspender.current) {\n switch (suspenseStatus.current) {\n case \"pending\":\n throw suspender.current;\n /* istanbul ignore next */\n case \"error\":\n throw error.current;\n }\n }\n return Object.assign([request, response.current, loading, error.current], {\n request,\n ...request,\n response: response.current,\n data: data.current,\n loading,\n error: error.current\n });\n}\n//# sourceMappingURL=useProvider.js.map","import { useMemo } from \"react\";\nimport defaults, { useProviderArgsDefaults } from \"./useProviderArgsDefaults.js\";\nimport { isObject } from \"lodash\";\nexport default function useProviderArgs(providerOrParamsOrGlobalOptions, globalOptionsOrDeps, deps) {\n const provider = useMemo(() => {\n if (typeof providerOrParamsOrGlobalOptions === \"string\") {\n return providerOrParamsOrGlobalOptions;\n }\n return useProviderArgsDefaults.provider;\n }, [providerOrParamsOrGlobalOptions, globalOptionsOrDeps]);\n const options = useMemo(() => {\n let localOptions = {};\n if (isObject(providerOrParamsOrGlobalOptions)) {\n localOptions = providerOrParamsOrGlobalOptions;\n } else if (isObject(globalOptionsOrDeps)) {\n localOptions = globalOptionsOrDeps;\n }\n return {\n ...defaults,\n ...localOptions\n };\n }, [providerOrParamsOrGlobalOptions, globalOptionsOrDeps]);\n const requestInit = useMemo(() => {\n const customOptionKeys = [...Object.keys(useProviderArgsDefaults), ...Object.keys(useProviderArgsDefaults.customOptions)];\n const {\n args = null,\n ...restOptions\n } = Object.keys(options).reduce((acc, key) => {\n if (!customOptionKeys.includes(key)) acc[key] = options[key];\n return acc;\n }, {});\n return {\n options: {\n ...restOptions\n },\n args\n };\n }, [options]);\n const dependencies = useMemo(() => {\n if (Array.isArray(globalOptionsOrDeps)) return globalOptionsOrDeps;\n if (Array.isArray(deps)) return deps;\n return defaults.dependencies;\n }, [globalOptionsOrDeps, deps]);\n const loading = options.loading || Array.isArray(dependencies);\n const customOptions = useMemo(() => {\n const customOptionKeys = Object.keys(useProviderArgsDefaults.customOptions);\n const customOptions = customOptionKeys.reduce((opts, key) => {\n opts[key] = options[key];\n return opts;\n }, {});\n return {\n ...customOptions,\n loading\n };\n }, [options]);\n return {\n provider,\n customOptions,\n requestInit,\n dependencies\n };\n}\n//# sourceMappingURL=useProviderArgs.js.map","import { __secret_internals } from \"@next-core/runtime\";\nimport { wrapBrick } from \"@next-core/react-element\";\n\n/**\n * 使用异步加载的方式包装一个构件,可用于按条件渲染的构件依赖。\n *\n * 例如提供复杂弹层内容的按钮构件,其内容需要使用到一些大型构件,那么这些依赖可以使用 asyncWrapBrick,\n * 这样只有在需要时才会加载这些依赖的构件。\n */\n\n/**\n * 使用异步加载的方式包装一个构件,可用于按条件渲染的构件依赖。\n *\n * 例如提供复杂弹层内容的按钮构件,其内容需要使用到一些大型构件,那么这些依赖可以使用 asyncWrapBrick,\n * 这样只有在需要时才会加载这些依赖的构件。\n */\n\nexport async function asyncWrapBrick(brickName, eventsMapping) {\n await __secret_internals.loadBricks([brickName]);\n return wrapBrick(brickName, eventsMapping);\n}\n//# sourceMappingURL=asyncWrapBrick.js.map","import { useEffect, useState } from \"react\";\nimport { getRuntime } from \"@next-core/runtime\";\nexport function useNavConfig() {\n const [navConfig, setNavConfig] = useState(() => getRuntime().getNavConfig());\n useEffect(() => {\n const listener = event => {\n setNavConfig(event.detail);\n };\n window.addEventListener(\"navConfig.change\", listener);\n return () => window.removeEventListener(\"navConfig.change\", listener);\n }, []);\n return navConfig;\n}\n//# sourceMappingURL=useNavConfig.js.map","import { lazy, useMemo } from \"react\";\nimport { asyncWrapBrick } from \"./asyncWrapBrick.js\";\n\n/**\n * 使用 `React.lazy` 包装一个异步加载的构件。\n *\n * ```jsx\n * const DepComponent = useLazyWrapBrick(\"async-dep\");\n * return (\n * <Suspense fallback=\"Loading...\">\n * <DepComponent {...props} />\n * </Suspense>\n * );\n * ```\n */\n\n/**\n * 使用 `React.lazy` 包装一个异步加载的构件。\n *\n * ```jsx\n * const DepComponent = useLazyWrapBrick(\"async-dep\");\n * return (\n * <Suspense fallback=\"Loading...\">\n * <DepComponent {...props} />\n * </Suspense>\n * );\n * ```\n */\n\n/**\n * 使用 `React.lazy` 包装一个异步加载的构件。\n *\n * ```jsx\n * const DepComponent = useLazyWrapBrick(\"async-dep\");\n * return (\n * <Suspense fallback=\"Loading...\">\n * <DepComponent {...props} />\n * </Suspense>\n * );\n * ```\n */\n\n/**\n * 使用 `React.lazy` 包装一个异步加载的构件。\n *\n * ```jsx\n * const DepComponent = useLazyWrapBrick(\"async-dep\");\n * return (\n * <Suspense fallback=\"Loading...\">\n * <DepComponent {...props} />\n * </Suspense>\n * );\n * ```\n */\n\nexport function useLazyWrapBrick(brickName, eventsMapping) {\n return useMemo(() => {\n if (brickName != null) {\n return /*#__PURE__*/lazy(async () => ({\n default: await asyncWrapBrick(brickName, eventsMapping)\n }));\n }\n return null;\n }, [brickName, eventsMapping]);\n}\n//# sourceMappingURL=useLazyWrapBrick.js.map"],"names":["ReactUseBrick","_ref","useBrick","data","errorBoundary","refCallback","ignoredCallback","renderResult","setRenderResult","useState","mountResult","useRef","renderKey","setRenderKey","IdCounterRef","initialRenderId","useMemo","_secret_internals$ge","__secret_internals","getRenderId","call","useEffect","ignore","async","newRender","renderUseBrick","current","error","_secret_internals$ge2","newRenderId","isTheSameRender","console","handleHttpError","init","_refCallback","useCallback","element","mountUseBrick","unmountUseBrick","undefined","tagName","WebComponent","key","ref","ReactUseMultipleBricks","_ref2","Array","isArray","map","item","index","v2Kit","getV2RuntimeFromDll","SingleBrickAsComponentFactory","BrickAsComponentFactory","useCurrentTheme","currentTheme","setCurrentTheme","getCurrentTheme","listenToThemeChange","event","detail","window","addEventListener","removeEventListener","useRecentApps","recentApps","setRecentApps","getRuntime","getRecentApps","listener","useCurrentApp","currentApp","useRouteRender","routeRender","setRouteRender","useProviderArgsDefaults","provider","customOptions","onError","transform","oldData","newData","loading","suspense","cache","dependencies","Object","entries","reduce","acc","value","prototype","toString","cacheMap","Map","useProvider","requestInit","providerOrParamsOrGlobalOptions","globalOptionsOrDeps","deps","options","localOptions","isObject","customOptionKeys","keys","args","restOptions","includes","opts","useProviderArgs","arguments","defaults","setLoading","suspenseStatus","suspender","mounted","response","forceUpdate","useReducer","doFetch","providerArgs","newRes","promise","cacheKey","sortObj","obj","sort","k","_len","length","_key","sortedArgs","v","arg","isString","JSON","stringify","e","buildSortedCacheKey","has","delete","get","fetchByProvider","set","fetch","makeFetch","providerOrBody","providerStr","then","request","defineProperties","query","assign","asyncWrapBrick","brickName","eventsMapping","loadBricks","wrapBrick","useNavConfig","navConfig","setNavConfig","getNavConfig","useLazyWrapBrick","lazy","default"],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";(globalThis.webpackChunk_next_bricks_vb_experiment=globalThis.webpackChunk_next_bricks_vb_experiment||[]).push([[3171,5552],{5552:(e,n,t)=>{t.r(n),t.d(n,{i18n:()=>p,i18nText:()=>l,initializeI18n:()=>u});var i=t(5630),s=t(9733),r=t(848);let o=!1;const a=new Set;function u(e,n){if(o||(o=!0,s.i18n.use(r.default).init({fallbackLng:"zh",debug:!1,supportedLngs:["zh","en"],nonExplicitSupportedLngs:!0,interpolation:{escapeValue:!1},react:{useSuspense:!1},compatibilityJSON:"v3",resources:{}})),e&&n&&!a.has(e)){a.add(e);for(const[t,i]of Object.entries(n))s.i18n.addResourceBundle(t,e,i)}}var c=t(
|
|
2
|
-
//# sourceMappingURL=5552.
|
|
1
|
+
"use strict";(globalThis.webpackChunk_next_bricks_vb_experiment=globalThis.webpackChunk_next_bricks_vb_experiment||[]).push([[3171,5552],{5552:(e,n,t)=>{t.r(n),t.d(n,{i18n:()=>p,i18nText:()=>l,initializeI18n:()=>u});var i=t(5630),s=t(9733),r=t(848);let o=!1;const a=new Set;function u(e,n){if(o||(o=!0,s.i18n.use(r.default).init({fallbackLng:"zh",debug:!1,supportedLngs:["zh","en"],nonExplicitSupportedLngs:!0,interpolation:{escapeValue:!1},react:{useSuspense:!1},compatibilityJSON:"v3",resources:{}})),e&&n&&!a.has(e)){a.add(e);for(const[t,i]of Object.entries(n))s.i18n.addResourceBundle(t,e,i)}}var c=t(7019);function l(e){var n;if(!e)return;const t=null!==(n=s.i18n.language)&&void 0!==n?n:"zh-CN";if((0,c.hasOwnProperty)(e,t))return e[t];const i=t.split("-")[0];if(i!==t)return(0,c.hasOwnProperty)(e,i)?e[i]:void 0;const r=`${i}-`;for(const n of Object.keys(e))if(n.startsWith(r))return e[n]}const p=i.default}}]);
|
|
2
|
+
//# sourceMappingURL=5552.96d83691.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/5552.
|
|
1
|
+
{"version":3,"file":"chunks/5552.96d83691.js","mappings":"yPAEA,IAAIA,GAAc,EAClB,MAAMC,EAAwB,IAAIC,IAC3B,SAASC,EAAeC,EAAIC,GAwBjC,GAvBKL,IACHA,GAAc,EACd,EAAAM,KAICC,IAAmF,WAEnFC,KAAK,CACJC,YAAa,KACbC,OAAO,EACPC,cAAe,CAAC,KAAM,MACtBC,0BAA0B,EAC1BC,cAAe,CACbC,aAAa,GAEfC,MAAO,CACLC,aAAa,GAEfC,kBAAmB,KACnBC,UAAW,CAAC,KAGXd,GAAOC,IAAWJ,EAAsBkB,IAAIf,GAAjD,CAGAH,EAAsBmB,IAAIhB,GAC1B,IAAK,MAAOiB,EAAMH,KAAcI,OAAOC,QAAQlB,GAC7C,EAAAC,KAAKkB,kBAAkBH,EAAMjB,EAAIc,EAHnC,CAKF,C,cCjCO,SAASO,EAASC,GACvB,IAAIC,EACJ,IAAKD,EACH,OAEF,MAAME,EAAgD,QAApCD,EAAiB,EAAArB,KAAKsB,gBAAyC,IAAnBD,EAA4BA,EAAiB,QAE3G,IAAI,IAAAE,gBAAeH,EAAME,GACvB,OAAOF,EAAKE,GAGd,MAAME,EAAkBF,EAASG,MAAM,KAAK,GAC5C,GAAID,IAAoBF,EAGtB,OAAO,IAAAC,gBAAeH,EAAMI,GAAmBJ,EAAKI,QAAmBE,EAKzE,MAAMC,EAAS,GAAGH,KAClB,IAAK,MAAMI,KAAOZ,OAAOa,KAAKT,GAC5B,GAAIQ,EAAIE,WAAWH,GACjB,OAAOP,EAAKQ,EAGlB,CC3BO,MAAM5B,EAA6E,S","sources":["webpack:///../../node_modules/@next-core/i18n/dist/esm/init.js","webpack:///../../node_modules/@next-core/i18n/dist/esm/text.js","webpack:///../../node_modules/@next-core/i18n/dist/esm/index.js"],"sourcesContent":["import { i18n } from \"@next-core/i18n\";\nimport LanguageDetector from \"i18next-browser-languagedetector\";\nlet initialized = false;\nconst initializedNamespaces = new Set();\nexport function initializeI18n(NS, locales) {\n if (!initialized) {\n initialized = true;\n i18n\n // learn more: https://github.com/i18next/i18next-xhr-backend\n // .use(Backend)\n // learn more: https://github.com/i18next/i18next-browser-languageDetector\n .use(process.env.NODE_ENV === \"test\" ? LanguageDetector : /* istanbul ignore next */LanguageDetector.default)\n // for all options read: https://www.i18next.com/overview/configuration-options\n .init({\n fallbackLng: \"zh\",\n debug: process.env.NODE_ENV === \"development\",\n supportedLngs: [\"zh\", \"en\"],\n nonExplicitSupportedLngs: true,\n interpolation: {\n escapeValue: false // not needed for react as it escapes by default\n },\n react: {\n useSuspense: false\n },\n compatibilityJSON: \"v3\",\n resources: {}\n });\n }\n if (!NS || !locales || initializedNamespaces.has(NS)) {\n return;\n }\n initializedNamespaces.add(NS);\n for (const [lang, resources] of Object.entries(locales)) {\n i18n.addResourceBundle(lang, NS, resources);\n }\n}\n//# sourceMappingURL=init.js.map","import { i18n } from \"@next-core/i18n\";\nimport { hasOwnProperty } from \"@next-core/utils/general\";\nexport function i18nText(data) {\n var _i18n$language;\n if (!data) {\n return;\n }\n const language = (_i18n$language = i18n.language) !== null && _i18n$language !== void 0 ? _i18n$language : \"zh-CN\";\n // First, make a perfect match.\n if (hasOwnProperty(data, language)) {\n return data[language];\n }\n // https://en.wikipedia.org/wiki/IETF_language_tag\n const primaryLanguage = language.split(\"-\")[0];\n if (primaryLanguage !== language) {\n // Then, match the primary language (which omits other subtags).\n // E.g., match `zh` if the current language is `zh-CN`.\n return hasOwnProperty(data, primaryLanguage) ? data[primaryLanguage] : undefined;\n }\n // At last, match the first key which starts with the primary language,\n // if the current language contains primary subtag only.\n // E.g., match `zh-CN` if the current language is `zh`.\n const prefix = `${primaryLanguage}-`;\n for (const key of Object.keys(data)) {\n if (key.startsWith(prefix)) {\n return data[key];\n }\n }\n}\n//# sourceMappingURL=text.js.map","import i18next from \"i18next\";\nexport const i18n = process.env.NODE_ENV === \"test\" ? i18next : /* istanbul ignore next */i18next.default;\nexport * from \"./init.js\";\nexport * from \"./text.js\";\n//# sourceMappingURL=index.js.map"],"names":["initialized","initializedNamespaces","Set","initializeI18n","NS","locales","i18n","use","init","fallbackLng","debug","supportedLngs","nonExplicitSupportedLngs","interpolation","escapeValue","react","useSuspense","compatibilityJSON","resources","has","add","lang","Object","entries","addResourceBundle","i18nText","data","_i18n$language","language","hasOwnProperty","primaryLanguage","split","undefined","prefix","key","keys","startsWith"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
(()=>{"use strict";var e,n,t,r,o,s,i,a,d,l,u,p,c,f,m,g,h,y,v,b={7131:(e,n,t)=>{var r=t(580),o=t(8135),s=t(4);const i="next-tsx",a=["callApi","callHttp","callTool"];function d(e,n){return!e.async&&!e.generator||(n.errors.push({message:"Function cannot be async or generator",node:e,severity:"error"}),!1)}function l(e,n){return!!e.referencesImport(i,n)||e.node.name===n&&!e.scope.getBinding(e.node.name)}function u(e,n){let t=null;return o.traverse(e,{enter(e,n){var r;!t&&(o.isFunctionExpression(e)||o.isStatement(e)||o.isAwaitExpression(e)||o.isYieldExpression(e)||o.isJSX(e)||o.isArrowFunctionExpression(e)&&(e.async||e.generator||o.isBlockStatement(e.body)||o.isObjectProperty(null===(r=n[n.length-1])||void 0===r?void 0:r.node)))&&(t=e)}}),!t||(null==n||n.errors.push({message:`Unsupported expression type: ${t.type}`,node:t,severity:"error"}),!1)}function p(e){return e.isNullLiteral()||e.isIdentifier()&&"undefined"===e.node.name&&void 0===e.scope.getBinding("undefined")}const c=/^<%=?\s/,f=/\s%>$/;function m(e){if("string"!=typeof e)return!1;const n=e.trim();return c.test(n)&&f.test(n)}function g(e){return e.isCallExpression()||e.isOptionalCallExpression()}function h(e){return e.isMemberExpression()||e.isOptionalMemberExpression()}function y(e,n,t,r){var o;const s=[],i={TSTypeAnnotation(e){s.push({type:"annotation",start:e.node.start,end:e.node.end}),e.skip()},TSTypeParameterInstantiation(e){s.push({type:"annotation",start:e.node.start,end:e.node.end}),e.skip()},TSAsExpression(e){s.push({type:"annotation",start:e.node.expression.end,end:e.node.end}),e.skip()},Identifier(e){var r,o,i,a,d,l;if(!e.isReferencedIdentifier())return;const u=e.parentPath.isObjectProperty()&&e.parentPath.node.shorthand,p=e.node.name,c=e.scope.getBindingIdentifier(p);if(c){var f,m;let l;switch(c){case null===(r=t.eventBinding)||void 0===r?void 0:r.id:l=null!==(o=t.eventBinding)&&void 0!==o&&o.isCallback?"EVENT.detail":"EVENT";break;case null===(i=t.forEachBinding)||void 0===i?void 0:i.item:l="ITEM";break;case null===(a=t.forEachBinding)||void 0===a?void 0:a.index:l="INDEX";break;case null===(d=t.dataBinding)||void 0===d?void 0:d.id:l="DATA"}if(l)return void s.push({type:"id",start:e.node.start,end:e.node.end,replacement:l,shorthand:u?p:void 0});const g=null===(f=t.component)||void 0===f?void 0:f.bindingMap.get(c);g?"state"===g.kind||"resource"===g.kind||"constant"===g.kind||"param"===g.kind||"query"===g.kind?s.push({type:"id",start:e.node.start,end:e.node.end,replacement:"query"===g.kind?"QUERY":`${"template"===t.component.type?"STATE":"CTX"}.${c.name}`,shorthand:u?p:void 0}):n.errors.push({message:`Invalid usage of ${g.kind} variable "${c.name}"`,node:e.node,severity:"error"}):null!==(m=t.functionBindings)&&void 0!==m&&m.has(c)&&s.push({type:"id",start:e.node.start,end:e.node.end,replacement:`FN.${p}`,shorthand:u?p:void 0})}else null!==(l=t.contextBindings)&&void 0!==l&&l.includes(p)&&s.push({type:"id",start:e.node.start,end:e.node.end,replacement:`CTX.${p}`,shorthand:u?p:void 0})}};e.isIdentifier()&&i.Identifier(e),e.traverse(i),s.sort(((e,n)=>e.start-n.start));const a=[];let d=e.node.start;for(const e of s)a.push(n.source.substring(d,e.start),"annotation"===e.type?"":`${e.shorthand?`${e.shorthand}:`:""}${e.replacement}`),d=e.end;a.push(n.source.substring(d,e.node.end));const l=a.join("");return r?l:`<%${null!==(o=t.modifier)&&void 0!==o?o:""} ${l} %>`}const v=Symbol("ambiguous");function b(e,n,t,r){if(e.isTSAsExpression())return b(e.get("expression"),n,t,r);if(e.isObjectExpression())return function(e,n,t,r){const o=e.get("properties");if(o.some((e=>e.isSpreadElement()||e.isObjectProperty()&&(e.node.computed||e.node.shorthand)))&&u(e.node,n))return r.ambiguous?v:y(e,n,r);const s={};for(const e of o){if(!e.isObjectProperty()){n.errors.push({message:`Unsupported property type: ${e.type}`,node:e.node,severity:"error"});continue}if(e.node.computed||e.node.shorthand){n.errors.push({message:"Unsupported computed or shorthand object property",node:e.node.key,severity:"error"});continue}const o=e.get("key");let i;if(o.isIdentifier())i=o.node.name;else{if(!o.isStringLiteral()){n.errors.push({message:`Unsupported object key type: ${o.node.type}`,node:o.node,severity:"error"});continue}i=o.node.value}s[i]=b(e.get("value"),n,t,r)}return s}(e,n,t,r);if(e.isArrayExpression())return function(e,n,t,r){const o=e.get("elements");if(o.some((e=>!e||e.isSpreadElement()))&&u(e.node,n))return r.ambiguous?v:y(e,n,r);const s=[];for(const i of o)i.node?i.isSpreadElement()?n.errors.push({message:"Spread elements are not supported in array",node:i.node,severity:"error"}):s.push(b(i,n,t,r)):n.errors.push({message:"Array elements cannot be empty",node:e.node,severity:"error"});return s}(e,n,t,r);if(e.isStringLiteral()||e.isNumericLiteral()||e.isBooleanLiteral())return e.node.value;if(e.isNullLiteral())return null;if(!e.isIdentifier()||"undefined"!==e.node.name||void 0!==e.scope.getBinding("undefined")){if(r.allowUseBrick&&e.isArrowFunctionExpression()){const o=e.get("body");if(o.isBlockStatement())return n.errors.push({message:"Block statements are not supported in render callback",node:o.node,severity:"error"}),null;const s=[];for(const t of e.get("params")){if(!t.isIdentifier())return n.errors.push({message:`Unsupported parameter type: ${t.type}`,node:t.node,severity:"error"}),null;s.push(t.node.name)}return{params:s,children:D(o,n,t,r)}}return e.isExpression()?u(e.node,n)?r.ambiguous?v:y(e,n,r):null:(n.errors.push({message:`Unsupported value type: ${e.node.type}`,node:e.node,severity:"error"}),null)}}function x(e,n,t,r){let s=!1;return o.traverse(e.node,{enter(e,n){var t;let r;s||o.isStringLiteral(e)||o.isNumericLiteral(e)||o.isBooleanLiteral(e)||o.isNullLiteral(e)||o.isObjectExpression(e)||o.isArrayExpression(e)||o.isObjectProperty(e)||o.isIdentifier(e)&&(r=null===(t=n[n.length-1])||void 0===t?void 0:t.node,1)&&(r&&o.isObjectProperty(r)?!r.computed&&!r.shorthand:"undefined"===e.name)||(s=!0)}}),s&&u(e.node,null)?y(e,n,r):b(e,n,t,r)}const $={callApi:[2,3],callHttp:[1,2],callTool:[2,3]};function E(e,n,t,r){if(!g(e))return n.errors.push({message:`Await expression must be a call expression, received ${e.node.type}`,node:e.node,severity:"error"}),null;const o=e.get("callee");let s;if(!o.isIdentifier())return n.errors.push({message:`Await expression must call an identifier, received ${o.type}`,node:o.node,severity:"error"}),null;for(const e of a)if(l(o,e)){s=e;break}if(!s)return n.errors.push({message:`Await expression must call "callApi", "callHttp" or "callTool", received "${o.node.name}"`,node:o.node,severity:"error"}),null;const i=$[s],d=e.get("arguments"),u=d.length<i[0];if((u||!i.includes(d.length))&&(n.errors.push({message:`"${s}()" expects ${i.join(" or ")} arguments, but got ${d.length}`,node:e.node,severity:u?"error":"warning"}),u))return null;let c;const f=d[0];if("callHttp"===s){const e=b(f,n,t,r);if("string"!=typeof e)return n.errors.push({message:`"${s}()" expects a string value as the first argument, but got ${typeof e}`,node:f.node,severity:"error"}),null;c={api:e,http:!0}}else if("callApi"===s){if(!f.isStringLiteral())return n.errors.push({message:`"${s}()" expects a string literal as the first argument, but got ${f.type}`,node:f.node,severity:"error"}),null;c={api:f.node.value}}else{const e=b(f,n,t,r);if("string"!=typeof e)return n.errors.push({message:`"${s}()" expects a string value as the first argument, but got ${typeof e}`,node:f.node,severity:"error"}),null;const o=d[1],i=b(o,n,t,r);if("string"!=typeof i)return n.errors.push({message:`"${s}()" expects a string value as the second argument, but got ${typeof i}`,node:o.node,severity:"error"}),null;const a=d[2];let l;a&&(l=b(a,n,t,r)),c={api:s,tool:{conversationId:e,stepId:i},params:l}}if("callApi"===s||"callHttp"===s){const e=d[1];if(e&&!p(e)){e.isObjectExpression()||n.errors.push({message:`Data source "params" prefers an object literal, but got ${e.type}`,node:e.node,severity:"notice"});const o=b(e,n,t,r);m(o)||"object"==typeof o&&null!==o?c.params=o:n.errors.push({message:"API params expects an object or expression, but got "+typeof o,node:e.node,severity:"error"})}}if("callApi"===s){const e=d[2];if(e&&!p(e))if(e.isObjectExpression()){const t=e.get("properties");for(const e of t){if(!e.isObjectProperty()){n.errors.push({message:`"callApi()" third param "meta" expects object properties, but got ${e.type}`,node:e.node,severity:"error"});continue}const t=e.get("key");if(!t.isIdentifier()){n.errors.push({message:`"callApi()" third param "meta" property key must be an identifier, but got ${t.type}`,node:t.node,severity:"error"});continue}if("objectId"!==t.node.name){n.errors.push({message:`"callApi()" third param "meta" property key must be "objectId", but got "${t.node.name}"`,node:t.node,severity:"error"});continue}const r=e.get("value");if(!p(r)){if(!r.isStringLiteral()){n.errors.push({message:`"callApi()" third param "meta" property "${t.node.name}" expects a string literal, but got ${r.type}`,node:r.node,severity:"error"});continue}c.objectId=r.node.value}}}else n.errors.push({message:`"callApi()" third param "meta" expects an object literal, but got ${e.type}`,node:e.node,severity:"error"})}return c}function S(e,n,t,r,o){if(!e.isArrowFunctionExpression())return n.errors.push({message:`Event handler must be an arrow function expression, but got ${e.type}`,node:e.node,severity:"error"}),null;const s=e.get("params");if(s.length>1)return n.errors.push({message:`Event handler arrow function must have at most one parameter, but got ${s.length}`,node:e.node,severity:"error"}),null;const i=s[0],a={...r,modifier:void 0,eventBinding:void 0};if(i){if(!i.isIdentifier())return n.errors.push({message:`Event handler arrow function parameter must be an identifier, but got ${i.type}`,node:i.node,severity:"error"}),null;a.eventBinding={id:i.node,isCallback:o}}const d=k(e.get("body"),n,t,a);return d?[].concat(d):null}function k(e,n,t,r){if(e.isBlockStatement())return e.get("body").flatMap((e=>k(e,n,t,r))).filter((e=>null!==e));if(e.isIfStatement())return{action:"conditional",payload:{test:b(e.get("test"),n,t,r),consequent:k(e.get("consequent"),n,t,r),alternate:e.node.alternate?k(e.get("alternate"),n,t,r):null}};if(e.isExpressionStatement())return k(e.get("expression"),n,t,r);if(g(e)){const d=e.get("callee"),u=e.get("arguments");if(d.isIdentifier()){if(l(d,"showMessage"))return 1!==u.length?(n.errors.push({message:`"showMessage()" expects exactly 1 argument, but got ${u.length}`,node:e.node,severity:"error"}),null):{action:"show_message",payload:b(u[0],n,t,r)};if(l(d,"pushQuery"))return 1!==u.length&&2!==u.length?(n.errors.push({message:`"pushQuery()" expects 1 or 2 arguments, but got ${u.length}`,node:e.node,severity:"error"}),null):{action:"update_query",payload:{method:"push",args:u.map((e=>b(e,n,t,r)))}};for(const o of a)if(l(d,o)){const o=E(e,n,t,r);return o?(n.contracts.add(o.api),{action:"call_api",payload:o}):null}const s=d.scope.getBindingIdentifier(d.node.name);let i;var o;return s&&(i=null===(o=r.component)||void 0===o?void 0:o.bindingMap.get(s)),i?"setState"===i.kind?{action:"update_variable",payload:{name:i.id.name,value:void 0===u[0]?void 0:b(u[0],n,t,{...r,modifier:void 0})}}:(n.errors.push({message:`"${d.node.name}" is not callable`,node:d.node,severity:"error"}),null):(n.errors.push({message:`Function "${d.node.name}" is not defined`,node:d.node,severity:"error"}),null)}if(h(d)){if(d.node.computed)return n.errors.push({message:"Event handler call expression with computed member expression is not supported",node:d.node,severity:"error"}),null;const e=d.get("object");if(h(e)){const o=e.get("property");if(!e.node.computed&&o.isIdentifier()&&"current"===o.node.name){const o=e.get("object");if(o.isIdentifier()){var s;const e=o.scope.getBindingIdentifier(o.node.name);let a;var i;if(e&&(a=null===(i=r.component)||void 0===i?void 0:i.bindingMap.get(e)),!a)return n.errors.push({message:`Variable "${o.node.name}" is not defined`,node:o.node,severity:"error"}),null;if("ref"!==a.kind)return n.errors.push({message:`Variable "${o.node.name}" is not a ref, but a ${a.kind}`,node:o.node,severity:"error"}),null;const l=d.get("property");return l.isIdentifier()?{action:"call_ref",payload:{ref:a.id.name,method:l.node.name,args:u.map((e=>b(e,n,t,r))),scope:"template"===(null===(s=r.component)||void 0===s?void 0:s.type)?"template":"global"}}:(n.errors.push({message:"Event handler call expression with non-identifier property is not supported",node:l.node,severity:"error"}),null)}}}if(!e.isCallExpression())return n.errors.push({message:`Member expression in event handler expects a call expression as object, but got ${e.type}`,node:e.node,severity:"error"}),null;const o=e.get("callee");if(!o.isIdentifier())return n.errors.push({message:`Member expression in event handler expects an identifier as callee, but got ${o.type}`,node:o.node,severity:"error"}),null;const p=d.get("property");if(!p.isIdentifier())return n.errors.push({message:`Member expression in event handler expects an identifier as property, but got ${p.type}`,node:p.node,severity:"error"}),null;let c;for(const e of a)if(l(o,e)){c=e;break}if(c){if("then"!==p.node.name)return n.errors.push({message:`"${c}()" expects "then" as its method, but got ${p.node.name}`,node:p.node,severity:"error"}),null;if(1!==u.length)return n.errors.push({message:`"${c}().then()" expects exactly 1 argument, but got ${u.length}`,node:p.node,severity:"error"}),null;const o=E(e,n,t,r);if(!o)return null;n.contracts.add(o.api);const s=S(u[0],n,t,r,!0);return{action:"call_api",payload:o,callback:s?{success:s}:void 0}}return n.errors.push({message:`Unsupported action in event handler: ${o.node.name}`,node:o.node,severity:"error"}),null}}return n.errors.push({message:"Unsupported event handler",node:e.node,severity:"error"}),null}const w=[".js",".jsx",".ts",".tsx"];function I(e,n,t){if(e.startsWith("/"))return T(e,t);if(e.startsWith("./")||e.startsWith("../")){const r=n.substring(0,n.lastIndexOf("/")),o=r?r.split("/"):[""],s=e.split("/");for(const e of s)"."!==e&&(".."===e?o.length>0&&o.pop():o.push(e));return T(o.join("/"),t)}return e}function T(e,n){if(n.some((n=>n.filePath===e)))return e;for(const t of w)if(n.some((n=>n.filePath===`${e}${t}`)))return`${e}${t}`;return e}function j(e,n,t,r){var o;if(!e.isReferencedIdentifier())return null;const s=e.node.name,i=e.scope.getBinding(s);if(!i)return null;if(null!==(o=r.componentBindings)&&void 0!==o&&o.has(i.identifier))return{type:"local",name:s};if("module"===i.kind){if(i.path.isImportSpecifier()&&i.path.parentPath.isImportDeclaration()){const e=i.path.get("imported");if(!e.isIdentifier())return n.errors.push({message:`Unsupported import specifier type: ${e.type}`,node:e.node,severity:"error"}),null;const r=i.path.parentPath.get("source");return{type:"imported",name:e.node.name,importSource:I(r.node.value,n.filePath,t.files)}}if(i.path.isImportDefaultSpecifier()&&i.path.parentPath.isImportDeclaration())return{type:"imported",importSource:I(i.path.parentPath.get("source").node.value,n.filePath,t.files)}}return n.errors.push({message:`Unsupported component binding for "${s}"`,node:i.identifier,severity:"error"}),null}function P(e,n,t){var r,o;if(!e.isJSXExpressionContainer())return void n.errors.push({message:`The "ref" attribute in component expects a JSXExpressionContainer, but got ${null===(r=e.node)||void 0===r?void 0:r.type}`,node:null!==(o=e.node)&&void 0!==o?o:e.parent,severity:"error"});const s=e.get("expression");if(!s.isIdentifier())return void n.errors.push({message:`The "ref" attribute in component expects an identifier, but got ${s.node.type}`,node:s.node,severity:"error"});const i=s.node.name,a=s.scope.getBindingIdentifier(i);let d;var l;if(a&&(d=null===(l=t.component)||void 0===l?void 0:l.bindingMap.get(a)),d){if("ref"===d.kind)return d.id.name;n.errors.push({message:`The variable "${i}" is not a ref, but a ${d.kind}`,node:e.node,severity:"error"})}else n.errors.push({message:`The ref "${i}" is not defined`,node:e.node,severity:"error"})}function A(e){return e.slice(2).replace(/([a-z])([A-Z])/g,"$1.$2").toLowerCase()}function C(e,n,t,r){if(e.isJSXFragment())return e.get("children").flatMap((e=>C(e,n,t,r)));if(e.isJSXText())return e.node.value.trim()?{type:"text",text:e.node.value}:null;if(e.isJSXExpressionContainer())return C(e.get("expression"),n,t,r);if(e.isJSXEmptyExpression())return null;if(e.isJSXElement())return function(e,n,t,r){const s=e.get("openingElement"),i=s.get("name");if(!i.isJSXIdentifier())return n.errors.push({message:`Unsupported JSX element name type: ${i.type}`,node:i.node,severity:"error"}),null;if(l(i,"Fragment")){for(const e of s.node.attributes)o.isJSXAttribute(e)&&o.isJSXIdentifier(e.name)&&"key"===e.name.name||n.errors.push({message:"Invalid attribute for Fragment",node:e,severity:"error"});return e.get("children").flatMap((e=>C(e,n,t,r)))}const a=j(i,n,t,r),d={};let u,p;const c=l(i,"Route");for(const e of s.get("attributes")){if(e.isJSXSpreadAttribute()){n.errors.push({message:"Spread attributes are not supported in component",node:e.node,severity:"error"});continue}const o=e.get("name");if(!o.isJSXIdentifier()){n.errors.push({message:`Expected JSXIdentifier, but got ${o.node.type}`,node:o.node,severity:"error"});continue}const s=o.node.name;if("key"===s)continue;const i=e.get("value");if(c)if("component"===s){if(!i.isJSXExpressionContainer()){var f,m;n.errors.push({message:`The "component" attribute in Route expects a JSXExpressionContainer, but got ${null===(f=i.node)||void 0===f?void 0:f.type}`,node:null!==(m=i.node)&&void 0!==m?m:i.parent,severity:"error"});continue}const e=i.get("expression");if(!e.isIdentifier()){n.errors.push({message:`The "component" attribute in Route expects an identifier, but got ${e.node.type}`,node:e.node,severity:"error"});continue}const o=j(e,n,t,r);if(!o){n.errors.push({message:`The component "${e.node.name}" is not defined`,node:e.node,severity:"error"});continue}d.component={name:e.node.name,reference:o}}else if("path"===s){if(!i.isStringLiteral()){var g,h;n.errors.push({message:`The "path" attribute in Route expects a string literal, but got ${null===(g=i.node)||void 0===g?void 0:g.type}`,node:null!==(h=i.node)&&void 0!==h?h:i.parent,severity:"error"});continue}d.path=i.node.value}else n.errors.push({message:`Unsupported attribute "${s}" in Route`,node:o.node,severity:"error"});else if("ref"!==s)if(/^on[A-Z]/.test(s)){if(!i.isJSXExpressionContainer()){var y,v;n.errors.push({message:`Event handler "${s}" expects a JSXExpressionContainer, but got ${null===(y=i.node)||void 0===y?void 0:y.type}`,node:null!==(v=i.node)&&void 0!==v?v:i.parent,severity:"error"});continue}const e=i.get("expression");if(e.isJSXEmptyExpression()){n.errors.push({message:"Empty expression in events is not allowed",node:e.node,severity:"warning"});continue}let o=null;if(e.isIdentifier()){const n=e.scope.getBindingIdentifier(e.node.name);if(n){var b;const e=null===(b=r.component)||void 0===b?void 0:b.bindingMap.get(n);e&&"eventHandler"===e.kind&&(o=[{action:"dispatch_event",payload:{type:A(e.id.name),detail:"<% EVENT.detail %>"}}])}}o||(o=S(e,n,t,r)),o&&(null!=u||(u={}),u[A(s)]=o)}else if(null==i.node)d[s]=!0;else if(i.isStringLiteral())d[s]=i.node.value;else if(i.isJSXExpressionContainer()){const e=i.get("expression");e.isJSXEmptyExpression()?n.errors.push({message:`Empty expression in JSX attribute "${s}" is not allowed`,node:e.node,severity:"warning"}):d[s]=x(e,n,t,{...r,allowUseBrick:!0,modifier:"="})}else n.errors.push({message:`Unsupported attribute value type in component: ${i.node.type}`,node:i.node,severity:"error"});else p=P(i,n,r)}const{textContent:$,children:E}=O(e.get("children"),n,t,r);return $&&(d.textContent=$),{type:"component",component:{name:i.node.name,reference:a,properties:d,ref:p,events:u,children:E}}}(e,n,t,r);if(g(e)){const o=e.get("callee");if(h(o)){const s=o.get("property");if(s.isIdentifier()&&"map"===s.node.name){const s=e.get("arguments");if(s.length>0){const e=s[0];if(e.isArrowFunctionExpression()){const s=e.get("body");if(s.isExpression()&&B(s.node)){const s=o.get("object");if(!u(s.node,n))return null;const i=e.get("params");if(i.length>2)return n.errors.push({message:`Array map function with JSX elements must have at most two parameters, but got ${i.length}`,node:i[2].node,severity:"error"}),null;const a=i.find((e=>!e.isIdentifier()));if(a)return n.errors.push({message:`Array map function with JSX elements must have identifier parameters, but got ${a.type}`,node:a.node,severity:"error"}),null;const d={...r,forEachBinding:void 0};if(i.length>0){const[e,n]=i;d.forEachBinding={item:e.node,index:null==n?void 0:n.node}}return{type:"component",component:{name:"ForEach",properties:{dataSource:x(s,n,t,{...r,modifier:"="})},children:D(e.get("body"),n,t,d)}}}}}}}}else if(e.isConditionalExpression()){const o=e.get("test"),s=e.get("consequent"),i=e.get("alternate");if(B(s.node)||B(i.node))return u(o.node,n)?{type:"component",component:{name:"If",properties:{dataSource:x(o,n,t,{...r,modifier:"="})},children:[...D(s,n,t,r),...D(i,n,t,r).map((e=>({...e,slot:"else"})))]}}:null}else if(e.isLogicalExpression()){const o=e.get("left"),s=e.get("right"),i=e.node.operator;if(("&&"===i||"||"===i)&&B(s.node)){if(!u(o.node,n))return null;const e=D(s,n,t,r);return{type:"component",component:{name:"If",properties:{dataSource:x(o,n,t,{...r,modifier:"="})},children:"&&"===i?e:e.map((e=>({...e,slot:"else"})))}}}}return e.isExpression()?u(e.node,n)?{type:"expression",expression:e}:null:(n.errors.push({message:`Unsupported node type in JSX children: ${e.type}`,node:e.node,severity:"error"}),null)}function B(e){let n=!1;return o.traverse(e,{enter(e){n||!o.isJSXElement(e)&&!o.isJSXFragment(e)||(n=!0)}}),n}function O(e,n,t,r){let o=e.flatMap((e=>C(e,n,t,r))),s=o.every((e=>"text"===(null==e?void 0:e.type)));if(!s){let e=null;const n=[];for(const t of o){if(null===t);else if("text"===t.type||"expression"===t.type){var i,a,d;if("text"===(null===(i=e)||void 0===i?void 0:i.type)||"expression"===(null===(a=e)||void 0===a?void 0:a.type)){e={type:"merged",children:[e,t]},n.splice(n.length-1,1,e);continue}if("merged"===(null===(d=e)||void 0===d?void 0:d.type)){e.children.push(t);continue}}e=t,n.push(t)}o=n,s=o.every((e=>"text"===(null==e?void 0:e.type)||"merged"===(null==e?void 0:e.type)&&e.children.every((e=>"text"===e.type))))}return s?{textContent:o.flatMap((e=>"text"===e.type?e.text:e.children.map((e=>e.text)))).join("").trim()}:o.every((e=>!!e&&"component"!==e.type))?{textContent:X(o.flatMap((e=>"merged"===e.type?e.children:e)),n,r)}:{children:o.filter((e=>!!e)).map((e=>"component"===e.type?e.component:{name:"Plaintext",properties:{textContent:"text"===e.type?e.text:"expression"===e.type?y(e.expression,n,{...r,modifier:"="}):X(e.children,n,r)}}))}}function X(e,n,t){return n.usedHelpers.add("_helper_mergeTexts"),`<%= FN._helper_mergeTexts(${e.map((e=>"text"===e.type?JSON.stringify(e):`{type:"expression",value:(${y(e.expression,n,t,!0)})}`)).join(", ")}) %>`}function D(e,n,t,r){const{textContent:o,children:s}=O([e],n,t,r);return null!=s?s:[{name:"Plaintext",properties:{textContent:o}}]}function J(e){var n,t;const r=null===(n=e.children)||void 0===n?void 0:n.find((e=>{return t="View",function(e){return!e.reference||"imported"===e.reference.type&&e.reference.importSource===i}(n=e)&&(n.reference?n.reference.name===t:n.name===t);var n,t})),o=null==r||null===(t=r.properties)||void 0===t?void 0:t.title;if("string"==typeof o&&!m(o))return o}const M=s.default;function R(e,n,t,r,o,s,i,a){const d=E(e,n,t,r);if(!d)return null;n.contracts.add(d.api);const l={name:o,config:s,...d};if(i){var u;if(i.length>("catch"===a?1:2))return n.errors.push({message:`".${a}()" expects no more than 2 arguments, but got ${i.length}`,node:null===(u=i[1])||void 0===u?void 0:u.node,severity:"error"}),null;if(i.length>0){const e=U(i[0],n,r);e&&(l["catch"===a?"rejectTransform":"transform"]=e)}if("catch"!==a&&i.length>1){const e=U(i[1],n,r);e&&(l.rejectTransform=e)}}return l}function U(e,n,t){if(!e.isArrowFunctionExpression())return n.errors.push({message:`".then()" callback expects an arrow function, but got ${e.type}`,node:e.node,severity:"error"}),null;const r=e.get("body");if(!r.isExpression())return n.errors.push({message:`".then()" callback function body expects an expression, but got ${r.type}`,node:r.node,severity:"error"}),null;const o=e.get("params");var s,i;if(o.length>1)return n.errors.push({message:`".then()" callback function expects exactly 0 or 1 parameter, but got ${o.length}`,node:null!==(s=null===(i=o[1])||void 0===i?void 0:i.node)&&void 0!==s?s:e,severity:"error"}),null;const a={...t,dataBinding:void 0},d=o[0];if(o.length>0){if(!d.isIdentifier())return n.errors.push({message:`".then()" callback function parameter expects an identifier, but got ${d.type}`,node:d.node,severity:"error"}),null;a.dataBinding={id:d.node}}return y(r,n,a)}function F(e,n,t,r,o){const s=e.get("id");if(!s.isArrayPattern())return null;const i=s.get("elements");if(1!==i.length&&2!==i.length)return null;const a=i[0];if(!a.isIdentifier())return null;if(1!==n.length&&2!==n.length)return null;const l=n[0];if(!l.isArrowFunctionExpression())return null;if(!d(l.node,t))return null;const u=l.get("body");if(u.isBlockStatement())return null;if(!u.isCallExpression())return null;const p=u.get("callee");if(!p.isIdentifier()&&!p.isMemberExpression())return null;const c=n[1];let f;if(c){if(!c.isObjectExpression())return t.errors.push({message:`"useResource()" second argument must be an object expression, but got ${c.type}`,node:c.node,severity:"error"}),null;for(const e of c.get("properties")){if(!e.isObjectProperty())return t.errors.push({message:`Unsupported property type in "useResource()" second argument: ${e.type}`,node:e.node,severity:"error"}),null;const n=e.get("key");if(!n.isIdentifier())return t.errors.push({message:`"useResource()" second argument property key must be an identifier, but got ${n.type}`,node:n.node,severity:"error"}),null;if(e.node.computed)return t.errors.push({message:'"useResource()" second argument property key cannot be computed',node:n.node,severity:"error"}),null;if("enabled"!==n.node.name&&"fallback"!==n.node.name)return t.errors.push({message:`"useResource()" second argument property key must be "enabled" or "fallback", but got "${n.node.name}"`,node:n.node,severity:"error"}),null;null!=f||(f={}),f[n.node.name]=b(e.get("value"),t,r,o)}}let m=null;if(p.isMemberExpression()){const e=p.get("property");if(!e.isIdentifier()||p.node.computed||"then"!==e.node.name&&"catch"!==e.node.name)return t.errors.push({message:"Unexpected awaited expression",node:e.node,severity:"error"}),null;m=R(p.get("object"),t,r,o,a.node.name,f,u.get("arguments"),e.node.name)}else m=R(u,t,r,o,a.node.name,f);return m?{id:a.node,kind:"resource",resource:m}:null}function N(e,n,t,r,o){if(!d(e.node,n))return null;const s=new Map,i={bindingMap:s,type:r,id:e.node.id},a={...o,component:i},p=e.get("params");if("template"===r){if(p.length>1)return n.errors.push({message:`Component function can only have zero or one parameter, received ${p.length}`,node:e.node,severity:"error"}),null;if(p.length>0){const e=p[0];if(!e.isObjectPattern())return n.errors.push({message:`Component function parameter must be an object pattern, received ${e.type}`,node:e.node,severity:"error"}),null;for(const r of e.get("properties")){if(r.isRestElement())return n.errors.push({message:"Component function parameter rest element is not allowed",node:r.node,severity:"error"}),null;const e=r.node;if(e.computed||!e.shorthand)return n.errors.push({message:"Component function parameter properties must be shorthand and not computed",node:r.node,severity:"error"}),null;const o=r.get("key"),i=r.get("value");if(!o.isIdentifier())return n.errors.push({message:`Component function parameter property key must be an identifier, received ${o.type}`,node:o.node,severity:"error"}),null;const d=o.node.name;if(/^on[A-Z]/.test(d)){if(!i.isIdentifier())return n.errors.push({message:`Event handler parameter "${d}" must be an identifier, received ${i.type}`,node:i.node,severity:"error"}),null;s.set(i.node,{id:i.node,kind:"eventHandler"})}else{let e,r;if(i.isAssignmentPattern()){const o=i.get("left");o.isIdentifier()&&(e=o.node,r=b(i.get("right"),n,t,a))}else i.isIdentifier()&&(e=i.node);if(!e){n.errors.push({message:`Component function parameter property value must be an identifier or assignment pattern, received ${i.type}`,node:i.node,severity:"error"});continue}const o={id:e,kind:"param",initialValue:r};s.set(e,o)}}}}else if(p.length>0)return n.errors.push({message:`Page function cannot have parameters, received ${p.length}`,node:p[0].node,severity:"error"}),null;let c,f=i;const m=e.get("body").get("body");for(const e of m)if(e.isVariableDeclaration()){if("const"!==e.node.kind){n.errors.push({message:`Only "const" variable declaration is allowed, received "${e.node.kind}"`,node:e.node,severity:"error"});continue}for(const r of e.get("declarations")){const e=r.get("init");if(e.isCallExpression()){const o=e.get("callee");if(o.isIdentifier()){const i=e.get("arguments");if(l(o,"useState")){const e=r.get("id");if(!e.isArrayPattern())continue;const o=e.get("elements");if(2!==o.length){n.errors.push({message:`useState() destructuring must have exactly two elements, received ${o.length}`,node:e.node,severity:"error"});continue}const d=o[0],l=o[1];if(!d.isIdentifier()||!l.isIdentifier()){n.errors.push({message:`useState() destructuring must have identifiers as elements, received ${o.map((e=>e.type)).join(", ")}`,node:e.node,severity:"error"});continue}const u={id:d.node,kind:"state"};s.set(d.node,u),s.set(l.node,{id:d.node,kind:"setState"}),i.length>0&&(u.initialValue=b(i[0],n,t,a)),i.length>1&&n.errors.push({message:`useState() only accepts at most one argument, received ${i.length}`,node:i[1].node,severity:"warning"});continue}if(l(o,"useResource")){const e=F(r,i,n,t,a);e&&s.set(e.id,e);continue}if(l(o,"useRef")){const e=r.get("id");if(!e.isIdentifier()){n.errors.push({message:`useRef() must be assigned to an identifier, received ${e.type}`,node:e.node,severity:"error"});continue}i.length>1&&n.errors.push({message:`useRef() only accepts at most one argument, received ${i.length}`,node:i[1].node,severity:"warning"});const t=i[0];t&&!t.isNullLiteral()&&n.errors.push({message:`useRef() first argument must be null, received ${t.type}`,node:t.node,severity:"warning"}),s.set(e.node,{id:e.node,kind:"ref"});continue}if(l(o,"useQuery")){const e=r.get("id");if(!e.isIdentifier()){n.errors.push({message:`useQuery() must be assigned to an identifier, received ${e.type}`,node:e.node,severity:"error"});continue}i.length>0&&n.errors.push({message:`useQuery() does not accept any arguments, received ${i.length}`,node:i[0].node,severity:"warning"}),s.set(e.node,{id:e.node,kind:"query"});continue}}}const o=r.get("id");if(!o.isIdentifier()){n.errors.push({message:`Expect an identifier as the variable name, received ${o.type}`,node:o.node,severity:"error"});continue}const i={id:o.node,kind:"constant"};s.set(o.node,i),e.node&&(i.initialValue=b(e,n,t,a))}}else{if(e.isReturnStatement()){const r=L(e,n,t,a);var g,h;r&&(null!==(h=(g=f).children)&&void 0!==h||(g.children=[]),f.children.push(...c?r.map((e=>({...e,slot:c}))):r));break}if(e.isIfStatement()){var y,v;const r=e.get("test");if(!u(r.node,n))return null;const o=e.get("consequent"),s=e.get("alternate"),i=_(o,n,t,a),d=s?_(s,n,t,a):null;null!==(v=(y=f).children)&&void 0!==v||(y.children=[]);const l={name:"If",properties:{dataSource:x(r,n,t,{...a,modifier:"="})},children:[...null!=i?i:[],...(null!=d?d:[]).map((e=>({...e,slot:"else"})))],slot:c};if(f.children.push(l),f=l,i&&(c="else",d))break}else e.isTSInterfaceDeclaration()||e.isTSTypeAliasDeclaration()||n.errors.push({message:`Unsupported top level statement type: ${e.type}`,node:e.node,severity:"error"})}return i}function L(e,n,t,r){const o=e.get("argument");return o.node?D(o,n,t,r):(n.errors.push({message:"Return statement in component function must have an argument",node:e,severity:"error"}),null)}function _(e,n,t,r){if(e.isBlockStatement()){const o=e.get("body");if(0===o.length)return n.errors.push({message:"If statement block must contain a return statement",node:e.node,severity:"error"}),null;let s=null;for(const e of o){const o=_(e,n,t,r);o&&(s=o)}return s}return e.isReturnStatement()?L(e,n,t,r):(n.errors.push({message:`Only return statement is allowed in if statement, but received: ${e.type}`,node:e.node,severity:"error"}),null)}function V(e,n,t){if(!d(e.node,n))return null;const r=[];e.traverse({Identifier(n){if(!n.isReferencedIdentifier())return;const o=n.parentPath.isObjectProperty()&&n.parentPath.node.shorthand,s=n.scope.getBindingIdentifier(n.node.name);var i;s&&s!==e.node.id&&null!==(i=t.functionBindings)&&void 0!==i&&i.has(s)&&r.push({type:"id",start:n.node.start,end:n.node.end,replacement:`FN.${s.name}`,shorthand:o?n.node.name:void 0})}}),r.sort(((e,n)=>e.start-n.start));const o=[];let s=e.node.start;for(const e of r)o.push(n.source.substring(s,e.start),`${e.shorthand?`${e.shorthand}:`:""}${e.replacement}`),s=e.end;return o.push(n.source.substring(s,e.node.end)),{name:e.node.id.name,source:o.join(""),typescript:!0}}const H=s.default;var q=function(e){return e.TopLevelStatement="top level statement",e.NamedExportDeclaration="named export declaration",e.DefaultExportDeclaration="default export declaration",e}(q||{});function W(e){return e.name[0]>="A"&&e.name[0]<="Z"}function Q(e,n,t,o){var s;const i=n.files.find((n=>n.filePath===e));if(!i)throw new Error(`File not found: ${e}`);if(n.modules.has(e))return;n.modules.set(e,null),t||(t=(0,r.parse)(i.content,{plugins:["jsx","typescript"],sourceType:"module",errorRecovery:!0}));const a=!n.entry,d=a?"entry":i.filePath.startsWith("/Pages/")?"page":i.filePath.startsWith("/Components/")?"template":"unknown",u={source:i.content,filePath:e,moduleType:d,defaultExport:null,namedExports:new Map,internals:[],errors:[],contracts:new Set,usedHelpers:new Set};if(null!==(s=t.errors)&&void 0!==s&&s.length)for(const e of t.errors)u.errors.push({message:`${e.code}: ${e.reasonCode}`,node:null,severity:"error"});a&&(n.entry=u),n.modules.set(e,u),function(e,n,t,r){const o=new Set,s=new Set,i={functionBindings:o,componentBindings:s,contextBindings:null==r?void 0:r.withContexts};H(t,{Program(t){const a=t.get("body"),d=[];let u=null,p=null;const c=[],f=(t,r)=>{if(t.isFunctionDeclaration()){const i=t.node.id;if(i&&(W(i)?s.add(i):o.add(i)),r===q.DefaultExportDeclaration)return void("app"===n.appType&&"entry"===e.moduleType?e.errors.push({message:"The entry module in an app cannot have a default export declaration.",node:t.node,severity:"error"}):u=t);if(!i)return void e.errors.push({message:"Function declaration must have a name",node:t.node,severity:"error"});r===q.NamedExportDeclaration?d.push({func:t,exported:!0}):d.push({func:t})}else if(t.isExportDefaultDeclaration()){const e=t.get("declaration");f(e,q.DefaultExportDeclaration)}else if(t.isExportNamedDeclaration()){const e=t.get("declaration");f(e,q.NamedExportDeclaration)}else if(t.isImportDeclaration()){const e=t.node.source.value;(e.startsWith(".")||e.startsWith("/"))&&c.push(e)}else t.isTSInterfaceDeclaration||t.isTSTypeAliasDeclaration()||e.errors.push({message:`Unsupported ${r} type: ${t.type}`,node:t.node,severity:"error"})};for(const t of a){if("app"===n.appType&&e===n.entry&&t.isExpressionStatement()){const n=t.get("expression");if(n.isCallExpression()){const t=n.get("callee");if(t.isIdentifier()&&l(t,"render")){const t=n.get("arguments");if(1!==t.length){e.errors.push({message:`render() expects exactly one argument, received: ${t.length}`,node:n.node,severity:"error"});continue}p=t[0];continue}}}f(t,q.TopLevelStatement)}for(const t of c)Q(I(t,e.filePath,n.files),n,void 0,r);for(const{func:t,exported:r}of d){const o=t.node.id;if(W(o)){const s="app"===n.appType&&"entry"===e.moduleType?"page":"template",a=N(t,e,n,s,i);if(a){const n={type:s,component:a};r?e.namedExports.set(o.name,n):e.internals.push(n)}}else{const n=V(t,e,i);if(n){const t={type:"function",function:n};r?e.namedExports.set(o.name,t):e.internals.push(t)}}}if(u){const t="entry"===e.moduleType?"template"===n.appType?"template":"view":"page"===e.moduleType?"page":"template",r=N(u,e,n,t,i);r&&(e.defaultExport={type:t,component:r,..."view"===t?{title:J(r)}:{}})}if(p){const t=D(p,e,n,i);e.render={type:"render",children:t}}t.stop()}})}(u,n,t,o)}(0,t(7695).p)(class{parseView(e,n){return function(e,n){var t;const s={appType:"view",modules:new Map,files:[{filePath:"/View.tsx",content:e},...null!==(t=null==n?void 0:n.libs)&&void 0!==t?t:[]],errors:[]};let i;try{i=(0,r.parse)(e,{plugins:["jsx","typescript"],sourceType:"module",errorRecovery:!0})}catch(e){return s.errors.push({message:`Failed to parse TSX: ${e}`,node:null,severity:"fatal"}),s}for(const e of i.program.body)if(o.isExportDefaultDeclaration(e)){if(o.isFunctionDeclaration(e.declaration))return Q("/View.tsx",s,i,n),s;break}return function(e,n,t,r){var o;const s=[];if(null!==(o=t.errors)&&void 0!==o&&o.length)for(const e of t.errors)s.push({message:`${e.code}: ${e.reasonCode}`,node:null,severity:"error"});const i=new Map,a={type:"view",bindingMap:i},d={component:a,contextBindings:null==r?void 0:r.withContexts},l={source:n.files.find((n=>n.filePath===e)).content,filePath:e,moduleType:"entry",defaultExport:{type:"view",component:a},internals:[],namedExports:new Map,errors:s,contracts:new Set,usedHelpers:new Set};M(t,{Program(e){const t=e.get("body");let r=!1;for(const e of t)if(e.isVariableDeclaration()){if(r){s.push({message:"Unexpected variable declaration after export",node:e.node,severity:"error"});continue}if("const"!==e.node.kind){s.push({message:`Only "const" variable declaration is allowed, received: ${e.node.kind}`,node:e.node,severity:"error"});continue}for(const t of e.get("declarations")){const e=t.get("id");if(!e.isIdentifier()){s.push({message:`Unsupported variable declaration pattern, expected: Identifier, received: ${e.type}`,node:e.node,severity:"error"});continue}const r={id:e.node,kind:"constant"},o=t.get("init");o.node&&(r.initialValue=b(o,l,n,d)),i.set(e.node,r)}}else if(e.isExportDefaultDeclaration()){r=!0;const t=e.get("declaration");t.isJSXElement()?a.children=D(t,l,n,d):s.push({message:`Default export must be a JSX element, received: ${t.type}`,node:e.node,severity:"error"});break}e.stop()}}),l.defaultExport.title=J(a),n.modules.set(e,l),n.entry=l}("/View.tsx",s,i,n),s}(e,n)}parseApp(e){return function(e){const n={appType:"app",modules:new Map,files:e,errors:[]};return Q("/index.tsx",n),n}(e)}})}},x={};function $(e){var n=x[e];if(void 0!==n)return n.exports;var t=x[e]={exports:{}};return b[e].call(t.exports,t,t.exports,$),t.exports}$.m=b,$.c=x,$.x=()=>{var e=$.O(void 0,[8135,3735,580],(()=>$(7131)));return $.O(e)},e=[],$.O=(n,t,r,o)=>{if(!t){var s=1/0;for(l=0;l<e.length;l++){for(var[t,r,o]=e[l],i=!0,a=0;a<t.length;a++)(!1&o||s>=o)&&Object.keys($.O).every((e=>$.O[e](t[a])))?t.splice(a--,1):(i=!1,o<s&&(s=o));if(i){e.splice(l--,1);var d=r();void 0!==d&&(n=d)}}return n}o=o||0;for(var l=e.length;l>0&&e[l-1][2]>o;l--)e[l]=e[l-1];e[l]=[t,r,o]},$.d=(e,n)=>{for(var t in n)$.o(n,t)&&!$.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:n[t]})},$.f={},$.e=e=>Promise.all(Object.keys($.f).reduce(((n,t)=>($.f[t](e,n),n)),[])),$.u=e=>"chunks/"+e+"."+{3735:"6be3dc55",6773:"87d0ae93",8135:"e17b904e"}[e]+".js",$.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),$.o=(e,n)=>Object.prototype.hasOwnProperty.call(e,n),(()=>{$.S={};var e={},n={};$.I=(t,r)=>{r||(r=[]);var o=n[t];if(o||(o=n[t]={}),!(r.indexOf(o)>=0)){if(r.push(o),e[t])return e[t];$.o($.S,t)||($.S[t]={}),$.S[t];var s=[];return e[t]=s.length?Promise.all(s).then((()=>e[t]=1)):1}}})(),(()=>{var e;$.g.importScripts&&(e=$.g.location+"");var n=$.g.document;if(!e&&n&&(n.currentScript&&"SCRIPT"===n.currentScript.tagName.toUpperCase()&&(e=n.currentScript.src),!e)){var t=n.getElementsByTagName("script");if(t.length)for(var r=t.length-1;r>-1&&(!e||!/^http(s?):/.test(e));)e=t[r--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),$.p=e+"../"})(),n=e=>{var n=e=>e.split(".").map((e=>+e==e?+e:e)),t=/^([^-+]+)?(?:-([^+]+))?(?:\+(.+))?$/.exec(e),r=t[1]?n(t[1]):[];return t[2]&&(r.length++,r.push.apply(r,n(t[2]))),t[3]&&(r.push([]),r.push.apply(r,n(t[3]))),r},t=(e,t)=>{e=n(e),t=n(t);for(var r=0;;){if(r>=e.length)return r<t.length&&"u"!=(typeof t[r])[0];var o=e[r],s=(typeof o)[0];if(r>=t.length)return"u"==s;var i=t[r],a=(typeof i)[0];if(s!=a)return"o"==s&&"n"==a||"s"==a||"u"==s;if("o"!=s&&"u"!=s&&o!=i)return o<i;r++}},r=e=>{var n=e[0],t="";if(1===e.length)return"*";if(n+.5){t+=0==n?">=":-1==n?"<":1==n?"^":2==n?"~":n>0?"=":"!=";for(var o=1,s=1;s<e.length;s++)o--,t+="u"==(typeof(a=e[s]))[0]?"-":(o>0?".":"")+(o=2,a);return t}var i=[];for(s=1;s<e.length;s++){var a=e[s];i.push(0===a?"not("+d()+")":1===a?"("+d()+" || "+d()+")":2===a?i.pop()+" "+i.pop():r(a))}return d();function d(){return i.pop().replace(/^\((.+)\)$/,"$1")}},o=(e,t)=>{if(0 in e){t=n(t);var r=e[0],s=r<0;s&&(r=-r-1);for(var i=0,a=1,d=!0;;a++,i++){var l,u,p=a<e.length?(typeof e[a])[0]:"";if(i>=t.length||"o"==(u=(typeof(l=t[i]))[0]))return!d||("u"==p?a>r&&!s:""==p!=s);if("u"==u){if(!d||"u"!=p)return!1}else if(d)if(p==u)if(a<=r){if(l!=e[a])return!1}else{if(s?l>e[a]:l<e[a])return!1;l!=e[a]&&(d=!1)}else if("s"!=p&&"n"!=p){if(s||a<=r)return!1;d=!1,a--}else{if(a<=r||u<p!=s)return!1;d=!1}else"s"!=p&&"n"!=p&&(d=!1,a--)}}var c=[],f=c.pop.bind(c);for(i=1;i<e.length;i++){var m=e[i];c.push(1==m?f()|f():2==m?f()&f():m?o(m,t):!f())}return!!f()},s=(e,n)=>e&&$.o(e,n),i=e=>(e.loaded=1,e.get()),a=e=>Object.keys(e).reduce(((n,t)=>(e[t].eager&&(n[t]=e[t]),n)),{}),d=(e,n,r)=>{var o=r?a(e[n]):e[n];return Object.keys(o).reduce(((e,n)=>!e||!o[e].loaded&&t(e,n)?n:e),0)},l=(e,n,t,o)=>"Unsatisfied version "+t+" from "+(t&&e[n][t].from)+" of shared singleton module "+n+" (required "+r(o)+")",u=e=>{throw new Error(e)},p=e=>{"undefined"!=typeof console&&console.warn&&console.warn(e)},c=(e,n,t)=>t?t():((e,n)=>u("Shared module "+n+" doesn't exist in shared scope "+e))(e,n),f=(e=>function(n,t,r,o,s){var i=$.I(n);return i&&i.then&&!r?i.then(e.bind(e,n,$.S[n],t,!1,o,s)):e(n,$.S[n],t,r,o,s)})(((e,n,t,r,a,u)=>{if(!s(n,t))return c(e,t,u);var f=d(n,t,r);return o(a,f)||p(l(n,t,f,a)),i(n[t][f])})),m={},g={580:()=>f("default","@babel/parser",!1,[0],(()=>$.e(6773).then((()=>()=>$(6773)))))},h={580:[580]},y={},$.f.consumes=(e,n)=>{$.o(h,e)&&h[e].forEach((e=>{if($.o(m,e))return n.push(m[e]);if(!y[e]){var t=n=>{m[e]=0,$.m[e]=t=>{delete $.c[e],t.exports=n()}};y[e]=!0;var r=n=>{delete m[e],$.m[e]=t=>{throw delete $.c[e],n}};try{var o=g[e]();o.then?n.push(m[e]=o.then(t).catch(r)):t(o)}catch(e){r(e)}}}))},(()=>{var e={7131:1};$.f.i=(n,t)=>{e[n]||580!=n&&importScripts($.p+$.u(n))};var n=globalThis.webpackChunk_next_bricks_vb_experiment=globalThis.webpackChunk_next_bricks_vb_experiment||[],t=n.push.bind(n);n.push=n=>{var[r,o,s]=n;for(var i in o)$.o(o,i)&&($.m[i]=o[i]);for(s&&s($);r.length;)e[r.pop()]=1;t(n)}})(),v=$.x,$.x=()=>Promise.all([8135,3735,580].map($.e,$)).then(v),$.x()})();
|
|
2
|
+
//# sourceMappingURL=7131.ed1c7310.js.map
|