@next-core/runtime 1.2.1 → 1.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/dist/cjs/StoryboardFunctionRegistry.js +14 -0
  2. package/dist/cjs/StoryboardFunctionRegistry.js.map +1 -1
  3. package/dist/cjs/index.js +2 -2
  4. package/dist/cjs/index.js.map +1 -1
  5. package/dist/cjs/internal/Runtime.js +14 -10
  6. package/dist/cjs/internal/Runtime.js.map +1 -1
  7. package/dist/cjs/internal/compute/checkIf.js +4 -0
  8. package/dist/cjs/internal/compute/checkIf.js.map +1 -1
  9. package/dist/cjs/internal/compute/getNextStateOfUseBrick.js +4 -4
  10. package/dist/cjs/internal/compute/getNextStateOfUseBrick.js.map +1 -1
  11. package/dist/cjs/internal/enums.js +4 -4
  12. package/dist/cjs/internal/enums.js.map +1 -1
  13. package/dist/cjs/internal/historyExtended.js +21 -0
  14. package/dist/cjs/internal/historyExtended.js.map +1 -1
  15. package/dist/cjs/internal/mediaQuery.js +4 -4
  16. package/dist/cjs/internal/mediaQuery.js.map +1 -1
  17. package/dist/esm/CustomTemplates.js.map +1 -1
  18. package/dist/esm/StoryboardFunctionRegistry.js +12 -0
  19. package/dist/esm/StoryboardFunctionRegistry.js.map +1 -1
  20. package/dist/esm/index.js +2 -2
  21. package/dist/esm/index.js.map +1 -1
  22. package/dist/esm/internal/CustomTemplates/bindTemplateProxy.js +2 -2
  23. package/dist/esm/internal/CustomTemplates/bindTemplateProxy.js.map +1 -1
  24. package/dist/esm/internal/CustomTemplates/setupTemplateProxy.js +2 -2
  25. package/dist/esm/internal/CustomTemplates/setupTemplateProxy.js.map +1 -1
  26. package/dist/esm/internal/Runtime.js +14 -10
  27. package/dist/esm/internal/Runtime.js.map +1 -1
  28. package/dist/esm/internal/checkInstalledApps.js.map +1 -1
  29. package/dist/esm/internal/compute/checkIf.js +5 -0
  30. package/dist/esm/internal/compute/checkIf.js.map +1 -1
  31. package/dist/esm/internal/compute/getNextStateOfUseBrick.js +3 -3
  32. package/dist/esm/internal/compute/getNextStateOfUseBrick.js.map +1 -1
  33. package/dist/esm/internal/compute/listenOnTrackingContext.js.map +1 -1
  34. package/dist/esm/internal/data/DataStore.js.map +1 -1
  35. package/dist/esm/internal/data/FlowApiProvider.js +6 -6
  36. package/dist/esm/internal/data/FlowApiProvider.js.map +1 -1
  37. package/dist/esm/internal/enums.js +3 -3
  38. package/dist/esm/internal/enums.js.map +1 -1
  39. package/dist/esm/internal/historyExtended.js +21 -0
  40. package/dist/esm/internal/historyExtended.js.map +1 -1
  41. package/dist/esm/internal/loadBootstrapData.js +19 -18
  42. package/dist/esm/internal/loadBootstrapData.js.map +1 -1
  43. package/dist/esm/internal/mediaQuery.js +3 -3
  44. package/dist/esm/internal/mediaQuery.js.map +1 -1
  45. package/dist/esm/internal/menu/interfaces.js +4 -0
  46. package/dist/esm/internal/menu/interfaces.js.map +1 -1
  47. package/dist/esm/internal/menu/mergeMenu.js +11 -10
  48. package/dist/esm/internal/menu/mergeMenu.js.map +1 -1
  49. package/dist/types/index.d.ts +2 -1
  50. package/dist/types/internal/Runtime.d.ts +1 -4
  51. package/dist/types/tsdoc-metadata.json +11 -0
  52. package/package.json +16 -12
@@ -1 +1 @@
1
- {"version":3,"file":"FlowApiProvider.js","names":["createProviderClass","http","isEmpty","isObject","FLOW_API_PROVIDER","hasFields","ext_fields","type","some","item","source","processExtFields","hasQueryParams","hasBodyParams","_len","arguments","length","args","Array","_key","data","params","options","_objectSpread","hasFileType","request","processFields","fields","field","includes","transformFormData","FormData","formData","_loop","key","value","isArray","forEach","v","append","Blob","Date","Object","entries","_ref","k","concat","callFlowApi","_x","_callFlowApi","apply","_asyncToGenerator","_ref2","url","originalUri","method","responseWrapper","isFileType","isSimpleRequest","toLowerCase","defaultOptions","responseType","response","_len2","_key2","_originalUri$match$le","_originalUri$match","_request$fields$lengt","_request$fields","noParams","match","simpleRequest","isUploadType","result","requestWithBody","registerFlowApiProvider","customElements","define"],"sources":["../../../../src/internal/data/FlowApiProvider.ts"],"sourcesContent":["import { createProviderClass } from \"@next-core/utils/storyboard\";\nimport {\n ExtField,\n ContractRequest,\n ContractField,\n ContractFieldItem,\n} from \"@next-core/types\";\nimport { http, HttpOptions, HttpParams } from \"@next-core/http\";\nimport { isEmpty, isObject } from \"lodash\";\n\nexport const FLOW_API_PROVIDER = \"core.provider-flow-api\";\n\nexport interface CustomApiParams {\n url: string;\n originalUri?: string;\n method?: string;\n responseWrapper?: boolean;\n ext_fields?: ExtField[];\n request?: ContractRequest;\n isFileType?: boolean;\n}\nfunction hasFields(ext_fields: ExtField[], type: \"query\" | \"body\"): boolean {\n return ext_fields.some((item) => item.source === type);\n}\n\nexport function processExtFields(\n ext_fields: ExtField[],\n ...args: unknown[]\n): { data: unknown; options: HttpOptions } {\n const hasQueryParams = hasFields(ext_fields, \"query\");\n const hasBodyParams = hasFields(ext_fields, \"body\");\n\n if (hasQueryParams) {\n if (hasBodyParams) {\n const [data, params, options] = args;\n return {\n data: data,\n options: {\n params: params as HttpParams,\n ...(options as HttpOptions),\n },\n };\n }\n\n const [params, options] = args;\n return {\n data: {},\n options: {\n params: params as HttpParams,\n ...(options as HttpOptions),\n },\n };\n }\n\n // only hasBodyParams or default\n const [data, options] = args;\n return {\n data,\n options: options as HttpOptions,\n };\n}\n\nexport function hasFileType(request: ContractRequest | undefined): boolean {\n if (!request || request.type !== \"object\") {\n return false;\n }\n\n const processFields = (fields: ContractField[] | undefined): boolean => {\n return (\n !isEmpty(fields) &&\n fields!.some(\n (field) =>\n [\"file\", \"file[]\"].includes((field as ContractFieldItem).type) ||\n processFields((field as ContractFieldItem).fields)\n )\n );\n };\n\n return processFields(request.fields);\n}\n\nexport function transformFormData(\n data: Record<string, unknown> | FormData\n): FormData {\n if (data instanceof FormData) {\n return data;\n }\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 (\n isObject(value) &&\n !(value instanceof Blob) &&\n !(value instanceof Date)\n ) {\n Object.entries(value).forEach(([k, v]) => {\n formData.append(`${key}[${k}]`, v);\n });\n } else {\n formData.append(key, value as string);\n }\n }\n\n return formData;\n}\n\nexport async function callFlowApi(\n {\n url,\n originalUri,\n method = \"GET\",\n responseWrapper = true,\n ext_fields = [],\n request,\n isFileType,\n }: CustomApiParams,\n ...args: unknown[]\n): Promise<unknown> {\n const isSimpleRequest = [\"get\", \"delete\", \"head\"].includes(\n method.toLowerCase()\n );\n const defaultOptions: HttpOptions = isFileType\n ? { responseType: \"blob\" }\n : {};\n let response: { data?: unknown };\n\n if (isSimpleRequest) {\n const noParams =\n originalUri && request?.type === \"object\"\n ? (originalUri.match(/:([^/]+)/g)?.length ?? 0) ===\n (request.fields?.length ?? 0)\n : false;\n let params: HttpParams | undefined;\n let options: HttpOptions | undefined;\n\n if (noParams) {\n [options] = args as [HttpOptions?];\n } else {\n [params, options] = args as [HttpParams?, HttpOptions?];\n }\n\n response = await http.simpleRequest(method, url, {\n params,\n ...defaultOptions,\n ...(options as HttpOptions),\n });\n } else {\n const isUploadType = hasFileType(request);\n const result = processExtFields(ext_fields, ...args);\n\n response = await http.requestWithBody(\n method,\n url,\n isUploadType ? transformFormData(result.data as any) : result.data,\n { ...defaultOptions, ...result.options }\n );\n }\n\n return (isFileType ? false : responseWrapper) ? response.data : response;\n}\n\nexport function registerFlowApiProvider(): void {\n customElements.define(FLOW_API_PROVIDER, createProviderClass(callFlowApi));\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"FlowApiProvider.js","names":["createProviderClass","http","isEmpty","isObject","FLOW_API_PROVIDER","hasFields","ext_fields","type","some","item","source","processExtFields","hasQueryParams","hasBodyParams","_len","arguments","length","args","Array","_key","data","params","options","_objectSpread","hasFileType","request","processFields","fields","field","includes","transformFormData","FormData","formData","_loop","key","isArray","value","forEach","v","append","Blob","Date","Object","entries","_ref","k","concat","callFlowApi","_x","_callFlowApi","apply","_asyncToGenerator","_ref2","url","originalUri","method","responseWrapper","isFileType","isSimpleRequest","toLowerCase","defaultOptions","responseType","response","_len2","_key2","_originalUri$match$le","_originalUri$match","_request$fields$lengt","_request$fields","noParams","match","simpleRequest","isUploadType","result","requestWithBody","registerFlowApiProvider","customElements","define"],"sources":["../../../../src/internal/data/FlowApiProvider.ts"],"sourcesContent":["import { createProviderClass } from \"@next-core/utils/storyboard\";\nimport {\n ExtField,\n ContractRequest,\n ContractField,\n ContractFieldItem,\n} from \"@next-core/types\";\nimport { http, HttpOptions, HttpParams } from \"@next-core/http\";\nimport { isEmpty, isObject } from \"lodash\";\n\nexport const FLOW_API_PROVIDER = \"core.provider-flow-api\";\n\nexport interface CustomApiParams {\n url: string;\n originalUri?: string;\n method?: string;\n responseWrapper?: boolean;\n ext_fields?: ExtField[];\n request?: ContractRequest;\n isFileType?: boolean;\n}\nfunction hasFields(ext_fields: ExtField[], type: \"query\" | \"body\"): boolean {\n return ext_fields.some((item) => item.source === type);\n}\n\nexport function processExtFields(\n ext_fields: ExtField[],\n ...args: unknown[]\n): { data: unknown; options: HttpOptions } {\n const hasQueryParams = hasFields(ext_fields, \"query\");\n const hasBodyParams = hasFields(ext_fields, \"body\");\n\n if (hasQueryParams) {\n if (hasBodyParams) {\n const [data, params, options] = args;\n return {\n data: data,\n options: {\n params: params as HttpParams,\n ...(options as HttpOptions),\n },\n };\n }\n\n const [params, options] = args;\n return {\n data: {},\n options: {\n params: params as HttpParams,\n ...(options as HttpOptions),\n },\n };\n }\n\n // only hasBodyParams or default\n const [data, options] = args;\n return {\n data,\n options: options as HttpOptions,\n };\n}\n\nexport function hasFileType(request: ContractRequest | undefined): boolean {\n if (!request || request.type !== \"object\") {\n return false;\n }\n\n const processFields = (fields: ContractField[] | undefined): boolean => {\n return (\n !isEmpty(fields) &&\n fields!.some(\n (field) =>\n [\"file\", \"file[]\"].includes((field as ContractFieldItem).type) ||\n processFields((field as ContractFieldItem).fields)\n )\n );\n };\n\n return processFields(request.fields);\n}\n\nexport function transformFormData(\n data: Record<string, unknown> | FormData\n): FormData {\n if (data instanceof FormData) {\n return data;\n }\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 (\n isObject(value) &&\n !(value instanceof Blob) &&\n !(value instanceof Date)\n ) {\n Object.entries(value).forEach(([k, v]) => {\n formData.append(`${key}[${k}]`, v);\n });\n } else {\n formData.append(key, value as string);\n }\n }\n\n return formData;\n}\n\nexport async function callFlowApi(\n {\n url,\n originalUri,\n method = \"GET\",\n responseWrapper = true,\n ext_fields = [],\n request,\n isFileType,\n }: CustomApiParams,\n ...args: unknown[]\n): Promise<unknown> {\n const isSimpleRequest = [\"get\", \"delete\", \"head\"].includes(\n method.toLowerCase()\n );\n const defaultOptions: HttpOptions = isFileType\n ? { responseType: \"blob\" }\n : {};\n let response: { data?: unknown };\n\n if (isSimpleRequest) {\n const noParams =\n originalUri && request?.type === \"object\"\n ? (originalUri.match(/:([^/]+)/g)?.length ?? 0) ===\n (request.fields?.length ?? 0)\n : false;\n let params: HttpParams | undefined;\n let options: HttpOptions | undefined;\n\n if (noParams) {\n [options] = args as [HttpOptions?];\n } else {\n [params, options] = args as [HttpParams?, HttpOptions?];\n }\n\n response = await http.simpleRequest(method, url, {\n params,\n ...defaultOptions,\n ...(options as HttpOptions),\n });\n } else {\n const isUploadType = hasFileType(request);\n const result = processExtFields(ext_fields, ...args);\n\n response = await http.requestWithBody(\n method,\n url,\n isUploadType ? transformFormData(result.data as any) : result.data,\n { ...defaultOptions, ...result.options }\n );\n }\n\n return (isFileType ? false : responseWrapper) ? response.data : response;\n}\n\nexport function registerFlowApiProvider(): void {\n customElements.define(FLOW_API_PROVIDER, createProviderClass(callFlowApi));\n}\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- export var RenderTag;
2
- (function (RenderTag) {
1
+ export var RenderTag = /*#__PURE__*/function (RenderTag) {
3
2
  RenderTag[RenderTag["ROOT"] = 1] = "ROOT";
4
3
  RenderTag[RenderTag["BRICK"] = 2] = "BRICK";
5
- })(RenderTag || (RenderTag = {}));
4
+ return RenderTag;
5
+ }({});
6
6
  //# sourceMappingURL=enums.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"enums.js","names":["RenderTag"],"sources":["../../../src/internal/enums.ts"],"sourcesContent":["export enum RenderTag {\n ROOT = 1,\n BRICK = 2,\n}\n"],"mappings":"AAAA,WAAYA,SAAS;AAGpB,WAHWA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;AAAA,GAATA,SAAS,KAATA,SAAS"}
1
+ {"version":3,"file":"enums.js","names":["RenderTag"],"sources":["../../../src/internal/enums.ts"],"sourcesContent":["export enum RenderTag {\n ROOT = 1,\n BRICK = 2,\n}\n"],"mappings":"AAAA,WAAYA,SAAS,0BAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAAA,OAATA,SAAS;AAAA"}
@@ -129,4 +129,25 @@ function historyOverridden(browserHistory) {
129
129
  replace: updateFactory("replace")
130
130
  };
131
131
  }
132
+
133
+ /**
134
+ * 扩展的系统会话对象。
135
+ */
136
+
137
+ /**
138
+ * 更新指定的 query 参数。
139
+ *
140
+ * @param query - 要更新的 query 参数。
141
+ * @param options - 选项。
142
+ */
143
+
144
+ /** 更新 query 参数时的选项 */
145
+
146
+ /**
147
+ * 设置指定的 anchor (URL hash)地址,此方法默认不会触发页面重新渲染。
148
+ * 往浏览器会话历史栈中推入一条新记录。
149
+ *
150
+ * @param hash - Hash 地址。
151
+ * @param state - 会话状态设置。
152
+ */
132
153
  //# sourceMappingURL=historyExtended.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"historyExtended.js","names":["parsePath","getBasePath","_internalApiMatchStoryboard","isOutsideApp","blocked","getUserConfirmation","message","callback","confirm","historyExtended","browserHistory","push","originalPush","replace","originalReplace","location","state","updateQueryFactory","method","updateQuery","query","options","arguments","length","undefined","extraQuery","clear","keepHash","_objectWithoutProperties","_excluded","urlSearchParams","URLSearchParams","search","params","Object","assign","key","value","entries","Array","isArray","delete","item","append","set","concat","toString","hash","pushAnchor","_objectSpread","notify","reload","blockMessage","setBlockMessage","getBlockMessage","unblock","pushQuery","replaceQuery","historyOverridden","updateFactory","update","path","pathname","pathIsString","startsWith","substring","createHref"],"sources":["../../../src/internal/historyExtended.ts"],"sourcesContent":["import {\n History,\n LocationDescriptor,\n LocationDescriptorObject,\n parsePath,\n} from \"history\";\nimport { getBasePath } from \"../getBasePath.js\";\nimport { _internalApiMatchStoryboard } from \"./Runtime.js\";\nimport { isOutsideApp } from \"./matchStoryboard.js\";\n\nlet blocked = false;\nexport function getUserConfirmation(\n message: string,\n callback: (result: boolean) => void\n): void {\n blocked = !confirm(message);\n callback(!blocked);\n}\n\nexport function historyExtended(\n browserHistory: History<NextHistoryState>\n): ExtendedHistory {\n const { push: originalPush, replace: originalReplace } = browserHistory;\n\n function push(\n location: LocationDescriptor<NextHistoryState>,\n state?: NextHistoryState,\n callback?: (blocked: boolean) => void\n ): void {\n blocked = false;\n originalPush(location, state);\n callback?.(blocked);\n }\n\n function replace(\n location: LocationDescriptor<NextHistoryState>,\n state?: NextHistoryState,\n callback?: (blocked: boolean) => void\n ): void {\n blocked = false;\n originalReplace(location, state);\n callback?.(blocked);\n }\n\n function updateQueryFactory(method: \"push\" | \"replace\"): UpdateQueryFunction {\n return function updateQuery(query, options = {}, callback?): void {\n const { extraQuery, clear, keepHash, ...state } = options;\n const urlSearchParams = new URLSearchParams(\n clear ? \"\" : browserHistory.location.search\n );\n const params: Record<string, string | string[]> = {};\n Object.assign(params, query, extraQuery);\n for (const [key, value] of Object.entries(params)) {\n if (Array.isArray(value)) {\n urlSearchParams.delete(key);\n for (const item of value) {\n urlSearchParams.append(key, item);\n }\n } else if (value === undefined || value === null || value === \"\") {\n urlSearchParams.delete(key);\n } else {\n urlSearchParams.set(key, value);\n }\n }\n (method === \"push\" ? push : replace)(\n `?${urlSearchParams.toString()}${\n keepHash ? browserHistory.location.hash : \"\"\n }`,\n state,\n callback\n );\n };\n }\n\n function pushAnchor(\n hash: string,\n state?: NextHistoryState,\n callback?: (blocked: boolean) => void\n ): void {\n push(\n {\n ...browserHistory.location,\n key: undefined,\n hash,\n state: {\n // The default notify is false\n notify: false,\n ...state,\n },\n },\n undefined,\n callback\n );\n }\n\n function reload(callback?: (blocked: boolean) => void): void {\n replace(\n {\n ...browserHistory.location,\n state: {\n ...browserHistory.location.state,\n // Always notify\n notify: true,\n },\n },\n undefined,\n callback\n );\n }\n\n let blockMessage: string | undefined;\n\n function setBlockMessage(message: string | undefined): void {\n blockMessage = message;\n }\n\n function getBlockMessage(): string | undefined {\n return blockMessage;\n }\n\n function unblock(): void {\n blockMessage = undefined;\n }\n\n return {\n pushQuery: updateQueryFactory(\"push\"),\n replaceQuery: updateQueryFactory(\"replace\"),\n pushAnchor: pushAnchor,\n reload,\n setBlockMessage,\n getBlockMessage,\n unblock,\n ...historyOverridden({ ...browserHistory, push, replace }),\n };\n}\n\n/**\n * Override history for standalone micro apps.\n *\n * when `push` or `replace` to other apps, force page refresh.\n */\nfunction historyOverridden(\n browserHistory: History<NextHistoryState> &\n Pick<ExtendedHistory, \"push\" | \"replace\">\n): Pick<ExtendedHistory, \"push\" | \"replace\"> {\n const { push: originalPush, replace: originalReplace } = browserHistory;\n function updateFactory(method: \"push\" | \"replace\"): ExtendedHistory[\"push\"] {\n return function update(path, state?, callback?) {\n let pathname: string | undefined;\n const pathIsString = typeof path === \"string\";\n if (pathIsString) {\n pathname = parsePath(path).pathname;\n } else {\n pathname = path.pathname;\n }\n\n // When history.push or history.replace is performing with an absolute pathname,\n // force load the target page when it is a page of an outside app.\n if (\n typeof pathname === \"string\" &&\n pathname.startsWith(\"/\") &&\n isOutsideApp(_internalApiMatchStoryboard(pathname))\n ) {\n // Going to outside apps.\n return location[method === \"push\" ? \"assign\" : \"replace\"](\n pathIsString\n ? getBasePath() + path.substring(1)\n : browserHistory.createHref(\n path as LocationDescriptorObject<NextHistoryState>\n )\n );\n }\n\n return (method === \"push\" ? originalPush : originalReplace)(\n path as string,\n state,\n callback\n );\n };\n }\n return {\n push: updateFactory(\"push\"),\n replace: updateFactory(\"replace\"),\n };\n}\n\nexport interface NextHistoryState {\n notify?: boolean;\n from?: LocationDescriptor<NextHistoryState>;\n}\n\n/**\n * 扩展的系统会话对象。\n */\nexport interface ExtendedHistory {\n /**\n * 更新指定的 query 参数,会保留当前其它 query 参数,往浏览器会话历史栈中推入一条新记录。\n */\n pushQuery: UpdateQueryFunction;\n\n /**\n * 更新指定的 query 参数,会保留当前其它 query 参数,替换浏览器会话历史栈中最新的一条记录。\n */\n replaceQuery: UpdateQueryFunction;\n\n /** {@inheritDoc UpdateAnchorFunction} */\n pushAnchor: UpdateAnchorFunction;\n\n /** 重载当前会话,即触发页面重新渲染。与 location.reload() 不同,它不会触发浏览器页面的重载。 */\n reload: (callback?: (blocked: boolean) => void) => void;\n\n /** @internal */\n setBlockMessage: (message: string | undefined) => void;\n\n /** @internal */\n getBlockMessage: () => string | undefined;\n\n /** 取消之前设置的阻止页面离开信息的设置。 */\n unblock: () => void;\n\n /** 推入一条记录。*/\n push: (\n location: LocationDescriptor<NextHistoryState>,\n state?: NextHistoryState,\n callback?: (blocked: boolean) => void\n ) => void;\n\n /** 替换一条记录。*/\n replace: (\n location: LocationDescriptor<NextHistoryState>,\n state?: NextHistoryState,\n callback?: (blocked: boolean) => void\n ) => void;\n}\n\n/**\n * 更新指定的 query 参数。\n *\n * @param query - 要更新的 query 参数。\n * @param options - 选项。\n */\nexport type UpdateQueryFunction = (\n query: Record<string, unknown>,\n options?: UpdateQueryOptions,\n callback?: (blocked: boolean) => void\n) => void;\n\n/** 更新 query 参数时的选项 */\nexport interface UpdateQueryOptions extends NextHistoryState {\n /** 额外要更新的 query 参数。 */\n extraQuery?: Record<string, unknown>;\n /** 是否同时清除当前的所有其它 query 参数。 */\n clear?: boolean;\n /** 是否保留当前 hash 参数。 */\n keepHash?: boolean;\n}\n\n/**\n * 设置指定的 anchor (URL hash)地址,此方法默认不会触发页面重新渲染。\n * 往浏览器会话历史栈中推入一条新记录。\n *\n * @param hash - Hash 地址。\n * @param state - 会话状态设置。\n */\nexport type UpdateAnchorFunction = (\n hash: string,\n state?: NextHistoryState,\n callback?: (blocked: boolean) => void\n) => void;\n"],"mappings":";;;AAAA,SAIEA,SAAS,QACJ,SAAS;AAChB,SAASC,WAAW,QAAQ,mBAAmB;AAC/C,SAASC,2BAA2B,QAAQ,cAAc;AAC1D,SAASC,YAAY,QAAQ,sBAAsB;AAEnD,IAAIC,OAAO,GAAG,KAAK;AACnB,OAAO,SAASC,mBAAmBA,CACjCC,OAAe,EACfC,QAAmC,EAC7B;EACNH,OAAO,GAAG,CAACI,OAAO,CAACF,OAAO,CAAC;EAC3BC,QAAQ,CAAC,CAACH,OAAO,CAAC;AACpB;AAEA,OAAO,SAASK,eAAeA,CAC7BC,cAAyC,EACxB;EACjB,IAAM;IAAEC,IAAI,EAAEC,YAAY;IAAEC,OAAO,EAAEC;EAAgB,CAAC,GAAGJ,cAAc;EAEvE,SAASC,IAAIA,CACXI,QAA8C,EAC9CC,KAAwB,EACxBT,QAAqC,EAC/B;IACNH,OAAO,GAAG,KAAK;IACfQ,YAAY,CAACG,QAAQ,EAAEC,KAAK,CAAC;IAC7BT,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAGH,OAAO,CAAC;EACrB;EAEA,SAASS,OAAOA,CACdE,QAA8C,EAC9CC,KAAwB,EACxBT,QAAqC,EAC/B;IACNH,OAAO,GAAG,KAAK;IACfU,eAAe,CAACC,QAAQ,EAAEC,KAAK,CAAC;IAChCT,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAGH,OAAO,CAAC;EACrB;EAEA,SAASa,kBAAkBA,CAACC,MAA0B,EAAuB;IAC3E,OAAO,SAASC,WAAWA,CAACC,KAAK,EAAiC;MAAA,IAA/BC,OAAO,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;MAAA,IAAEf,QAAS,GAAAe,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAE,SAAA;MACxD,IAAM;UAAEC,UAAU;UAAEC,KAAK;UAAEC;QAAmB,CAAC,GAAGN,OAAO;QAAjBL,KAAK,GAAAY,wBAAA,CAAKP,OAAO,EAAAQ,SAAA;MACzD,IAAMC,eAAe,GAAG,IAAIC,eAAe,CACzCL,KAAK,GAAG,EAAE,GAAGhB,cAAc,CAACK,QAAQ,CAACiB,MAAM,CAC5C;MACD,IAAMC,MAAyC,GAAG,CAAC,CAAC;MACpDC,MAAM,CAACC,MAAM,CAACF,MAAM,EAAEb,KAAK,EAAEK,UAAU,CAAC;MACxC,KAAK,IAAM,CAACW,GAAG,EAAEC,KAAK,CAAC,IAAIH,MAAM,CAACI,OAAO,CAACL,MAAM,CAAC,EAAE;QACjD,IAAIM,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,EAAE;UACxBP,eAAe,CAACW,MAAM,CAACL,GAAG,CAAC;UAC3B,KAAK,IAAMM,IAAI,IAAIL,KAAK,EAAE;YACxBP,eAAe,CAACa,MAAM,CAACP,GAAG,EAAEM,IAAI,CAAC;UACnC;QACF,CAAC,MAAM,IAAIL,KAAK,KAAKb,SAAS,IAAIa,KAAK,KAAK,IAAI,IAAIA,KAAK,KAAK,EAAE,EAAE;UAChEP,eAAe,CAACW,MAAM,CAACL,GAAG,CAAC;QAC7B,CAAC,MAAM;UACLN,eAAe,CAACc,GAAG,CAACR,GAAG,EAAEC,KAAK,CAAC;QACjC;MACF;MACA,CAACnB,MAAM,KAAK,MAAM,GAAGP,IAAI,GAAGE,OAAO,MAAAgC,MAAA,CAC7Bf,eAAe,CAACgB,QAAQ,EAAE,EAAAD,MAAA,CAC5BlB,QAAQ,GAAGjB,cAAc,CAACK,QAAQ,CAACgC,IAAI,GAAG,EAAE,GAE9C/B,KAAK,EACLT,QAAQ,CACT;IACH,CAAC;EACH;EAEA,SAASyC,UAAUA,CACjBD,IAAY,EACZ/B,KAAwB,EACxBT,QAAqC,EAC/B;IACNI,IAAI,CAAAsC,aAAA,CAAAA,aAAA,KAEGvC,cAAc,CAACK,QAAQ;MAC1BqB,GAAG,EAAEZ,SAAS;MACduB,IAAI;MACJ/B,KAAK,EAAAiC,aAAA;QACH;QACAC,MAAM,EAAE;MAAK,GACVlC,KAAK;IACT,IAEHQ,SAAS,EACTjB,QAAQ,CACT;EACH;EAEA,SAAS4C,MAAMA,CAAC5C,QAAqC,EAAQ;IAC3DM,OAAO,CAAAoC,aAAA,CAAAA,aAAA,KAEAvC,cAAc,CAACK,QAAQ;MAC1BC,KAAK,EAAAiC,aAAA,CAAAA,aAAA,KACAvC,cAAc,CAACK,QAAQ,CAACC,KAAK;QAChC;QACAkC,MAAM,EAAE;MAAI;IACb,IAEH1B,SAAS,EACTjB,QAAQ,CACT;EACH;EAEA,IAAI6C,YAAgC;EAEpC,SAASC,eAAeA,CAAC/C,OAA2B,EAAQ;IAC1D8C,YAAY,GAAG9C,OAAO;EACxB;EAEA,SAASgD,eAAeA,CAAA,EAAuB;IAC7C,OAAOF,YAAY;EACrB;EAEA,SAASG,OAAOA,CAAA,EAAS;IACvBH,YAAY,GAAG5B,SAAS;EAC1B;EAEA,OAAAyB,aAAA;IACEO,SAAS,EAAEvC,kBAAkB,CAAC,MAAM,CAAC;IACrCwC,YAAY,EAAExC,kBAAkB,CAAC,SAAS,CAAC;IAC3C+B,UAAU,EAAEA,UAAU;IACtBG,MAAM;IACNE,eAAe;IACfC,eAAe;IACfC;EAAO,GACJG,iBAAiB,CAAAT,aAAA,CAAAA,aAAA,KAAMvC,cAAc;IAAEC,IAAI;IAAEE;EAAO,GAAG;AAE9D;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS6C,iBAAiBA,CACxBhD,cAC2C,EACA;EAC3C,IAAM;IAAEC,IAAI,EAAEC,YAAY;IAAEC,OAAO,EAAEC;EAAgB,CAAC,GAAGJ,cAAc;EACvE,SAASiD,aAAaA,CAACzC,MAA0B,EAA2B;IAC1E,OAAO,SAAS0C,MAAMA,CAACC,IAAI,EAAE7C,KAAM,EAAET,QAAS,EAAE;MAC9C,IAAIuD,QAA4B;MAChC,IAAMC,YAAY,GAAG,OAAOF,IAAI,KAAK,QAAQ;MAC7C,IAAIE,YAAY,EAAE;QAChBD,QAAQ,GAAG9D,SAAS,CAAC6D,IAAI,CAAC,CAACC,QAAQ;MACrC,CAAC,MAAM;QACLA,QAAQ,GAAGD,IAAI,CAACC,QAAQ;MAC1B;;MAEA;MACA;MACA,IACE,OAAOA,QAAQ,KAAK,QAAQ,IAC5BA,QAAQ,CAACE,UAAU,CAAC,GAAG,CAAC,IACxB7D,YAAY,CAACD,2BAA2B,CAAC4D,QAAQ,CAAC,CAAC,EACnD;QACA;QACA,OAAO/C,QAAQ,CAACG,MAAM,KAAK,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC,CACvD6C,YAAY,GACR9D,WAAW,EAAE,GAAG4D,IAAI,CAACI,SAAS,CAAC,CAAC,CAAC,GACjCvD,cAAc,CAACwD,UAAU,CACvBL,IAAI,CACL,CACN;MACH;MAEA,OAAO,CAAC3C,MAAM,KAAK,MAAM,GAAGN,YAAY,GAAGE,eAAe,EACxD+C,IAAI,EACJ7C,KAAK,EACLT,QAAQ,CACT;IACH,CAAC;EACH;EACA,OAAO;IACLI,IAAI,EAAEgD,aAAa,CAAC,MAAM,CAAC;IAC3B9C,OAAO,EAAE8C,aAAa,CAAC,SAAS;EAClC,CAAC;AACH"}
1
+ {"version":3,"file":"historyExtended.js","names":["parsePath","getBasePath","_internalApiMatchStoryboard","isOutsideApp","blocked","getUserConfirmation","message","callback","confirm","historyExtended","browserHistory","push","originalPush","replace","originalReplace","location","state","updateQueryFactory","method","updateQuery","query","options","arguments","length","undefined","extraQuery","clear","keepHash","_objectWithoutProperties","_excluded","urlSearchParams","URLSearchParams","search","params","Object","assign","key","value","entries","Array","isArray","delete","item","append","set","concat","toString","hash","pushAnchor","_objectSpread","notify","reload","blockMessage","setBlockMessage","getBlockMessage","unblock","pushQuery","replaceQuery","historyOverridden","updateFactory","update","path","pathname","pathIsString","startsWith","substring","createHref"],"sources":["../../../src/internal/historyExtended.ts"],"sourcesContent":["import {\n History,\n LocationDescriptor,\n LocationDescriptorObject,\n parsePath,\n} from \"history\";\nimport { getBasePath } from \"../getBasePath.js\";\nimport { _internalApiMatchStoryboard } from \"./Runtime.js\";\nimport { isOutsideApp } from \"./matchStoryboard.js\";\n\nlet blocked = false;\nexport function getUserConfirmation(\n message: string,\n callback: (result: boolean) => void\n): void {\n blocked = !confirm(message);\n callback(!blocked);\n}\n\nexport function historyExtended(\n browserHistory: History<NextHistoryState>\n): ExtendedHistory {\n const { push: originalPush, replace: originalReplace } = browserHistory;\n\n function push(\n location: LocationDescriptor<NextHistoryState>,\n state?: NextHistoryState,\n callback?: (blocked: boolean) => void\n ): void {\n blocked = false;\n originalPush(location, state);\n callback?.(blocked);\n }\n\n function replace(\n location: LocationDescriptor<NextHistoryState>,\n state?: NextHistoryState,\n callback?: (blocked: boolean) => void\n ): void {\n blocked = false;\n originalReplace(location, state);\n callback?.(blocked);\n }\n\n function updateQueryFactory(method: \"push\" | \"replace\"): UpdateQueryFunction {\n return function updateQuery(query, options = {}, callback?): void {\n const { extraQuery, clear, keepHash, ...state } = options;\n const urlSearchParams = new URLSearchParams(\n clear ? \"\" : browserHistory.location.search\n );\n const params: Record<string, string | string[]> = {};\n Object.assign(params, query, extraQuery);\n for (const [key, value] of Object.entries(params)) {\n if (Array.isArray(value)) {\n urlSearchParams.delete(key);\n for (const item of value) {\n urlSearchParams.append(key, item);\n }\n } else if (value === undefined || value === null || value === \"\") {\n urlSearchParams.delete(key);\n } else {\n urlSearchParams.set(key, value);\n }\n }\n (method === \"push\" ? push : replace)(\n `?${urlSearchParams.toString()}${\n keepHash ? browserHistory.location.hash : \"\"\n }`,\n state,\n callback\n );\n };\n }\n\n function pushAnchor(\n hash: string,\n state?: NextHistoryState,\n callback?: (blocked: boolean) => void\n ): void {\n push(\n {\n ...browserHistory.location,\n key: undefined,\n hash,\n state: {\n // The default notify is false\n notify: false,\n ...state,\n },\n },\n undefined,\n callback\n );\n }\n\n function reload(callback?: (blocked: boolean) => void): void {\n replace(\n {\n ...browserHistory.location,\n state: {\n ...browserHistory.location.state,\n // Always notify\n notify: true,\n },\n },\n undefined,\n callback\n );\n }\n\n let blockMessage: string | undefined;\n\n function setBlockMessage(message: string | undefined): void {\n blockMessage = message;\n }\n\n function getBlockMessage(): string | undefined {\n return blockMessage;\n }\n\n function unblock(): void {\n blockMessage = undefined;\n }\n\n return {\n pushQuery: updateQueryFactory(\"push\"),\n replaceQuery: updateQueryFactory(\"replace\"),\n pushAnchor: pushAnchor,\n reload,\n setBlockMessage,\n getBlockMessage,\n unblock,\n ...historyOverridden({ ...browserHistory, push, replace }),\n };\n}\n\n/**\n * Override history for standalone micro apps.\n *\n * when `push` or `replace` to other apps, force page refresh.\n */\nfunction historyOverridden(\n browserHistory: History<NextHistoryState> &\n Pick<ExtendedHistory, \"push\" | \"replace\">\n): Pick<ExtendedHistory, \"push\" | \"replace\"> {\n const { push: originalPush, replace: originalReplace } = browserHistory;\n function updateFactory(method: \"push\" | \"replace\"): ExtendedHistory[\"push\"] {\n return function update(path, state?, callback?) {\n let pathname: string | undefined;\n const pathIsString = typeof path === \"string\";\n if (pathIsString) {\n pathname = parsePath(path).pathname;\n } else {\n pathname = path.pathname;\n }\n\n // When history.push or history.replace is performing with an absolute pathname,\n // force load the target page when it is a page of an outside app.\n if (\n typeof pathname === \"string\" &&\n pathname.startsWith(\"/\") &&\n isOutsideApp(_internalApiMatchStoryboard(pathname))\n ) {\n // Going to outside apps.\n return location[method === \"push\" ? \"assign\" : \"replace\"](\n pathIsString\n ? getBasePath() + path.substring(1)\n : browserHistory.createHref(\n path as LocationDescriptorObject<NextHistoryState>\n )\n );\n }\n\n return (method === \"push\" ? originalPush : originalReplace)(\n path as string,\n state,\n callback\n );\n };\n }\n return {\n push: updateFactory(\"push\"),\n replace: updateFactory(\"replace\"),\n };\n}\n\nexport interface NextHistoryState {\n notify?: boolean;\n from?: LocationDescriptor<NextHistoryState>;\n}\n\n/**\n * 扩展的系统会话对象。\n */\nexport interface ExtendedHistory {\n /**\n * 更新指定的 query 参数,会保留当前其它 query 参数,往浏览器会话历史栈中推入一条新记录。\n */\n pushQuery: UpdateQueryFunction;\n\n /**\n * 更新指定的 query 参数,会保留当前其它 query 参数,替换浏览器会话历史栈中最新的一条记录。\n */\n replaceQuery: UpdateQueryFunction;\n\n /** {@inheritDoc UpdateAnchorFunction} */\n pushAnchor: UpdateAnchorFunction;\n\n /** 重载当前会话,即触发页面重新渲染。与 location.reload() 不同,它不会触发浏览器页面的重载。 */\n reload: (callback?: (blocked: boolean) => void) => void;\n\n /** @internal */\n setBlockMessage: (message: string | undefined) => void;\n\n /** @internal */\n getBlockMessage: () => string | undefined;\n\n /** 取消之前设置的阻止页面离开信息的设置。 */\n unblock: () => void;\n\n /** 推入一条记录。*/\n push: (\n location: LocationDescriptor<NextHistoryState>,\n state?: NextHistoryState,\n callback?: (blocked: boolean) => void\n ) => void;\n\n /** 替换一条记录。*/\n replace: (\n location: LocationDescriptor<NextHistoryState>,\n state?: NextHistoryState,\n callback?: (blocked: boolean) => void\n ) => void;\n}\n\n/**\n * 更新指定的 query 参数。\n *\n * @param query - 要更新的 query 参数。\n * @param options - 选项。\n */\nexport type UpdateQueryFunction = (\n query: Record<string, unknown>,\n options?: UpdateQueryOptions,\n callback?: (blocked: boolean) => void\n) => void;\n\n/** 更新 query 参数时的选项 */\nexport interface UpdateQueryOptions extends NextHistoryState {\n /** 额外要更新的 query 参数。 */\n extraQuery?: Record<string, unknown>;\n /** 是否同时清除当前的所有其它 query 参数。 */\n clear?: boolean;\n /** 是否保留当前 hash 参数。 */\n keepHash?: boolean;\n}\n\n/**\n * 设置指定的 anchor (URL hash)地址,此方法默认不会触发页面重新渲染。\n * 往浏览器会话历史栈中推入一条新记录。\n *\n * @param hash - Hash 地址。\n * @param state - 会话状态设置。\n */\nexport type UpdateAnchorFunction = (\n hash: string,\n state?: NextHistoryState,\n callback?: (blocked: boolean) => void\n) => void;\n"],"mappings":"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"}
@@ -21,28 +21,29 @@ function _loadBootstrapData() {
21
21
  ignoreTemplateFields: "templates",
22
22
  ignoreBrickFields: "bricks,processors,providers,editors"
23
23
  });
24
- for (var {
25
- app
26
- } of data.storyboards) {
24
+ var _loop = function* () {
27
25
  if (app.locales) {
28
- (function () {
29
- // Prefix to avoid conflict between brick package's i18n namespace.
30
- var ns = "tmp/".concat(app.id);
31
- // Support any languages in `app.locales`.
32
- Object.entries(app.locales).forEach(_ref => {
33
- var [lang, resources] = _ref;
34
- i18n.addResourceBundle(lang, ns, resources);
35
- });
36
- // Use `app.name` as the fallback `app.localeName`.
37
- app.localeName = i18n.getFixedT(null, ns)("name", app.name);
38
- // Remove the temporary i18n resource bundles.
39
- Object.keys(app.locales).forEach(lang => {
40
- i18n.removeResourceBundle(lang, ns);
41
- });
42
- })();
26
+ // Prefix to avoid conflict between brick package's i18n namespace.
27
+ var ns = "tmp/".concat(app.id);
28
+ // Support any languages in `app.locales`.
29
+ Object.entries(app.locales).forEach(_ref => {
30
+ var [lang, resources] = _ref;
31
+ i18n.addResourceBundle(lang, ns, resources);
32
+ });
33
+ // Use `app.name` as the fallback `app.localeName`.
34
+ app.localeName = i18n.getFixedT(null, ns)("name", app.name);
35
+ // Remove the temporary i18n resource bundles.
36
+ Object.keys(app.locales).forEach(lang => {
37
+ i18n.removeResourceBundle(lang, ns);
38
+ });
43
39
  } else {
44
40
  app.localeName = app.name;
45
41
  }
42
+ };
43
+ for (var {
44
+ app
45
+ } of data.storyboards) {
46
+ yield* _loop();
46
47
  }
47
48
  if (isObject(data.settings)) {
48
49
  deepFreeze(data.settings);
@@ -1 +1 @@
1
- {"version":3,"file":"loadBootstrapData.js","names":["BootstrapStandaloneApi_runtimeStandalone","BootstrapV2Api_bootstrapV2","BootstrapV2Api_getAppStoryboardV2","http","i18n","deepFreeze","hasOwnProperty","isObject","merge","JSON_SCHEMA","safeLoad","RuntimeApi_runtimeMicroAppStandalone","registerAppI18n","loadBootstrapData","_loadBootstrapData","apply","arguments","_asyncToGenerator","data","window","STANDALONE_MICRO_APPS","standaloneBootstrap","appFields","ignoreTemplateFields","ignoreBrickFields","app","storyboards","locales","ns","concat","id","Object","entries","forEach","_ref","lang","resources","addResourceBundle","localeName","getFixedT","name","keys","removeResourceBundle","settings","brickPackages","_standaloneBootstrap","requests","get","BOOTSTRAP_FILE","APP_ROOT","responseType","catch","error","console","warn","NO_AUTH_GUARD","matches","appId","APP_ID","match","safeGetRuntimeMicroAppStandalone","bootstrapResult","confString","runtimeData","Promise","all","mergeConf","mergeRuntimeSettings","conf","schema","json","undefined","Error","sys_settings","user_config","user_config_by_apps","feature_flags","featureFlags","rest","_objectWithoutProperties","_excluded","_objectSpread","length","userConfig","runtimeSettings","_bootstrapResult$sett","misc","_excluded2","assign","appRuntimeDataMap","Map","_x","_safeGetRuntimeMicroAppStandalone","has","promise","set","fulfilStoryboard","_x2","_fulfilStoryboard","storyboard","$$fulfilled","$$fulfilling","doFulfilStoryboard","_x3","_doFulfilStoryboard","appRuntimeData","injectMenus","initializeInjectMenus","meta","routes","initializeAppConfig","config","defaultConfig","menus","Array","isArray","menu","overrideApp"],"sources":["../../../src/internal/loadBootstrapData.ts"],"sourcesContent":["import {\n BootstrapStandaloneApi_runtimeStandalone,\n BootstrapV2Api_bootstrapV2,\n BootstrapV2Api_getAppStoryboardV2,\n} from \"@next-api-sdk/api-gateway-sdk\";\nimport { http } from \"@next-core/http\";\nimport type {\n BootstrapData,\n BootstrapSettings,\n MicroApp,\n RuntimeStoryboard,\n} from \"@next-core/types\";\nimport { i18n } from \"@next-core/i18n\";\nimport { deepFreeze, hasOwnProperty, isObject } from \"@next-core/utils/general\";\nimport { merge } from \"lodash\";\nimport { JSON_SCHEMA, safeLoad } from \"js-yaml\";\nimport { RuntimeApi_runtimeMicroAppStandalone } from \"@next-api-sdk/micro-app-standalone-sdk\";\nimport { registerAppI18n } from \"./registerAppI18n.js\";\nimport { MenuRawData } from \"./menu/interfaces.js\";\n\ninterface StandaloneConf {\n /** The same as `auth.bootstrap.sys_settings` in api gateway conf. */\n sys_settings: StandaloneSettings;\n\n /** For fully standalone micro-apps. */\n user_config?: Record<string, unknown>;\n\n /** For mixed standalone micro-apps. */\n user_config_by_apps?: UserConfigByApps;\n}\n\ntype UserConfigByApps = Record<string, Record<string, unknown>>;\n\ninterface StandaloneSettings extends Omit<BootstrapSettings, \"featureFlags\"> {\n feature_flags: Record<string, boolean>;\n}\n\nexport async function loadBootstrapData(): Promise<BootstrapData> {\n const data = await (window.STANDALONE_MICRO_APPS\n ? standaloneBootstrap()\n : (BootstrapV2Api_bootstrapV2({\n appFields:\n \"defaultConfig,userConfig,locales,name,homepage,id,currentVersion,installStatus,internal,status,icons,standaloneMode\",\n ignoreTemplateFields: \"templates\",\n ignoreBrickFields: \"bricks,processors,providers,editors\",\n }) as Promise<BootstrapData>));\n\n for (const { app } of data.storyboards) {\n if (app.locales) {\n // Prefix to avoid conflict between brick package's i18n namespace.\n const ns = `tmp/${app.id}`;\n // Support any languages in `app.locales`.\n Object.entries(app.locales).forEach(([lang, resources]) => {\n i18n.addResourceBundle(lang, ns, resources);\n });\n // Use `app.name` as the fallback `app.localeName`.\n app.localeName = i18n.getFixedT(null, ns)(\"name\", app.name) as string;\n // Remove the temporary i18n resource bundles.\n Object.keys(app.locales).forEach((lang) => {\n i18n.removeResourceBundle(lang, ns);\n });\n } else {\n app.localeName = app.name;\n }\n }\n\n if (isObject(data.settings)) {\n deepFreeze(data.settings);\n }\n data.brickPackages = deepFreeze(data.brickPackages);\n\n return data;\n}\n\nasync function standaloneBootstrap(): Promise<BootstrapData> {\n const requests = [\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n http.get<BootstrapData>(window.BOOTSTRAP_FILE!),\n http.get<string>(`${window.APP_ROOT}conf.yaml`, {\n responseType: \"text\",\n }),\n BootstrapStandaloneApi_runtimeStandalone().catch((error) => {\n // make it not crash when the backend service is not updated.\n // eslint-disable-next-line no-console\n console.warn(\n \"request runtime api from api-gateway failed: \",\n error,\n \", something might went wrong running standalone micro app\"\n );\n }),\n ] as const;\n\n if (!window.NO_AUTH_GUARD) {\n let matches: string[] | null;\n const appId =\n window.APP_ID ||\n (window.APP_ROOT &&\n (matches = window.APP_ROOT.match(\n /^(?:(?:\\/next)?\\/)?sa-static\\/([^/]+)\\/versions\\//\n ))\n ? matches[1]\n : null);\n if (appId) {\n // No need to wait.\n safeGetRuntimeMicroAppStandalone(appId);\n }\n }\n\n const [bootstrapResult, confString, runtimeData] = await Promise.all(\n requests\n );\n\n mergeConf(bootstrapResult, confString);\n\n mergeRuntimeSettings(bootstrapResult, runtimeData?.settings);\n\n return bootstrapResult;\n}\n\nfunction mergeConf(bootstrapResult: BootstrapData, confString: string) {\n let conf: StandaloneConf | undefined;\n try {\n conf = confString\n ? (safeLoad(confString, {\n schema: JSON_SCHEMA,\n json: true,\n }) as StandaloneConf)\n : undefined;\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(\"Parse conf.yaml failed\", error);\n throw new Error(\"Invalid conf.yaml\");\n }\n\n if (conf) {\n const { sys_settings, user_config, user_config_by_apps } = conf;\n if (sys_settings) {\n const { feature_flags: featureFlags, ...rest } = sys_settings;\n bootstrapResult.settings = {\n featureFlags,\n ...rest,\n } as BootstrapSettings;\n }\n if (user_config && bootstrapResult.storyboards.length === 1) {\n bootstrapResult.storyboards[0].app.userConfig = user_config;\n } else if (user_config_by_apps) {\n for (const { app } of bootstrapResult.storyboards) {\n if (hasOwnProperty(user_config_by_apps, app.id)) {\n app.userConfig = user_config_by_apps[app.id];\n }\n }\n }\n }\n}\n\nfunction mergeRuntimeSettings(\n bootstrapResult: BootstrapData,\n runtimeSettings: BootstrapSettings | undefined\n) {\n if (!runtimeSettings) {\n return;\n }\n // Merge Feature Flags & Misc\n const { featureFlags, misc, ...rest } = runtimeSettings;\n const settings = (bootstrapResult.settings ??= {});\n settings.featureFlags = {\n ...settings.featureFlags,\n ...featureFlags,\n };\n settings.misc = {\n ...settings.misc,\n ...misc,\n };\n Object.assign(settings, rest);\n}\n\nconst appRuntimeDataMap = new Map<\n string,\n Promise<RuntimeMicroAppStandaloneData | undefined>\n>();\n\ninterface RuntimeMicroAppStandaloneData {\n userConfig?: Record<string, unknown>;\n injectMenus?: MenuRawData[];\n}\n\nexport async function safeGetRuntimeMicroAppStandalone(appId: string) {\n if (appRuntimeDataMap.has(appId)) {\n return appRuntimeDataMap.get(appId);\n }\n const promise = RuntimeApi_runtimeMicroAppStandalone(appId).catch((error) => {\n // make it not crash when the backend service is not updated.\n // eslint-disable-next-line no-console\n console.warn(\n \"request standalone runtime api from micro-app-standalone failed: \",\n error,\n \", something might went wrong running standalone micro app\"\n );\n }) as Promise<RuntimeMicroAppStandaloneData | undefined>;\n appRuntimeDataMap.set(appId, promise);\n return promise;\n}\n\nexport async function fulfilStoryboard(storyboard: RuntimeStoryboard) {\n if (storyboard.$$fulfilled) {\n return;\n }\n if (!storyboard.$$fulfilling) {\n storyboard.$$fulfilling = doFulfilStoryboard(storyboard);\n }\n return storyboard.$$fulfilling;\n}\n\nasync function doFulfilStoryboard(storyboard: RuntimeStoryboard) {\n if (window.STANDALONE_MICRO_APPS) {\n Object.assign(storyboard, {\n $$fulfilled: true,\n $$fulfilling: null,\n });\n if (!window.NO_AUTH_GUARD) {\n let appRuntimeData: RuntimeMicroAppStandaloneData | void;\n try {\n // Note: the request maybe have fired already during bootstrap.\n appRuntimeData = await safeGetRuntimeMicroAppStandalone(\n storyboard.app.id\n );\n } catch (error) {\n // make it not crash when the backend service is not updated.\n // eslint-disable-next-line no-console\n console.warn(\n \"request standalone runtime api from micro-app-standalone failed: \",\n error,\n \", something might went wrong running standalone micro app\"\n );\n }\n if (appRuntimeData) {\n const { userConfig, injectMenus } = appRuntimeData;\n // Merge `app.defaultConfig` and `app.userConfig` to `app.config`.\n storyboard.app.userConfig = {\n ...storyboard.app.userConfig,\n ...userConfig,\n };\n\n // Initialize `overrideApp.config` in `injectMenus`\n initializeInjectMenus(injectMenus);\n\n // get inject menus (Actually, appRuntimeData contains both main and inject menus)\n storyboard.meta = {\n ...storyboard.meta,\n injectMenus,\n };\n }\n }\n } else {\n const { routes, meta, app } = await BootstrapV2Api_getAppStoryboardV2(\n storyboard.app.id,\n {}\n );\n Object.assign(storyboard, {\n routes,\n meta,\n app: { ...storyboard.app, ...app },\n $$fulfilled: true,\n $$fulfilling: null,\n });\n }\n\n registerAppI18n(storyboard);\n\n initializeAppConfig(storyboard.app);\n}\n\nfunction initializeAppConfig(app: MicroApp) {\n app.config = deepFreeze(merge({}, app.defaultConfig, app.userConfig));\n}\n\nfunction initializeInjectMenus(menus: MenuRawData[] | undefined) {\n if (!Array.isArray(menus)) {\n return;\n }\n for (const menu of menus) {\n if (menu.overrideApp) {\n initializeAppConfig(menu.overrideApp);\n }\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"loadBootstrapData.js","names":["BootstrapStandaloneApi_runtimeStandalone","BootstrapV2Api_bootstrapV2","BootstrapV2Api_getAppStoryboardV2","http","i18n","deepFreeze","hasOwnProperty","isObject","merge","JSON_SCHEMA","safeLoad","RuntimeApi_runtimeMicroAppStandalone","registerAppI18n","loadBootstrapData","_loadBootstrapData","apply","arguments","_asyncToGenerator","data","window","STANDALONE_MICRO_APPS","standaloneBootstrap","appFields","ignoreTemplateFields","ignoreBrickFields","_loop","app","locales","ns","concat","id","Object","entries","forEach","_ref","lang","resources","addResourceBundle","localeName","getFixedT","name","keys","removeResourceBundle","storyboards","settings","brickPackages","_standaloneBootstrap","requests","get","BOOTSTRAP_FILE","APP_ROOT","responseType","catch","error","console","warn","NO_AUTH_GUARD","matches","appId","APP_ID","match","safeGetRuntimeMicroAppStandalone","bootstrapResult","confString","runtimeData","Promise","all","mergeConf","mergeRuntimeSettings","conf","schema","json","undefined","Error","sys_settings","user_config","user_config_by_apps","feature_flags","featureFlags","rest","_objectWithoutProperties","_excluded","_objectSpread","length","userConfig","runtimeSettings","_bootstrapResult$sett","misc","_excluded2","assign","appRuntimeDataMap","Map","_x","_safeGetRuntimeMicroAppStandalone","has","promise","set","fulfilStoryboard","_x2","_fulfilStoryboard","storyboard","$$fulfilled","$$fulfilling","doFulfilStoryboard","_x3","_doFulfilStoryboard","appRuntimeData","injectMenus","initializeInjectMenus","meta","routes","initializeAppConfig","config","defaultConfig","menus","Array","isArray","menu","overrideApp"],"sources":["../../../src/internal/loadBootstrapData.ts"],"sourcesContent":["import {\n BootstrapStandaloneApi_runtimeStandalone,\n BootstrapV2Api_bootstrapV2,\n BootstrapV2Api_getAppStoryboardV2,\n} from \"@next-api-sdk/api-gateway-sdk\";\nimport { http } from \"@next-core/http\";\nimport type {\n BootstrapData,\n BootstrapSettings,\n MicroApp,\n RuntimeStoryboard,\n} from \"@next-core/types\";\nimport { i18n } from \"@next-core/i18n\";\nimport { deepFreeze, hasOwnProperty, isObject } from \"@next-core/utils/general\";\nimport { merge } from \"lodash\";\nimport { JSON_SCHEMA, safeLoad } from \"js-yaml\";\nimport { RuntimeApi_runtimeMicroAppStandalone } from \"@next-api-sdk/micro-app-standalone-sdk\";\nimport { registerAppI18n } from \"./registerAppI18n.js\";\nimport { MenuRawData } from \"./menu/interfaces.js\";\n\ninterface StandaloneConf {\n /** The same as `auth.bootstrap.sys_settings` in api gateway conf. */\n sys_settings: StandaloneSettings;\n\n /** For fully standalone micro-apps. */\n user_config?: Record<string, unknown>;\n\n /** For mixed standalone micro-apps. */\n user_config_by_apps?: UserConfigByApps;\n}\n\ntype UserConfigByApps = Record<string, Record<string, unknown>>;\n\ninterface StandaloneSettings extends Omit<BootstrapSettings, \"featureFlags\"> {\n feature_flags: Record<string, boolean>;\n}\n\nexport async function loadBootstrapData(): Promise<BootstrapData> {\n const data = await (window.STANDALONE_MICRO_APPS\n ? standaloneBootstrap()\n : (BootstrapV2Api_bootstrapV2({\n appFields:\n \"defaultConfig,userConfig,locales,name,homepage,id,currentVersion,installStatus,internal,status,icons,standaloneMode\",\n ignoreTemplateFields: \"templates\",\n ignoreBrickFields: \"bricks,processors,providers,editors\",\n }) as Promise<BootstrapData>));\n\n for (const { app } of data.storyboards) {\n if (app.locales) {\n // Prefix to avoid conflict between brick package's i18n namespace.\n const ns = `tmp/${app.id}`;\n // Support any languages in `app.locales`.\n Object.entries(app.locales).forEach(([lang, resources]) => {\n i18n.addResourceBundle(lang, ns, resources);\n });\n // Use `app.name` as the fallback `app.localeName`.\n app.localeName = i18n.getFixedT(null, ns)(\"name\", app.name) as string;\n // Remove the temporary i18n resource bundles.\n Object.keys(app.locales).forEach((lang) => {\n i18n.removeResourceBundle(lang, ns);\n });\n } else {\n app.localeName = app.name;\n }\n }\n\n if (isObject(data.settings)) {\n deepFreeze(data.settings);\n }\n data.brickPackages = deepFreeze(data.brickPackages);\n\n return data;\n}\n\nasync function standaloneBootstrap(): Promise<BootstrapData> {\n const requests = [\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n http.get<BootstrapData>(window.BOOTSTRAP_FILE!),\n http.get<string>(`${window.APP_ROOT}conf.yaml`, {\n responseType: \"text\",\n }),\n BootstrapStandaloneApi_runtimeStandalone().catch((error) => {\n // make it not crash when the backend service is not updated.\n // eslint-disable-next-line no-console\n console.warn(\n \"request runtime api from api-gateway failed: \",\n error,\n \", something might went wrong running standalone micro app\"\n );\n }),\n ] as const;\n\n if (!window.NO_AUTH_GUARD) {\n let matches: string[] | null;\n const appId =\n window.APP_ID ||\n (window.APP_ROOT &&\n (matches = window.APP_ROOT.match(\n /^(?:(?:\\/next)?\\/)?sa-static\\/([^/]+)\\/versions\\//\n ))\n ? matches[1]\n : null);\n if (appId) {\n // No need to wait.\n safeGetRuntimeMicroAppStandalone(appId);\n }\n }\n\n const [bootstrapResult, confString, runtimeData] = await Promise.all(\n requests\n );\n\n mergeConf(bootstrapResult, confString);\n\n mergeRuntimeSettings(bootstrapResult, runtimeData?.settings);\n\n return bootstrapResult;\n}\n\nfunction mergeConf(bootstrapResult: BootstrapData, confString: string) {\n let conf: StandaloneConf | undefined;\n try {\n conf = confString\n ? (safeLoad(confString, {\n schema: JSON_SCHEMA,\n json: true,\n }) as StandaloneConf)\n : undefined;\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(\"Parse conf.yaml failed\", error);\n throw new Error(\"Invalid conf.yaml\");\n }\n\n if (conf) {\n const { sys_settings, user_config, user_config_by_apps } = conf;\n if (sys_settings) {\n const { feature_flags: featureFlags, ...rest } = sys_settings;\n bootstrapResult.settings = {\n featureFlags,\n ...rest,\n } as BootstrapSettings;\n }\n if (user_config && bootstrapResult.storyboards.length === 1) {\n bootstrapResult.storyboards[0].app.userConfig = user_config;\n } else if (user_config_by_apps) {\n for (const { app } of bootstrapResult.storyboards) {\n if (hasOwnProperty(user_config_by_apps, app.id)) {\n app.userConfig = user_config_by_apps[app.id];\n }\n }\n }\n }\n}\n\nfunction mergeRuntimeSettings(\n bootstrapResult: BootstrapData,\n runtimeSettings: BootstrapSettings | undefined\n) {\n if (!runtimeSettings) {\n return;\n }\n // Merge Feature Flags & Misc\n const { featureFlags, misc, ...rest } = runtimeSettings;\n const settings = (bootstrapResult.settings ??= {});\n settings.featureFlags = {\n ...settings.featureFlags,\n ...featureFlags,\n };\n settings.misc = {\n ...settings.misc,\n ...misc,\n };\n Object.assign(settings, rest);\n}\n\nconst appRuntimeDataMap = new Map<\n string,\n Promise<RuntimeMicroAppStandaloneData | undefined>\n>();\n\ninterface RuntimeMicroAppStandaloneData {\n userConfig?: Record<string, unknown>;\n injectMenus?: MenuRawData[];\n}\n\nexport async function safeGetRuntimeMicroAppStandalone(appId: string) {\n if (appRuntimeDataMap.has(appId)) {\n return appRuntimeDataMap.get(appId);\n }\n const promise = RuntimeApi_runtimeMicroAppStandalone(appId).catch((error) => {\n // make it not crash when the backend service is not updated.\n // eslint-disable-next-line no-console\n console.warn(\n \"request standalone runtime api from micro-app-standalone failed: \",\n error,\n \", something might went wrong running standalone micro app\"\n );\n }) as Promise<RuntimeMicroAppStandaloneData | undefined>;\n appRuntimeDataMap.set(appId, promise);\n return promise;\n}\n\nexport async function fulfilStoryboard(storyboard: RuntimeStoryboard) {\n if (storyboard.$$fulfilled) {\n return;\n }\n if (!storyboard.$$fulfilling) {\n storyboard.$$fulfilling = doFulfilStoryboard(storyboard);\n }\n return storyboard.$$fulfilling;\n}\n\nasync function doFulfilStoryboard(storyboard: RuntimeStoryboard) {\n if (window.STANDALONE_MICRO_APPS) {\n Object.assign(storyboard, {\n $$fulfilled: true,\n $$fulfilling: null,\n });\n if (!window.NO_AUTH_GUARD) {\n let appRuntimeData: RuntimeMicroAppStandaloneData | void;\n try {\n // Note: the request maybe have fired already during bootstrap.\n appRuntimeData = await safeGetRuntimeMicroAppStandalone(\n storyboard.app.id\n );\n } catch (error) {\n // make it not crash when the backend service is not updated.\n // eslint-disable-next-line no-console\n console.warn(\n \"request standalone runtime api from micro-app-standalone failed: \",\n error,\n \", something might went wrong running standalone micro app\"\n );\n }\n if (appRuntimeData) {\n const { userConfig, injectMenus } = appRuntimeData;\n // Merge `app.defaultConfig` and `app.userConfig` to `app.config`.\n storyboard.app.userConfig = {\n ...storyboard.app.userConfig,\n ...userConfig,\n };\n\n // Initialize `overrideApp.config` in `injectMenus`\n initializeInjectMenus(injectMenus);\n\n // get inject menus (Actually, appRuntimeData contains both main and inject menus)\n storyboard.meta = {\n ...storyboard.meta,\n injectMenus,\n };\n }\n }\n } else {\n const { routes, meta, app } = await BootstrapV2Api_getAppStoryboardV2(\n storyboard.app.id,\n {}\n );\n Object.assign(storyboard, {\n routes,\n meta,\n app: { ...storyboard.app, ...app },\n $$fulfilled: true,\n $$fulfilling: null,\n });\n }\n\n registerAppI18n(storyboard);\n\n initializeAppConfig(storyboard.app);\n}\n\nfunction initializeAppConfig(app: MicroApp) {\n app.config = deepFreeze(merge({}, app.defaultConfig, app.userConfig));\n}\n\nfunction initializeInjectMenus(menus: MenuRawData[] | undefined) {\n if (!Array.isArray(menus)) {\n return;\n }\n for (const menu of menus) {\n if (menu.overrideApp) {\n initializeAppConfig(menu.overrideApp);\n }\n }\n}\n"],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  import EventTarget from "@ungap/event-target";
2
- export var MediaBreakpoint;
3
- (function (MediaBreakpoint) {
2
+ export var MediaBreakpoint = /*#__PURE__*/function (MediaBreakpoint) {
4
3
  MediaBreakpoint["xLarge"] = "xLarge";
5
4
  MediaBreakpoint["large"] = "large";
6
5
  MediaBreakpoint["medium"] = "medium";
7
6
  MediaBreakpoint["small"] = "small";
8
7
  MediaBreakpoint["xSmall"] = "xSmall";
9
- })(MediaBreakpoint || (MediaBreakpoint = {}));
8
+ return MediaBreakpoint;
9
+ }({});
10
10
  export var mediaBreakpointMinWidthMap = new Map([[MediaBreakpoint.xLarge, "1920px"], [MediaBreakpoint.large, "1600px"], [MediaBreakpoint.medium, "1280px"], [MediaBreakpoint.small, "1024px"], [MediaBreakpoint.xSmall, 0]]);
11
11
  export var mediaEventTarget = new EventTarget();
12
12
  var breakpointMatchesMap = {};
@@ -1 +1 @@
1
- {"version":3,"file":"mediaQuery.js","names":["EventTarget","MediaBreakpoint","mediaBreakpointMinWidthMap","Map","xLarge","large","medium","small","xSmall","mediaEventTarget","breakpointMatchesMap","MEDIA","handleMatchesChange","data","breakpoint","changed","matches","dispatchEvent","CustomEvent","detail","forEach","minWidth","mediaQueryList","window","matchMedia","concat","addEventListener","event","addListener","getMedia"],"sources":["../../../src/internal/mediaQuery.ts"],"sourcesContent":["import EventTarget from \"@ungap/event-target\";\n\nexport interface Media {\n breakpoint?: MediaBreakpoint;\n}\n\nexport enum MediaBreakpoint {\n xLarge = \"xLarge\",\n large = \"large\",\n medium = \"medium\",\n small = \"small\",\n xSmall = \"xSmall\",\n}\n\nexport const mediaBreakpointMinWidthMap = new Map<\n MediaBreakpoint,\n string | number\n>([\n [MediaBreakpoint.xLarge, \"1920px\"],\n [MediaBreakpoint.large, \"1600px\"],\n [MediaBreakpoint.medium, \"1280px\"],\n [MediaBreakpoint.small, \"1024px\"],\n [MediaBreakpoint.xSmall, 0],\n]);\nexport const mediaEventTarget = new EventTarget();\n\nconst breakpointMatchesMap: Partial<Record<MediaBreakpoint, boolean>> = {};\nconst MEDIA: Media = {};\n\nfunction handleMatchesChange(\n data: { readonly matches: boolean; readonly media: string },\n breakpoint: MediaBreakpoint\n): void {\n let changed = false;\n breakpointMatchesMap[breakpoint] = data.matches;\n\n for (const [breakpoint] of mediaBreakpointMinWidthMap) {\n if (breakpointMatchesMap[breakpoint] && MEDIA.breakpoint !== breakpoint) {\n MEDIA.breakpoint = breakpoint;\n changed = true;\n break;\n }\n }\n\n if (changed) {\n mediaEventTarget.dispatchEvent(\n new CustomEvent(\"change\", { detail: MEDIA })\n );\n }\n}\n\nmediaBreakpointMinWidthMap.forEach((minWidth, breakpoint) => {\n const mediaQueryList = window.matchMedia(`(min-width: ${minWidth})`);\n\n handleMatchesChange(mediaQueryList, breakpoint);\n\n if (mediaQueryList.addEventListener) {\n mediaQueryList.addEventListener(\"change\", (event) => {\n handleMatchesChange(event, breakpoint);\n });\n } else {\n mediaQueryList.addListener((event) => {\n handleMatchesChange(event, breakpoint);\n });\n }\n});\n\nexport const getMedia = (): Media => MEDIA;\n"],"mappings":"AAAA,OAAOA,WAAW,MAAM,qBAAqB;AAM7C,WAAYC,eAAe;AAM1B,WANWA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;AAAA,GAAfA,eAAe,KAAfA,eAAe;AAQ3B,OAAO,IAAMC,0BAA0B,GAAG,IAAIC,GAAG,CAG/C,CACA,CAACF,eAAe,CAACG,MAAM,EAAE,QAAQ,CAAC,EAClC,CAACH,eAAe,CAACI,KAAK,EAAE,QAAQ,CAAC,EACjC,CAACJ,eAAe,CAACK,MAAM,EAAE,QAAQ,CAAC,EAClC,CAACL,eAAe,CAACM,KAAK,EAAE,QAAQ,CAAC,EACjC,CAACN,eAAe,CAACO,MAAM,EAAE,CAAC,CAAC,CAC5B,CAAC;AACF,OAAO,IAAMC,gBAAgB,GAAG,IAAIT,WAAW,EAAE;AAEjD,IAAMU,oBAA+D,GAAG,CAAC,CAAC;AAC1E,IAAMC,KAAY,GAAG,CAAC,CAAC;AAEvB,SAASC,mBAAmBA,CAC1BC,IAA2D,EAC3DC,UAA2B,EACrB;EACN,IAAIC,OAAO,GAAG,KAAK;EACnBL,oBAAoB,CAACI,UAAU,CAAC,GAAGD,IAAI,CAACG,OAAO;EAE/C,KAAK,IAAM,CAACF,WAAU,CAAC,IAAIZ,0BAA0B,EAAE;IACrD,IAAIQ,oBAAoB,CAACI,WAAU,CAAC,IAAIH,KAAK,CAACG,UAAU,KAAKA,WAAU,EAAE;MACvEH,KAAK,CAACG,UAAU,GAAGA,WAAU;MAC7BC,OAAO,GAAG,IAAI;MACd;IACF;EACF;EAEA,IAAIA,OAAO,EAAE;IACXN,gBAAgB,CAACQ,aAAa,CAC5B,IAAIC,WAAW,CAAC,QAAQ,EAAE;MAAEC,MAAM,EAAER;IAAM,CAAC,CAAC,CAC7C;EACH;AACF;AAEAT,0BAA0B,CAACkB,OAAO,CAAC,CAACC,QAAQ,EAAEP,UAAU,KAAK;EAC3D,IAAMQ,cAAc,GAAGC,MAAM,CAACC,UAAU,gBAAAC,MAAA,CAAgBJ,QAAQ,OAAI;EAEpET,mBAAmB,CAACU,cAAc,EAAER,UAAU,CAAC;EAE/C,IAAIQ,cAAc,CAACI,gBAAgB,EAAE;IACnCJ,cAAc,CAACI,gBAAgB,CAAC,QAAQ,EAAGC,KAAK,IAAK;MACnDf,mBAAmB,CAACe,KAAK,EAAEb,UAAU,CAAC;IACxC,CAAC,CAAC;EACJ,CAAC,MAAM;IACLQ,cAAc,CAACM,WAAW,CAAED,KAAK,IAAK;MACpCf,mBAAmB,CAACe,KAAK,EAAEb,UAAU,CAAC;IACxC,CAAC,CAAC;EACJ;AACF,CAAC,CAAC;AAEF,OAAO,IAAMe,QAAQ,GAAGA,CAAA,KAAalB,KAAK"}
1
+ {"version":3,"file":"mediaQuery.js","names":["EventTarget","MediaBreakpoint","mediaBreakpointMinWidthMap","Map","xLarge","large","medium","small","xSmall","mediaEventTarget","breakpointMatchesMap","MEDIA","handleMatchesChange","data","breakpoint","changed","matches","dispatchEvent","CustomEvent","detail","forEach","minWidth","mediaQueryList","window","matchMedia","concat","addEventListener","event","addListener","getMedia"],"sources":["../../../src/internal/mediaQuery.ts"],"sourcesContent":["import EventTarget from \"@ungap/event-target\";\n\nexport interface Media {\n breakpoint?: MediaBreakpoint;\n}\n\nexport enum MediaBreakpoint {\n xLarge = \"xLarge\",\n large = \"large\",\n medium = \"medium\",\n small = \"small\",\n xSmall = \"xSmall\",\n}\n\nexport const mediaBreakpointMinWidthMap = new Map<\n MediaBreakpoint,\n string | number\n>([\n [MediaBreakpoint.xLarge, \"1920px\"],\n [MediaBreakpoint.large, \"1600px\"],\n [MediaBreakpoint.medium, \"1280px\"],\n [MediaBreakpoint.small, \"1024px\"],\n [MediaBreakpoint.xSmall, 0],\n]);\nexport const mediaEventTarget = new EventTarget();\n\nconst breakpointMatchesMap: Partial<Record<MediaBreakpoint, boolean>> = {};\nconst MEDIA: Media = {};\n\nfunction handleMatchesChange(\n data: { readonly matches: boolean; readonly media: string },\n breakpoint: MediaBreakpoint\n): void {\n let changed = false;\n breakpointMatchesMap[breakpoint] = data.matches;\n\n for (const [breakpoint] of mediaBreakpointMinWidthMap) {\n if (breakpointMatchesMap[breakpoint] && MEDIA.breakpoint !== breakpoint) {\n MEDIA.breakpoint = breakpoint;\n changed = true;\n break;\n }\n }\n\n if (changed) {\n mediaEventTarget.dispatchEvent(\n new CustomEvent(\"change\", { detail: MEDIA })\n );\n }\n}\n\nmediaBreakpointMinWidthMap.forEach((minWidth, breakpoint) => {\n const mediaQueryList = window.matchMedia(`(min-width: ${minWidth})`);\n\n handleMatchesChange(mediaQueryList, breakpoint);\n\n if (mediaQueryList.addEventListener) {\n mediaQueryList.addEventListener(\"change\", (event) => {\n handleMatchesChange(event, breakpoint);\n });\n } else {\n mediaQueryList.addListener((event) => {\n handleMatchesChange(event, breakpoint);\n });\n }\n});\n\nexport const getMedia = (): Media => MEDIA;\n"],"mappings":"AAAA,OAAOA,WAAW,MAAM,qBAAqB;AAM7C,WAAYC,eAAe,0BAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA;AAQ3B,OAAO,IAAMC,0BAA0B,GAAG,IAAIC,GAAG,CAG/C,CACA,CAACF,eAAe,CAACG,MAAM,EAAE,QAAQ,CAAC,EAClC,CAACH,eAAe,CAACI,KAAK,EAAE,QAAQ,CAAC,EACjC,CAACJ,eAAe,CAACK,MAAM,EAAE,QAAQ,CAAC,EAClC,CAACL,eAAe,CAACM,KAAK,EAAE,QAAQ,CAAC,EACjC,CAACN,eAAe,CAACO,MAAM,EAAE,CAAC,CAAC,CAC5B,CAAC;AACF,OAAO,IAAMC,gBAAgB,GAAG,IAAIT,WAAW,EAAE;AAEjD,IAAMU,oBAA+D,GAAG,CAAC,CAAC;AAC1E,IAAMC,KAAY,GAAG,CAAC,CAAC;AAEvB,SAASC,mBAAmBA,CAC1BC,IAA2D,EAC3DC,UAA2B,EACrB;EACN,IAAIC,OAAO,GAAG,KAAK;EACnBL,oBAAoB,CAACI,UAAU,CAAC,GAAGD,IAAI,CAACG,OAAO;EAE/C,KAAK,IAAM,CAACF,WAAU,CAAC,IAAIZ,0BAA0B,EAAE;IACrD,IAAIQ,oBAAoB,CAACI,WAAU,CAAC,IAAIH,KAAK,CAACG,UAAU,KAAKA,WAAU,EAAE;MACvEH,KAAK,CAACG,UAAU,GAAGA,WAAU;MAC7BC,OAAO,GAAG,IAAI;MACd;IACF;EACF;EAEA,IAAIA,OAAO,EAAE;IACXN,gBAAgB,CAACQ,aAAa,CAC5B,IAAIC,WAAW,CAAC,QAAQ,EAAE;MAAEC,MAAM,EAAER;IAAM,CAAC,CAAC,CAC7C;EACH;AACF;AAEAT,0BAA0B,CAACkB,OAAO,CAAC,CAACC,QAAQ,EAAEP,UAAU,KAAK;EAC3D,IAAMQ,cAAc,GAAGC,MAAM,CAACC,UAAU,gBAAAC,MAAA,CAAgBJ,QAAQ,OAAI;EAEpET,mBAAmB,CAACU,cAAc,EAAER,UAAU,CAAC;EAE/C,IAAIQ,cAAc,CAACI,gBAAgB,EAAE;IACnCJ,cAAc,CAACI,gBAAgB,CAAC,QAAQ,EAAGC,KAAK,IAAK;MACnDf,mBAAmB,CAACe,KAAK,EAAEb,UAAU,CAAC;IACxC,CAAC,CAAC;EACJ,CAAC,MAAM;IACLQ,cAAc,CAACM,WAAW,CAAED,KAAK,IAAK;MACpCf,mBAAmB,CAACe,KAAK,EAAEb,UAAU,CAAC;IACxC,CAAC,CAAC;EACJ;AACF,CAAC,CAAC;AAEF,OAAO,IAAMe,QAAQ,GAAGA,CAAA,KAAalB,KAAK"}
@@ -1,4 +1,8 @@
1
1
  import { symbolAppId, symbolMenuI18nNamespace, symbolOverrideApp } from "./constants.js";
2
2
 
3
3
  /** 原始菜单数据。 */
4
+
5
+ /** 原始菜单项数据。 */
6
+
7
+ /** 侧边栏基本菜单项的配置。 */
4
8
  //# sourceMappingURL=interfaces.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.js","names":["symbolAppId","symbolMenuI18nNamespace","symbolOverrideApp"],"sources":["../../../../src/internal/menu/interfaces.ts"],"sourcesContent":["import type { MetaI18n, MicroApp, ResolveConf } from \"@next-core/types\";\nimport {\n symbolAppId,\n symbolMenuI18nNamespace,\n symbolOverrideApp,\n} from \"./constants.js\";\n\n/** 原始菜单数据。 */\nexport interface MenuRawData {\n menuId: string;\n title: string;\n app: [\n {\n appId: string;\n }\n ];\n icon?: unknown;\n link?: string;\n titleDataSource?: TitleDataSource;\n items?: MenuItemRawData[];\n type?: \"main\" | \"inject\";\n injectMenuGroupId?: string;\n defaultCollapsed?: boolean;\n defaultCollapsedBreakpoint?: number;\n dynamicItems?: boolean;\n itemsResolve?: ResolveConf;\n i18n?: MetaI18n;\n overrideApp?: MicroApp;\n}\n\n/** 原始菜单项数据。 */\nexport type MenuItemRawData = Omit<SidebarMenuSimpleItem, \"type\"> & {\n children?: MenuItemRawData[];\n type?: \"default\" | \"group\";\n sort?: number;\n if?: string | boolean;\n defaultExpanded?: boolean;\n groupId?: string;\n};\n\ninterface TitleDataSource {\n objectId: string;\n instanceId: string;\n attributeId?: string;\n}\n\n/** 侧边栏基本菜单项的配置。 */\nexport interface SidebarMenuSimpleItem {\n /** 菜单项文本。 */\n text: string;\n\n /** 菜单项对应的系统内地址。 */\n // to?: LocationDescriptor;\n to?: unknown;\n\n /** 菜单项对应的外部链接地址。 */\n href?: string;\n\n /** 菜单项的图标。 */\n // icon?: MenuIcon;\n icon?: unknown;\n\n /** 菜单项链接打开的目标。 */\n target?: string;\n\n type?: \"default\";\n\n /** 高亮菜单项时是否使用精确匹配来对比当前地址和菜单项地址。 */\n exact?: boolean;\n\n /** 设置额外包含的匹配高亮菜单项的地址列表。 */\n activeIncludes?: string[];\n\n /** 设置需要被排除的匹配高亮菜单项的地址列表。 */\n activeExcludes?: string[];\n\n /** 设置匹配高亮菜单项时是否还对 search 参数进行比较。 */\n activeMatchSearch?: boolean;\n\n /** @internal */\n key?: string;\n}\n\nexport interface RuntimeMenuItemRawData extends MenuItemRawData {\n children?: RuntimeMenuItemRawData[];\n [symbolAppId]: string;\n [symbolMenuI18nNamespace]?: string;\n [symbolOverrideApp]?: MicroApp;\n}\n\nexport interface RuntimeMenuRawData extends MenuRawData {\n items: RuntimeMenuItemRawData[];\n // [symbolShouldCache]?: boolean;\n [symbolMenuI18nNamespace]?: string;\n [symbolOverrideApp]?: MicroApp;\n}\n"],"mappings":"AACA,SACEA,WAAW,EACXC,uBAAuB,EACvBC,iBAAiB,QACZ,gBAAgB;;AAEvB"}
1
+ {"version":3,"file":"interfaces.js","names":["symbolAppId","symbolMenuI18nNamespace","symbolOverrideApp"],"sources":["../../../../src/internal/menu/interfaces.ts"],"sourcesContent":["import type { MetaI18n, MicroApp, ResolveConf } from \"@next-core/types\";\nimport {\n symbolAppId,\n symbolMenuI18nNamespace,\n symbolOverrideApp,\n} from \"./constants.js\";\n\n/** 原始菜单数据。 */\nexport interface MenuRawData {\n menuId: string;\n title: string;\n app: [\n {\n appId: string;\n }\n ];\n icon?: unknown;\n link?: string;\n titleDataSource?: TitleDataSource;\n items?: MenuItemRawData[];\n type?: \"main\" | \"inject\";\n injectMenuGroupId?: string;\n defaultCollapsed?: boolean;\n defaultCollapsedBreakpoint?: number;\n dynamicItems?: boolean;\n itemsResolve?: ResolveConf;\n i18n?: MetaI18n;\n overrideApp?: MicroApp;\n}\n\n/** 原始菜单项数据。 */\nexport type MenuItemRawData = Omit<SidebarMenuSimpleItem, \"type\"> & {\n children?: MenuItemRawData[];\n type?: \"default\" | \"group\";\n sort?: number;\n if?: string | boolean;\n defaultExpanded?: boolean;\n groupId?: string;\n};\n\ninterface TitleDataSource {\n objectId: string;\n instanceId: string;\n attributeId?: string;\n}\n\n/** 侧边栏基本菜单项的配置。 */\nexport interface SidebarMenuSimpleItem {\n /** 菜单项文本。 */\n text: string;\n\n /** 菜单项对应的系统内地址。 */\n // to?: LocationDescriptor;\n to?: unknown;\n\n /** 菜单项对应的外部链接地址。 */\n href?: string;\n\n /** 菜单项的图标。 */\n // icon?: MenuIcon;\n icon?: unknown;\n\n /** 菜单项链接打开的目标。 */\n target?: string;\n\n type?: \"default\";\n\n /** 高亮菜单项时是否使用精确匹配来对比当前地址和菜单项地址。 */\n exact?: boolean;\n\n /** 设置额外包含的匹配高亮菜单项的地址列表。 */\n activeIncludes?: string[];\n\n /** 设置需要被排除的匹配高亮菜单项的地址列表。 */\n activeExcludes?: string[];\n\n /** 设置匹配高亮菜单项时是否还对 search 参数进行比较。 */\n activeMatchSearch?: boolean;\n\n /** @internal */\n key?: string;\n}\n\nexport interface RuntimeMenuItemRawData extends MenuItemRawData {\n children?: RuntimeMenuItemRawData[];\n [symbolAppId]: string;\n [symbolMenuI18nNamespace]?: string;\n [symbolOverrideApp]?: MicroApp;\n}\n\nexport interface RuntimeMenuRawData extends MenuRawData {\n items: RuntimeMenuItemRawData[];\n // [symbolShouldCache]?: boolean;\n [symbolMenuI18nNamespace]?: string;\n [symbolOverrideApp]?: MicroApp;\n}\n"],"mappings":"AACA,SACEA,WAAW,EACXC,uBAAuB,EACvBC,iBAAiB,QACZ,gBAAgB;;AAEvB;;AAuBA;;AAgBA"}
@@ -16,18 +16,19 @@ function _mergeMenu() {
16
16
  var validMenuList = [];
17
17
  var injectWithMenus = new Map();
18
18
  var menuWithI18n = new WeakMap();
19
- for (var menu of menuList) {
19
+ var _loop = function* () {
20
20
  if (menu.i18n) {
21
- (function () {
22
- var menuI18nNamespace = getI18nNamespace("menu", "".concat(menu.menuId, "~").concat(menu.app[0].appId, "+").concat(menu.instanceId));
23
- // Support any language in `menu.i18n`.
24
- Object.entries(menu.i18n).forEach(_ref => {
25
- var [lang, resources] = _ref;
26
- i18n.addResourceBundle(lang, menuI18nNamespace, resources);
27
- });
28
- menuWithI18n.set(menu, menuI18nNamespace);
29
- })();
21
+ var menuI18nNamespace = getI18nNamespace("menu", "".concat(menu.menuId, "~").concat(menu.app[0].appId, "+").concat(menu.instanceId));
22
+ // Support any language in `menu.i18n`.
23
+ Object.entries(menu.i18n).forEach(_ref => {
24
+ var [lang, resources] = _ref;
25
+ i18n.addResourceBundle(lang, menuI18nNamespace, resources);
26
+ });
27
+ menuWithI18n.set(menu, menuI18nNamespace);
30
28
  }
29
+ };
30
+ for (var menu of menuList) {
31
+ yield* _loop();
31
32
  }
32
33
  yield Promise.all(menuList.map(menu => loadDynamicMenuItems(menu, runtimeContext, menuWithI18n)));
33
34
  for (var _menu of menuList) {
@@ -1 +1 @@
1
- {"version":3,"file":"mergeMenu.js","names":["i18n","getI18nNamespace","symbolAppId","symbolMenuI18nNamespace","symbolOverrideApp","loadDynamicMenuItems","mergeMenu","_x","_x2","_mergeMenu","apply","arguments","_asyncToGenerator","menuList","runtimeContext","mainMenu","find","menu","type","undefined","validMenuList","injectWithMenus","Map","menuWithI18n","WeakMap","menuI18nNamespace","concat","menuId","app","appId","instanceId","Object","entries","forEach","_ref","lang","resources","addResourceBundle","set","Promise","all","map","_menu$items","items","length","injectMenuGroupId","injectingMenus","get","push","_objectSpread","flatMap","processGroupInject","overrideApp","item","_processGroupInject","foundInjectingMenus","groupId","delete","children","injectingMenu"],"sources":["../../../../src/internal/menu/mergeMenu.ts"],"sourcesContent":["import { i18n } from \"@next-core/i18n\";\nimport { getI18nNamespace } from \"../registerAppI18n.js\";\nimport {\n symbolAppId,\n symbolMenuI18nNamespace,\n symbolOverrideApp,\n} from \"./constants.js\";\nimport type {\n MenuItemRawData,\n MenuRawData,\n RuntimeMenuItemRawData,\n RuntimeMenuRawData,\n} from \"./interfaces.js\";\nimport type { RuntimeContext } from \"../interfaces.js\";\nimport { loadDynamicMenuItems } from \"./loadDynamicMenuItems.js\";\n\nexport async function mergeMenu(\n menuList: MenuRawData[],\n runtimeContext: RuntimeContext\n): Promise<RuntimeMenuRawData | undefined> {\n const mainMenu = menuList.find((menu) => menu.type !== \"inject\");\n if (!mainMenu) {\n return undefined;\n }\n const validMenuList: MenuRawData[] = [];\n const injectWithMenus = new Map<string, MenuRawData[]>();\n const menuWithI18n = new WeakMap<MenuRawData, string>();\n\n for (const menu of menuList) {\n if (menu.i18n) {\n const menuI18nNamespace = getI18nNamespace(\n \"menu\",\n `${menu.menuId}~${menu.app[0].appId}+${\n (menu as { instanceId?: string }).instanceId\n }`\n );\n // Support any language in `menu.i18n`.\n Object.entries(menu.i18n).forEach(([lang, resources]) => {\n i18n.addResourceBundle(lang, menuI18nNamespace, resources);\n });\n menuWithI18n.set(menu, menuI18nNamespace);\n }\n }\n\n await Promise.all(\n menuList.map((menu) =>\n loadDynamicMenuItems(menu, runtimeContext, menuWithI18n)\n )\n );\n\n for (const menu of menuList) {\n if (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\n return {\n ...mainMenu,\n items: validMenuList.flatMap(\n (menu) =>\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n processGroupInject(menu.items, menu, injectWithMenus, menuWithI18n)!\n ),\n [symbolMenuI18nNamespace]: menuWithI18n.get(mainMenu),\n [symbolOverrideApp]: mainMenu.overrideApp,\n };\n}\n\nfunction processGroupInject(\n items: MenuItemRawData[] | undefined,\n menu: MenuRawData,\n injectWithMenus: Map<string, MenuRawData[]>,\n menuWithI18n: WeakMap<MenuRawData, string>\n): RuntimeMenuItemRawData[] | undefined {\n return items?.map((item) => {\n const foundInjectingMenus =\n 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: (\n processGroupInject(\n item.children,\n menu,\n injectWithMenus,\n menuWithI18n\n ) ?? ([] as RuntimeMenuItemRawData[])\n ).concat(\n foundInjectingMenus\n ? foundInjectingMenus.flatMap(\n (injectingMenu) =>\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n processGroupInject(\n injectingMenu.items,\n injectingMenu,\n injectWithMenus,\n menuWithI18n\n )!\n )\n : ([] as RuntimeMenuItemRawData[])\n ),\n [symbolAppId]: menu.app[0].appId,\n [symbolMenuI18nNamespace]: menuWithI18n.get(menu),\n [symbolOverrideApp]: menu.overrideApp,\n };\n });\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"mergeMenu.js","names":["i18n","getI18nNamespace","symbolAppId","symbolMenuI18nNamespace","symbolOverrideApp","loadDynamicMenuItems","mergeMenu","_x","_x2","_mergeMenu","apply","arguments","_asyncToGenerator","menuList","runtimeContext","mainMenu","find","menu","type","undefined","validMenuList","injectWithMenus","Map","menuWithI18n","WeakMap","_loop","menuI18nNamespace","concat","menuId","app","appId","instanceId","Object","entries","forEach","_ref","lang","resources","addResourceBundle","set","Promise","all","map","_menu$items","items","length","injectMenuGroupId","injectingMenus","get","push","_objectSpread","flatMap","processGroupInject","overrideApp","item","_processGroupInject","foundInjectingMenus","groupId","delete","children","injectingMenu"],"sources":["../../../../src/internal/menu/mergeMenu.ts"],"sourcesContent":["import { i18n } from \"@next-core/i18n\";\nimport { getI18nNamespace } from \"../registerAppI18n.js\";\nimport {\n symbolAppId,\n symbolMenuI18nNamespace,\n symbolOverrideApp,\n} from \"./constants.js\";\nimport type {\n MenuItemRawData,\n MenuRawData,\n RuntimeMenuItemRawData,\n RuntimeMenuRawData,\n} from \"./interfaces.js\";\nimport type { RuntimeContext } from \"../interfaces.js\";\nimport { loadDynamicMenuItems } from \"./loadDynamicMenuItems.js\";\n\nexport async function mergeMenu(\n menuList: MenuRawData[],\n runtimeContext: RuntimeContext\n): Promise<RuntimeMenuRawData | undefined> {\n const mainMenu = menuList.find((menu) => menu.type !== \"inject\");\n if (!mainMenu) {\n return undefined;\n }\n const validMenuList: MenuRawData[] = [];\n const injectWithMenus = new Map<string, MenuRawData[]>();\n const menuWithI18n = new WeakMap<MenuRawData, string>();\n\n for (const menu of menuList) {\n if (menu.i18n) {\n const menuI18nNamespace = getI18nNamespace(\n \"menu\",\n `${menu.menuId}~${menu.app[0].appId}+${\n (menu as { instanceId?: string }).instanceId\n }`\n );\n // Support any language in `menu.i18n`.\n Object.entries(menu.i18n).forEach(([lang, resources]) => {\n i18n.addResourceBundle(lang, menuI18nNamespace, resources);\n });\n menuWithI18n.set(menu, menuI18nNamespace);\n }\n }\n\n await Promise.all(\n menuList.map((menu) =>\n loadDynamicMenuItems(menu, runtimeContext, menuWithI18n)\n )\n );\n\n for (const menu of menuList) {\n if (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\n return {\n ...mainMenu,\n items: validMenuList.flatMap(\n (menu) =>\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n processGroupInject(menu.items, menu, injectWithMenus, menuWithI18n)!\n ),\n [symbolMenuI18nNamespace]: menuWithI18n.get(mainMenu),\n [symbolOverrideApp]: mainMenu.overrideApp,\n };\n}\n\nfunction processGroupInject(\n items: MenuItemRawData[] | undefined,\n menu: MenuRawData,\n injectWithMenus: Map<string, MenuRawData[]>,\n menuWithI18n: WeakMap<MenuRawData, string>\n): RuntimeMenuItemRawData[] | undefined {\n return items?.map((item) => {\n const foundInjectingMenus =\n 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: (\n processGroupInject(\n item.children,\n menu,\n injectWithMenus,\n menuWithI18n\n ) ?? ([] as RuntimeMenuItemRawData[])\n ).concat(\n foundInjectingMenus\n ? foundInjectingMenus.flatMap(\n (injectingMenu) =>\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n processGroupInject(\n injectingMenu.items,\n injectingMenu,\n injectWithMenus,\n menuWithI18n\n )!\n )\n : ([] as RuntimeMenuItemRawData[])\n ),\n [symbolAppId]: menu.app[0].appId,\n [symbolMenuI18nNamespace]: menuWithI18n.get(menu),\n [symbolOverrideApp]: menu.overrideApp,\n };\n });\n}\n"],"mappings":"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"}
@@ -7,7 +7,8 @@ export * from "./getPageInfo.js";
7
7
  export * from "./handleHttpError.js";
8
8
  export * from "./history.js";
9
9
  export { createRuntime, getRuntime } from "./internal/Runtime.js";
10
- export * as __secret_internals from "./internal/secret_internals.js";
10
+ import * as __secret_internals from "./internal/secret_internals.js";
11
+ export { __secret_internals };
11
12
  export { getCssPropertyValue, getCurrentTheme, getCurrentMode, batchSetAppsLocalTheme, applyTheme, } from "./themeAndMode.js";
12
13
  export { checkIfOfComputed, checkIfByTransform, } from "./internal/compute/checkIf.js";
13
14
  export { registerWidgetFunctions } from "./internal/compute/WidgetFunctions.js";
@@ -4,10 +4,7 @@ export declare function createRuntime(): Runtime;
4
4
  export declare function getRuntime(): Runtime;
5
5
  export declare class Runtime {
6
6
  bootstrap(): Promise<void>;
7
- getRecentApps(): {
8
- currentApp: import("@next-core/types").MicroApp | undefined;
9
- previousApp: import("@next-core/types").MicroApp | undefined;
10
- };
7
+ getRecentApps(): {};
11
8
  getCurrentApp(): import("@next-core/types").MicroApp | undefined;
12
9
  getFeatureFlags(): FeatureFlags;
13
10
  getMiscSettings(): {
@@ -0,0 +1,11 @@
1
+ // This file is read by tools that parse documentation comments conforming to the TSDoc standard.
2
+ // It should be published with your NPM package. It should not be tracked by Git.
3
+ {
4
+ "tsdocVersion": "0.12",
5
+ "toolPackages": [
6
+ {
7
+ "packageName": "@microsoft/api-extractor",
8
+ "packageVersion": "7.34.4"
9
+ }
10
+ ]
11
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@next-core/runtime",
3
- "version": "1.2.1",
3
+ "version": "1.2.2",
4
4
  "homepage": "https://github.com/easyops-cn/next-core/tree/master/packages/runtime",
5
5
  "license": "GPL-3.0",
6
6
  "repository": {
@@ -36,6 +36,9 @@
36
36
  "build": "npm run build:types && npm run build:main",
37
37
  "build:main": "cross-env NODE_ENV=production build-next-libs",
38
38
  "build:types": "tsc --emitDeclarationOnly --declaration --declarationDir dist/types --project tsconfig.build.json",
39
+ "postbuild": "npm run docs:build",
40
+ "docs:build": "api-extractor run",
41
+ "docs:dev": "api-extractor run --local --verbose",
39
42
  "test": "cross-env NODE_ENV='test' test-next",
40
43
  "test:ci": "cross-env NODE_ENV='test' CI=true test-next"
41
44
  },
@@ -44,14 +47,14 @@
44
47
  "@next-api-sdk/cmdb-sdk": "^1.1.0",
45
48
  "@next-api-sdk/micro-app-sdk": "^1.1.0",
46
49
  "@next-api-sdk/micro-app-standalone-sdk": "^1.1.0",
47
- "@next-core/cook": "^2.0.2",
48
- "@next-core/http": "^1.0.2",
49
- "@next-core/i18n": "^1.0.5",
50
- "@next-core/inject": "^1.0.3",
51
- "@next-core/loader": "^1.1.0",
52
- "@next-core/supply": "^2.0.2",
53
- "@next-core/types": "^1.0.3",
54
- "@next-core/utils": "^1.2.0",
50
+ "@next-core/cook": "^2.0.3",
51
+ "@next-core/http": "^1.0.3",
52
+ "@next-core/i18n": "^1.0.6",
53
+ "@next-core/inject": "^1.0.4",
54
+ "@next-core/loader": "^1.1.1",
55
+ "@next-core/supply": "^2.0.3",
56
+ "@next-core/types": "^1.0.4",
57
+ "@next-core/utils": "^1.2.1",
55
58
  "@ungap/event-target": "^0.2.3",
56
59
  "compare-versions": "^5.0.3",
57
60
  "history": "^4.10.1",
@@ -60,8 +63,9 @@
60
63
  "path-to-regexp": "^6.2.1"
61
64
  },
62
65
  "devDependencies": {
63
- "@next-core/build-next-libs": "^1.0.2",
64
- "@next-core/test-next": "^1.0.2"
66
+ "@microsoft/api-extractor": "^7.34.4",
67
+ "@next-core/build-next-libs": "^1.0.3",
68
+ "@next-core/test-next": "^1.0.3"
65
69
  },
66
- "gitHead": "b880dd4e679551d2dac289e8c5de9af031070100"
70
+ "gitHead": "9e99998974ba369577d5ff6c01cd2aefb451a432"
67
71
  }