@next-bricks/form-platform 0.4.8 → 0.4.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/dist/bricks.json +1 -1
  2. package/dist/chunks/1122.d62b153b.js +2 -0
  3. package/dist/chunks/1122.d62b153b.js.map +1 -0
  4. package/dist/chunks/{114.9ef80cb7.js → 114.fd9257cb.js} +2 -2
  5. package/dist/chunks/{114.9ef80cb7.js.map → 114.fd9257cb.js.map} +1 -1
  6. package/dist/chunks/{1940.3e2eac0c.js → 1940.4076a006.js} +2 -2
  7. package/dist/chunks/{1940.3e2eac0c.js.map → 1940.4076a006.js.map} +1 -1
  8. package/dist/chunks/{2277.00ab42e3.js → 2277.39563971.js} +2 -2
  9. package/dist/chunks/{2277.00ab42e3.js.map → 2277.39563971.js.map} +1 -1
  10. package/dist/chunks/{2512.e4b5c02a.js → 2512.a8a812af.js} +3 -3
  11. package/dist/chunks/{2512.e4b5c02a.js.map → 2512.a8a812af.js.map} +1 -1
  12. package/dist/chunks/{3171.909d2fc8.js → 3171.18b409aa.js} +2 -2
  13. package/dist/chunks/{3171.909d2fc8.js.map → 3171.18b409aa.js.map} +1 -1
  14. package/dist/chunks/{3214.35d8e65a.js → 3214.01239b24.js} +3 -3
  15. package/dist/chunks/3214.01239b24.js.map +1 -0
  16. package/dist/chunks/{3933.9f48c9a0.js → 3933.b3492283.js} +2 -2
  17. package/dist/chunks/{6314.58158d69.js.map → 3933.b3492283.js.map} +1 -1
  18. package/dist/chunks/{4658.d555d82b.js → 4658.23a2bf5a.js} +2 -2
  19. package/dist/chunks/{4658.d555d82b.js.map → 4658.23a2bf5a.js.map} +1 -1
  20. package/dist/chunks/5399.53a57f62.js +2 -0
  21. package/dist/chunks/5399.53a57f62.js.map +1 -0
  22. package/dist/chunks/5478.b7fe3ed2.js +3 -0
  23. package/dist/chunks/5478.b7fe3ed2.js.map +1 -0
  24. package/dist/chunks/{5552.059adcf1.js → 5552.7e484392.js} +2 -2
  25. package/dist/chunks/{5552.059adcf1.js.map → 5552.7e484392.js.map} +1 -1
  26. package/dist/chunks/{6314.58158d69.js → 6314.241f84c7.js} +2 -2
  27. package/dist/chunks/{3933.9f48c9a0.js.map → 6314.241f84c7.js.map} +1 -1
  28. package/dist/chunks/{7733.c2b418fa.js → 7733.48ca4172.js} +2 -2
  29. package/dist/chunks/{7733.c2b418fa.js.map → 7733.48ca4172.js.map} +1 -1
  30. package/dist/chunks/{9559.4ffe35c5.js → 9559.3544bdaf.js} +2 -2
  31. package/dist/chunks/{9559.4ffe35c5.js.map → 9559.3544bdaf.js.map} +1 -1
  32. package/dist/chunks/{eo-user-or-user-group-select.c04c73de.js → eo-user-or-user-group-select.0eb6f706.js} +3 -3
  33. package/dist/chunks/{eo-user-or-user-group-select.c04c73de.js.map → eo-user-or-user-group-select.0eb6f706.js.map} +1 -1
  34. package/dist/chunks/main.e8d3fb98.js +2 -0
  35. package/dist/chunks/main.e8d3fb98.js.map +1 -0
  36. package/dist/index.56402639.js +2 -0
  37. package/dist/index.56402639.js.map +1 -0
  38. package/package.json +4 -4
  39. package/dist/chunks/1122.e54e2a7c.js +0 -2
  40. package/dist/chunks/1122.e54e2a7c.js.map +0 -1
  41. package/dist/chunks/3214.35d8e65a.js.map +0 -1
  42. package/dist/chunks/4.62331183.js +0 -3
  43. package/dist/chunks/4.62331183.js.map +0 -1
  44. package/dist/chunks/5399.0e7607fa.js +0 -2
  45. package/dist/chunks/5399.0e7607fa.js.map +0 -1
  46. package/dist/chunks/main.e201f94f.js +0 -2
  47. package/dist/chunks/main.e201f94f.js.map +0 -1
  48. package/dist/index.e8167217.js +0 -2
  49. package/dist/index.e8167217.js.map +0 -1
  50. /package/dist/chunks/{2512.e4b5c02a.js.LICENSE.txt → 2512.a8a812af.js.LICENSE.txt} +0 -0
  51. /package/dist/chunks/{3214.35d8e65a.js.LICENSE.txt → 3214.01239b24.js.LICENSE.txt} +0 -0
  52. /package/dist/chunks/{4.62331183.js.LICENSE.txt → 5478.b7fe3ed2.js.LICENSE.txt} +0 -0
  53. /package/dist/chunks/{eo-user-or-user-group-select.c04c73de.js.LICENSE.txt → eo-user-or-user-group-select.0eb6f706.js.LICENSE.txt} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunks/3214.01239b24.js","mappings":"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","sources":["webpack:///../../node_modules/@next-api-sdk/micro-app-sdk/dist/esm/api/micro_app/permission/validatePermissions.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/auth.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/checkPermissions.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/websocket/MessageService.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/websocket/MessageDispatcher.js","webpack:///../../node_modules/@next-api-sdk/micro-app-standalone-sdk/dist/esm/api/micro_app_standalone/runtime/searchMicroAppStandalone.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/checkInstalledApps.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/flowApi/FlowApiProvider.js","webpack:///../../node_modules/@next-api-sdk/api-gateway-sdk/dist/esm/api/api_gateway/contract/searchSingleContract.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/flowApi/CollectContracts.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/flowApi/FlowApi.js","webpack:///../../node_modules/@next-api-sdk/micro-app-sdk/dist/esm/api/micro_app/installed_micro_app/getMenusInfo.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/menu/constants.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/menu/mergeMenu.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/menu/loadDynamicMenuItems.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/menu/reorderMenuItems.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/menu/computeMenuData.js","webpack:///../../node_modules/@next-api-sdk/cmdb-sdk/dist/esm/api/cmdb/instance/getDetail.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/menu/fetchMenuTitle.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/menu/fetchMenuById.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/menu/getMenusOfStandaloneApp.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/analytics/transport.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/analytics/analytics.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/analytics/http.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/analytics/pageView.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/index.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/auth-v2.js"],"sourcesContent":["import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { http } from \"@next-core/http\";\n/**\n * @description 校验系统权限\n * @endpoint POST /api/micro_app/v1/permission/validate\n */\nexport var PermissionApi_validatePermissions = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (data, options) {\n return (/**! @contract easyops.api.micro_app.permission.ValidatePermissions@1.0.0 */(yield http.post(\"api/gateway/micro_app.permission.ValidatePermissions/api/micro_app/v1/permission/validate\", data, options)).data\n );\n });\n return function PermissionApi_validatePermissions(_x, _x2) {\n return _ref.apply(this, arguments);\n };\n}();\n//# sourceMappingURL=validatePermissions.js.map","import { resetPermissionPreChecks } from \"./checkPermissions.js\";\nconst auth = {};\n\n/** @internal */\n\n/** @internal */\nexport function authenticate(newAuth) {\n Object.assign(auth, {\n org: newAuth.org,\n username: newAuth.username,\n userInstanceId: newAuth.userInstanceId,\n loginFrom: newAuth.loginFrom,\n accessRule: newAuth.accessRule,\n isAdmin: newAuth.isAdmin,\n csrfToken: newAuth.csrfToken,\n license: newAuth.license,\n accessToken: newAuth.accessToken,\n userShowValue: newAuth.userShowValue\n });\n}\n\n/**\n * 获取当前登录认证信息。\n *\n * @returns 当前登录认证信息。\n */\nexport function getAuth() {\n return {\n ...auth\n };\n}\n\n/** @internal */\nexport function logout() {\n for (const key of Object.keys(auth)) {\n auth[key] = undefined;\n }\n resetPermissionPreChecks();\n}\n\n/**\n * 查看当前是否已登录。\n *\n * @returns 当前是否已登录。\n */\nexport function isLoggedIn() {\n return auth.username !== undefined;\n}\n//# sourceMappingURL=auth.js.map","import { difference } from \"lodash\";\nimport { scanPermissionActionsInAny, scanPermissionActionsInStoryboard } from \"@next-core/utils/storyboard\";\nimport { PermissionApi_validatePermissions } from \"@next-api-sdk/micro-app-sdk\";\nimport { getAuth, isLoggedIn } from \"./auth.js\";\nconst checkedPermissions = [];\nconst permissionMap = new Map();\nexport function preCheckPermissions(storyboard) {\n if (isLoggedIn() && !getAuth().isAdmin) {\n const usedActions = scanPermissionActionsInStoryboard(storyboard);\n return validatePermissions(usedActions);\n }\n}\nexport async function preCheckPermissionsForBrickOrRoute(container, asyncComputeRealValue) {\n if (isLoggedIn() && !getAuth().isAdmin && Array.isArray(container.permissionsPreCheck)) {\n const actions = await asyncComputeRealValue(container.permissionsPreCheck);\n return validatePermissions(actions);\n }\n}\nexport function preCheckPermissionsForAny(data) {\n if (isLoggedIn() && !getAuth().isAdmin) {\n const usedActions = scanPermissionActionsInAny(data);\n return validatePermissions(usedActions);\n }\n}\nexport async function validatePermissions(usedActions) {\n // Do not request known actions.\n const actions = difference(usedActions, [...checkedPermissions]);\n if (actions.length === 0) {\n return;\n }\n checkedPermissions.push(...actions);\n try {\n const result = await PermissionApi_validatePermissions({\n actions\n }, {\n noAbortOnRouteChange: true\n });\n for (const item of result.actions) {\n permissionMap.set(item.action, item.authorizationStatus);\n if (item.authorizationStatus === \"undefined\") {\n // eslint-disable-next-line no-console\n console.error(`Undefined permission action: \"${item.action}\"`);\n }\n }\n } catch (error) {\n // Allow pre-check to fail, and\n // make it not crash when the backend service is not updated.\n // eslint-disable-next-line no-console\n console.error(\"Pre-check permissions failed\", error);\n }\n}\n\n/**\n * Check the current logged-in user whether to have all\n * permissions of actions passed to it.\n *\n * @param actions - Required permission actions.\n */\nexport function checkPermissions() {\n if (!isLoggedIn()) {\n return false;\n }\n if (getAuth().isAdmin) {\n return true;\n }\n for (var _len = arguments.length, actions = new Array(_len), _key = 0; _key < _len; _key++) {\n actions[_key] = arguments[_key];\n }\n for (const action of actions) {\n // Only **exclusively authorized** permissions are ok.\n // Those scenarios below will fail:\n // - unauthorized actions (pre-check results)\n // - undefined actions (pre-check results)\n // - Un-pre-checked or pre-check failed\n switch (permissionMap.get(action)) {\n case \"unauthorized\":\n case \"undefined\":\n return false;\n case undefined:\n // eslint-disable-next-line no-console\n console.error(`Un-checked permission action: \"${action}\", please make sure the permission to check is defined in permissionsPreCheck.`);\n return false;\n }\n }\n return true;\n}\n\n/**\n * Reset permission pre-checks after logged-out.\n */\nexport function resetPermissionPreChecks() {\n checkedPermissions.length = 0;\n permissionMap.clear();\n}\n//# sourceMappingURL=checkPermissions.js.map","import _classPrivateMethodInitSpec from \"@babel/runtime/helpers/classPrivateMethodInitSpec\";\nimport _classPrivateFieldInitSpec from \"@babel/runtime/helpers/classPrivateFieldInitSpec\";\nimport _assertClassBrand from \"@babel/runtime/helpers/assertClassBrand\";\nimport _classPrivateFieldGet from \"@babel/runtime/helpers/classPrivateFieldGet2\";\nimport _classPrivateFieldSet from \"@babel/runtime/helpers/classPrivateFieldSet2\";\nconst RETRY_TIMEOUT_UNIT = 1000;\nconst RETRY_LIMIT = 6;\nvar _url = /*#__PURE__*/new WeakMap();\nvar _ws = /*#__PURE__*/new WeakMap();\nvar _queuedMessages = /*#__PURE__*/new WeakMap();\nvar _messageListeners = /*#__PURE__*/new WeakMap();\nvar _closeListeners = /*#__PURE__*/new WeakMap();\nvar _retryCount = /*#__PURE__*/new WeakMap();\nvar _closed = /*#__PURE__*/new WeakMap();\nvar _MessageService_brand = /*#__PURE__*/new WeakSet();\nexport class MessageService {\n constructor(url) {\n _classPrivateMethodInitSpec(this, _MessageService_brand);\n _classPrivateFieldInitSpec(this, _url, void 0);\n _classPrivateFieldInitSpec(this, _ws, void 0);\n _classPrivateFieldInitSpec(this, _queuedMessages, []);\n _classPrivateFieldInitSpec(this, _messageListeners, new Set());\n _classPrivateFieldInitSpec(this, _closeListeners, new Set());\n _classPrivateFieldInitSpec(this, _retryCount, 0);\n _classPrivateFieldInitSpec(this, _closed, false);\n _classPrivateFieldSet(_url, this, url);\n }\n send(data) {\n // Connect when data is sent for the first time\n if (!_classPrivateFieldGet(_ws, this)) {\n _classPrivateFieldSet(_ws, this, _assertClassBrand(_MessageService_brand, this, _connect).call(this));\n }\n const stringifiedData = JSON.stringify(data);\n if (_classPrivateFieldGet(_ws, this).readyState === WebSocket.OPEN) {\n _classPrivateFieldGet(_ws, this).send(stringifiedData);\n } else {\n _classPrivateFieldGet(_queuedMessages, this).push(stringifiedData);\n }\n }\n onMessage(listener) {\n _classPrivateFieldGet(_messageListeners, this).add(listener);\n }\n onClose(listener) {\n _classPrivateFieldGet(_closeListeners, this).add(listener);\n }\n reset() {\n _classPrivateFieldGet(_queuedMessages, this).length = 0;\n _classPrivateFieldGet(_messageListeners, this).clear();\n _classPrivateFieldGet(_closeListeners, this).clear();\n }\n close() {\n var _classPrivateFieldGet2;\n _classPrivateFieldSet(_closed, this, true);\n if (((_classPrivateFieldGet2 = _classPrivateFieldGet(_ws, this)) === null || _classPrivateFieldGet2 === void 0 ? void 0 : _classPrivateFieldGet2.readyState) === WebSocket.OPEN) {\n _classPrivateFieldGet(_ws, this).close();\n }\n }\n}\nfunction _connect() {\n // eslint-disable-next-line no-console\n console.log(\"WebSocket connecting ...\");\n const ws = new WebSocket(_classPrivateFieldGet(_url, this));\n ws.addEventListener(\"open\", e => {\n // eslint-disable-next-line no-console\n console.log(\"WebSocket open:\", e);\n _classPrivateFieldSet(_retryCount, this, 0);\n for (const msg of _classPrivateFieldGet(_queuedMessages, this)) {\n ws.send(msg);\n }\n _classPrivateFieldGet(_queuedMessages, this).length = 0;\n });\n ws.addEventListener(\"close\", e => {\n if (_classPrivateFieldGet(_closed, this)) {\n return;\n }\n // eslint-disable-next-line no-console\n console.log(\"WebSocket close:\", e);\n for (const listener of _classPrivateFieldGet(_closeListeners, this)) {\n listener();\n }\n // Error code 1000 means that the connection was closed normally.\n if (e.code !== 1000) {\n _assertClassBrand(_MessageService_brand, this, _reconnect).call(this);\n }\n });\n ws.addEventListener(\"error\", e => {\n // No need to reconnect in error event listener,\n // there will always be a close event along with the error event.\n // eslint-disable-next-line no-console\n console.error(\"WebSocket error:\", e);\n });\n ws.addEventListener(\"message\", e => {\n const response = JSON.parse(e.data);\n for (const listener of _classPrivateFieldGet(_messageListeners, this)) {\n listener(response);\n }\n });\n return ws;\n}\nfunction _reconnect() {\n // istanbul ignore next: currently can't mock this\n if (_classPrivateFieldGet(_retryCount, this) >= RETRY_LIMIT) {\n // eslint-disable-next-line no-console\n console.error(\"WebSocket connect retry limit exceeded\");\n return;\n }\n // Double the timeout for each retry\n const delay = Math.pow(2, _classPrivateFieldGet(_retryCount, this)) * RETRY_TIMEOUT_UNIT;\n // eslint-disable-next-line no-console\n console.log(\"WebSocket will reconnect after %d seconds\", delay / 1000);\n setTimeout(() => {\n var _this$retryCount, _this$retryCount2;\n _classPrivateFieldSet(_retryCount, this, (_this$retryCount = _classPrivateFieldGet(_retryCount, this), _this$retryCount2 = _this$retryCount++, _this$retryCount)), _this$retryCount2;\n _classPrivateFieldSet(_ws, this, _assertClassBrand(_MessageService_brand, this, _connect).call(this));\n }, delay);\n}\n//# sourceMappingURL=MessageService.js.map","import _classPrivateMethodInitSpec from \"@babel/runtime/helpers/classPrivateMethodInitSpec\";\nimport _classPrivateFieldInitSpec from \"@babel/runtime/helpers/classPrivateFieldInitSpec\";\nimport _classPrivateGetter from \"@babel/runtime/helpers/classPrivateGetter\";\nimport _assertClassBrand from \"@babel/runtime/helpers/assertClassBrand\";\nimport _classPrivateFieldSet from \"@babel/runtime/helpers/classPrivateFieldSet2\";\nimport _classPrivateFieldGet from \"@babel/runtime/helpers/classPrivateFieldGet2\";\nimport { getBasePath } from \"@next-core/runtime\";\nimport { escapeRegExp } from \"lodash\";\nimport { MessageService } from \"./MessageService.js\";\nvar _ms = /*#__PURE__*/new WeakMap();\nvar _memoizedChannels = /*#__PURE__*/new WeakMap();\nvar _channelPayloads = /*#__PURE__*/new WeakMap();\nvar _MessageDispatcher_brand = /*#__PURE__*/new WeakSet();\nexport class MessageDispatcher {\n constructor() {\n _classPrivateMethodInitSpec(this, _MessageDispatcher_brand);\n _classPrivateFieldInitSpec(this, _ms, void 0);\n _classPrivateFieldInitSpec(this, _memoizedChannels, {\n sub: new Map(),\n unsub: new Map()\n });\n _classPrivateFieldInitSpec(this, _channelPayloads, new Map());\n }\n subscribe(channel, payload) {\n const stringifiedPayload = JSON.stringify(payload);\n return _assertClassBrand(_MessageDispatcher_brand, this, _subOrUnsub).call(this, \"sub\", channel, payload, stringifiedPayload);\n }\n unsubscribe(channel) {\n const stringifiedPayload = _classPrivateFieldGet(_channelPayloads, this).get(channel);\n if (!stringifiedPayload) {\n const msg = `The message channel to unsubscribe \"${channel}\" is not found`;\n // eslint-disable-next-line no-console\n console.error(msg);\n return Promise.reject(new Error(msg));\n }\n const payload = JSON.parse(stringifiedPayload);\n const result = _assertClassBrand(_MessageDispatcher_brand, this, _subOrUnsub).call(this, \"unsub\", channel, payload, stringifiedPayload);\n _classPrivateFieldGet(_memoizedChannels, this).sub.delete(stringifiedPayload);\n result.then(() => {\n _classPrivateFieldGet(_channelPayloads, this).delete(channel);\n });\n return result;\n }\n onMessage(channel, listener) {\n let stringifiedPayload = _classPrivateFieldGet(_channelPayloads, this).get(channel);\n let warned = false;\n _classPrivateGetter(_MessageDispatcher_brand, this, _get_ms).onMessage(response => {\n if (!stringifiedPayload) {\n stringifiedPayload = _classPrivateFieldGet(_channelPayloads, this).get(channel);\n }\n if (!stringifiedPayload) {\n if (!warned) {\n // eslint-disable-next-line no-console\n console.error(`Message channel: \"${channel}\" not found`);\n warned = true;\n }\n return;\n }\n if (response.event === \"MESSAGE.PUSH\" && matchMessageChannel(stringifiedPayload, response.payload)) {\n listener(response.payload.message);\n }\n });\n }\n onClose(listener) {\n _classPrivateGetter(_MessageDispatcher_brand, this, _get_ms).onClose(listener);\n }\n reset() {\n var _classPrivateFieldGet2;\n _classPrivateFieldGet(_memoizedChannels, this).sub.clear();\n _classPrivateFieldGet(_memoizedChannels, this).unsub.clear();\n _classPrivateFieldGet(_channelPayloads, this).clear();\n (_classPrivateFieldGet2 = _classPrivateFieldGet(_ms, this)) === null || _classPrivateFieldGet2 === void 0 || _classPrivateFieldGet2.reset();\n }\n}\nfunction _get_ms(_this) {\n if (!_classPrivateFieldGet(_ms, _this)) {\n const protocol = location.protocol === \"https:\" ? \"wss:\" : \"ws:\";\n const url = `${protocol}//${window.location.host}${getBasePath()}api/websocket_service/v1/ws`;\n _classPrivateFieldSet(_ms, _this, new MessageService(url));\n }\n return _classPrivateFieldGet(_ms, _this);\n}\nfunction _subOrUnsub(type, channel, payload, stringifiedPayload) {\n const hit = _classPrivateFieldGet(_memoizedChannels, this)[type].get(stringifiedPayload);\n if (hit) {\n return hit;\n }\n const request = {\n event: type === \"sub\" ? \"TOPIC.SUB\" : \"TOPIC.UNSUB\",\n payload\n };\n const promise = new Promise((resolve, reject) => {\n const identity = getIdentity(payload);\n _classPrivateGetter(_MessageDispatcher_brand, this, _get_ms).onMessage(response => {\n const isSuccess = response.event === (type === \"sub\" ? \"TOPIC.SUB_SUCCESS\" : \"TOPIC.UNSUB_SUCCESS\");\n const isFailed = response.event === (type === \"sub\" ? \"TOPIC.SUB_FAILED\" : \"TOPIC.UNSUB_FAILED\");\n if ((isSuccess || isFailed) &&\n // Put this after event type checks, to prevent unnecessary\n // JSON stringify.\n identity === getIdentity(response.payload)) {\n (isSuccess ? resolve : reject)(response);\n }\n });\n _classPrivateGetter(_MessageDispatcher_brand, this, _get_ms).send(request);\n });\n if (type === \"sub\") {\n _classPrivateFieldGet(_channelPayloads, this).set(channel, stringifiedPayload);\n }\n _classPrivateFieldGet(_memoizedChannels, this)[type].set(stringifiedPayload, promise);\n return promise;\n}\nfunction getIdentity(payload) {\n const {\n system,\n topic\n } = payload;\n return JSON.stringify({\n system,\n topic\n });\n}\nfunction matchMessageChannel(stringifiedPayload, responsePayload) {\n const payload = JSON.parse(stringifiedPayload);\n return payload.system === responsePayload.system && (\n // Exact match\n payload.topic === responsePayload.topic ||\n // Wildcards match\n // For `ab.cd.*`:\n // - Matches `ab.cd.r` or `ab.cd.x.yz`\n // - DOES NOT match `ab.cd.x/yz` or `ab.x.cd` or `x.ab.cd.yz`\n typeof payload.topic === \"string\" && payload.topic.includes(\"*\") && new RegExp(`^${payload.topic.replace(/([^*]*)\\*([^*]*)/g, (_m, p1, p2) => `${escapeRegExp(p1)}[^/]*${escapeRegExp(p2)}`)}$`).test(responsePayload.topic));\n}\n//# sourceMappingURL=MessageDispatcher.js.map","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { http } from \"@next-core/http\";\n/**\n * @description 查询独立部署小产品\n * @endpoint POST /api/v1/micro_app_standalone/search\n */\nexport var RuntimeApi_searchMicroAppStandalone = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (data, options) {\n return (/**! @contract easyops.api.micro_app_standalone.runtime.SearchMicroAppStandalone@1.0.1 */(yield http.post(\"api/gateway/micro_app_standalone.runtime.SearchMicroAppStandalone/api/v1/micro_app_standalone/search\", data, options)).data\n );\n });\n return function RuntimeApi_searchMicroAppStandalone(_x, _x2) {\n return _ref.apply(this, arguments);\n };\n}();\n//# sourceMappingURL=searchMicroAppStandalone.js.map","import { traverseStoryboardExpressions, collectInstalledAppsHasUsage } from \"@next-core/utils/storyboard\";\nimport { RuntimeApi_searchMicroAppStandalone } from \"@next-api-sdk/micro-app-standalone-sdk\";\nconst checkingApps = new Map();\nconst checkedApps = new Map();\nexport function preCheckInstalledApps(storyboard, hasAppInBootstrap) {\n if (window.STANDALONE_MICRO_APPS && !window.NO_AUTH_GUARD) {\n const appIds = scanInstalledAppsUsage(storyboard);\n const searchIds = [];\n for (const appId of appIds) {\n // Do not check these apps already checking or in bootstrap.\n if (!checkingApps.has(appId) && !hasAppInBootstrap(appId)) {\n searchIds.push(appId);\n }\n }\n if (searchIds.length === 0) {\n return;\n }\n const promise = RuntimeApi_searchMicroAppStandalone({\n query: {\n appId: {\n $in: searchIds\n }\n },\n fields: [\"appId\", \"currentVersion\", \"installStatus\"]\n }).catch(error => {\n // Allow search micro app to fail, and\n // make it not crash when the backend service is not updated.\n // eslint-disable-next-line no-console\n console.error(\"Get off site standalone micro-apps failed\", error);\n });\n for (const appId of searchIds) {\n checkingApps.set(appId, promise.then(result => {\n var _result$list;\n const app = result === null || result === void 0 || (_result$list = result.list) === null || _result$list === void 0 ? void 0 : _result$list.find(item => item.appId === appId);\n const checkedApp = app ? {\n ...app,\n id: appId\n } : undefined;\n checkedApps.set(appId, checkedApp);\n return checkedApp;\n }));\n }\n }\n}\nexport async function waitForCheckingApps(appIds) {\n await Promise.all(appIds.map(appId => checkingApps.get(appId)));\n}\nexport function getCheckedApp(appId) {\n if (window.STANDALONE_MICRO_APPS) {\n return checkedApps.get(appId);\n }\n}\nfunction scanInstalledAppsUsage(storyboard) {\n const usage = {\n usedArgs: new Set()\n };\n // `INSTALLED_APPS.has(...)` is not available in storyboard functions\n const {\n customTemplates,\n menus\n } = storyboard.meta ?? {};\n traverseStoryboardExpressions([storyboard.routes, customTemplates, menus], (node, parent) => {\n collectInstalledAppsHasUsage(usage, node, parent);\n }, \"INSTALLED_APPS\");\n return [...usage.usedArgs];\n}\n//# sourceMappingURL=checkInstalledApps.js.map","import { createProviderClass } from \"@next-core/utils/general\";\nimport { http } from \"@next-core/http\";\nimport { isEmpty, isObject } from \"lodash\";\nimport { createSSEStream } from \"@next-core/utils/general\";\nexport const FLOW_API_PROVIDER = \"core.provider-flow-api\";\nfunction hasFields(ext_fields, type) {\n return ext_fields.some(item => item.source === type);\n}\nexport function processExtFields(ext_fields) {\n const hasQueryParams = hasFields(ext_fields, \"query\");\n const hasBodyParams = hasFields(ext_fields, \"body\");\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 if (hasQueryParams) {\n if (hasBodyParams) {\n const [data, params, options] = args;\n return {\n data: data,\n options: {\n params: params,\n ...options\n }\n };\n }\n const [params, options] = args;\n return {\n data: {},\n options: {\n params: params,\n ...options\n }\n };\n }\n\n // only hasBodyParams or default\n const [data, options] = args;\n return {\n data,\n options: options\n };\n}\nexport function hasFileType(request) {\n if (!request || request.type !== \"object\") {\n return false;\n }\n const processFields = fields => {\n return !isEmpty(fields) && fields.some(field => [\"file\", \"file[]\"].includes(field.type) || processFields(field.fields));\n };\n return processFields(request.fields);\n}\nexport function transformFormData(data) {\n if (data instanceof FormData) {\n return data;\n }\n const formData = new FormData();\n for (const [key, value] of Object.entries(data)) {\n if (Array.isArray(value)) {\n value.forEach(v => {\n formData.append(key, v);\n });\n } else if (isObject(value) && !(value instanceof Blob) && !(value instanceof Date)) {\n Object.entries(value).forEach(_ref => {\n let [k, v] = _ref;\n formData.append(`${key}[${k}]`, v);\n });\n } else {\n formData.append(key, value);\n }\n }\n return formData;\n}\nexport async function callFlowApi(_ref2) {\n let {\n url,\n originalUri,\n method = \"GET\",\n responseWrapper = true,\n ext_fields = [],\n request,\n isFileType,\n stream\n } = _ref2;\n const isSimpleRequest = [\"get\", \"delete\", \"head\"].includes(method.toLowerCase());\n const defaultOptions = isFileType ? {\n responseType: \"blob\"\n } : {};\n let response;\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n if (isSimpleRequest) {\n var _originalUri$match, _request$fields;\n const noParams = originalUri && (request === null || request === void 0 ? void 0 : request.type) === \"object\" ? (((_originalUri$match = originalUri.match(/:([^/]+)/g)) === null || _originalUri$match === void 0 ? void 0 : _originalUri$match.length) ?? 0) === (((_request$fields = request.fields) === null || _request$fields === void 0 ? void 0 : _request$fields.length) ?? 0) : false;\n let params;\n let options;\n if (noParams) {\n [options] = args;\n } else {\n [params, options] = args;\n }\n if (stream) {\n var _options;\n const stream = await createSSEStream(http.getUrlWithParams(url, params), {\n ...defaultOptions,\n ...options,\n method,\n headers: Object.fromEntries([...new Headers(((_options = options) === null || _options === void 0 ? void 0 : _options.headers) ?? {}).entries()])\n });\n return stream;\n }\n response = await http.simpleRequest(method, url, {\n params,\n ...defaultOptions,\n ...options\n });\n } else {\n const isUploadType = hasFileType(request);\n const result = processExtFields(ext_fields, ...args);\n const data = isUploadType ? transformFormData(result.data) : result.data;\n if (stream) {\n var _result$options;\n const {\n body,\n headers\n } = http.getBodyAndHeaders(data, (_result$options = result.options) === null || _result$options === void 0 ? void 0 : _result$options.headers);\n const stream = await createSSEStream(url, {\n ...defaultOptions,\n ...result.options,\n method,\n headers: Object.fromEntries([...new Headers(headers ?? {}).entries()]),\n body\n });\n return stream;\n }\n response = await http.requestWithBody(method, url, data, {\n ...defaultOptions,\n ...result.options\n });\n }\n return (isFileType ? false : responseWrapper) ? response.data : response;\n}\nexport function registerFlowApiProvider() {\n customElements.define(FLOW_API_PROVIDER, createProviderClass(callFlowApi));\n}\n//# sourceMappingURL=FlowApiProvider.js.map","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { http } from \"@next-core/http\";\n/**\n * @description 通过defaultOrg查找单个契约信息\n * @endpoint POST /api/contract/single_search\n */\nexport var ContractApi_searchSingleContract = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (data, options) {\n return (/**! @contract easyops.api.api_gateway.contract.SearchSingleContract@1.0.0 */(yield http.post(\"api/contract/single_search\", data, options)).data\n );\n });\n return function ContractApi_searchSingleContract(_x, _x2) {\n return _ref.apply(this, arguments);\n };\n}();\n//# sourceMappingURL=searchSingleContract.js.map","const contractsMap = new Map();\nconst widgetContractMap = new Map();\nconst debugContractMap = new Map();\nconst addContract = (contracts, map) => {\n contracts === null || contracts === void 0 || contracts.forEach(contract => {\n map.set(`${contract.namespaceId}.${contract.name}`, contract);\n });\n};\nexport function collectContract(contracts) {\n addContract(contracts, contractsMap);\n}\nexport function collectWidgetContract(contracts) {\n addContract(contracts, widgetContractMap);\n}\nexport function clearCollectWidgetContract() {\n widgetContractMap.clear();\n}\nexport function collectDebugContract(contracts) {\n addContract(contracts, debugContractMap);\n}\nexport function clearDebugContract() {\n debugContractMap.clear();\n}\nexport function getContract(name) {\n return contractsMap.get(name) || widgetContractMap.get(name) || debugContractMap.get(name);\n}\n//# sourceMappingURL=CollectContracts.js.map","import yaml from \"js-yaml\";\nimport { ContractApi_searchSingleContract } from \"@next-api-sdk/api-gateway-sdk\";\nimport { getContract } from \"./CollectContracts.js\";\nconst remoteContractCache = new Map();\n\n// Legacy Custom API: `${namespace}@${name}`\n// Flow API: `${namespace}@${name}:${version}`\nexport function isFlowApiProvider(provider) {\n return provider.includes(\"@\");\n}\nexport async function getArgsOfFlowApi(provider, originalArgs, method, stream) {\n if (!provider.includes(\":\")) {\n throw new Error(`You're using legacy Custom API \"${provider}\" which is dropped in v3, please use Flow API instead`);\n }\n const apiDefinition = await fetchFlowApiDefinition(provider);\n if (!apiDefinition) {\n throw new FlowApiNotFoundError(`Flow API not found: \"${provider}\"`);\n }\n const apiProfile = getApiProfileFromApiDefinition(provider, apiDefinition);\n return getApiArgsFromApiProfile(apiProfile, originalArgs, method, stream);\n}\nfunction getApiArgsFromApiProfile(_ref, originalArgs, method, stream) {\n let {\n uri,\n method: apiMethod,\n ext_fields,\n name,\n namespace,\n serviceName,\n responseWrapper,\n version,\n isFileType,\n request\n } = _ref;\n // `saveAs` requires the first argument to be the filename.\n const isDownload = method === \"saveAs\";\n let fileName;\n if (isDownload) {\n fileName = originalArgs.shift();\n }\n const {\n url,\n args\n } = getTransformedUriAndRestArgs(uri, originalArgs, name, namespace, serviceName, version);\n return [...(isDownload ? [fileName] : []), {\n url,\n originalUri: uri,\n method: apiMethod,\n ext_fields,\n responseWrapper,\n request,\n isFileType,\n stream\n }, ...args];\n}\nfunction getTransformedUriAndRestArgs(uri, originalArgs, name, namespace, serviceName, version) {\n const prefix = version ? serviceName === \"logic.api.gateway\" || serviceName !== null && serviceName !== void 0 && serviceName.startsWith(\"logic.api.gateway.\") ? \"\" : serviceName ? `api/gateway/${serviceName}` : `api/gateway/${namespace}.${name}@${version}` : `api/gateway/api_service.${namespace}.${name}`;\n const restArgs = originalArgs.slice();\n const transformedUri = uri.replace(/:([^/]+)/g, () => restArgs.shift());\n return {\n url: prefix ? prefix + transformedUri : transformedUri.replace(/^\\//, \"\"),\n args: restArgs\n };\n}\nfunction getApiProfileFromApiDefinition(provider, api) {\n var _contract$response;\n const contract = typeof api.contract === \"string\" ? yaml.safeLoad(api.contract, {\n schema: yaml.JSON_SCHEMA,\n json: true\n }) : api.contract;\n const {\n uri,\n method = \"GET\",\n ext_fields\n } = (contract === null || contract === void 0 ? void 0 : contract.endpoint) ?? {};\n const responseWrapper = contract !== null && contract !== void 0 && contract.response ? contract.response.wrapper !== false : false;\n if (!uri) {\n throw new Error(`Missing endpoint.uri in contract of provider \"${provider}\"`);\n }\n return {\n uri,\n method: method.toLowerCase() === \"list\" ? \"get\" : method,\n ext_fields,\n name: api.name,\n namespace: api.namespace,\n serviceName: api.serviceName,\n version: api.version,\n isFileType: (contract === null || contract === void 0 || (_contract$response = contract.response) === null || _contract$response === void 0 ? void 0 : _contract$response.type) === \"file\",\n responseWrapper,\n request: contract === null || contract === void 0 ? void 0 : contract.request\n };\n}\nasync function fetchFlowApiDefinition(provider) {\n const [namespaceName, nameWithVersion] = provider.split(\"@\");\n const [name, version] = nameWithVersion.split(\":\");\n\n // Do not cache the result of `geContract`, which will lead to no contract\n // will be found when render twice immediately.\n const contract = getContract(`${namespaceName}.${name}`);\n if (contract) {\n return {\n name: contract.name,\n namespace: contract.namespaceId,\n serviceName: contract.serviceName,\n version: contract.version,\n contract: {\n endpoint: contract.endpoint,\n response: contract.response,\n request: contract.request\n }\n };\n }\n let promise = remoteContractCache.get(provider);\n if (!promise) {\n promise = fetchFlowApiDefinitionFromRemote(namespaceName, name, version);\n remoteContractCache.set(provider, promise);\n }\n return promise;\n}\nasync function fetchFlowApiDefinitionFromRemote(namespace, name, version) {\n var _contractData$namespa;\n const {\n contractData\n } = await ContractApi_searchSingleContract({\n contractName: `${namespace}.${name}`,\n version\n });\n\n // return undefined if don't found contract\n return contractData ? {\n name: contractData.name,\n namespace: (_contractData$namespa = contractData.namespace) === null || _contractData$namespa === void 0 || (_contractData$namespa = _contractData$namespa[0]) === null || _contractData$namespa === void 0 ? void 0 : _contractData$namespa.name,\n serviceName: contractData.serviceName,\n version: contractData.version,\n contract: {\n endpoint: contractData.endpoint,\n response: contractData.response,\n request: contractData.request\n }\n } : null;\n}\nclass FlowApiNotFoundError extends Error {\n constructor(message) {\n // Pass remaining arguments (including vendor specific ones) to parent constructor\n super(message);\n this.name = \"FlowApiNotFoundError\";\n\n // Maintains proper stack trace for where our error was thrown (only available on V8)\n // istanbul ignore else\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, FlowApiNotFoundError);\n }\n }\n}\n//# sourceMappingURL=FlowApi.js.map","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { http } from \"@next-core/http\";\n/**\n * @description 获取菜单信息\n * @endpoint GET /api/v1/micro-app/menus/:menuId\n */\nexport var InstalledMicroAppApi_getMenusInfo = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (menuId, params, options) {\n return (/**! @contract easyops.api.micro_app.installed_micro_app.GetMenusInfo@1.0.0 */(yield http.get(\"api/gateway/micro_app.installed_micro_app.GetMenusInfo/api/v1/micro-app/menus/\".concat(menuId), _objectSpread(_objectSpread({}, options), {}, {\n params\n }))).data\n );\n });\n return function InstalledMicroAppApi_getMenusInfo(_x, _x2, _x3) {\n return _ref.apply(this, arguments);\n };\n}();\n//# sourceMappingURL=getMenusInfo.js.map","export const symbolAppId = Symbol(\"appId\");\nexport const symbolMenuI18nNamespace = Symbol(\"menuI18nNamespace\");\nexport const symbolOverrideApp = Symbol(\"overrideApp\");\n//# sourceMappingURL=constants.js.map","import { i18n } from \"@next-core/i18n\";\nimport { symbolAppId, symbolMenuI18nNamespace, symbolOverrideApp } from \"./constants.js\";\nimport { loadDynamicMenuItems } from \"./loadDynamicMenuItems.js\";\nexport async function mergeMenu(menuList, runtimeContext, helpers) {\n const mainMenu = menuList.find(menu => menu.type !== \"inject\");\n if (!mainMenu) {\n return undefined;\n }\n const validMenuList = [];\n const injectWithMenus = new Map();\n const menuWithI18n = new WeakMap();\n for (const menu of menuList) {\n if (menu.i18n) {\n const menuI18nNamespace = `menu/${menu.menuId}~${menu.app[0].appId}+${menu.instanceId}`;\n // Support any language in `menu.i18n`.\n Object.entries(menu.i18n).forEach(_ref => {\n let [lang, resources] = _ref;\n i18n.addResourceBundle(lang, menuI18nNamespace, resources);\n });\n menuWithI18n.set(menu, menuI18nNamespace);\n }\n }\n await Promise.all(menuList.map(menu => loadDynamicMenuItems(menu, runtimeContext, menuWithI18n, helpers)));\n for (const menu of menuList) {\n var _menu$items;\n if ((_menu$items = menu.items) !== null && _menu$items !== void 0 && _menu$items.length) {\n if (menu.type === \"inject\" && menu.injectMenuGroupId) {\n let injectingMenus = injectWithMenus.get(menu.injectMenuGroupId);\n if (!injectingMenus) {\n injectingMenus = [];\n injectWithMenus.set(menu.injectMenuGroupId, injectingMenus);\n }\n injectingMenus.push(menu);\n } else {\n validMenuList.push(menu);\n }\n }\n }\n return {\n ...mainMenu,\n items: validMenuList.flatMap(menu =>\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n processGroupInject(menu.items, menu, injectWithMenus, menuWithI18n)),\n [symbolMenuI18nNamespace]: menuWithI18n.get(mainMenu),\n [symbolOverrideApp]: mainMenu.overrideApp\n };\n}\nfunction processGroupInject(items, menu, injectWithMenus, menuWithI18n) {\n return items === null || items === void 0 ? void 0 : items.map(item => {\n const foundInjectingMenus = item.groupId && injectWithMenus.get(item.groupId);\n if (foundInjectingMenus) {\n // Each menu to be injected with should be injected only once.\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n injectWithMenus.delete(item.groupId);\n }\n return {\n ...item,\n children: (processGroupInject(item.children, menu, injectWithMenus, menuWithI18n) ?? []).concat(foundInjectingMenus ? foundInjectingMenus.flatMap(injectingMenu =>\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n processGroupInject(injectingMenu.items, injectingMenu, injectWithMenus, menuWithI18n)) : []),\n [symbolAppId]: menu.app[0].appId,\n [symbolMenuI18nNamespace]: menuWithI18n.get(menu),\n [symbolOverrideApp]: menu.overrideApp\n };\n });\n}\n//# sourceMappingURL=mergeMenu.js.map","import { preCheckPermissionsForAny } from \"../checkPermissions.js\";\nexport async function loadDynamicMenuItems(menu, runtimeContext, menuWithI18n, helpers) {\n if (menu.dynamicItems && menu.itemsResolve) {\n const overrideAppId = menu.app[0].appId;\n const newRuntimeContext = {\n ...runtimeContext,\n pendingPermissionsPreCheck: [...runtimeContext.pendingPermissionsPreCheck, preCheckPermissionsForAny(menu.itemsResolve)]\n };\n if (overrideAppId !== runtimeContext.app.id) {\n var _helpers$getStoryboar;\n newRuntimeContext.overrideApp = window.STANDALONE_MICRO_APPS ? menu.overrideApp : (_helpers$getStoryboar = helpers.getStoryboardByAppId(overrideAppId)) === null || _helpers$getStoryboar === void 0 ? void 0 : _helpers$getStoryboar.app;\n newRuntimeContext.appendI18nNamespace = menuWithI18n.get(menu);\n }\n const resolved = await helpers.resolveData({\n transform: \"items\",\n ...menu.itemsResolve\n }, newRuntimeContext);\n menu.items = resolved.items;\n }\n}\n//# sourceMappingURL=loadDynamicMenuItems.js.map","import { sortBy } from \"lodash\";\nexport function reorderMenu(menuData) {\n menuData.items = reorderMenuItems(menuData.items);\n}\nfunction reorderMenuItems(list) {\n return sortMenuItems(list).map(item => ({\n ...item,\n children: reorderMenuItems(item.children)\n }));\n}\nfunction sortMenuItems(list) {\n return sortBy(list, item => item.sort ?? -Infinity);\n}\n//# sourceMappingURL=reorderMenuItems.js.map","import { symbolAppId, symbolMenuI18nNamespace, symbolOverrideApp } from \"./constants.js\";\nimport { hasOwnProperty, isObject } from \"@next-core/utils/general\";\nimport { pipes } from \"@next-core/pipes\";\nimport { isEvaluable } from \"@next-core/cook\";\nexport function computeMenuData(data, overrideAppId, runtimeContext, helpers) {\n if (\"titleDataSource\" in data && isObject(data.titleDataSource) && Object.entries(data.titleDataSource).every(_ref => {\n let [, value] = _ref;\n return value === null || value === \"\";\n })) {\n delete data.titleDataSource;\n }\n if (\"if\" in data && data.if === null) {\n delete data.if;\n }\n if (\"to\" in data && data.to && !isEvaluable(data.to)) {\n const yaml = pipes.yaml(data.to);\n if (isObject(yaml) && [\"pathname\", \"search\", \"hash\"].some(key => hasOwnProperty(yaml, key))) {\n data.to = yaml;\n }\n }\n let newRuntimeContext = runtimeContext;\n if (overrideAppId !== runtimeContext.app.id) {\n var _helpers$getStoryboar;\n const overrideApp = window.STANDALONE_MICRO_APPS ? data[symbolOverrideApp] : (_helpers$getStoryboar = helpers.getStoryboardByAppId(overrideAppId)) === null || _helpers$getStoryboar === void 0 ? void 0 : _helpers$getStoryboar.app;\n newRuntimeContext = {\n ...runtimeContext,\n overrideApp,\n appendI18nNamespace: data[symbolMenuI18nNamespace]\n };\n }\n return helpers.asyncComputeRealValue(data, newRuntimeContext, {\n ignoreSymbols: true\n });\n}\nexport function computeMenuItems(items, runtimeContext, helpers) {\n return Promise.all(items.map(async _ref2 => {\n let {\n children,\n ...rest\n } = _ref2;\n const [computedRest, computedChildren] = await Promise.all([computeMenuData(rest, rest[symbolAppId], runtimeContext, helpers), children && (await computeMenuItems(children, runtimeContext, helpers))]);\n return {\n ...computedRest,\n children: computedChildren\n };\n }));\n}\n//# sourceMappingURL=computeMenuData.js.map","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { http } from \"@next-core/http\";\n/**\n * @description 获取实例详情\n * @endpoint GET /object/:objectId/instance/:instanceId\n */\nexport var InstanceApi_getDetail = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (objectId, instanceId, params, options) {\n return (/**! @contract easyops.api.cmdb.instance.GetDetail@1.0.0 */(yield http.get(\"api/gateway/cmdb.instance.GetDetail/object/\".concat(objectId, \"/instance/\").concat(instanceId), _objectSpread(_objectSpread({}, options), {}, {\n params\n }))).data\n );\n });\n return function InstanceApi_getDetail(_x, _x2, _x3, _x4) {\n return _ref.apply(this, arguments);\n };\n}();\n//# sourceMappingURL=getDetail.js.map","import { isEmpty } from \"lodash\";\nimport { InstanceApi_getDetail } from \"@next-api-sdk/cmdb-sdk\";\nconst menuTitleCache = new Map();\nexport async function fetchMenuTitle(menuData) {\n if (menuData.title || isEmpty(menuData.titleDataSource)) {\n return menuData.title;\n }\n const cacheKey = JSON.stringify(menuData.titleDataSource);\n const cachedTitle = menuTitleCache.get(cacheKey);\n if (cachedTitle !== undefined) {\n return cachedTitle;\n }\n const {\n objectId,\n instanceId,\n attributeId\n } = menuData.titleDataSource;\n const attr = attributeId ?? \"name\";\n const instanceData = await InstanceApi_getDetail(objectId, instanceId, {\n fields: attr\n });\n let title;\n if (attributeId === \"#showKey\" && Array.isArray(instanceData[attr])) {\n const [primary, ...rest] = instanceData[attr];\n title = rest.length > 0 ? `${primary}(${rest.join(\",\")})` : String(primary);\n } else {\n title = String(instanceData[attr]);\n }\n menuTitleCache.set(cacheKey, title);\n return title;\n}\n//# sourceMappingURL=fetchMenuTitle.js.map","import { InstanceApi_postSearch } from \"@next-api-sdk/cmdb-sdk\";\nimport { InstalledMicroAppApi_getMenusInfo } from \"@next-api-sdk/micro-app-sdk\";\nimport { omit, pick } from \"lodash\";\nimport { checkIfOfComputed } from \"@next-core/runtime\";\nimport { mergeMenu } from \"./mergeMenu.js\";\nimport { reorderMenu } from \"./reorderMenuItems.js\";\nimport { computeMenuItems, computeMenuData } from \"./computeMenuData.js\";\nimport { fetchMenuTitle } from \"./fetchMenuTitle.js\";\nimport { getMenusOfStandaloneApp } from \"./getMenusOfStandaloneApp.js\";\nimport { preCheckPermissionsForAny } from \"../checkPermissions.js\";\nconst menuPromises = new Map();\nconst menuCache = new Map();\nfunction transformMenuItems(menuItems) {\n return menuItems === null || menuItems === void 0 ? void 0 : menuItems.filter(checkIfOfComputed).map(item => {\n const children = transformMenuItems(item.children);\n const transformedMenuItem = item.type === \"group\" ? {\n type: \"group\",\n title: item.text,\n childLayout: item.childLayout,\n items: children,\n groupId: item.groupId,\n groupFrom: item.groupFrom\n } : children !== null && children !== void 0 && children.length ? {\n type: \"subMenu\",\n childLayout: item.childLayout,\n title: item.text,\n icon: item.icon,\n items: children,\n defaultExpanded: item.defaultExpanded\n } : omit(item, [\"type\", \"items\", \"children\"]);\n return transformedMenuItem;\n });\n}\nexport function getMenuById(menuId) {\n return menuCache.get(menuId);\n}\nexport function fetchMenuById(menuId, runtimeContext, helpers) {\n let promise = menuPromises.get(menuId);\n if (!promise) {\n promise = _fetchMenuById(menuId, runtimeContext, helpers);\n }\n return promise;\n}\nasync function _fetchMenuById(menuId, runtimeContext, helpers) {\n const menuList = window.STANDALONE_MICRO_APPS ? getMenusOfStandaloneApp(menuId, runtimeContext.app.id, helpers) : runtimeContext.flags[\"three-level-menu-layout\"] ? (await InstalledMicroAppApi_getMenusInfo(menuId, {\n menuObjectId: \"EASYOPS_STORYBOARD_MENU\"\n })).menus : (await InstanceApi_postSearch(\"EASYOPS_STORYBOARD_MENU\", {\n page: 1,\n page_size: 200,\n fields: {\n menuId: true,\n title: true,\n icon: true,\n link: true,\n titleDataSource: true,\n defaultCollapsed: true,\n defaultCollapsedBreakpoint: true,\n type: true,\n injectMenuGroupId: true,\n dynamicItems: true,\n itemsResolve: true,\n items: true,\n i18n: true,\n \"items.children\": true,\n \"app.appId\": true\n },\n query: {\n menuId: {\n $eq: menuId\n },\n app: {\n $size: {\n $gt: 0\n }\n }\n }\n })).list;\n const menuData = await mergeMenu(menuList, runtimeContext, helpers);\n if (!menuData) {\n throw new Error(`Menu not found: ${menuId}`);\n }\n reorderMenu(menuData);\n const {\n items,\n app,\n ...restMenuData\n } = menuData;\n const newRuntimeContext = {\n ...runtimeContext,\n pendingPermissionsPreCheck: [...runtimeContext.pendingPermissionsPreCheck, preCheckPermissionsForAny([items, restMenuData])]\n };\n delete newRuntimeContext.tplStateStoreId;\n delete newRuntimeContext.forEachItem;\n delete newRuntimeContext.forEachIndex;\n delete newRuntimeContext.forEachSize;\n const rootAppId = app[0].appId;\n const [computedMenuData, computedMenuItems] = await Promise.all([computeMenuData(restMenuData, rootAppId, newRuntimeContext, helpers), computeMenuItems(items, newRuntimeContext, helpers)]);\n const finalMenuData = {\n title: await fetchMenuTitle(computedMenuData),\n ...pick(computedMenuData, [\"icon\", \"link\", \"defaultCollapsed\", \"defaultCollapsedBreakpoint\"]),\n menuItems: transformMenuItems(computedMenuItems)\n };\n\n // Todo(steve): reconsider the menu cache strategy\n menuCache.set(menuId, finalMenuData);\n}\n//# sourceMappingURL=fetchMenuById.js.map","export function getMenusOfStandaloneApp(menuId, appId, helpers) {\n var _storyboard$meta, _storyboard$meta2;\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const storyboard = helpers.getStoryboardByAppId(appId);\n const menus = ((_storyboard$meta = storyboard.meta) === null || _storyboard$meta === void 0 ? void 0 : _storyboard$meta.injectMenus) ?? ((_storyboard$meta2 = storyboard.meta) === null || _storyboard$meta2 === void 0 ? void 0 : _storyboard$meta2.menus) ?? [];\n return menus.filter(menu => menu.menuId === menuId).map(menu => {\n var _menu$app;\n return {\n ...menu,\n ...((_menu$app = menu.app) !== null && _menu$app !== void 0 && (_menu$app = _menu$app[0]) !== null && _menu$app !== void 0 && _menu$app.appId ? {} : {\n app: [{\n appId\n }]\n })\n };\n });\n\n // Todo: maybe: fetch menus from STANDALONE_MENU@EASYOPS\n}\n//# sourceMappingURL=getMenusOfStandaloneApp.js.map","export const events = [];\nconst MAXIMUM_WAITING_TIME = 5 * 1000;\nconst MAXIMUM_LOGGED_EVENTS = 10;\nlet timer = null;\nexport const transportOptions = {\n maxWaitingTime: MAXIMUM_WAITING_TIME,\n maxLoggedEvents: MAXIMUM_LOGGED_EVENTS\n};\nexport function createTransport(api, options) {\n Object.assign(transportOptions, {\n ...options,\n api\n });\n return {\n sendOnExit,\n emit\n };\n}\nfunction nextTime(callback) {\n return (window.requestIdleCallback || window.requestAnimationFrame || (cb => setTimeout(cb, 17)))(callback);\n}\nfunction emit() {\n clearTimeout(timer);\n events.length > transportOptions.maxLoggedEvents ? send() : timer = setTimeout(send, transportOptions.maxWaitingTime);\n}\nfunction send() {\n if (events.length === 0) {\n return;\n }\n const transportEvents = events.splice(0, transportOptions.maxLoggedEvents);\n const transportData = buildTransportData(transportEvents);\n sendBeacon(transportOptions.api, transportData);\n events.length && nextTime(send);\n}\nfunction sendBeacon(requestUrl, data) {\n const headers = {\n type: \"application/json\"\n };\n const blob = new Blob([JSON.stringify(data)], headers);\n window.navigator.sendBeacon(requestUrl, blob);\n}\nfunction sendOnExit() {\n window.addEventListener(\"beforeunload\", send, false);\n}\nfunction buildTransportData(data) {\n return {\n model: \"easyops.FRONTEND_STAT\",\n columns: [\"_ver\", \"st\", \"et\", \"lt\", \"size\", \"time\", \"traceId\", \"code\", \"duration\", \"page\", \"uid\", \"username\", \"api\", \"type\", \"msg\", \"status\", \"pageId\", \"route\", \"apiCount\", \"maxApiTimeCost\", \"apiSizeCost\", \"pageTitle\"],\n data\n };\n}\n//# sourceMappingURL=transport.js.map","import { createTransport, events } from \"./transport.js\";\nlet initialized = false;\nlet transport;\nlet pageState = null;\nlet isFirstPageView = true;\nconst stashedApiMetrics = [];\nexport function initialize(api) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (initialized) {\n return;\n }\n initialized = true;\n if (!transport) {\n transport = createTransport(api, options);\n transport.sendOnExit();\n }\n}\nexport function createPageView() {\n stashedApiMetrics.length = 0;\n pageState = null;\n}\nexport function finishPageView(metric) {\n const pageId = generateUUID();\n const {\n lt,\n route\n } = metric;\n pageState = {\n lt,\n route,\n pageId\n };\n events.push({\n ...metric,\n pageId,\n apiCount: stashedApiMetrics.length,\n maxApiTimeCost: Math.max(0, ...stashedApiMetrics.map(api => api.duration)),\n size: stashedApiMetrics.map(api => api.size).filter(size => size > 0).reduce((prev, current) => prev + current, 0)\n });\n for (const item of stashedApiMetrics) {\n events.push({\n ...item,\n ...pageState\n });\n }\n stashedApiMetrics.length = 0;\n transport.emit();\n}\nexport function earlyFinishPageView() {\n events.push(...stashedApiMetrics);\n stashedApiMetrics.length = 0;\n}\nexport function pushApiMetric(metric) {\n if (pageState) {\n events.push({\n ...metric,\n type: \"apiRequest\",\n ...pageState\n });\n } else {\n stashedApiMetrics.push(metric);\n }\n}\n\n// Ref https://medium.com/teads-engineering/generating-uuids-at-scale-on-the-web-2877f529d2a2\nfunction generateUUID() {\n const url = URL.createObjectURL(new Blob([]));\n let uuid = url.substring(url.lastIndexOf(\"/\") + 1);\n URL.revokeObjectURL(url);\n // 第一次渲染加上特殊标记\n if (isFirstPageView) {\n uuid = \"88-\" + uuid;\n isFirstPageView = false;\n }\n return uuid;\n}\n//# sourceMappingURL=analytics.js.map","import { HttpResponseError, HttpParseError, HttpAbortError } from \"@next-core/http\";\nimport { isObject } from \"@next-core/utils/general\";\nimport { getAuth } from \"../auth.js\";\nimport { pushApiMetric } from \"./analytics.js\";\nconst symbolHttpAnalytics = Symbol(\"HttpAnalytics\");\nexport function onRequest(config) {\n const perfStartTime = Math.round(performance.now());\n const st = Date.now();\n config[symbolHttpAnalytics] = {\n st,\n time: Math.round(st / 1000),\n perfStartTime\n };\n return config;\n}\nexport function onResponse(response, config) {\n return onResponseOrError(false, response, config);\n}\nexport function onResponseError(error, config) {\n return onResponseOrError(true, error, config);\n}\nfunction onResponseOrError(hasError, responseOrError, config) {\n const perfEndTime = Math.round(performance.now());\n const et = Date.now();\n const {\n [symbolHttpAnalytics]: meta,\n url\n } = config;\n if (meta && !(hasError && responseOrError instanceof HttpAbortError)) {\n delete config[symbolHttpAnalytics];\n const {\n st,\n time,\n perfStartTime\n } = meta;\n const {\n userInstanceId: uid,\n username\n } = getAuth();\n let code;\n let message;\n let traceId;\n let size;\n let status;\n let headers;\n let data;\n if (hasError) {\n const isHttpResponseError = responseOrError instanceof HttpResponseError;\n if (isHttpResponseError || responseOrError instanceof HttpParseError) {\n ({\n status,\n headers\n } = responseOrError.response);\n if (isHttpResponseError) {\n data = responseOrError.responseJson;\n }\n }\n } else {\n ({\n status,\n data,\n headers\n } = responseOrError);\n }\n if (isObject(data)) {\n ({\n code,\n message\n } = data);\n }\n if (headers instanceof Headers) {\n traceId = headers.get(\"x-b3-traceid\");\n size = headers.get(\"content-length\");\n }\n pushApiMetric({\n st,\n _ver: st,\n uid,\n username,\n time,\n et,\n page: location.href,\n duration: perfEndTime - perfStartTime,\n api: url,\n type: \"api\",\n code: code ?? -1,\n msg: message ?? \"\",\n status,\n traceId: traceId ?? \"\",\n size: size ? Number(size) : -1\n });\n }\n return hasError ? Promise.reject(responseOrError) : responseOrError;\n}\n//# sourceMappingURL=http.js.map","import { createPageView, earlyFinishPageView, finishPageView } from \"./analytics.js\";\nimport { getAuth } from \"../auth.js\";\nexport function create() {\n const perfStartTime = Math.round(performance.now());\n const startTime = Date.now();\n createPageView();\n return function finish(_ref) {\n let {\n status,\n path,\n pageTitle\n } = _ref;\n if (status !== \"ok\") {\n earlyFinishPageView();\n return;\n }\n const renderTime = Math.round(performance.now()) - perfStartTime;\n const endTime = Date.now();\n const {\n username\n } = getAuth();\n finishPageView({\n type: \"page\",\n page: location.href,\n _ver: startTime,\n time: Math.round(startTime / 1000),\n st: startTime,\n et: endTime,\n lt: renderTime,\n pageTitle,\n username,\n route: path\n });\n\n // For bricks which would take actions with render time.\n window.dispatchEvent(new CustomEvent(\"route.render\", {\n detail: {\n renderTime\n }\n }));\n };\n}\n//# sourceMappingURL=pageView.js.map","// istanbul ignore file\nimport { checkPermissions as _checkPermissions, preCheckPermissions, preCheckPermissionsForBrickOrRoute } from \"./checkPermissions.js\";\nimport { MessageDispatcher } from \"./websocket/MessageDispatcher.js\";\nimport * as authV3 from \"./auth.js\";\nimport { authV2Factory } from \"./auth-v2.js\";\nimport * as _checkInstalledApps from \"./checkInstalledApps.js\";\nexport { _checkInstalledApps as checkInstalledApps };\nimport * as _flowApi from \"./flowApi/index.js\";\nexport { _flowApi as flowApi };\nimport * as _menu from \"./menu/index.js\";\nexport { _menu as menu };\nimport * as _analytics from \"./analytics/index.js\";\nexport { _analytics as analytics };\nexport const checkPermissions = Object.freeze({\n checkPermissions: _checkPermissions,\n preCheckPermissions,\n preCheckPermissionsForBrickOrRoute\n});\nexport const messageDispatcher = new MessageDispatcher();\nexport const auth = authV2Factory() || authV3;\n//# sourceMappingURL=index.js.map","// istanbul ignore file\nimport { getV2RuntimeFromDll } from \"@next-core/runtime\";\nimport { pick } from \"lodash\";\nexport function authV2Factory() {\n const v2Kit = getV2RuntimeFromDll();\n if (v2Kit) {\n return Object.freeze(pick(v2Kit, [\"authenticate\", \"getAuth\", \"isLoggedIn\", \"logout\"]));\n }\n}\n//# sourceMappingURL=auth-v2.js.map"],"names":["PermissionApi_validatePermissions","_ref","data","options","http","post","_x","_x2","apply","this","arguments","auth","authenticate","newAuth","Object","assign","org","username","userInstanceId","loginFrom","accessRule","isAdmin","csrfToken","license","accessToken","userShowValue","getAuth","logout","key","keys","undefined","checkedPermissions","length","permissionMap","clear","isLoggedIn","Map","preCheckPermissionsForAny","validatePermissions","scanPermissionActionsInAny","async","usedActions","actions","difference","push","result","noAbortOnRouteChange","item","set","action","authorizationStatus","console","error","RETRY_TIMEOUT_UNIT","RETRY_LIMIT","_url","WeakMap","_ws","_queuedMessages","_messageListeners","_closeListeners","_retryCount","_closed","_MessageService_brand","WeakSet","MessageService","constructor","url","Set","send","_connect","call","stringifiedData","JSON","stringify","readyState","WebSocket","OPEN","onMessage","listener","add","onClose","reset","close","_classPrivateFieldGet2","log","ws","addEventListener","e","msg","code","_reconnect","response","parse","delay","Math","pow","setTimeout","_this$retryCount","_ms","_memoizedChannels","_channelPayloads","_MessageDispatcher_brand","_get_ms","_this","location","protocol","window","host","getBasePath","_subOrUnsub","type","channel","payload","stringifiedPayload","hit","get","request","event","promise","Promise","resolve","reject","identity","getIdentity","isSuccess","isFailed","system","topic","RuntimeApi_searchMicroAppStandalone","checkingApps","checkedApps","preCheckInstalledApps","storyboard","hasAppInBootstrap","STANDALONE_MICRO_APPS","NO_AUTH_GUARD","appIds","usage","usedArgs","customTemplates","menus","meta","traverseStoryboardExpressions","routes","node","parent","collectInstalledAppsHasUsage","scanInstalledAppsUsage","searchIds","appId","has","query","$in","fields","catch","then","_result$list","app","list","find","checkedApp","id","waitForCheckingApps","all","map","getCheckedApp","FLOW_API_PROVIDER","hasFields","ext_fields","some","source","callFlowApi","_ref2","originalUri","method","responseWrapper","isFileType","stream","isSimpleRequest","includes","toLowerCase","defaultOptions","responseType","_len2","args","Array","_key2","_originalUri$match","_request$fields","params","_options","match","createSSEStream","getUrlWithParams","headers","fromEntries","Headers","entries","simpleRequest","isUploadType","processFields","isEmpty","field","hasFileType","hasQueryParams","hasBodyParams","_len","_key","processExtFields","FormData","formData","value","isArray","forEach","v","append","isObject","Blob","Date","k","transformFormData","_result$options","body","getBodyAndHeaders","requestWithBody","registerFlowApiProvider","customElements","define","createProviderClass","ContractApi_searchSingleContract","contractsMap","widgetContractMap","debugContractMap","addContract","contracts","contract","namespaceId","name","collectContract","collectWidgetContract","clearCollectWidgetContract","collectDebugContract","clearDebugContract","remoteContractCache","isFlowApiProvider","provider","getArgsOfFlowApi","originalArgs","Error","apiDefinition","namespaceName","nameWithVersion","split","version","getContract","namespace","serviceName","endpoint","_contractData$namespa","contractData","contractName","fetchFlowApiDefinitionFromRemote","fetchFlowApiDefinition","FlowApiNotFoundError","apiProfile","api","_contract$response","schema","json","uri","wrapper","getApiProfileFromApiDefinition","apiMethod","isDownload","fileName","shift","prefix","startsWith","restArgs","slice","transformedUri","replace","getTransformedUriAndRestArgs","getApiArgsFromApiProfile","message","super","captureStackTrace","InstalledMicroAppApi_getMenusInfo","menuId","concat","_x3","symbolAppId","Symbol","symbolMenuI18nNamespace","symbolOverrideApp","mergeMenu","menuList","runtimeContext","helpers","mainMenu","menu","validMenuList","injectWithMenus","menuWithI18n","i18n","menuI18nNamespace","instanceId","lang","resources","addResourceBundle","dynamicItems","itemsResolve","overrideAppId","newRuntimeContext","pendingPermissionsPreCheck","_helpers$getStoryboar","overrideApp","getStoryboardByAppId","appendI18nNamespace","resolved","resolveData","transform","items","loadDynamicMenuItems","_menu$items","injectMenuGroupId","injectingMenus","flatMap","processGroupInject","foundInjectingMenus","groupId","delete","children","injectingMenu","reorderMenu","menuData","reorderMenuItems","sortBy","sort","sortMenuItems","computeMenuData","titleDataSource","every","if","to","isEvaluable","yaml","pipes","hasOwnProperty","asyncComputeRealValue","ignoreSymbols","computeMenuItems","rest","computedRest","computedChildren","InstanceApi_getDetail","objectId","_x4","menuTitleCache","fetchMenuTitle","title","cacheKey","cachedTitle","attributeId","attr","instanceData","primary","join","String","menuPromises","menuCache","transformMenuItems","menuItems","filter","checkIfOfComputed","text","childLayout","groupFrom","icon","defaultExpanded","omit","getMenuById","fetchMenuById","_storyboard$meta","_storyboard$meta2","injectMenus","_menu$app","getMenusOfStandaloneApp","flags","menuObjectId","page","page_size","link","defaultCollapsed","defaultCollapsedBreakpoint","$eq","$size","$gt","restMenuData","tplStateStoreId","forEachItem","forEachIndex","forEachSize","rootAppId","computedMenuData","computedMenuItems","finalMenuData","pick","_fetchMenuById","events","timer","transportOptions","maxWaitingTime","maxLoggedEvents","emit","clearTimeout","transportData","model","columns","splice","callback","requestUrl","blob","navigator","sendBeacon","requestIdleCallback","requestAnimationFrame","cb","sendOnExit","transport","initialized","pageState","isFirstPageView","stashedApiMetrics","initialize","createTransport","symbolHttpAnalytics","onRequest","config","perfStartTime","round","performance","now","st","time","onResponse","onResponseOrError","onResponseError","hasError","responseOrError","perfEndTime","et","HttpAbortError","uid","traceId","size","status","isHttpResponseError","HttpResponseError","HttpParseError","responseJson","metric","_ver","href","duration","Number","create","startTime","path","pageTitle","renderTime","endTime","pageId","URL","createObjectURL","uuid","substring","lastIndexOf","revokeObjectURL","generateUUID","lt","route","apiCount","maxApiTimeCost","max","reduce","prev","current","finishPageView","dispatchEvent","CustomEvent","detail","freeze","checkPermissions","preCheckPermissions","scanPermissionActionsInStoryboard","preCheckPermissionsForBrickOrRoute","container","permissionsPreCheck","messageDispatcher","sub","unsub","subscribe","unsubscribe","warned","responsePayload","RegExp","_m","p1","p2","escapeRegExp","test","matchMessageChannel","v2Kit","getV2RuntimeFromDll","authV2Factory"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- "use strict";(globalThis.webpackChunk_next_bricks_form_platform=globalThis.webpackChunk_next_bricks_form_platform||[]).push([[3933,6314],{3933:(e,t,o)=>{function r(e,t){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=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<=o;i++){const o=s[s.length-i];if("MemberExpression"===(null==o?void 0:o.node.type)&&"object"===o.key){const s=o.node;s.computed||"Identifier"!==s.property.type?s.computed&&"Literal"===s.property.type&&"string"==typeof s.property.value?t.push(r?`${n.name}.${s.property.value}`:s.property.value):e.hasNonStaticUsage=!0:t.push(r?`${n.name}.${s.property.name}`:s.property.name)}else e.hasNonStaticUsage=!0}t.length===o&&e.usedProperties.add(t.join("."))}}}function n(e,t){return function(o,r,n){if(r.name===e){const e=n[n.length-1],r=n[n.length-2];if("CallExpression"===(null==r?void 0:r.node.type)&&"callee"===(null==r?void 0:r.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=r.node.arguments;if(e.length>0){const t=e[0];"Literal"===t.type&&"string"==typeof t.value?o.usedArgs.add(t.value):o.hasNonStaticUsage=!0}}}}}o.r(t),o.d(t,{beforeVisitGlobalMember:()=>r,collectAppGetMenuUsage:()=>s,collectInstalledAppsHasUsage:()=>i,collectMemberUsage:()=>p,collectMemberUsageInFunction:()=>h,createProviderClass:()=>c.createProviderClass,scanPermissionActionsInAny:()=>v,scanPermissionActionsInStoryboard:()=>b,strictCollectMemberUsage:()=>u,track:()=>d,trackAll:()=>f,traverseStoryboardExpressions:()=>l,traverseStoryboardFunction:()=>g,traverseStoryboardFunctions:()=>y,unwrapProvider:()=>c.unwrapProvider});const s=n("APP","getMenu"),i=n("INSTALLED_APPS","has");var a=o(1580),c=o(2681);function l(e,t,o){const r=new WeakSet,{matchExpressionString:n,visitNotMatchedExpressionString:s,visitNonExpressionString:i,visitObject:l}="string"==typeof o?{matchExpressionString:e=>e.includes(o)}:o;!function e(o){if("string"==typeof o)if((0,a.isEvaluable)(o))if(n(o))try{(0,a.preevaluate)(o,{withParent:!0,hooks:{beforeVisitGlobal(e,r){t(e,r,o)}}})}catch(e){console.error("Parse storyboard expression failed:",e)}else null==s||s(o);else null==i||i(o);else if((0,c.isObject)(o)){if(r.has(o))return;r.add(o),null==l||l(o);for(const t of Array.isArray(o)?o:Object.values(o))e(t)}}(e)}function u(e,t){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;const{hasNonStaticUsage:r,nonStaticUsage:n,usedProperties:s}=p(e,t,o);if(r)throw new Error(`Non-static usage of ${t} is prohibited, check your expression: "${n}"`);return s}function p(e,t){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;const n={usedProperties:new Set,hasNonStaticUsage:!1},s=r(n,t,o);return l(e,((e,t,o)=>{s(e,t),n.hasNonStaticUsage&&(n.nonStaticUsage=o)}),t),n}function d(e,t,o){if(e.includes(t)){const n={usedProperties:new Set,hasNonStaticUsage:!1},{expression:s}=(0,a.preevaluate)(e,{withParent:!0,hooks:{beforeVisitGlobal:r(n,o)}});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 \`${o}\` usage found in your expression: ${JSON.stringify(e)}`)}}return!1}function f(e){if(e){const t={usedProperties:new Set,hasNonStaticUsage:!1};if((0,a.preevaluate)(e,{withParent:!0,hooks:{beforeVisitGlobal:r(t,["CTX","STATE","FORM_STATE"],1,!0)}}),t.usedProperties.size>0){const e=[...t.usedProperties],o={context:!1,state:!1,formState:!1},r={CTX:"context",STATE:"state",FORM_STATE:"formState"};return e.forEach((e=>{const[t,n]=e.split(".");o[r[t]]||(o[r[t]]=[]),o[r[t]].push(n)})),o}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 y(e,t){if(Array.isArray(e))for(const o of e)g(o,t)}function g(e,t,o){try{(0,a.precookFunction)(e.source,{typescript:e.typescript,withParent:!0,hooks:{beforeVisitGlobal:t}})}catch(t){o||console.error(`Parse storyboard function "${e.name}" failed:`,t)}}function h(e,t,o){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;const s={usedProperties:new Set,hasNonStaticUsage:!1};if(g(e,r(s,t,n),o),s.hasNonStaticUsage&&!o)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",m="check";function b(e){const t=new Set,o=P(t),{customTemplates:r,functions:n}=e.meta??{};return l([e.routes,r],o,S),y(n,o),Array.from(t)}function v(e){const t=new Set;return l(e,P(t),S),Array.from(t)}function P(e){return function(t,o){if(t.name===S){const t=o[o.length-1],r=o[o.length-2];if("CallExpression"===(null==r?void 0:r.node.type)&&"callee"===(null==r?void 0:r.key)&&"MemberExpression"===(null==t?void 0:t.node.type)&&"object"===t.key&&(t.node.computed?"Literal"===t.node.property.type&&t.node.property.value===m:"Identifier"===t.node.property.type&&t.node.property.name===m))for(const t of r.node.arguments)"Literal"===t.type&&"string"==typeof t.value&&e.add(t.value)}}}}}]);
2
- //# sourceMappingURL=3933.9f48c9a0.js.map
1
+ "use strict";(globalThis.webpackChunk_next_bricks_form_platform=globalThis.webpackChunk_next_bricks_form_platform||[]).push([[3933,6314],{3933:(e,t,o)=>{function r(e,t){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=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<=o;i++){const o=s[s.length-i];if("MemberExpression"===(null==o?void 0:o.node.type)&&"object"===o.key){const s=o.node;s.computed||"Identifier"!==s.property.type?s.computed&&"Literal"===s.property.type&&"string"==typeof s.property.value?t.push(r?`${n.name}.${s.property.value}`:s.property.value):e.hasNonStaticUsage=!0:t.push(r?`${n.name}.${s.property.name}`:s.property.name)}else e.hasNonStaticUsage=!0}t.length===o&&e.usedProperties.add(t.join("."))}}}function n(e,t){return function(o,r,n){if(r.name===e){const e=n[n.length-1],r=n[n.length-2];if("CallExpression"===(null==r?void 0:r.node.type)&&"callee"===(null==r?void 0:r.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=r.node.arguments;if(e.length>0){const t=e[0];"Literal"===t.type&&"string"==typeof t.value?o.usedArgs.add(t.value):o.hasNonStaticUsage=!0}}}}}o.r(t),o.d(t,{beforeVisitGlobalMember:()=>r,collectAppGetMenuUsage:()=>s,collectInstalledAppsHasUsage:()=>i,collectMemberUsage:()=>p,collectMemberUsageInFunction:()=>h,createProviderClass:()=>c.createProviderClass,scanPermissionActionsInAny:()=>v,scanPermissionActionsInStoryboard:()=>b,strictCollectMemberUsage:()=>u,track:()=>d,trackAll:()=>f,traverseStoryboardExpressions:()=>l,traverseStoryboardFunction:()=>g,traverseStoryboardFunctions:()=>y,unwrapProvider:()=>c.unwrapProvider});const s=n("APP","getMenu"),i=n("INSTALLED_APPS","has");var a=o(9042),c=o(2681);function l(e,t,o){const r=new WeakSet,{matchExpressionString:n,visitNotMatchedExpressionString:s,visitNonExpressionString:i,visitObject:l}="string"==typeof o?{matchExpressionString:e=>e.includes(o)}:o;!function e(o){if("string"==typeof o)if((0,a.isEvaluable)(o))if(n(o))try{(0,a.preevaluate)(o,{withParent:!0,hooks:{beforeVisitGlobal(e,r){t(e,r,o)}}})}catch(e){console.error("Parse storyboard expression failed:",e)}else null==s||s(o);else null==i||i(o);else if((0,c.isObject)(o)){if(r.has(o))return;r.add(o),null==l||l(o);for(const t of Array.isArray(o)?o:Object.values(o))e(t)}}(e)}function u(e,t){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;const{hasNonStaticUsage:r,nonStaticUsage:n,usedProperties:s}=p(e,t,o);if(r)throw new Error(`Non-static usage of ${t} is prohibited, check your expression: "${n}"`);return s}function p(e,t){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;const n={usedProperties:new Set,hasNonStaticUsage:!1},s=r(n,t,o);return l(e,((e,t,o)=>{s(e,t),n.hasNonStaticUsage&&(n.nonStaticUsage=o)}),t),n}function d(e,t,o){if(e.includes(t)){const n={usedProperties:new Set,hasNonStaticUsage:!1},{expression:s}=(0,a.preevaluate)(e,{withParent:!0,hooks:{beforeVisitGlobal:r(n,o)}});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 \`${o}\` usage found in your expression: ${JSON.stringify(e)}`)}}return!1}function f(e){if(e){const t={usedProperties:new Set,hasNonStaticUsage:!1};if((0,a.preevaluate)(e,{withParent:!0,hooks:{beforeVisitGlobal:r(t,["CTX","STATE","FORM_STATE"],1,!0)}}),t.usedProperties.size>0){const e=[...t.usedProperties],o={context:!1,state:!1,formState:!1},r={CTX:"context",STATE:"state",FORM_STATE:"formState"};return e.forEach((e=>{const[t,n]=e.split(".");o[r[t]]||(o[r[t]]=[]),o[r[t]].push(n)})),o}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 y(e,t){if(Array.isArray(e))for(const o of e)g(o,t)}function g(e,t,o){try{(0,a.precookFunction)(e.source,{typescript:e.typescript,withParent:!0,hooks:{beforeVisitGlobal:t}})}catch(t){o||console.error(`Parse storyboard function "${e.name}" failed:`,t)}}function h(e,t,o){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;const s={usedProperties:new Set,hasNonStaticUsage:!1};if(g(e,r(s,t,n),o),s.hasNonStaticUsage&&!o)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",m="check";function b(e){const t=new Set,o=P(t),{customTemplates:r,functions:n}=e.meta??{};return l([e.routes,r],o,S),y(n,o),Array.from(t)}function v(e){const t=new Set;return l(e,P(t),S),Array.from(t)}function P(e){return function(t,o){if(t.name===S){const t=o[o.length-1],r=o[o.length-2];if("CallExpression"===(null==r?void 0:r.node.type)&&"callee"===(null==r?void 0:r.key)&&"MemberExpression"===(null==t?void 0:t.node.type)&&"object"===t.key&&(t.node.computed?"Literal"===t.node.property.type&&t.node.property.value===m:"Identifier"===t.node.property.type&&t.node.property.name===m))for(const t of r.node.arguments)"Literal"===t.type&&"string"==typeof t.value&&e.add(t.value)}}}}}]);
2
+ //# sourceMappingURL=3933.b3492283.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chunks/6314.58158d69.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,seACO,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,YAAY,EACZC,MAAO,CACL,iBAAAb,CAAkB5B,EAAMC,GAEtB2B,EAAkB5B,EAAMC,EAAQW,EAClC,IAGN,CAAE,MAAO8B,GAEPC,QAAQD,MAAM,sCAAuCA,EACvD,MAEAT,SAA0FA,EAAgCrB,QAG5HsB,SAA4EA,EAAyBtB,QAElG,IAAI,IAAAgC,UAAShC,GAAQ,CAE1B,GAAIkB,EAAKe,IAAIjC,GACX,OAEFkB,EAAKd,IAAIJ,GACTuB,SAAkDA,EAAYvB,GAC9D,IAAK,MAAMkC,KAAQC,MAAMC,QAAQpC,GAASA,EAAQqC,OAAOC,OAAOtC,GAC9DyB,EAASS,EAEb,CACF,CACAT,CAASV,EACX,CCjDO,SAASwB,EAAyBxB,EAAMjC,GAC7C,IAAIC,EAAQC,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,EAChF,MAAM,kBACJkB,EAAiB,eACjBsC,EAAc,eACdrC,GACEsC,EAAmB1B,EAAMjC,EAAYC,GACzC,GAAImB,EACF,MAAM,IAAIwC,MAAM,uBAAuB5D,4CAAqD0D,MAE9F,OAAOrC,CACT,CACO,SAASsC,EAAmB1B,EAAMjC,GACvC,IAAIC,EAAQC,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,EAChF,MAAMH,EAAQ,CACZsB,eAAgB,IAAIwC,IACpBzC,mBAAmB,GAEfc,EAAoBpC,EAAwBC,EAAOC,EAAYC,GAOrE,OANA+B,EAA8BC,GAAM,CAAC3B,EAAMC,EAAQuD,KACjD5B,EAAkB5B,EAAMC,GACpBR,EAAMqB,oBACRrB,EAAM2D,eAAiBI,EACzB,GACC9D,GACID,CACT,CC1BO,SAASgE,EAAMC,EAAKC,EAAWC,GACpC,GAAIF,EAAIvD,SAASwD,GAAY,CAC3B,MAAMlE,EAAQ,CACZsB,eAAgB,IAAIwC,IACpBzC,mBAAmB,IAEf,WACJ+C,IACE,IAAAtB,aAAYmB,EAAK,CACnBlB,YAAY,EACZC,MAAO,CACLb,kBAAmBpC,EAAwBC,EAAOmE,MAGtD,IAAIE,EACJ,GAAwB,uBAApBD,EAAWtD,OAAkCuD,EAAcD,EAAWE,YAAY,KAA4B,YAArBD,EAAYvD,MAAsBuD,EAAYlD,QAAU+C,EAAW,CAC9J,GAAIlE,EAAMsB,eAAeiD,KAAO,EAC9B,OAAOvE,EAAMsB,eAGb4B,QAAQsB,KAAK,kBAAkBN,eAAuBC,uCAAkDM,KAAKC,UAAUT,KAE3H,CACF,CACA,OAAO,CACT,CACO,SAASU,EAASV,GACvB,GAAIA,EAAK,CACP,MAAMjE,EAAQ,CACZsB,eAAgB,IAAIwC,IACpBzC,mBAAmB,GAQrB,IANA,IAAAyB,aAAYmB,EAAK,CACflB,YAAY,EACZC,MAAO,CACLb,kBAAmBpC,EAAwBC,EAAO,CAAC,MAAO,QAAS,cAAe,GAAG,MAGrFA,EAAMsB,eAAeiD,KAAO,EAAG,CACjC,MAAMK,EAAiB,IAAI5E,EAAMsB,gBAC3BuD,EAAS,CACbC,SAAS,EACTC,OAAO,EACPC,WAAW,GAEPC,EAAS,CACbC,IAAK,UACLC,MAAO,QACPC,WAAY,aASd,OAPAR,EAAeS,SAAQhC,IACrB,MAAOtC,EAAKN,GAAQ4C,EAAKiC,MAAM,KAC1BT,EAAOI,EAAOlE,MACjB8D,EAAOI,EAAOlE,IAAQ,IAExB8D,EAAOI,EAAOlE,IAAMK,KAAKX,EAAK,IAEzBoE,CACT,CAEE3B,QAAQsB,KAAK,mGAAmGC,KAAKC,UAAUT,KAEnI,CACA,OAAO,CACT,CCjEO,SAASsB,EAA4BC,EAAWrD,GACrD,GAAImB,MAAMC,QAAQiC,GAChB,IAAK,MAAMC,KAAMD,EACfE,EAA2BD,EAAItD,EAGrC,CACO,SAASuD,EAA2BD,EAAItD,EAAmBwD,GAChE,KACE,IAAAC,iBAAgBH,EAAGI,OAAQ,CACzBC,WAAYL,EAAGK,WACf/C,YAAY,EACZC,MAAO,CACLb,sBAGN,CAAE,MAAOc,GACF0C,GAEHzC,QAAQD,MAAM,8BAA8BwC,EAAGhF,gBAAiBwC,EAEpE,CACF,CCrBO,SAAS8C,EAA6BN,EAAIxF,EAAY0F,GAC3D,IAAIzF,EAAQC,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,EAChF,MAAMH,EAAQ,CACZsB,eAAgB,IAAIwC,IACpBzC,mBAAmB,GAGrB,GADAqE,EAA2BD,EAAI1F,EAAwBC,EAAOC,EAAYC,GAAQyF,GAC9E3F,EAAMqB,oBAAsBsE,EAC9B,MAAM,IAAI9B,MAAM,uBAAuB5D,0CAAmDwF,EAAGhF,SAG/F,OADAT,EAAMsB,eAAe0E,OAAOP,EAAGhF,MACxBT,EAAMsB,cACf,CCZA,MAAM2E,EAAc,cACdC,EAAQ,QACP,SAASC,EAAkCC,GAChD,MAAMC,EAAa,IAAIvC,IACjBwC,EAAyBC,EAA8BF,IACvD,gBACJG,EAAe,UACfhB,GACEY,EAAWK,MAAQ,CAAC,EAGxB,OAFAxE,EAA8B,CAACmE,EAAWM,OAAQF,GAAkBF,EAAwBL,GAC5FV,EAA4BC,EAAWc,GAChChD,MAAMqD,KAAKN,EACpB,CACO,SAASO,EAA2B1E,GACzC,MAAMmE,EAAa,IAAIvC,IAEvB,OADA7B,EAA8BC,EAAMqE,EAA8BF,GAAaJ,GACxE3C,MAAMqD,KAAKN,EACpB,CACA,SAASE,EAA8BF,GACrC,OAAO,SAAgC9F,EAAMC,GAC3C,GAAID,EAAKE,OAASwF,EAAa,CAC7B,MAAMpF,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,QAAU+E,EAA4C,eAApCrF,EAAaN,KAAKW,SAASJ,MAAyBD,EAAaN,KAAKW,SAAST,OAASyF,GACtiB,IAAK,MAAMW,KAAOlF,EAAWpB,KAAKJ,UACf,YAAb0G,EAAI/F,MAA2C,iBAAd+F,EAAI1F,OACvCkF,EAAW9E,IAAIsF,EAAI1F,MAI3B,CACF,CACF,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"],"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 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\";\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 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 if (raw) {\n const usage = {\n usedProperties: new Set(),\n hasNonStaticUsage: false\n };\n preevaluate(raw, {\n withParent: true,\n hooks: {\n beforeVisitGlobal: beforeVisitGlobalMember(usage, [\"CTX\", \"STATE\", \"FORM_STATE\"], 1, true)\n }\n });\n if (usage.usedProperties.size > 0) {\n const usedProperites = [...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 usedProperites.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) {\n if (Array.isArray(functions)) {\n for (const fn of functions) {\n traverseStoryboardFunction(fn, beforeVisitGlobal);\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 });\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 traverseStoryboardFunction(fn, beforeVisitGlobalMember(usage, objectName, level), silentErrors);\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 const collection = new Set();\n const beforeVisitPermissions = beforeVisitPermissionsFactory(collection);\n const {\n customTemplates,\n functions\n } = storyboard.meta ?? {};\n traverseStoryboardExpressions([storyboard.routes, customTemplates], beforeVisitPermissions, PERMISSIONS);\n traverseStoryboardFunctions(functions, beforeVisitPermissions);\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"],"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","withParent","hooks","error","console","isObject","has","item","Array","isArray","Object","values","strictCollectMemberUsage","nonStaticUsage","collectMemberUsage","Error","Set","expr","track","raw","trackText","variableName","expression","trackCtxExp","expressions","size","warn","JSON","stringify","trackAll","usedProperites","result","context","state","formState","keyMap","CTX","STATE","FORM_STATE","forEach","split","traverseStoryboardFunctions","functions","fn","traverseStoryboardFunction","silentErrors","precookFunction","source","typescript","collectMemberUsageInFunction","delete","PERMISSIONS","check","scanPermissionActionsInStoryboard","storyboard","collection","beforeVisitPermissions","beforeVisitPermissionsFactory","customTemplates","meta","routes","from","scanPermissionActionsInAny","arg"],"sourceRoot":""}
1
+ {"version":3,"file":"chunks/3933.b3492283.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"],"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 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\";\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 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 if (raw) {\n const usage = {\n usedProperties: new Set(),\n hasNonStaticUsage: false\n };\n preevaluate(raw, {\n withParent: true,\n hooks: {\n beforeVisitGlobal: beforeVisitGlobalMember(usage, [\"CTX\", \"STATE\", \"FORM_STATE\"], 1, true)\n }\n });\n if (usage.usedProperties.size > 0) {\n const usedProperites = [...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 usedProperites.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) {\n if (Array.isArray(functions)) {\n for (const fn of functions) {\n traverseStoryboardFunction(fn, beforeVisitGlobal);\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 });\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 traverseStoryboardFunction(fn, beforeVisitGlobalMember(usage, objectName, level), silentErrors);\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 const collection = new Set();\n const beforeVisitPermissions = beforeVisitPermissionsFactory(collection);\n const {\n customTemplates,\n functions\n } = storyboard.meta ?? {};\n traverseStoryboardExpressions([storyboard.routes, customTemplates], beforeVisitPermissions, PERMISSIONS);\n traverseStoryboardFunctions(functions, beforeVisitPermissions);\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"],"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","withParent","hooks","error","console","isObject","has","item","Array","isArray","Object","values","strictCollectMemberUsage","nonStaticUsage","collectMemberUsage","Error","Set","expr","track","raw","trackText","variableName","expression","trackCtxExp","expressions","size","warn","JSON","stringify","trackAll","usedProperites","result","context","state","formState","keyMap","CTX","STATE","FORM_STATE","forEach","split","traverseStoryboardFunctions","functions","fn","traverseStoryboardFunction","silentErrors","precookFunction","source","typescript","collectMemberUsageInFunction","delete","PERMISSIONS","check","scanPermissionActionsInStoryboard","storyboard","collection","beforeVisitPermissions","beforeVisitPermissionsFactory","customTemplates","meta","routes","from","scanPermissionActionsInAny","arg"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- "use strict";(globalThis.webpackChunk_next_bricks_form_platform=globalThis.webpackChunk_next_bricks_form_platform||[]).push([[4658,2277],{2277:(e,t,r)=>{r.r(t),r.d(t,{inject:()=>v,transform:()=>m,transformAndInject:()=>w});var n=r(1030),a=r(1092);let i=function(e){return e[e.Initial=0]="Initial",e[e.ExpectField=1]="ExpectField",e[e.ExpectOptionalBeginDefault=2]="ExpectOptionalBeginDefault",e[e.ExpectDefaultValue=3]="ExpectDefaultValue",e[e.ExpectOptionalBeginPipe=4]="ExpectOptionalBeginPipe",e[e.ExpectPipeIdentifier=5]="ExpectPipeIdentifier",e[e.ExpectOptionalBeginPipeParameter=6]="ExpectOptionalBeginPipeParameter",e[e.ExpectPipeParameter=7]="ExpectPipeParameter",e[e.ExpectPlaceholderEnd=8]="ExpectPlaceholderEnd",e}({}),s=function(e){return e.Raw="Raw",e.BeginPlaceHolder="BeginPlaceHolder",e.Field="Field",e.BeginDefault="BeginDefault",e.LiteralString="LiteralString",e.BeginPipe="BeginPipe",e.PipeIdentifier="PipeIdentifier",e.BeginPipeParameter="BeginPipeParameter",e.EndPlaceHolder="EndPlaceHolder",e.JsonValue="JsonValue",e}({}),c=function(e){return e[e.Array=0]="Array",e[e.Object=1]="Object",e[e.String=2]="String",e[e.Others=3]="Others",e}({});function o(e){return new RegExp(`(${[].concat(e).map((e=>(0,n.escapeRegExp)(e))).join("|")})\\{`)}function l(e){var t;const r=y(e),n=null===(t=r.match(e.beginPlaceholder))||void 0===t?void 0:t[0],a=n?r.indexOf(n):-1;if(a>=0&&n&&"{"!==r.charAt(a+n.length)){const t=e.cursor+a;a>0&&e.tokens.push({type:s.Raw,value:r.substring(0,a)}),e.tokens.push({type:s.BeginPlaceHolder,loc:{start:t,end:t+n.length},value:n.substring(0,n.length-1)}),e.cursor+=a+n.length,e.status=i.ExpectField}else e.tokens.push({type:s.Raw,value:r}),e.cursor=e.raw.length}function u(e){e.cursor+=y(e).match(/^[ \r\n\t]*/)[0].length}function p(e){const[t]=y(e).match(/^[\w.*[\]\-\u{80}-\u{10FFFF}]*/u);e.tokens.push({type:s.Field,value:t}),e.cursor+=t.length,e.status=i.ExpectOptionalBeginDefault}function f(e){"="===y(e).charAt(0)?(e.tokens.push({type:s.BeginDefault}),e.cursor+=1,e.status=i.ExpectDefaultValue):e.status=i.ExpectOptionalBeginPipe}function d(e){k(e,i.ExpectOptionalBeginPipe)}function g(e){"|"===y(e).charAt(0)?(e.tokens.push({type:s.BeginPipe}),e.cursor+=1,e.status=i.ExpectPipeIdentifier):e.status=i.ExpectPlaceholderEnd}function h(e){const t=y(e).match(/^[a-zA-Z]\w*/);if(!t)throw new Error(`Expected a pipe identifier at index ${e.cursor} near: ${JSON.stringify(e.raw.substring(e.cursor))}`);const r=t[0];e.tokens.push({type:s.PipeIdentifier,value:r}),e.cursor+=r.length,e.status=i.ExpectOptionalBeginPipeParameter}function P(e){":"===y(e).charAt(0)?(e.tokens.push({type:s.BeginPipeParameter}),e.cursor+=1,e.status=i.ExpectPipeParameter):e.status=i.ExpectOptionalBeginPipe}function E(e){k(e,i.ExpectOptionalBeginPipeParameter)}function b(e){if("}"!==y(e).charAt(0))throw new Error(`Expected a placeholder end '}' at index ${e.cursor} near: ${JSON.stringify(e.raw.substring(e.cursor))}`);e.tokens.push({type:s.EndPlaceHolder,loc:{start:e.cursor,end:e.cursor+1}}),e.cursor+=1,e.status=i.Initial}const x=new Map([["false",!1],["null",null],["true",!0]]);function k(e,t){const r=y(e);if(/[0-9[{"]/.test(r.charAt(0))||/-[0-9]/.test(r.substring(0,2)))!function(e,t){const r=y(e),n=r.charAt(0),a="["===n?c.Array:"{"===n?c.Object:'"'===n?c.String:c.Others;let i=0,o=0,l=0,u=!1,p=!1,f=!1;for(;i<r.length;){const e=r.charAt(i);if(p)p=!1;else if(u)'"'===e?u=!1:"\\"===e&&(p=!0);else switch(e){case"[":l+=1;break;case"{":o+=1;break;case"]":l-=1;break;case"}":o-=1;break;case'"':u=!0}switch(i+=1,a){case c.Array:f=!l;break;case c.Object:f=!o;break;case c.String:f=!u;break;default:f=i<r.length&&/[^a-z0-9E.+-]/.test(r.charAt(i))}if(f)break}if(!f)throw new Error(`Failed to match a JSON value at index ${e.cursor} near: ${JSON.stringify(e.raw.substring(e.cursor))}`);e.tokens.push({type:s.JsonValue,value:JSON.parse(r.substring(0,i))}),e.cursor+=i,e.status=t}(e,t);else{const[r]=y(e).match(/^[\w\-\u{80}-\u{10FFFF}]*/u);x.has(r)?e.tokens.push({type:s.JsonValue,value:x.get(r)}):e.tokens.push({type:s.LiteralString,value:r}),e.cursor+=r.length,e.status=t}}function y(e){return e.raw.substring(e.cursor)}function m(e,t){return A(e,"@",t)}function v(e,t){return A(e,"$",t)}function w(e,t){return A(e,["@","$"],t)}function A(e,t,r){if(!function(e,t){return o(t).test(e)}(e,t))return e;const c=(x=r.data,function(e){let t=e.field?(0,n.get)(x,e.field):x;return void 0===t&&(t=e.defaultValue),(0,a.processPipes)(t,e.pipes)});var x;const k=function(e,t){return function(r){const i=r.field.match(/^(?:(QUERY(?:_ARRAY)?|EVENT|query|event|APP|HASH|ANCHOR|SYS|FLAGS|CTX)\.)?(.+)$/);if(!i)return t.substring(r.loc.start,r.loc.end);let s,[,c,o]=i;!c&&/^[A-Z_]+$/.test(o)&&(c=o,o="*");const l={SYS:"sys",FLAGS:"flags"};switch(c){case"QUERY":case"query":s="*"===o?e.query:e.query.has(o)?e.query.get(o):void 0;break;case"QUERY_ARRAY":s=e.query.has(o)?e.query.getAll(o):void 0;break;case"EVENT":case"event":if(void 0===e.event)return t.substring(r.loc.start,r.loc.end);s="*"===o?e.event:(0,n.get)(e.event,o);break;case"APP":s="*"===o?e.overrideApp??e.app:(0,n.get)(e.overrideApp??e.app,o);break;case"HASH":s=e.location.hash;break;case"SYS":case"FLAGS":s="*"===o?e[l[c]]:(0,n.get)(e[l[c]],o);break;case"ANCHOR":{const t=e.location.hash?e.location.hash.substr(1):null;s="*"===o?t:(0,n.get)(t,o);break}case"CTX":{const e=t.substring(r.loc.start,r.loc.end);return console.error(`CTX is not supported in placeholder any more: "${e}"`),e}default:if(!e.match)return t.substring(r.loc.start,r.loc.end);s=e.match.params[o]}return void 0===s&&(s=r.defaultValue),(0,a.processPipes)(s,r.pipes)}}(r,e);return y=function(e,t){return function(e){const t={type:"InjectableString",elements:[]};let r;function n(t){return t===e[0].type&&(r=e.shift(),!0)}function a(t){if(r=e.shift(),Array.isArray(t)?!t.includes(r.type):t!==r.type)throw new Error(`Expected token: ${t}, received token: ${r.type}`)}for(;e.length>0;)if(n(s.Raw))t.elements.push({type:"RawString",value:r.value});else{a(s.BeginPlaceHolder);const e=r.loc.start,i=r.value;a(s.Field);const c={type:"Placeholder",symbol:i,field:r.value,defaultValue:void 0,pipes:[],loc:{start:e,end:e}};for(t.elements.push(c),n(s.BeginDefault)&&(a([s.JsonValue,s.LiteralString]),c.defaultValue=r.value);n(s.BeginPipe);){a(s.PipeIdentifier);const e={type:"PipeCall",identifier:r.value,parameters:[]};for(c.pipes.push(e);n(s.BeginPipeParameter);)a([s.JsonValue,s.LiteralString]),e.parameters.push(r.value)}a(s.EndPlaceHolder),c.loc.end=r.loc.end}return t}(function(e,t){const r={beginPlaceholder:o(t),raw:e,cursor:0,status:i.Initial,tokens:[]};for(;r.cursor<e.length;)switch(r.status){case i.Initial:l(r);break;case i.ExpectField:u(r),p(r);break;case i.ExpectOptionalBeginDefault:u(r),f(r);break;case i.ExpectDefaultValue:u(r),d(r);break;case i.ExpectOptionalBeginPipe:u(r),g(r);break;case i.ExpectPipeIdentifier:u(r),h(r);break;case i.ExpectOptionalBeginPipeParameter:u(r),P(r);break;case i.ExpectPipeParameter:u(r),E(r);break;case i.ExpectPlaceholderEnd:u(r),b(r)}if(r.status!==i.Initial)throw new Error("Expected a placeholder end '}' at the end");return r.tokens}(e,t))}(e,t).elements.map((e=>"RawString"===e.type?e.value:"$"===e.symbol?k(e):c(e))),1===y.length?y[0]:y.join("");var y}}}]);
2
- //# sourceMappingURL=4658.d555d82b.js.map
1
+ "use strict";(globalThis.webpackChunk_next_bricks_form_platform=globalThis.webpackChunk_next_bricks_form_platform||[]).push([[4658,2277],{2277:(e,t,r)=>{r.r(t),r.d(t,{inject:()=>v,transform:()=>m,transformAndInject:()=>w});var n=r(1030),a=r(4285);let i=function(e){return e[e.Initial=0]="Initial",e[e.ExpectField=1]="ExpectField",e[e.ExpectOptionalBeginDefault=2]="ExpectOptionalBeginDefault",e[e.ExpectDefaultValue=3]="ExpectDefaultValue",e[e.ExpectOptionalBeginPipe=4]="ExpectOptionalBeginPipe",e[e.ExpectPipeIdentifier=5]="ExpectPipeIdentifier",e[e.ExpectOptionalBeginPipeParameter=6]="ExpectOptionalBeginPipeParameter",e[e.ExpectPipeParameter=7]="ExpectPipeParameter",e[e.ExpectPlaceholderEnd=8]="ExpectPlaceholderEnd",e}({}),s=function(e){return e.Raw="Raw",e.BeginPlaceHolder="BeginPlaceHolder",e.Field="Field",e.BeginDefault="BeginDefault",e.LiteralString="LiteralString",e.BeginPipe="BeginPipe",e.PipeIdentifier="PipeIdentifier",e.BeginPipeParameter="BeginPipeParameter",e.EndPlaceHolder="EndPlaceHolder",e.JsonValue="JsonValue",e}({}),c=function(e){return e[e.Array=0]="Array",e[e.Object=1]="Object",e[e.String=2]="String",e[e.Others=3]="Others",e}({});function o(e){return new RegExp(`(${[].concat(e).map((e=>(0,n.escapeRegExp)(e))).join("|")})\\{`)}function l(e){var t;const r=y(e),n=null===(t=r.match(e.beginPlaceholder))||void 0===t?void 0:t[0],a=n?r.indexOf(n):-1;if(a>=0&&n&&"{"!==r.charAt(a+n.length)){const t=e.cursor+a;a>0&&e.tokens.push({type:s.Raw,value:r.substring(0,a)}),e.tokens.push({type:s.BeginPlaceHolder,loc:{start:t,end:t+n.length},value:n.substring(0,n.length-1)}),e.cursor+=a+n.length,e.status=i.ExpectField}else e.tokens.push({type:s.Raw,value:r}),e.cursor=e.raw.length}function u(e){e.cursor+=y(e).match(/^[ \r\n\t]*/)[0].length}function p(e){const[t]=y(e).match(/^[\w.*[\]\-\u{80}-\u{10FFFF}]*/u);e.tokens.push({type:s.Field,value:t}),e.cursor+=t.length,e.status=i.ExpectOptionalBeginDefault}function f(e){"="===y(e).charAt(0)?(e.tokens.push({type:s.BeginDefault}),e.cursor+=1,e.status=i.ExpectDefaultValue):e.status=i.ExpectOptionalBeginPipe}function d(e){k(e,i.ExpectOptionalBeginPipe)}function g(e){"|"===y(e).charAt(0)?(e.tokens.push({type:s.BeginPipe}),e.cursor+=1,e.status=i.ExpectPipeIdentifier):e.status=i.ExpectPlaceholderEnd}function h(e){const t=y(e).match(/^[a-zA-Z]\w*/);if(!t)throw new Error(`Expected a pipe identifier at index ${e.cursor} near: ${JSON.stringify(e.raw.substring(e.cursor))}`);const r=t[0];e.tokens.push({type:s.PipeIdentifier,value:r}),e.cursor+=r.length,e.status=i.ExpectOptionalBeginPipeParameter}function P(e){":"===y(e).charAt(0)?(e.tokens.push({type:s.BeginPipeParameter}),e.cursor+=1,e.status=i.ExpectPipeParameter):e.status=i.ExpectOptionalBeginPipe}function E(e){k(e,i.ExpectOptionalBeginPipeParameter)}function b(e){if("}"!==y(e).charAt(0))throw new Error(`Expected a placeholder end '}' at index ${e.cursor} near: ${JSON.stringify(e.raw.substring(e.cursor))}`);e.tokens.push({type:s.EndPlaceHolder,loc:{start:e.cursor,end:e.cursor+1}}),e.cursor+=1,e.status=i.Initial}const x=new Map([["false",!1],["null",null],["true",!0]]);function k(e,t){const r=y(e);if(/[0-9[{"]/.test(r.charAt(0))||/-[0-9]/.test(r.substring(0,2)))!function(e,t){const r=y(e),n=r.charAt(0),a="["===n?c.Array:"{"===n?c.Object:'"'===n?c.String:c.Others;let i=0,o=0,l=0,u=!1,p=!1,f=!1;for(;i<r.length;){const e=r.charAt(i);if(p)p=!1;else if(u)'"'===e?u=!1:"\\"===e&&(p=!0);else switch(e){case"[":l+=1;break;case"{":o+=1;break;case"]":l-=1;break;case"}":o-=1;break;case'"':u=!0}switch(i+=1,a){case c.Array:f=!l;break;case c.Object:f=!o;break;case c.String:f=!u;break;default:f=i<r.length&&/[^a-z0-9E.+-]/.test(r.charAt(i))}if(f)break}if(!f)throw new Error(`Failed to match a JSON value at index ${e.cursor} near: ${JSON.stringify(e.raw.substring(e.cursor))}`);e.tokens.push({type:s.JsonValue,value:JSON.parse(r.substring(0,i))}),e.cursor+=i,e.status=t}(e,t);else{const[r]=y(e).match(/^[\w\-\u{80}-\u{10FFFF}]*/u);x.has(r)?e.tokens.push({type:s.JsonValue,value:x.get(r)}):e.tokens.push({type:s.LiteralString,value:r}),e.cursor+=r.length,e.status=t}}function y(e){return e.raw.substring(e.cursor)}function m(e,t){return A(e,"@",t)}function v(e,t){return A(e,"$",t)}function w(e,t){return A(e,["@","$"],t)}function A(e,t,r){if(!function(e,t){return o(t).test(e)}(e,t))return e;const c=(x=r.data,function(e){let t=e.field?(0,n.get)(x,e.field):x;return void 0===t&&(t=e.defaultValue),(0,a.processPipes)(t,e.pipes)});var x;const k=function(e,t){return function(r){const i=r.field.match(/^(?:(QUERY(?:_ARRAY)?|EVENT|query|event|APP|HASH|ANCHOR|SYS|FLAGS|CTX)\.)?(.+)$/);if(!i)return t.substring(r.loc.start,r.loc.end);let s,[,c,o]=i;!c&&/^[A-Z_]+$/.test(o)&&(c=o,o="*");const l={SYS:"sys",FLAGS:"flags"};switch(c){case"QUERY":case"query":s="*"===o?e.query:e.query.has(o)?e.query.get(o):void 0;break;case"QUERY_ARRAY":s=e.query.has(o)?e.query.getAll(o):void 0;break;case"EVENT":case"event":if(void 0===e.event)return t.substring(r.loc.start,r.loc.end);s="*"===o?e.event:(0,n.get)(e.event,o);break;case"APP":s="*"===o?e.overrideApp??e.app:(0,n.get)(e.overrideApp??e.app,o);break;case"HASH":s=e.location.hash;break;case"SYS":case"FLAGS":s="*"===o?e[l[c]]:(0,n.get)(e[l[c]],o);break;case"ANCHOR":{const t=e.location.hash?e.location.hash.substr(1):null;s="*"===o?t:(0,n.get)(t,o);break}case"CTX":{const e=t.substring(r.loc.start,r.loc.end);return console.error(`CTX is not supported in placeholder any more: "${e}"`),e}default:if(!e.match)return t.substring(r.loc.start,r.loc.end);s=e.match.params[o]}return void 0===s&&(s=r.defaultValue),(0,a.processPipes)(s,r.pipes)}}(r,e);return y=function(e,t){return function(e){const t={type:"InjectableString",elements:[]};let r;function n(t){return t===e[0].type&&(r=e.shift(),!0)}function a(t){if(r=e.shift(),Array.isArray(t)?!t.includes(r.type):t!==r.type)throw new Error(`Expected token: ${t}, received token: ${r.type}`)}for(;e.length>0;)if(n(s.Raw))t.elements.push({type:"RawString",value:r.value});else{a(s.BeginPlaceHolder);const e=r.loc.start,i=r.value;a(s.Field);const c={type:"Placeholder",symbol:i,field:r.value,defaultValue:void 0,pipes:[],loc:{start:e,end:e}};for(t.elements.push(c),n(s.BeginDefault)&&(a([s.JsonValue,s.LiteralString]),c.defaultValue=r.value);n(s.BeginPipe);){a(s.PipeIdentifier);const e={type:"PipeCall",identifier:r.value,parameters:[]};for(c.pipes.push(e);n(s.BeginPipeParameter);)a([s.JsonValue,s.LiteralString]),e.parameters.push(r.value)}a(s.EndPlaceHolder),c.loc.end=r.loc.end}return t}(function(e,t){const r={beginPlaceholder:o(t),raw:e,cursor:0,status:i.Initial,tokens:[]};for(;r.cursor<e.length;)switch(r.status){case i.Initial:l(r);break;case i.ExpectField:u(r),p(r);break;case i.ExpectOptionalBeginDefault:u(r),f(r);break;case i.ExpectDefaultValue:u(r),d(r);break;case i.ExpectOptionalBeginPipe:u(r),g(r);break;case i.ExpectPipeIdentifier:u(r),h(r);break;case i.ExpectOptionalBeginPipeParameter:u(r),P(r);break;case i.ExpectPipeParameter:u(r),E(r);break;case i.ExpectPlaceholderEnd:u(r),b(r)}if(r.status!==i.Initial)throw new Error("Expected a placeholder end '}' at the end");return r.tokens}(e,t))}(e,t).elements.map((e=>"RawString"===e.type?e.value:"$"===e.symbol?k(e):c(e))),1===y.length?y[0]:y.join("");var y}}}]);
2
+ //# sourceMappingURL=4658.23a2bf5a.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chunks/4658.d555d82b.js","mappings":"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","sources":["webpack:///../../node_modules/@next-core/inject/dist/esm/interfaces.js","webpack:///../../node_modules/@next-core/inject/dist/esm/lexical.js","webpack:///../../node_modules/@next-core/inject/dist/esm/compile.js","webpack:///../../node_modules/@next-core/inject/dist/esm/syntax.js"],"sourcesContent":["export let LexicalStatus = /*#__PURE__*/function (LexicalStatus) {\n LexicalStatus[LexicalStatus[\"Initial\"] = 0] = \"Initial\";\n LexicalStatus[LexicalStatus[\"ExpectField\"] = 1] = \"ExpectField\";\n LexicalStatus[LexicalStatus[\"ExpectOptionalBeginDefault\"] = 2] = \"ExpectOptionalBeginDefault\";\n LexicalStatus[LexicalStatus[\"ExpectDefaultValue\"] = 3] = \"ExpectDefaultValue\";\n LexicalStatus[LexicalStatus[\"ExpectOptionalBeginPipe\"] = 4] = \"ExpectOptionalBeginPipe\";\n LexicalStatus[LexicalStatus[\"ExpectPipeIdentifier\"] = 5] = \"ExpectPipeIdentifier\";\n LexicalStatus[LexicalStatus[\"ExpectOptionalBeginPipeParameter\"] = 6] = \"ExpectOptionalBeginPipeParameter\";\n LexicalStatus[LexicalStatus[\"ExpectPipeParameter\"] = 7] = \"ExpectPipeParameter\";\n LexicalStatus[LexicalStatus[\"ExpectPlaceholderEnd\"] = 8] = \"ExpectPlaceholderEnd\";\n return LexicalStatus;\n}({});\nexport let TokenType = /*#__PURE__*/function (TokenType) {\n TokenType[\"Raw\"] = \"Raw\";\n TokenType[\"BeginPlaceHolder\"] = \"BeginPlaceHolder\";\n TokenType[\"Field\"] = \"Field\";\n TokenType[\"BeginDefault\"] = \"BeginDefault\";\n TokenType[\"LiteralString\"] = \"LiteralString\";\n TokenType[\"BeginPipe\"] = \"BeginPipe\";\n TokenType[\"PipeIdentifier\"] = \"PipeIdentifier\";\n TokenType[\"BeginPipeParameter\"] = \"BeginPipeParameter\";\n TokenType[\"EndPlaceHolder\"] = \"EndPlaceHolder\";\n TokenType[\"JsonValue\"] = \"JsonValue\";\n return TokenType;\n}({});\nexport let JsonValueType = /*#__PURE__*/function (JsonValueType) {\n JsonValueType[JsonValueType[\"Array\"] = 0] = \"Array\";\n JsonValueType[JsonValueType[\"Object\"] = 1] = \"Object\";\n JsonValueType[JsonValueType[\"String\"] = 2] = \"String\";\n JsonValueType[JsonValueType[\"Others\"] = 3] = \"Others\";\n return JsonValueType;\n}({});\n//# sourceMappingURL=interfaces.js.map","import { escapeRegExp } from \"lodash\";\nimport { LexicalStatus, TokenType, JsonValueType } from \"./interfaces.js\";\nexport function getRegExpOfPlaceholder(symbols) {\n return new RegExp(`(${[].concat(symbols).map(symbol => escapeRegExp(symbol)).join(\"|\")})\\\\{`);\n}\nexport function tokenize(raw, symbols) {\n const context = {\n beginPlaceholder: getRegExpOfPlaceholder(symbols),\n raw,\n cursor: 0,\n status: LexicalStatus.Initial,\n tokens: []\n };\n while (context.cursor < raw.length) {\n switch (context.status) {\n case LexicalStatus.Initial:\n eatOptionalRawAndOptionalPlaceholderBegin(context);\n break;\n case LexicalStatus.ExpectField:\n eatWhitespace(context);\n eatField(context);\n break;\n case LexicalStatus.ExpectOptionalBeginDefault:\n eatWhitespace(context);\n eatOptionalDefault(context);\n break;\n case LexicalStatus.ExpectDefaultValue:\n eatWhitespace(context);\n eatDefaultValue(context);\n break;\n case LexicalStatus.ExpectOptionalBeginPipe:\n eatWhitespace(context);\n eatOptionalBeginPipe(context);\n break;\n case LexicalStatus.ExpectPipeIdentifier:\n eatWhitespace(context);\n eatPipeIdentifier(context);\n break;\n case LexicalStatus.ExpectOptionalBeginPipeParameter:\n eatWhitespace(context);\n eatOptionalBeginPipeParameter(context);\n break;\n case LexicalStatus.ExpectPipeParameter:\n eatWhitespace(context);\n eatPipeParameter(context);\n break;\n case LexicalStatus.ExpectPlaceholderEnd:\n eatWhitespace(context);\n eatPlaceholderEnd(context);\n break;\n }\n }\n if (context.status !== LexicalStatus.Initial) {\n throw new Error(\"Expected a placeholder end '}' at the end\");\n }\n return context.tokens;\n}\nfunction eatOptionalRawAndOptionalPlaceholderBegin(context) {\n var _subRaw$match;\n const subRaw = getSubRaw(context);\n const matchedPlaceholder = (_subRaw$match = subRaw.match(context.beginPlaceholder)) === null || _subRaw$match === void 0 ? void 0 : _subRaw$match[0];\n const subCursor = matchedPlaceholder ? subRaw.indexOf(matchedPlaceholder) : -1;\n if (subCursor >= 0 && matchedPlaceholder && subRaw.charAt(subCursor + matchedPlaceholder.length) !== \"{\") {\n const nextCursor = context.cursor + subCursor;\n if (subCursor > 0) {\n context.tokens.push({\n type: TokenType.Raw,\n value: subRaw.substring(0, subCursor)\n });\n }\n context.tokens.push({\n type: TokenType.BeginPlaceHolder,\n loc: {\n start: nextCursor,\n end: nextCursor + matchedPlaceholder.length\n },\n value: matchedPlaceholder.substring(0, matchedPlaceholder.length - 1)\n });\n context.cursor += subCursor + matchedPlaceholder.length;\n context.status = LexicalStatus.ExpectField;\n } else {\n context.tokens.push({\n type: TokenType.Raw,\n value: subRaw\n });\n context.cursor = context.raw.length;\n }\n}\nfunction eatWhitespace(context) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n context.cursor += getSubRaw(context).match(/^[ \\r\\n\\t]*/)[0].length;\n}\nfunction eatField(context) {\n // Only allow alphanumeric, `_`, `.`, `*`, `[`, `]`, `-` and other non-ascii.\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const [value] = getSubRaw(context).match(/^[\\w.*[\\]\\-\\u{80}-\\u{10FFFF}]*/u);\n context.tokens.push({\n type: TokenType.Field,\n value\n });\n context.cursor += value.length;\n context.status = LexicalStatus.ExpectOptionalBeginDefault;\n}\nfunction eatOptionalDefault(context) {\n if (getSubRaw(context).charAt(0) === \"=\") {\n context.tokens.push({\n type: TokenType.BeginDefault\n });\n context.cursor += 1;\n context.status = LexicalStatus.ExpectDefaultValue;\n } else {\n context.status = LexicalStatus.ExpectOptionalBeginPipe;\n }\n}\nfunction eatDefaultValue(context) {\n eatJsonValueOrLiteralString(context, LexicalStatus.ExpectOptionalBeginPipe);\n}\nfunction eatOptionalBeginPipe(context) {\n if (getSubRaw(context).charAt(0) === \"|\") {\n context.tokens.push({\n type: TokenType.BeginPipe\n });\n context.cursor += 1;\n context.status = LexicalStatus.ExpectPipeIdentifier;\n } else {\n context.status = LexicalStatus.ExpectPlaceholderEnd;\n }\n}\nfunction eatPipeIdentifier(context) {\n const matches = getSubRaw(context).match(/^[a-zA-Z]\\w*/);\n if (!matches) {\n throw new Error(`Expected a pipe identifier at index ${context.cursor} near: ${JSON.stringify(context.raw.substring(context.cursor))}`);\n }\n const value = matches[0];\n context.tokens.push({\n type: TokenType.PipeIdentifier,\n value\n });\n context.cursor += value.length;\n context.status = LexicalStatus.ExpectOptionalBeginPipeParameter;\n}\nfunction eatOptionalBeginPipeParameter(context) {\n if (getSubRaw(context).charAt(0) === \":\") {\n context.tokens.push({\n type: TokenType.BeginPipeParameter\n });\n context.cursor += 1;\n context.status = LexicalStatus.ExpectPipeParameter;\n } else {\n context.status = LexicalStatus.ExpectOptionalBeginPipe;\n }\n}\nfunction eatPipeParameter(context) {\n eatJsonValueOrLiteralString(context, LexicalStatus.ExpectOptionalBeginPipeParameter);\n}\nfunction eatPlaceholderEnd(context) {\n if (getSubRaw(context).charAt(0) === \"}\") {\n context.tokens.push({\n type: TokenType.EndPlaceHolder,\n loc: {\n start: context.cursor,\n end: context.cursor + 1\n }\n });\n context.cursor += 1;\n context.status = LexicalStatus.Initial;\n } else {\n throw new Error(`Expected a placeholder end '}' at index ${context.cursor} near: ${JSON.stringify(context.raw.substring(context.cursor))}`);\n }\n}\nconst jsonLiteralMap = new Map([[\"false\", false], [\"null\", null], [\"true\", true]]);\nfunction eatJsonValueOrLiteralString(context, nextStatus) {\n const subRaw = getSubRaw(context);\n if (/[0-9[{\"]/.test(subRaw.charAt(0)) || /-[0-9]/.test(subRaw.substring(0, 2))) {\n eatJsonValue(context, nextStatus);\n } else {\n // Accept any characters except controls and whitespace.\n // Only allow alphanumeric, `_`, `-` and other non-ascii.\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const [value] = getSubRaw(context).match(/^[\\w\\-\\u{80}-\\u{10FFFF}]*/u);\n if (jsonLiteralMap.has(value)) {\n context.tokens.push({\n type: TokenType.JsonValue,\n value: jsonLiteralMap.get(value)\n });\n } else {\n context.tokens.push({\n type: TokenType.LiteralString,\n value\n });\n }\n context.cursor += value.length;\n context.status = nextStatus;\n }\n}\n\n// 我们不需要非常精确地在一段字符串中匹配出一段*完整合法的* JSON value,\n// 而只需要找到一段*可能是完整合法的* JSON value 即可,解析的工作交给 `JSON.parse()`。\n// 由于 JSON 中 object/array/string 的镜像起止符特性,我们尝试去完成这些符号匹配即可。\nfunction eatJsonValue(context, nextStatus) {\n const subRaw = getSubRaw(context);\n const firstChar = subRaw.charAt(0);\n const valueType = firstChar === \"[\" ? JsonValueType.Array : firstChar === \"{\" ? JsonValueType.Object : firstChar === '\"' ? JsonValueType.String : JsonValueType.Others;\n let subCursor = 0;\n let objectBracesToMatch = 0;\n let arrayBracketsToMatch = 0;\n let stringQuotesToClose = false;\n let stringBackslashToEscape = false;\n let matched = false;\n while (subCursor < subRaw.length) {\n const char = subRaw.charAt(subCursor);\n if (stringBackslashToEscape) {\n stringBackslashToEscape = false;\n } else if (stringQuotesToClose) {\n if (char === '\"') {\n stringQuotesToClose = false;\n } else if (char === \"\\\\\") {\n stringBackslashToEscape = true;\n }\n } else {\n switch (char) {\n case \"[\":\n arrayBracketsToMatch += 1;\n break;\n case \"{\":\n objectBracesToMatch += 1;\n break;\n case \"]\":\n arrayBracketsToMatch -= 1;\n break;\n case \"}\":\n objectBracesToMatch -= 1;\n break;\n case '\"':\n stringQuotesToClose = true;\n break;\n }\n }\n subCursor += 1;\n switch (valueType) {\n case JsonValueType.Array:\n matched = !arrayBracketsToMatch;\n break;\n case JsonValueType.Object:\n matched = !objectBracesToMatch;\n break;\n case JsonValueType.String:\n matched = !stringQuotesToClose;\n break;\n default:\n // 对于其它类型,如果下一个字符不再是这些值类型可能的字符时,我们认为 JSON value 完成匹配。\n // 其它可能的值类型:number/boolean/null/undefined。\n matched = subCursor < subRaw.length && /[^a-z0-9E.+-]/.test(subRaw.charAt(subCursor));\n }\n if (matched) {\n break;\n }\n }\n if (!matched) {\n throw new Error(`Failed to match a JSON value at index ${context.cursor} near: ${JSON.stringify(context.raw.substring(context.cursor))}`);\n }\n context.tokens.push({\n type: TokenType.JsonValue,\n value: JSON.parse(subRaw.substring(0, subCursor))\n });\n context.cursor += subCursor;\n context.status = nextStatus;\n}\nfunction getSubRaw(context) {\n return context.raw.substring(context.cursor);\n}\n//# sourceMappingURL=lexical.js.map","import { get } from \"lodash\";\nimport { processPipes } from \"@next-core/pipes\";\nimport { parseInjectableString } from \"./syntax.js\";\nimport { getRegExpOfPlaceholder } from \"./lexical.js\";\nexport function transform(raw, context) {\n return compile(raw, \"@\", context);\n}\nexport function inject(raw, context) {\n return compile(raw, \"$\", context);\n}\nexport function transformAndInject(raw, context) {\n return compile(raw, [\"@\", \"$\"], context);\n}\nfunction compile(raw, symbols, context) {\n // const symbols = [\"@\", \"$\"];\n if (!isInjectable(raw, symbols)) {\n return raw;\n }\n const transformNode = transformNodeFactory(context.data);\n const injectNode = injectNodeFactory(context, raw);\n const tree = parseInjectableString(raw, symbols);\n const values = tree.elements.map(node => node.type === \"RawString\" ? node.value : node.symbol === \"$\" ? injectNode(node) : transformNode(node));\n return reduceCompiledValues(values);\n}\nfunction reduceCompiledValues(values) {\n // If the whole string is a placeholder, we should keep the original value.\n if (values.length === 1) {\n return values[0];\n }\n\n // If an element is `undefined`, `null` or an empty array `[]`, it is converted to an empty string.\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/join#Description\n return values.join(\"\");\n}\nfunction isInjectable(raw, symbols) {\n return getRegExpOfPlaceholder(symbols).test(raw);\n}\nfunction transformNodeFactory(data) {\n return function transformNode(node) {\n // If meet `@{}`, return `data`.\n let result = node.field ? get(data, node.field) : data;\n if (result === undefined) {\n result = node.defaultValue;\n }\n return processPipes(result, node.pipes);\n };\n}\nfunction injectNodeFactory(context, raw) {\n return function injectNode(node) {\n const matches = node.field.match(/^(?:(QUERY(?:_ARRAY)?|EVENT|query|event|APP|HASH|ANCHOR|SYS|FLAGS|CTX)\\.)?(.+)$/);\n if (!matches) {\n // Keep the original raw partial when meet a unknown namespace.\n return raw.substring(node.loc.start, node.loc.end);\n }\n let [, namespace, subField] = matches;\n\n // Support namespace with no subfield such as `${ANCHOR}`.\n // But distinguish with match params. E.g. `${query}` is a match param.\n if (!namespace && /^[A-Z_]+$/.test(subField)) {\n namespace = subField;\n subField = \"*\";\n }\n let result;\n const SimpleContextMap = {\n SYS: \"sys\",\n FLAGS: \"flags\"\n };\n switch (namespace) {\n case \"QUERY\":\n case \"query\":\n if (subField === \"*\") {\n result = context.query;\n } else {\n result = context.query.has(subField) ? context.query.get(subField) : undefined;\n }\n break;\n case \"QUERY_ARRAY\":\n result = context.query.has(subField) ? context.query.getAll(subField) : undefined;\n break;\n case \"EVENT\":\n case \"event\":\n if (context.event === undefined) {\n // Keep the original raw partial when meet a `${EVENT}` in non-event context.\n return raw.substring(node.loc.start, node.loc.end);\n }\n result = subField === \"*\" ? context.event : get(context.event, subField);\n break;\n case \"APP\":\n result = subField === \"*\" ? context.overrideApp ?? context.app : get(context.overrideApp ?? context.app, subField);\n break;\n case \"HASH\":\n result = context.location.hash;\n break;\n case \"SYS\":\n case \"FLAGS\":\n result = subField === \"*\" ? context[SimpleContextMap[namespace]] : get(context[SimpleContextMap[namespace]], subField);\n break;\n case \"ANCHOR\":\n {\n const anchor = context.location.hash ? context.location.hash.substr(1) : null;\n result = subField === \"*\" ? anchor : get(anchor, subField);\n break;\n }\n case \"CTX\":\n {\n const original = raw.substring(node.loc.start, node.loc.end);\n // eslint-disable-next-line no-console\n console.error(`CTX is not supported in placeholder any more: \"${original}\"`);\n return original;\n }\n default:\n if (context.match) {\n result = context.match.params[subField];\n } else {\n // If the context is empty, return the original raw partial.\n return raw.substring(node.loc.start, node.loc.end);\n }\n }\n if (result === undefined) {\n result = node.defaultValue;\n }\n return processPipes(result, node.pipes);\n };\n}\n//# sourceMappingURL=compile.js.map","import { tokenize } from \"./lexical.js\";\nimport { TokenType } from \"./interfaces.js\";\nexport function parseInjectableString(raw, symbols) {\n return parseTokens(tokenize(raw, symbols));\n}\nfunction parseTokens(tokens) {\n const tree = {\n type: \"InjectableString\",\n elements: []\n };\n let token;\n function optionalToken(type) {\n if (type === tokens[0].type) {\n token = tokens.shift();\n return true;\n }\n return false;\n }\n function acceptToken(type) {\n token = tokens.shift();\n if (Array.isArray(type) ? !type.includes(token.type) : type !== token.type) {\n throw new Error(`Expected token: ${type}, received token: ${token.type}`);\n }\n }\n while (tokens.length > 0) {\n if (optionalToken(TokenType.Raw)) {\n tree.elements.push({\n type: \"RawString\",\n value: token.value\n });\n } else {\n acceptToken(TokenType.BeginPlaceHolder);\n const start = token.loc.start;\n const symbol = token.value;\n acceptToken(TokenType.Field);\n const placeholder = {\n type: \"Placeholder\",\n symbol,\n field: token.value,\n defaultValue: undefined,\n pipes: [],\n loc: {\n start,\n end: start\n }\n };\n tree.elements.push(placeholder);\n if (optionalToken(TokenType.BeginDefault)) {\n acceptToken([TokenType.JsonValue, TokenType.LiteralString]);\n placeholder.defaultValue = token.value;\n }\n while (optionalToken(TokenType.BeginPipe)) {\n acceptToken(TokenType.PipeIdentifier);\n const pipe = {\n type: \"PipeCall\",\n identifier: token.value,\n parameters: []\n };\n placeholder.pipes.push(pipe);\n while (optionalToken(TokenType.BeginPipeParameter)) {\n acceptToken([TokenType.JsonValue, TokenType.LiteralString]);\n pipe.parameters.push(token.value);\n }\n }\n acceptToken(TokenType.EndPlaceHolder);\n placeholder.loc.end = token.loc.end;\n }\n }\n return tree;\n}\n//# sourceMappingURL=syntax.js.map"],"names":["LexicalStatus","TokenType","JsonValueType","getRegExpOfPlaceholder","symbols","RegExp","concat","map","symbol","escapeRegExp","join","eatOptionalRawAndOptionalPlaceholderBegin","context","_subRaw$match","subRaw","getSubRaw","matchedPlaceholder","match","beginPlaceholder","subCursor","indexOf","charAt","length","nextCursor","cursor","tokens","push","type","Raw","value","substring","BeginPlaceHolder","loc","start","end","status","ExpectField","raw","eatWhitespace","eatField","Field","ExpectOptionalBeginDefault","eatOptionalDefault","BeginDefault","ExpectDefaultValue","ExpectOptionalBeginPipe","eatDefaultValue","eatJsonValueOrLiteralString","eatOptionalBeginPipe","BeginPipe","ExpectPipeIdentifier","ExpectPlaceholderEnd","eatPipeIdentifier","matches","Error","JSON","stringify","PipeIdentifier","ExpectOptionalBeginPipeParameter","eatOptionalBeginPipeParameter","BeginPipeParameter","ExpectPipeParameter","eatPipeParameter","eatPlaceholderEnd","EndPlaceHolder","Initial","jsonLiteralMap","Map","nextStatus","test","firstChar","valueType","Array","Object","String","Others","objectBracesToMatch","arrayBracketsToMatch","stringQuotesToClose","stringBackslashToEscape","matched","char","JsonValue","parse","eatJsonValue","has","get","LiteralString","transform","compile","inject","transformAndInject","isInjectable","transformNode","data","node","result","field","undefined","defaultValue","processPipes","pipes","injectNode","namespace","subField","SimpleContextMap","SYS","FLAGS","query","getAll","event","overrideApp","app","location","hash","anchor","substr","original","console","error","params","injectNodeFactory","values","tree","elements","token","optionalToken","shift","acceptToken","isArray","includes","placeholder","pipe","identifier","parameters","parseTokens","tokenize","parseInjectableString"],"sourceRoot":""}
1
+ {"version":3,"file":"chunks/4658.23a2bf5a.js","mappings":"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","sources":["webpack:///../../node_modules/@next-core/inject/dist/esm/interfaces.js","webpack:///../../node_modules/@next-core/inject/dist/esm/lexical.js","webpack:///../../node_modules/@next-core/inject/dist/esm/compile.js","webpack:///../../node_modules/@next-core/inject/dist/esm/syntax.js"],"sourcesContent":["export let LexicalStatus = /*#__PURE__*/function (LexicalStatus) {\n LexicalStatus[LexicalStatus[\"Initial\"] = 0] = \"Initial\";\n LexicalStatus[LexicalStatus[\"ExpectField\"] = 1] = \"ExpectField\";\n LexicalStatus[LexicalStatus[\"ExpectOptionalBeginDefault\"] = 2] = \"ExpectOptionalBeginDefault\";\n LexicalStatus[LexicalStatus[\"ExpectDefaultValue\"] = 3] = \"ExpectDefaultValue\";\n LexicalStatus[LexicalStatus[\"ExpectOptionalBeginPipe\"] = 4] = \"ExpectOptionalBeginPipe\";\n LexicalStatus[LexicalStatus[\"ExpectPipeIdentifier\"] = 5] = \"ExpectPipeIdentifier\";\n LexicalStatus[LexicalStatus[\"ExpectOptionalBeginPipeParameter\"] = 6] = \"ExpectOptionalBeginPipeParameter\";\n LexicalStatus[LexicalStatus[\"ExpectPipeParameter\"] = 7] = \"ExpectPipeParameter\";\n LexicalStatus[LexicalStatus[\"ExpectPlaceholderEnd\"] = 8] = \"ExpectPlaceholderEnd\";\n return LexicalStatus;\n}({});\nexport let TokenType = /*#__PURE__*/function (TokenType) {\n TokenType[\"Raw\"] = \"Raw\";\n TokenType[\"BeginPlaceHolder\"] = \"BeginPlaceHolder\";\n TokenType[\"Field\"] = \"Field\";\n TokenType[\"BeginDefault\"] = \"BeginDefault\";\n TokenType[\"LiteralString\"] = \"LiteralString\";\n TokenType[\"BeginPipe\"] = \"BeginPipe\";\n TokenType[\"PipeIdentifier\"] = \"PipeIdentifier\";\n TokenType[\"BeginPipeParameter\"] = \"BeginPipeParameter\";\n TokenType[\"EndPlaceHolder\"] = \"EndPlaceHolder\";\n TokenType[\"JsonValue\"] = \"JsonValue\";\n return TokenType;\n}({});\nexport let JsonValueType = /*#__PURE__*/function (JsonValueType) {\n JsonValueType[JsonValueType[\"Array\"] = 0] = \"Array\";\n JsonValueType[JsonValueType[\"Object\"] = 1] = \"Object\";\n JsonValueType[JsonValueType[\"String\"] = 2] = \"String\";\n JsonValueType[JsonValueType[\"Others\"] = 3] = \"Others\";\n return JsonValueType;\n}({});\n//# sourceMappingURL=interfaces.js.map","import { escapeRegExp } from \"lodash\";\nimport { LexicalStatus, TokenType, JsonValueType } from \"./interfaces.js\";\nexport function getRegExpOfPlaceholder(symbols) {\n return new RegExp(`(${[].concat(symbols).map(symbol => escapeRegExp(symbol)).join(\"|\")})\\\\{`);\n}\nexport function tokenize(raw, symbols) {\n const context = {\n beginPlaceholder: getRegExpOfPlaceholder(symbols),\n raw,\n cursor: 0,\n status: LexicalStatus.Initial,\n tokens: []\n };\n while (context.cursor < raw.length) {\n switch (context.status) {\n case LexicalStatus.Initial:\n eatOptionalRawAndOptionalPlaceholderBegin(context);\n break;\n case LexicalStatus.ExpectField:\n eatWhitespace(context);\n eatField(context);\n break;\n case LexicalStatus.ExpectOptionalBeginDefault:\n eatWhitespace(context);\n eatOptionalDefault(context);\n break;\n case LexicalStatus.ExpectDefaultValue:\n eatWhitespace(context);\n eatDefaultValue(context);\n break;\n case LexicalStatus.ExpectOptionalBeginPipe:\n eatWhitespace(context);\n eatOptionalBeginPipe(context);\n break;\n case LexicalStatus.ExpectPipeIdentifier:\n eatWhitespace(context);\n eatPipeIdentifier(context);\n break;\n case LexicalStatus.ExpectOptionalBeginPipeParameter:\n eatWhitespace(context);\n eatOptionalBeginPipeParameter(context);\n break;\n case LexicalStatus.ExpectPipeParameter:\n eatWhitespace(context);\n eatPipeParameter(context);\n break;\n case LexicalStatus.ExpectPlaceholderEnd:\n eatWhitespace(context);\n eatPlaceholderEnd(context);\n break;\n }\n }\n if (context.status !== LexicalStatus.Initial) {\n throw new Error(\"Expected a placeholder end '}' at the end\");\n }\n return context.tokens;\n}\nfunction eatOptionalRawAndOptionalPlaceholderBegin(context) {\n var _subRaw$match;\n const subRaw = getSubRaw(context);\n const matchedPlaceholder = (_subRaw$match = subRaw.match(context.beginPlaceholder)) === null || _subRaw$match === void 0 ? void 0 : _subRaw$match[0];\n const subCursor = matchedPlaceholder ? subRaw.indexOf(matchedPlaceholder) : -1;\n if (subCursor >= 0 && matchedPlaceholder && subRaw.charAt(subCursor + matchedPlaceholder.length) !== \"{\") {\n const nextCursor = context.cursor + subCursor;\n if (subCursor > 0) {\n context.tokens.push({\n type: TokenType.Raw,\n value: subRaw.substring(0, subCursor)\n });\n }\n context.tokens.push({\n type: TokenType.BeginPlaceHolder,\n loc: {\n start: nextCursor,\n end: nextCursor + matchedPlaceholder.length\n },\n value: matchedPlaceholder.substring(0, matchedPlaceholder.length - 1)\n });\n context.cursor += subCursor + matchedPlaceholder.length;\n context.status = LexicalStatus.ExpectField;\n } else {\n context.tokens.push({\n type: TokenType.Raw,\n value: subRaw\n });\n context.cursor = context.raw.length;\n }\n}\nfunction eatWhitespace(context) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n context.cursor += getSubRaw(context).match(/^[ \\r\\n\\t]*/)[0].length;\n}\nfunction eatField(context) {\n // Only allow alphanumeric, `_`, `.`, `*`, `[`, `]`, `-` and other non-ascii.\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const [value] = getSubRaw(context).match(/^[\\w.*[\\]\\-\\u{80}-\\u{10FFFF}]*/u);\n context.tokens.push({\n type: TokenType.Field,\n value\n });\n context.cursor += value.length;\n context.status = LexicalStatus.ExpectOptionalBeginDefault;\n}\nfunction eatOptionalDefault(context) {\n if (getSubRaw(context).charAt(0) === \"=\") {\n context.tokens.push({\n type: TokenType.BeginDefault\n });\n context.cursor += 1;\n context.status = LexicalStatus.ExpectDefaultValue;\n } else {\n context.status = LexicalStatus.ExpectOptionalBeginPipe;\n }\n}\nfunction eatDefaultValue(context) {\n eatJsonValueOrLiteralString(context, LexicalStatus.ExpectOptionalBeginPipe);\n}\nfunction eatOptionalBeginPipe(context) {\n if (getSubRaw(context).charAt(0) === \"|\") {\n context.tokens.push({\n type: TokenType.BeginPipe\n });\n context.cursor += 1;\n context.status = LexicalStatus.ExpectPipeIdentifier;\n } else {\n context.status = LexicalStatus.ExpectPlaceholderEnd;\n }\n}\nfunction eatPipeIdentifier(context) {\n const matches = getSubRaw(context).match(/^[a-zA-Z]\\w*/);\n if (!matches) {\n throw new Error(`Expected a pipe identifier at index ${context.cursor} near: ${JSON.stringify(context.raw.substring(context.cursor))}`);\n }\n const value = matches[0];\n context.tokens.push({\n type: TokenType.PipeIdentifier,\n value\n });\n context.cursor += value.length;\n context.status = LexicalStatus.ExpectOptionalBeginPipeParameter;\n}\nfunction eatOptionalBeginPipeParameter(context) {\n if (getSubRaw(context).charAt(0) === \":\") {\n context.tokens.push({\n type: TokenType.BeginPipeParameter\n });\n context.cursor += 1;\n context.status = LexicalStatus.ExpectPipeParameter;\n } else {\n context.status = LexicalStatus.ExpectOptionalBeginPipe;\n }\n}\nfunction eatPipeParameter(context) {\n eatJsonValueOrLiteralString(context, LexicalStatus.ExpectOptionalBeginPipeParameter);\n}\nfunction eatPlaceholderEnd(context) {\n if (getSubRaw(context).charAt(0) === \"}\") {\n context.tokens.push({\n type: TokenType.EndPlaceHolder,\n loc: {\n start: context.cursor,\n end: context.cursor + 1\n }\n });\n context.cursor += 1;\n context.status = LexicalStatus.Initial;\n } else {\n throw new Error(`Expected a placeholder end '}' at index ${context.cursor} near: ${JSON.stringify(context.raw.substring(context.cursor))}`);\n }\n}\nconst jsonLiteralMap = new Map([[\"false\", false], [\"null\", null], [\"true\", true]]);\nfunction eatJsonValueOrLiteralString(context, nextStatus) {\n const subRaw = getSubRaw(context);\n if (/[0-9[{\"]/.test(subRaw.charAt(0)) || /-[0-9]/.test(subRaw.substring(0, 2))) {\n eatJsonValue(context, nextStatus);\n } else {\n // Accept any characters except controls and whitespace.\n // Only allow alphanumeric, `_`, `-` and other non-ascii.\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const [value] = getSubRaw(context).match(/^[\\w\\-\\u{80}-\\u{10FFFF}]*/u);\n if (jsonLiteralMap.has(value)) {\n context.tokens.push({\n type: TokenType.JsonValue,\n value: jsonLiteralMap.get(value)\n });\n } else {\n context.tokens.push({\n type: TokenType.LiteralString,\n value\n });\n }\n context.cursor += value.length;\n context.status = nextStatus;\n }\n}\n\n// 我们不需要非常精确地在一段字符串中匹配出一段*完整合法的* JSON value,\n// 而只需要找到一段*可能是完整合法的* JSON value 即可,解析的工作交给 `JSON.parse()`。\n// 由于 JSON 中 object/array/string 的镜像起止符特性,我们尝试去完成这些符号匹配即可。\nfunction eatJsonValue(context, nextStatus) {\n const subRaw = getSubRaw(context);\n const firstChar = subRaw.charAt(0);\n const valueType = firstChar === \"[\" ? JsonValueType.Array : firstChar === \"{\" ? JsonValueType.Object : firstChar === '\"' ? JsonValueType.String : JsonValueType.Others;\n let subCursor = 0;\n let objectBracesToMatch = 0;\n let arrayBracketsToMatch = 0;\n let stringQuotesToClose = false;\n let stringBackslashToEscape = false;\n let matched = false;\n while (subCursor < subRaw.length) {\n const char = subRaw.charAt(subCursor);\n if (stringBackslashToEscape) {\n stringBackslashToEscape = false;\n } else if (stringQuotesToClose) {\n if (char === '\"') {\n stringQuotesToClose = false;\n } else if (char === \"\\\\\") {\n stringBackslashToEscape = true;\n }\n } else {\n switch (char) {\n case \"[\":\n arrayBracketsToMatch += 1;\n break;\n case \"{\":\n objectBracesToMatch += 1;\n break;\n case \"]\":\n arrayBracketsToMatch -= 1;\n break;\n case \"}\":\n objectBracesToMatch -= 1;\n break;\n case '\"':\n stringQuotesToClose = true;\n break;\n }\n }\n subCursor += 1;\n switch (valueType) {\n case JsonValueType.Array:\n matched = !arrayBracketsToMatch;\n break;\n case JsonValueType.Object:\n matched = !objectBracesToMatch;\n break;\n case JsonValueType.String:\n matched = !stringQuotesToClose;\n break;\n default:\n // 对于其它类型,如果下一个字符不再是这些值类型可能的字符时,我们认为 JSON value 完成匹配。\n // 其它可能的值类型:number/boolean/null/undefined。\n matched = subCursor < subRaw.length && /[^a-z0-9E.+-]/.test(subRaw.charAt(subCursor));\n }\n if (matched) {\n break;\n }\n }\n if (!matched) {\n throw new Error(`Failed to match a JSON value at index ${context.cursor} near: ${JSON.stringify(context.raw.substring(context.cursor))}`);\n }\n context.tokens.push({\n type: TokenType.JsonValue,\n value: JSON.parse(subRaw.substring(0, subCursor))\n });\n context.cursor += subCursor;\n context.status = nextStatus;\n}\nfunction getSubRaw(context) {\n return context.raw.substring(context.cursor);\n}\n//# sourceMappingURL=lexical.js.map","import { get } from \"lodash\";\nimport { processPipes } from \"@next-core/pipes\";\nimport { parseInjectableString } from \"./syntax.js\";\nimport { getRegExpOfPlaceholder } from \"./lexical.js\";\nexport function transform(raw, context) {\n return compile(raw, \"@\", context);\n}\nexport function inject(raw, context) {\n return compile(raw, \"$\", context);\n}\nexport function transformAndInject(raw, context) {\n return compile(raw, [\"@\", \"$\"], context);\n}\nfunction compile(raw, symbols, context) {\n // const symbols = [\"@\", \"$\"];\n if (!isInjectable(raw, symbols)) {\n return raw;\n }\n const transformNode = transformNodeFactory(context.data);\n const injectNode = injectNodeFactory(context, raw);\n const tree = parseInjectableString(raw, symbols);\n const values = tree.elements.map(node => node.type === \"RawString\" ? node.value : node.symbol === \"$\" ? injectNode(node) : transformNode(node));\n return reduceCompiledValues(values);\n}\nfunction reduceCompiledValues(values) {\n // If the whole string is a placeholder, we should keep the original value.\n if (values.length === 1) {\n return values[0];\n }\n\n // If an element is `undefined`, `null` or an empty array `[]`, it is converted to an empty string.\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/join#Description\n return values.join(\"\");\n}\nfunction isInjectable(raw, symbols) {\n return getRegExpOfPlaceholder(symbols).test(raw);\n}\nfunction transformNodeFactory(data) {\n return function transformNode(node) {\n // If meet `@{}`, return `data`.\n let result = node.field ? get(data, node.field) : data;\n if (result === undefined) {\n result = node.defaultValue;\n }\n return processPipes(result, node.pipes);\n };\n}\nfunction injectNodeFactory(context, raw) {\n return function injectNode(node) {\n const matches = node.field.match(/^(?:(QUERY(?:_ARRAY)?|EVENT|query|event|APP|HASH|ANCHOR|SYS|FLAGS|CTX)\\.)?(.+)$/);\n if (!matches) {\n // Keep the original raw partial when meet a unknown namespace.\n return raw.substring(node.loc.start, node.loc.end);\n }\n let [, namespace, subField] = matches;\n\n // Support namespace with no subfield such as `${ANCHOR}`.\n // But distinguish with match params. E.g. `${query}` is a match param.\n if (!namespace && /^[A-Z_]+$/.test(subField)) {\n namespace = subField;\n subField = \"*\";\n }\n let result;\n const SimpleContextMap = {\n SYS: \"sys\",\n FLAGS: \"flags\"\n };\n switch (namespace) {\n case \"QUERY\":\n case \"query\":\n if (subField === \"*\") {\n result = context.query;\n } else {\n result = context.query.has(subField) ? context.query.get(subField) : undefined;\n }\n break;\n case \"QUERY_ARRAY\":\n result = context.query.has(subField) ? context.query.getAll(subField) : undefined;\n break;\n case \"EVENT\":\n case \"event\":\n if (context.event === undefined) {\n // Keep the original raw partial when meet a `${EVENT}` in non-event context.\n return raw.substring(node.loc.start, node.loc.end);\n }\n result = subField === \"*\" ? context.event : get(context.event, subField);\n break;\n case \"APP\":\n result = subField === \"*\" ? context.overrideApp ?? context.app : get(context.overrideApp ?? context.app, subField);\n break;\n case \"HASH\":\n result = context.location.hash;\n break;\n case \"SYS\":\n case \"FLAGS\":\n result = subField === \"*\" ? context[SimpleContextMap[namespace]] : get(context[SimpleContextMap[namespace]], subField);\n break;\n case \"ANCHOR\":\n {\n const anchor = context.location.hash ? context.location.hash.substr(1) : null;\n result = subField === \"*\" ? anchor : get(anchor, subField);\n break;\n }\n case \"CTX\":\n {\n const original = raw.substring(node.loc.start, node.loc.end);\n // eslint-disable-next-line no-console\n console.error(`CTX is not supported in placeholder any more: \"${original}\"`);\n return original;\n }\n default:\n if (context.match) {\n result = context.match.params[subField];\n } else {\n // If the context is empty, return the original raw partial.\n return raw.substring(node.loc.start, node.loc.end);\n }\n }\n if (result === undefined) {\n result = node.defaultValue;\n }\n return processPipes(result, node.pipes);\n };\n}\n//# sourceMappingURL=compile.js.map","import { tokenize } from \"./lexical.js\";\nimport { TokenType } from \"./interfaces.js\";\nexport function parseInjectableString(raw, symbols) {\n return parseTokens(tokenize(raw, symbols));\n}\nfunction parseTokens(tokens) {\n const tree = {\n type: \"InjectableString\",\n elements: []\n };\n let token;\n function optionalToken(type) {\n if (type === tokens[0].type) {\n token = tokens.shift();\n return true;\n }\n return false;\n }\n function acceptToken(type) {\n token = tokens.shift();\n if (Array.isArray(type) ? !type.includes(token.type) : type !== token.type) {\n throw new Error(`Expected token: ${type}, received token: ${token.type}`);\n }\n }\n while (tokens.length > 0) {\n if (optionalToken(TokenType.Raw)) {\n tree.elements.push({\n type: \"RawString\",\n value: token.value\n });\n } else {\n acceptToken(TokenType.BeginPlaceHolder);\n const start = token.loc.start;\n const symbol = token.value;\n acceptToken(TokenType.Field);\n const placeholder = {\n type: \"Placeholder\",\n symbol,\n field: token.value,\n defaultValue: undefined,\n pipes: [],\n loc: {\n start,\n end: start\n }\n };\n tree.elements.push(placeholder);\n if (optionalToken(TokenType.BeginDefault)) {\n acceptToken([TokenType.JsonValue, TokenType.LiteralString]);\n placeholder.defaultValue = token.value;\n }\n while (optionalToken(TokenType.BeginPipe)) {\n acceptToken(TokenType.PipeIdentifier);\n const pipe = {\n type: \"PipeCall\",\n identifier: token.value,\n parameters: []\n };\n placeholder.pipes.push(pipe);\n while (optionalToken(TokenType.BeginPipeParameter)) {\n acceptToken([TokenType.JsonValue, TokenType.LiteralString]);\n pipe.parameters.push(token.value);\n }\n }\n acceptToken(TokenType.EndPlaceHolder);\n placeholder.loc.end = token.loc.end;\n }\n }\n return tree;\n}\n//# sourceMappingURL=syntax.js.map"],"names":["LexicalStatus","TokenType","JsonValueType","getRegExpOfPlaceholder","symbols","RegExp","concat","map","symbol","escapeRegExp","join","eatOptionalRawAndOptionalPlaceholderBegin","context","_subRaw$match","subRaw","getSubRaw","matchedPlaceholder","match","beginPlaceholder","subCursor","indexOf","charAt","length","nextCursor","cursor","tokens","push","type","Raw","value","substring","BeginPlaceHolder","loc","start","end","status","ExpectField","raw","eatWhitespace","eatField","Field","ExpectOptionalBeginDefault","eatOptionalDefault","BeginDefault","ExpectDefaultValue","ExpectOptionalBeginPipe","eatDefaultValue","eatJsonValueOrLiteralString","eatOptionalBeginPipe","BeginPipe","ExpectPipeIdentifier","ExpectPlaceholderEnd","eatPipeIdentifier","matches","Error","JSON","stringify","PipeIdentifier","ExpectOptionalBeginPipeParameter","eatOptionalBeginPipeParameter","BeginPipeParameter","ExpectPipeParameter","eatPipeParameter","eatPlaceholderEnd","EndPlaceHolder","Initial","jsonLiteralMap","Map","nextStatus","test","firstChar","valueType","Array","Object","String","Others","objectBracesToMatch","arrayBracketsToMatch","stringQuotesToClose","stringBackslashToEscape","matched","char","JsonValue","parse","eatJsonValue","has","get","LiteralString","transform","compile","inject","transformAndInject","isInjectable","transformNode","data","node","result","field","undefined","defaultValue","processPipes","pipes","injectNode","namespace","subField","SimpleContextMap","SYS","FLAGS","query","getAll","event","overrideApp","app","location","hash","anchor","substr","original","console","error","params","injectNodeFactory","values","tree","elements","token","optionalToken","shift","acceptToken","isArray","includes","placeholder","pipe","identifier","parameters","parseTokens","tokenize","parseInjectableString"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ "use strict";(globalThis.webpackChunk_next_bricks_form_platform=globalThis.webpackChunk_next_bricks_form_platform||[]).push([[5399],{5399:(e,t,s)=>{s.r(t),s.d(t,{enqueueStableLoadBricks:()=>f,enqueueStableLoadProcessors:()=>p,flushStableLoadBricks:()=>d,loadBricksImperatively:()=>m,loadEditorsImperatively:()=>h,loadProcessorsImperatively:()=>w,loadScript:()=>o,loadSharedModule:()=>a,loadStyle:()=>i});const n=new Map;function r(e,t,s,o){if(Array.isArray(t))return Promise.all(t.map((t=>r(e,t,s))));const i=s&&!/^https?:/.test(t)?`${s}${t}`:t,a=n.get(i);if(a)return a;const c=new Promise(((t,s)=>{const n=()=>{window.dispatchEvent(new Event("request.end"))},r=document.createElement("style"===e?"link":"script");"script"===e?Object.assign(r,{type:"text/javascript",async:!0,...o,src:i}):Object.assign(r,{rel:"stylesheet",...o,href:i}),r.onload=()=>{t(i),n()},r.onerror=e=>{s(e),n()};const a=document.currentScript||document.getElementsByTagName("script")[0];a.parentNode.insertBefore(r,a),window.dispatchEvent(new Event("request.start"))}));return n.set(i,c),c}function o(e,t,s){return r("script",e,t,s)}function i(e,t,s){return r("style",e,t,s)}async function a(e,t){await s.I("default");const n=window[e];return await n.init(s.S.default),(await n.get(t))()}let c,l=!1;const u=new Promise((e=>{c=e}));function d(){l||c()}function f(e,t){return E(g("bricks",e,t))}function p(e,t){return E(g("processors",e,t))}async function m(e,t){const s=g("bricks",e,t);return d(),E(s)}function w(e,t){const s=g("processors",e,t);return d(),E(s)}function h(e,t){const s=g("editors",e,t);return d(),E(s)}let v;const y="v2-adapter.load-bricks";function b(e,t,s){const n=new Map,r=new Set,o=t=>{var i;if(r.has(t))return;let a,c,l;if(r.add(t),"editors"===e){l=t;for(const e of s.values()){var u;null!==(u=e.propertyEditors??e.editors)&&void 0!==u&&u.some((e=>e===l))&&(a=e)}}else if("processors"===e||t.includes(".")){[c,l]=t.split(".");const n=`bricks/${"processors"===e?(p=c,p.replace(/[A-Z]/g,(e=>`-${e[0].toLocaleLowerCase()}`)).replace(/_[0-9]/g,(e=>`-${e[1]}`))):c}`;a=s.get(n)}else{let e;l=t;for(const n of s.values()){var d;if(null!==(d=n.elements)&&void 0!==d&&d.some((e=>e===l))){var f;if(null===(f=n.deprecatedElements)||void 0===f||!f.includes(t)){a=n;break}e=n}}!a&&e&&(a=e)}var p;if(!a)return void console.error(`Package for ${t} not found.`);let m=n.get(a);m||(m=[],n.set(a,m)),m.push({fullName:t,lastName:l});const w=null===(i=a.dependencies)||void 0===i?void 0:i[t];if(w)for(const e of w)o(e)};for(const e of t)o(e);return n}async function k(e,t,s){const n=`${"processors"===e||"editors"===e?`./${e}/`:"./"}${"editors"===e?s.fullName:s.lastName}`;try{await a(t,n)}catch(t){throw console.error(t),new Error(`Load ${e} of "${s.fullName}" failed`)}}function P(e,t,s){return t.map((async t=>(await o(t.filePath,window.PUBLIC_ROOT??""),await u,Promise.all(s.get(t).map((s=>k(e,t.id,s)))))))}async function g(e,t,s){const n=new Map;for(const e of s){const t=e.id||$(e.filePath);n.set(t,e)}const r=b(e,t,n);let i;const a=[],u=[];let d;for(const e of r.keys())if(e.id)"bricks/basic"===e.id?i=e:u.push(e);else if(a.push(e),d=n.get("bricks/v2-adapter"),!d)throw new Error("Using v2 bricks, but v2-adapter not found");const f=d;let p;const m=i;if(m){const t=o(m.filePath,window.PUBLIC_ROOT??"");l||(l=!0,t.then((()=>Promise.resolve())).then(c)),p=t.then((()=>Promise.all(r.get(m).map((t=>k(e,m.id,t))))))}const w=[p].concat(P(e,u,r));if(f&&a.length>0){if(!v){const e=b("bricks",[y],n),t=[...e.keys()];v=(async()=>(await Promise.all(P("bricks",t,e)),document.createElement(y)))()}w.push(v.then((t=>Promise.all(a.map((n=>{const o=$(n.filePath).split("/")[1];return t.resolve(f.filePath,"editors"===e?n.propertyEditorsJsFilePath??n.filePath:n.filePath,"bricks"===e?r.get(n).map((e=>`${o}.${e.lastName}`)):[],n.dll,s)}))))))}await Promise.all(w)}async function E(e){window.dispatchEvent(new Event("request.start"));try{await e}finally{window.dispatchEvent(new Event("request.end"))}}function $(e){return e.split("/").slice(0,2).join("/")}}}]);
2
+ //# sourceMappingURL=5399.53a57f62.js.map