@next-core/easyops-runtime 0.10.5 → 0.10.7

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 (66) hide show
  1. package/dist/cjs/analytics/http.js +3 -4
  2. package/dist/cjs/analytics/http.js.map +1 -1
  3. package/dist/cjs/checkInstalledApps.js +1 -2
  4. package/dist/cjs/checkInstalledApps.js.map +1 -1
  5. package/dist/cjs/checkPermissions.js.map +1 -1
  6. package/dist/cjs/flowApi/CollectContracts.js.map +1 -1
  7. package/dist/cjs/flowApi/FlowApi.js +2 -2
  8. package/dist/cjs/flowApi/FlowApi.js.map +1 -1
  9. package/dist/cjs/flowApi/FlowApiProvider.js +5 -5
  10. package/dist/cjs/flowApi/FlowApiProvider.js.map +1 -1
  11. package/dist/cjs/menu/fetchMenuById.js.map +1 -1
  12. package/dist/cjs/menu/fetchMenuTitle.js +1 -1
  13. package/dist/cjs/menu/fetchMenuTitle.js.map +1 -1
  14. package/dist/cjs/menu/getMenusOfStandaloneApp.js +2 -2
  15. package/dist/cjs/menu/getMenusOfStandaloneApp.js.map +1 -1
  16. package/dist/cjs/menu/mergeMenu.js +1 -2
  17. package/dist/cjs/menu/mergeMenu.js.map +1 -1
  18. package/dist/cjs/menu/reorderMenuItems.js +1 -4
  19. package/dist/cjs/menu/reorderMenuItems.js.map +1 -1
  20. package/dist/cjs/websocket/MessageDispatcher.js.map +1 -1
  21. package/dist/cjs/websocket/MessageService.js.map +1 -1
  22. package/dist/esm/analytics/analytics.js +23 -18
  23. package/dist/esm/analytics/analytics.js.map +1 -1
  24. package/dist/esm/analytics/http.js +19 -20
  25. package/dist/esm/analytics/http.js.map +1 -1
  26. package/dist/esm/analytics/pageView.js +6 -6
  27. package/dist/esm/analytics/pageView.js.map +1 -1
  28. package/dist/esm/analytics/transport.js +12 -12
  29. package/dist/esm/analytics/transport.js.map +1 -1
  30. package/dist/esm/auth-v2.js +1 -1
  31. package/dist/esm/auth-v2.js.map +1 -1
  32. package/dist/esm/auth.js +5 -4
  33. package/dist/esm/auth.js.map +1 -1
  34. package/dist/esm/checkInstalledApps.js +19 -30
  35. package/dist/esm/checkInstalledApps.js.map +1 -1
  36. package/dist/esm/checkPermissions.js +35 -48
  37. package/dist/esm/checkPermissions.js.map +1 -1
  38. package/dist/esm/flowApi/CollectContracts.js +5 -5
  39. package/dist/esm/flowApi/CollectContracts.js.map +1 -1
  40. package/dist/esm/flowApi/FlowApi.js +68 -87
  41. package/dist/esm/flowApi/FlowApi.js.map +1 -1
  42. package/dist/esm/flowApi/FlowApiProvider.js +87 -87
  43. package/dist/esm/flowApi/FlowApiProvider.js.map +1 -1
  44. package/dist/esm/index.js +3 -3
  45. package/dist/esm/index.js.map +1 -1
  46. package/dist/esm/menu/computeMenuData.js +17 -24
  47. package/dist/esm/menu/computeMenuData.js.map +1 -1
  48. package/dist/esm/menu/constants.js +3 -3
  49. package/dist/esm/menu/constants.js.map +1 -1
  50. package/dist/esm/menu/fetchMenuById.js +61 -70
  51. package/dist/esm/menu/fetchMenuById.js.map +1 -1
  52. package/dist/esm/menu/fetchMenuTitle.js +27 -34
  53. package/dist/esm/menu/fetchMenuTitle.js.map +1 -1
  54. package/dist/esm/menu/getMenusOfStandaloneApp.js +11 -9
  55. package/dist/esm/menu/getMenusOfStandaloneApp.js.map +1 -1
  56. package/dist/esm/menu/loadDynamicMenuItems.js +17 -23
  57. package/dist/esm/menu/loadDynamicMenuItems.js.map +1 -1
  58. package/dist/esm/menu/mergeMenu.js +44 -54
  59. package/dist/esm/menu/mergeMenu.js.map +1 -1
  60. package/dist/esm/menu/reorderMenuItems.js +3 -6
  61. package/dist/esm/menu/reorderMenuItems.js.map +1 -1
  62. package/dist/esm/websocket/MessageDispatcher.js +19 -19
  63. package/dist/esm/websocket/MessageDispatcher.js.map +1 -1
  64. package/dist/esm/websocket/MessageService.js +9 -9
  65. package/dist/esm/websocket/MessageService.js.map +1 -1
  66. package/package.json +9 -9
@@ -1,40 +1,40 @@
1
- import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
- import _objectSpread from "@babel/runtime/helpers/objectSpread2";
3
1
  import { createProviderClass } from "@next-core/utils/general";
4
2
  import { http } from "@next-core/http";
5
3
  import { isEmpty, isObject } from "lodash";
6
4
  import { createSSEStream } from "@next-core/utils/general";
7
- export var FLOW_API_PROVIDER = "core.provider-flow-api";
5
+ export const FLOW_API_PROVIDER = "core.provider-flow-api";
8
6
  function hasFields(ext_fields, type) {
9
7
  return ext_fields.some(item => item.source === type);
10
8
  }
11
9
  export function processExtFields(ext_fields) {
12
- var hasQueryParams = hasFields(ext_fields, "query");
13
- var hasBodyParams = hasFields(ext_fields, "body");
10
+ const hasQueryParams = hasFields(ext_fields, "query");
11
+ const hasBodyParams = hasFields(ext_fields, "body");
14
12
  for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
15
13
  args[_key - 1] = arguments[_key];
16
14
  }
17
15
  if (hasQueryParams) {
18
16
  if (hasBodyParams) {
19
- var [_data, _params, _options] = args;
17
+ const [data, params, options] = args;
20
18
  return {
21
- data: _data,
22
- options: _objectSpread({
23
- params: _params
24
- }, _options)
19
+ data: data,
20
+ options: {
21
+ params: params,
22
+ ...options
23
+ }
25
24
  };
26
25
  }
27
- var [params, _options2] = args;
26
+ const [params, options] = args;
28
27
  return {
29
28
  data: {},
30
- options: _objectSpread({
31
- params: params
32
- }, _options2)
29
+ options: {
30
+ params: params,
31
+ ...options
32
+ }
33
33
  };
34
34
  }
35
35
 
36
36
  // only hasBodyParams or default
37
- var [data, options] = args;
37
+ const [data, options] = args;
38
38
  return {
39
39
  data,
40
40
  options: options
@@ -44,7 +44,7 @@ export function hasFileType(request) {
44
44
  if (!request || request.type !== "object") {
45
45
  return false;
46
46
  }
47
- var processFields = fields => {
47
+ const processFields = fields => {
48
48
  return !isEmpty(fields) && fields.some(field => ["file", "file[]"].includes(field.type) || processFields(field.fields));
49
49
  };
50
50
  return processFields(request.fields);
@@ -53,92 +53,92 @@ export function transformFormData(data) {
53
53
  if (data instanceof FormData) {
54
54
  return data;
55
55
  }
56
- var formData = new FormData();
57
- var _loop = function (key) {
56
+ const formData = new FormData();
57
+ for (const [key, value] of Object.entries(data)) {
58
58
  if (Array.isArray(value)) {
59
59
  value.forEach(v => {
60
60
  formData.append(key, v);
61
61
  });
62
62
  } else if (isObject(value) && !(value instanceof Blob) && !(value instanceof Date)) {
63
63
  Object.entries(value).forEach(_ref => {
64
- var [k, v] = _ref;
65
- formData.append("".concat(key, "[").concat(k, "]"), v);
64
+ let [k, v] = _ref;
65
+ formData.append(`${key}[${k}]`, v);
66
66
  });
67
67
  } else {
68
68
  formData.append(key, value);
69
69
  }
70
- };
71
- for (var [key, value] of Object.entries(data)) {
72
- _loop(key);
73
70
  }
74
71
  return formData;
75
72
  }
76
- export function callFlowApi(_x) {
77
- return _callFlowApi.apply(this, arguments);
78
- }
79
- function _callFlowApi() {
80
- _callFlowApi = _asyncToGenerator(function* (_ref2) {
81
- var {
82
- url,
83
- originalUri,
84
- method = "GET",
85
- responseWrapper = true,
86
- ext_fields = [],
87
- request,
88
- isFileType,
89
- stream
90
- } = _ref2;
91
- var isSimpleRequest = ["get", "delete", "head"].includes(method.toLowerCase());
92
- var defaultOptions = isFileType ? {
93
- responseType: "blob"
94
- } : {};
95
- var response;
96
- for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
97
- args[_key2 - 1] = arguments[_key2];
98
- }
99
- if (isSimpleRequest) {
100
- var _originalUri$match$le, _originalUri$match, _request$fields$lengt, _request$fields;
101
- var noParams = originalUri && (request === null || request === void 0 ? void 0 : request.type) === "object" ? ((_originalUri$match$le = (_originalUri$match = originalUri.match(/:([^/]+)/g)) === null || _originalUri$match === void 0 ? void 0 : _originalUri$match.length) !== null && _originalUri$match$le !== void 0 ? _originalUri$match$le : 0) === ((_request$fields$lengt = (_request$fields = request.fields) === null || _request$fields === void 0 ? void 0 : _request$fields.length) !== null && _request$fields$lengt !== void 0 ? _request$fields$lengt : 0) : false;
102
- var params;
103
- var options;
104
- if (noParams) {
105
- [options] = args;
106
- } else {
107
- [params, options] = args;
108
- }
109
- if (stream) {
110
- var _options$headers, _options3;
111
- var _stream = yield createSSEStream(http.getUrlWithParams(url, params), _objectSpread(_objectSpread(_objectSpread({}, defaultOptions), options), {}, {
112
- method,
113
- headers: Object.fromEntries([...new Headers((_options$headers = (_options3 = options) === null || _options3 === void 0 ? void 0 : _options3.headers) !== null && _options$headers !== void 0 ? _options$headers : {}).entries()])
114
- }));
115
- return _stream;
116
- }
117
- response = yield http.simpleRequest(method, url, _objectSpread(_objectSpread({
118
- params
119
- }, defaultOptions), options));
73
+ export async function callFlowApi(_ref2) {
74
+ let {
75
+ url,
76
+ originalUri,
77
+ method = "GET",
78
+ responseWrapper = true,
79
+ ext_fields = [],
80
+ request,
81
+ isFileType,
82
+ stream
83
+ } = _ref2;
84
+ const isSimpleRequest = ["get", "delete", "head"].includes(method.toLowerCase());
85
+ const defaultOptions = isFileType ? {
86
+ responseType: "blob"
87
+ } : {};
88
+ let response;
89
+ for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
90
+ args[_key2 - 1] = arguments[_key2];
91
+ }
92
+ if (isSimpleRequest) {
93
+ var _originalUri$match, _request$fields;
94
+ 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;
95
+ let params;
96
+ let options;
97
+ if (noParams) {
98
+ [options] = args;
120
99
  } else {
121
- var isUploadType = hasFileType(request);
122
- var result = processExtFields(ext_fields, ...args);
123
- var data = isUploadType ? transformFormData(result.data) : result.data;
124
- if (stream) {
125
- var _result$options;
126
- var {
127
- body,
128
- headers
129
- } = http.getBodyAndHeaders(data, (_result$options = result.options) === null || _result$options === void 0 ? void 0 : _result$options.headers);
130
- var _stream2 = yield createSSEStream(url, _objectSpread(_objectSpread(_objectSpread({}, defaultOptions), result.options), {}, {
131
- method,
132
- headers: Object.fromEntries([...new Headers(headers !== null && headers !== void 0 ? headers : {}).entries()]),
133
- body
134
- }));
135
- return _stream2;
136
- }
137
- response = yield http.requestWithBody(method, url, data, _objectSpread(_objectSpread({}, defaultOptions), result.options));
100
+ [params, options] = args;
101
+ }
102
+ if (stream) {
103
+ var _options;
104
+ const stream = await createSSEStream(http.getUrlWithParams(url, params), {
105
+ ...defaultOptions,
106
+ ...options,
107
+ method,
108
+ headers: Object.fromEntries([...new Headers(((_options = options) === null || _options === void 0 ? void 0 : _options.headers) ?? {}).entries()])
109
+ });
110
+ return stream;
138
111
  }
139
- return (isFileType ? false : responseWrapper) ? response.data : response;
140
- });
141
- return _callFlowApi.apply(this, arguments);
112
+ response = await http.simpleRequest(method, url, {
113
+ params,
114
+ ...defaultOptions,
115
+ ...options
116
+ });
117
+ } else {
118
+ const isUploadType = hasFileType(request);
119
+ const result = processExtFields(ext_fields, ...args);
120
+ const data = isUploadType ? transformFormData(result.data) : result.data;
121
+ if (stream) {
122
+ var _result$options;
123
+ const {
124
+ body,
125
+ headers
126
+ } = http.getBodyAndHeaders(data, (_result$options = result.options) === null || _result$options === void 0 ? void 0 : _result$options.headers);
127
+ const stream = await createSSEStream(url, {
128
+ ...defaultOptions,
129
+ ...result.options,
130
+ method,
131
+ headers: Object.fromEntries([...new Headers(headers ?? {}).entries()]),
132
+ body
133
+ });
134
+ return stream;
135
+ }
136
+ response = await http.requestWithBody(method, url, data, {
137
+ ...defaultOptions,
138
+ ...result.options
139
+ });
140
+ }
141
+ return (isFileType ? false : responseWrapper) ? response.data : response;
142
142
  }
143
143
  export function registerFlowApiProvider() {
144
144
  customElements.define(FLOW_API_PROVIDER, createProviderClass(callFlowApi));
@@ -1 +1 @@
1
- {"version":3,"file":"FlowApiProvider.js","names":["createProviderClass","http","isEmpty","isObject","createSSEStream","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","stream","isSimpleRequest","toLowerCase","defaultOptions","responseType","response","_len2","_key2","_originalUri$match$le","_originalUri$match","_request$fields$lengt","_request$fields","noParams","match","_options$headers","_options3","getUrlWithParams","headers","fromEntries","Headers","simpleRequest","isUploadType","result","_result$options","body","getBodyAndHeaders","requestWithBody","registerFlowApiProvider","customElements","define"],"sources":["../../../src/flowApi/FlowApiProvider.ts"],"sourcesContent":["import { createProviderClass } from \"@next-core/utils/general\";\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\";\nimport { createSSEStream } from \"@next-core/utils/general\";\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 stream?: 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 stream,\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 if (stream) {\n const stream = await createSSEStream(http.getUrlWithParams(url, params), {\n ...defaultOptions,\n ...options,\n method,\n headers: Object.fromEntries([\n ...new Headers(options?.headers ?? {}).entries(),\n ]),\n });\n return stream;\n }\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\n const data = isUploadType\n ? transformFormData(result.data as any)\n : result.data;\n\n if (stream) {\n const { body, headers } = http.getBodyAndHeaders(\n data,\n result.options?.headers\n );\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\n response = await http.requestWithBody(method, url, data, {\n ...defaultOptions,\n ...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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","ignoreList":[]}
1
+ {"version":3,"file":"FlowApiProvider.js","names":["createProviderClass","http","isEmpty","isObject","createSSEStream","FLOW_API_PROVIDER","hasFields","ext_fields","type","some","item","source","processExtFields","hasQueryParams","hasBodyParams","_len","arguments","length","args","Array","_key","data","params","options","hasFileType","request","processFields","fields","field","includes","transformFormData","FormData","formData","key","value","Object","entries","isArray","forEach","v","append","Blob","Date","_ref","k","callFlowApi","_ref2","url","originalUri","method","responseWrapper","isFileType","stream","isSimpleRequest","toLowerCase","defaultOptions","responseType","response","_len2","_key2","_originalUri$match","_request$fields","noParams","match","_options","getUrlWithParams","headers","fromEntries","Headers","simpleRequest","isUploadType","result","_result$options","body","getBodyAndHeaders","requestWithBody","registerFlowApiProvider","customElements","define"],"sources":["../../../src/flowApi/FlowApiProvider.ts"],"sourcesContent":["import { createProviderClass } from \"@next-core/utils/general\";\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\";\nimport { createSSEStream } from \"@next-core/utils/general\";\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 stream?: 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 stream,\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 if (stream) {\n const stream = await createSSEStream(http.getUrlWithParams(url, params), {\n ...defaultOptions,\n ...options,\n method,\n headers: Object.fromEntries([\n ...new Headers(options?.headers ?? {}).entries(),\n ]),\n });\n return stream;\n }\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\n const data = isUploadType\n ? transformFormData(result.data as any)\n : result.data;\n\n if (stream) {\n const { body, headers } = http.getBodyAndHeaders(\n data,\n result.options?.headers\n );\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\n response = await http.requestWithBody(method, url, data, {\n ...defaultOptions,\n ...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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","ignoreList":[]}
package/dist/esm/index.js CHANGED
@@ -11,11 +11,11 @@ import * as _menu from "./menu/index.js";
11
11
  export { _menu as menu };
12
12
  import * as _analytics from "./analytics/index.js";
13
13
  export { _analytics as analytics };
14
- export var checkPermissions = Object.freeze({
14
+ export const checkPermissions = Object.freeze({
15
15
  checkPermissions: _checkPermissions,
16
16
  preCheckPermissions,
17
17
  preCheckPermissionsForBrickOrRoute
18
18
  });
19
- export var messageDispatcher = new MessageDispatcher();
20
- export var auth = authV2Factory() || authV3;
19
+ export const messageDispatcher = new MessageDispatcher();
20
+ export const auth = authV2Factory() || authV3;
21
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["checkPermissions","_checkPermissions","preCheckPermissions","preCheckPermissionsForBrickOrRoute","MessageDispatcher","authV3","authV2Factory","_checkInstalledApps","checkInstalledApps","_flowApi","flowApi","_menu","menu","_analytics","analytics","Object","freeze","messageDispatcher","auth"],"sources":["../../src/index.ts"],"sourcesContent":["// istanbul ignore file\nimport {\n checkPermissions as _checkPermissions,\n preCheckPermissions,\n preCheckPermissionsForBrickOrRoute,\n} from \"./checkPermissions.js\";\nimport { MessageDispatcher } from \"./websocket/MessageDispatcher.js\";\nimport * as authV3 from \"./auth.js\";\nimport { authV2Factory } from \"./auth-v2.js\";\n\nexport * as checkInstalledApps from \"./checkInstalledApps.js\";\nexport * as flowApi from \"./flowApi/index.js\";\nexport * as menu from \"./menu/index.js\";\nexport * as analytics from \"./analytics/index.js\";\n\nexport const checkPermissions = Object.freeze({\n checkPermissions: _checkPermissions,\n preCheckPermissions,\n preCheckPermissionsForBrickOrRoute,\n});\n\nexport const messageDispatcher = new MessageDispatcher();\n\nexport const auth = authV2Factory() || authV3;\n"],"mappings":"AAAA;AACA,SACEA,gBAAgB,IAAIC,iBAAiB,EACrCC,mBAAmB,EACnBC,kCAAkC,QAC7B,uBAAuB;AAC9B,SAASC,iBAAiB,QAAQ,kCAAkC;AACpE,OAAO,KAAKC,MAAM,MAAM,WAAW;AACnC,SAASC,aAAa,QAAQ,cAAc;AAAC,YAAAC,mBAAA,MAET,yBAAyB;AAAA,SAAAA,mBAAA,IAAjDC,kBAAkB;AAAA,YAAAC,QAAA,MACL,oBAAoB;AAAA,SAAAA,QAAA,IAAjCC,OAAO;AAAA,YAAAC,KAAA,MACG,iBAAiB;AAAA,SAAAA,KAAA,IAA3BC,IAAI;AAAA,YAAAC,UAAA,MACW,sBAAsB;AAAA,SAAAA,UAAA,IAArCC,SAAS;AAErB,OAAO,IAAMd,gBAAgB,GAAGe,MAAM,CAACC,MAAM,CAAC;EAC5ChB,gBAAgB,EAAEC,iBAAiB;EACnCC,mBAAmB;EACnBC;AACF,CAAC,CAAC;AAEF,OAAO,IAAMc,iBAAiB,GAAG,IAAIb,iBAAiB,CAAC,CAAC;AAExD,OAAO,IAAMc,IAAI,GAAGZ,aAAa,CAAC,CAAC,IAAID,MAAM","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["checkPermissions","_checkPermissions","preCheckPermissions","preCheckPermissionsForBrickOrRoute","MessageDispatcher","authV3","authV2Factory","_checkInstalledApps","checkInstalledApps","_flowApi","flowApi","_menu","menu","_analytics","analytics","Object","freeze","messageDispatcher","auth"],"sources":["../../src/index.ts"],"sourcesContent":["// istanbul ignore file\nimport {\n checkPermissions as _checkPermissions,\n preCheckPermissions,\n preCheckPermissionsForBrickOrRoute,\n} from \"./checkPermissions.js\";\nimport { MessageDispatcher } from \"./websocket/MessageDispatcher.js\";\nimport * as authV3 from \"./auth.js\";\nimport { authV2Factory } from \"./auth-v2.js\";\n\nexport * as checkInstalledApps from \"./checkInstalledApps.js\";\nexport * as flowApi from \"./flowApi/index.js\";\nexport * as menu from \"./menu/index.js\";\nexport * as analytics from \"./analytics/index.js\";\n\nexport const checkPermissions = Object.freeze({\n checkPermissions: _checkPermissions,\n preCheckPermissions,\n preCheckPermissionsForBrickOrRoute,\n});\n\nexport const messageDispatcher = new MessageDispatcher();\n\nexport const auth = authV2Factory() || authV3;\n"],"mappings":"AAAA;AACA,SACEA,gBAAgB,IAAIC,iBAAiB,EACrCC,mBAAmB,EACnBC,kCAAkC,QAC7B,uBAAuB;AAC9B,SAASC,iBAAiB,QAAQ,kCAAkC;AACpE,OAAO,KAAKC,MAAM,MAAM,WAAW;AACnC,SAASC,aAAa,QAAQ,cAAc;AAAC,YAAAC,mBAAA,MAET,yBAAyB;AAAA,SAAAA,mBAAA,IAAjDC,kBAAkB;AAAA,YAAAC,QAAA,MACL,oBAAoB;AAAA,SAAAA,QAAA,IAAjCC,OAAO;AAAA,YAAAC,KAAA,MACG,iBAAiB;AAAA,SAAAA,KAAA,IAA3BC,IAAI;AAAA,YAAAC,UAAA,MACW,sBAAsB;AAAA,SAAAA,UAAA,IAArCC,SAAS;AAErB,OAAO,MAAMd,gBAAgB,GAAGe,MAAM,CAACC,MAAM,CAAC;EAC5ChB,gBAAgB,EAAEC,iBAAiB;EACnCC,mBAAmB;EACnBC;AACF,CAAC,CAAC;AAEF,OAAO,MAAMc,iBAAiB,GAAG,IAAIb,iBAAiB,CAAC,CAAC;AAExD,OAAO,MAAMc,IAAI,GAAGZ,aAAa,CAAC,CAAC,IAAID,MAAM","ignoreList":[]}
@@ -1,14 +1,10 @@
1
- import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
2
- import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
3
- import _objectSpread from "@babel/runtime/helpers/objectSpread2";
4
- var _excluded = ["children"];
5
1
  import { symbolAppId, symbolMenuI18nNamespace, symbolOverrideApp } from "./constants.js";
6
2
  import { hasOwnProperty, isObject } from "@next-core/utils/general";
7
3
  import { pipes } from "@next-core/pipes";
8
4
  import { isEvaluable } from "@next-core/cook";
9
5
  export function computeMenuData(data, overrideAppId, runtimeContext, helpers) {
10
6
  if ("titleDataSource" in data && isObject(data.titleDataSource) && Object.entries(data.titleDataSource).every(_ref => {
11
- var [, value] = _ref;
7
+ let [, value] = _ref;
12
8
  return value === null || value === "";
13
9
  })) {
14
10
  delete data.titleDataSource;
@@ -17,39 +13,36 @@ export function computeMenuData(data, overrideAppId, runtimeContext, helpers) {
17
13
  delete data.if;
18
14
  }
19
15
  if ("to" in data && data.to && !isEvaluable(data.to)) {
20
- var yaml = pipes.yaml(data.to);
16
+ const yaml = pipes.yaml(data.to);
21
17
  if (isObject(yaml) && ["pathname", "search", "hash"].some(key => hasOwnProperty(yaml, key))) {
22
18
  data.to = yaml;
23
19
  }
24
20
  }
25
- var newRuntimeContext = runtimeContext;
21
+ let newRuntimeContext = runtimeContext;
26
22
  if (overrideAppId !== runtimeContext.app.id) {
27
23
  var _helpers$getStoryboar;
28
- var overrideApp = window.STANDALONE_MICRO_APPS ? data[symbolOverrideApp] : (_helpers$getStoryboar = helpers.getStoryboardByAppId(overrideAppId)) === null || _helpers$getStoryboar === void 0 ? void 0 : _helpers$getStoryboar.app;
29
- newRuntimeContext = _objectSpread(_objectSpread({}, runtimeContext), {}, {
24
+ const overrideApp = window.STANDALONE_MICRO_APPS ? data[symbolOverrideApp] : (_helpers$getStoryboar = helpers.getStoryboardByAppId(overrideAppId)) === null || _helpers$getStoryboar === void 0 ? void 0 : _helpers$getStoryboar.app;
25
+ newRuntimeContext = {
26
+ ...runtimeContext,
30
27
  overrideApp,
31
28
  appendI18nNamespace: data[symbolMenuI18nNamespace]
32
- });
29
+ };
33
30
  }
34
31
  return helpers.asyncComputeRealValue(data, newRuntimeContext, {
35
32
  ignoreSymbols: true
36
33
  });
37
34
  }
38
35
  export function computeMenuItems(items, runtimeContext, helpers) {
39
- return Promise.all(items.map( /*#__PURE__*/function () {
40
- var _ref3 = _asyncToGenerator(function* (_ref2) {
41
- var {
42
- children
43
- } = _ref2,
44
- rest = _objectWithoutProperties(_ref2, _excluded);
45
- var [computedRest, computedChildren] = yield Promise.all([computeMenuData(rest, rest[symbolAppId], runtimeContext, helpers), children && (yield computeMenuItems(children, runtimeContext, helpers))]);
46
- return _objectSpread(_objectSpread({}, computedRest), {}, {
47
- children: computedChildren
48
- });
49
- });
50
- return function (_x) {
51
- return _ref3.apply(this, arguments);
36
+ return Promise.all(items.map(async _ref2 => {
37
+ let {
38
+ children,
39
+ ...rest
40
+ } = _ref2;
41
+ const [computedRest, computedChildren] = await Promise.all([computeMenuData(rest, rest[symbolAppId], runtimeContext, helpers), children && (await computeMenuItems(children, runtimeContext, helpers))]);
42
+ return {
43
+ ...computedRest,
44
+ children: computedChildren
52
45
  };
53
- }()));
46
+ }));
54
47
  }
55
48
  //# sourceMappingURL=computeMenuData.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"computeMenuData.js","names":["symbolAppId","symbolMenuI18nNamespace","symbolOverrideApp","hasOwnProperty","isObject","pipes","isEvaluable","computeMenuData","data","overrideAppId","runtimeContext","helpers","titleDataSource","Object","entries","every","_ref","value","if","to","yaml","some","key","newRuntimeContext","app","id","_helpers$getStoryboar","overrideApp","window","STANDALONE_MICRO_APPS","getStoryboardByAppId","_objectSpread","appendI18nNamespace","asyncComputeRealValue","ignoreSymbols","computeMenuItems","items","Promise","all","map","_ref3","_asyncToGenerator","_ref2","children","rest","_objectWithoutProperties","_excluded","computedRest","computedChildren","_x","apply","arguments"],"sources":["../../../src/menu/computeMenuData.ts"],"sourcesContent":["import type {\n RuntimeContext,\n RuntimeHelpers,\n RuntimeMenuItemRawData,\n RuntimeMenuRawData,\n} from \"./interfaces.js\";\nimport {\n symbolAppId,\n symbolMenuI18nNamespace,\n symbolOverrideApp,\n} from \"./constants.js\";\nimport { hasOwnProperty, isObject } from \"@next-core/utils/general\";\nimport { pipes } from \"@next-core/pipes\";\nimport { isEvaluable } from \"@next-core/cook\";\n\ntype RuntimeMenuRestRawData = Omit<RuntimeMenuRawData, \"app\" | \"items\">;\ntype RuntimeMenuItemRestRawData = Omit<RuntimeMenuItemRawData, \"children\">;\n\nexport function computeMenuData<\n T extends RuntimeMenuRestRawData | RuntimeMenuItemRestRawData,\n>(\n data: T,\n overrideAppId: string,\n runtimeContext: RuntimeContext,\n helpers: RuntimeHelpers\n): Promise<T> {\n if (\n \"titleDataSource\" in data &&\n isObject(data.titleDataSource) &&\n Object.entries(data.titleDataSource).every(\n ([, value]) => value === null || value === \"\"\n )\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 as string)) {\n const yaml = pipes.yaml(data.to as string);\n\n if (\n isObject(yaml) &&\n [\"pathname\", \"search\", \"hash\"].some((key) => hasOwnProperty(yaml, key))\n ) {\n data.to = yaml;\n }\n }\n\n let newRuntimeContext = runtimeContext;\n if (overrideAppId !== runtimeContext.app.id) {\n const overrideApp = window.STANDALONE_MICRO_APPS\n ? data[symbolOverrideApp]\n : helpers.getStoryboardByAppId(overrideAppId)?.app;\n newRuntimeContext = {\n ...runtimeContext,\n overrideApp,\n appendI18nNamespace: data[symbolMenuI18nNamespace],\n };\n }\n return helpers.asyncComputeRealValue(data, newRuntimeContext, {\n ignoreSymbols: true,\n }) as Promise<T>;\n}\n\nexport function computeMenuItems(\n items: RuntimeMenuItemRawData[],\n runtimeContext: RuntimeContext,\n helpers: RuntimeHelpers\n): Promise<RuntimeMenuItemRawData[]> {\n return Promise.all(\n items.map(async ({ children, ...rest }) => {\n const [computedRest, computedChildren] = await Promise.all([\n computeMenuData(rest, rest[symbolAppId], runtimeContext, helpers),\n children && (await computeMenuItems(children, runtimeContext, helpers)),\n ]);\n return {\n ...computedRest,\n children: computedChildren,\n };\n })\n );\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"computeMenuData.js","names":["symbolAppId","symbolMenuI18nNamespace","symbolOverrideApp","hasOwnProperty","isObject","pipes","isEvaluable","computeMenuData","data","overrideAppId","runtimeContext","helpers","titleDataSource","Object","entries","every","_ref","value","if","to","yaml","some","key","newRuntimeContext","app","id","_helpers$getStoryboar","overrideApp","window","STANDALONE_MICRO_APPS","getStoryboardByAppId","appendI18nNamespace","asyncComputeRealValue","ignoreSymbols","computeMenuItems","items","Promise","all","map","_ref2","children","rest","computedRest","computedChildren"],"sources":["../../../src/menu/computeMenuData.ts"],"sourcesContent":["import type {\n RuntimeContext,\n RuntimeHelpers,\n RuntimeMenuItemRawData,\n RuntimeMenuRawData,\n} from \"./interfaces.js\";\nimport {\n symbolAppId,\n symbolMenuI18nNamespace,\n symbolOverrideApp,\n} from \"./constants.js\";\nimport { hasOwnProperty, isObject } from \"@next-core/utils/general\";\nimport { pipes } from \"@next-core/pipes\";\nimport { isEvaluable } from \"@next-core/cook\";\n\ntype RuntimeMenuRestRawData = Omit<RuntimeMenuRawData, \"app\" | \"items\">;\ntype RuntimeMenuItemRestRawData = Omit<RuntimeMenuItemRawData, \"children\">;\n\nexport function computeMenuData<\n T extends RuntimeMenuRestRawData | RuntimeMenuItemRestRawData,\n>(\n data: T,\n overrideAppId: string,\n runtimeContext: RuntimeContext,\n helpers: RuntimeHelpers\n): Promise<T> {\n if (\n \"titleDataSource\" in data &&\n isObject(data.titleDataSource) &&\n Object.entries(data.titleDataSource).every(\n ([, value]) => value === null || value === \"\"\n )\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 as string)) {\n const yaml = pipes.yaml(data.to as string);\n\n if (\n isObject(yaml) &&\n [\"pathname\", \"search\", \"hash\"].some((key) => hasOwnProperty(yaml, key))\n ) {\n data.to = yaml;\n }\n }\n\n let newRuntimeContext = runtimeContext;\n if (overrideAppId !== runtimeContext.app.id) {\n const overrideApp = window.STANDALONE_MICRO_APPS\n ? data[symbolOverrideApp]\n : helpers.getStoryboardByAppId(overrideAppId)?.app;\n newRuntimeContext = {\n ...runtimeContext,\n overrideApp,\n appendI18nNamespace: data[symbolMenuI18nNamespace],\n };\n }\n return helpers.asyncComputeRealValue(data, newRuntimeContext, {\n ignoreSymbols: true,\n }) as Promise<T>;\n}\n\nexport function computeMenuItems(\n items: RuntimeMenuItemRawData[],\n runtimeContext: RuntimeContext,\n helpers: RuntimeHelpers\n): Promise<RuntimeMenuItemRawData[]> {\n return Promise.all(\n items.map(async ({ children, ...rest }) => {\n const [computedRest, computedChildren] = await Promise.all([\n computeMenuData(rest, rest[symbolAppId], runtimeContext, helpers),\n children && (await computeMenuItems(children, runtimeContext, helpers)),\n ]);\n return {\n ...computedRest,\n children: computedChildren,\n };\n })\n );\n}\n"],"mappings":"AAMA,SACEA,WAAW,EACXC,uBAAuB,EACvBC,iBAAiB,QACZ,gBAAgB;AACvB,SAASC,cAAc,EAAEC,QAAQ,QAAQ,0BAA0B;AACnE,SAASC,KAAK,QAAQ,kBAAkB;AACxC,SAASC,WAAW,QAAQ,iBAAiB;AAK7C,OAAO,SAASC,eAAeA,CAG7BC,IAAO,EACPC,aAAqB,EACrBC,cAA8B,EAC9BC,OAAuB,EACX;EACZ,IACE,iBAAiB,IAAIH,IAAI,IACzBJ,QAAQ,CAACI,IAAI,CAACI,eAAe,CAAC,IAC9BC,MAAM,CAACC,OAAO,CAACN,IAAI,CAACI,eAAe,CAAC,CAACG,KAAK,CACxCC,IAAA;IAAA,IAAC,GAAGC,KAAK,CAAC,GAAAD,IAAA;IAAA,OAAKC,KAAK,KAAK,IAAI,IAAIA,KAAK,KAAK,EAAE;EAAA,CAC/C,CAAC,EACD;IACA,OAAOT,IAAI,CAACI,eAAe;EAC7B;EACA,IAAI,IAAI,IAAIJ,IAAI,IAAIA,IAAI,CAACU,EAAE,KAAK,IAAI,EAAE;IACpC,OAAOV,IAAI,CAACU,EAAE;EAChB;EACA,IAAI,IAAI,IAAIV,IAAI,IAAIA,IAAI,CAACW,EAAE,IAAI,CAACb,WAAW,CAACE,IAAI,CAACW,EAAY,CAAC,EAAE;IAC9D,MAAMC,IAAI,GAAGf,KAAK,CAACe,IAAI,CAACZ,IAAI,CAACW,EAAY,CAAC;IAE1C,IACEf,QAAQ,CAACgB,IAAI,CAAC,IACd,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,CAACC,IAAI,CAAEC,GAAG,IAAKnB,cAAc,CAACiB,IAAI,EAAEE,GAAG,CAAC,CAAC,EACvE;MACAd,IAAI,CAACW,EAAE,GAAGC,IAAI;IAChB;EACF;EAEA,IAAIG,iBAAiB,GAAGb,cAAc;EACtC,IAAID,aAAa,KAAKC,cAAc,CAACc,GAAG,CAACC,EAAE,EAAE;IAAA,IAAAC,qBAAA;IAC3C,MAAMC,WAAW,GAAGC,MAAM,CAACC,qBAAqB,GAC5CrB,IAAI,CAACN,iBAAiB,CAAC,IAAAwB,qBAAA,GACvBf,OAAO,CAACmB,oBAAoB,CAACrB,aAAa,CAAC,cAAAiB,qBAAA,uBAA3CA,qBAAA,CAA6CF,GAAG;IACpDD,iBAAiB,GAAG;MAClB,GAAGb,cAAc;MACjBiB,WAAW;MACXI,mBAAmB,EAAEvB,IAAI,CAACP,uBAAuB;IACnD,CAAC;EACH;EACA,OAAOU,OAAO,CAACqB,qBAAqB,CAACxB,IAAI,EAAEe,iBAAiB,EAAE;IAC5DU,aAAa,EAAE;EACjB,CAAC,CAAC;AACJ;AAEA,OAAO,SAASC,gBAAgBA,CAC9BC,KAA+B,EAC/BzB,cAA8B,EAC9BC,OAAuB,EACY;EACnC,OAAOyB,OAAO,CAACC,GAAG,CAChBF,KAAK,CAACG,GAAG,CAAC,MAAAC,KAAA,IAAiC;IAAA,IAA1B;MAAEC,QAAQ;MAAE,GAAGC;IAAK,CAAC,GAAAF,KAAA;IACpC,MAAM,CAACG,YAAY,EAAEC,gBAAgB,CAAC,GAAG,MAAMP,OAAO,CAACC,GAAG,CAAC,CACzD9B,eAAe,CAACkC,IAAI,EAAEA,IAAI,CAACzC,WAAW,CAAC,EAAEU,cAAc,EAAEC,OAAO,CAAC,EACjE6B,QAAQ,KAAK,MAAMN,gBAAgB,CAACM,QAAQ,EAAE9B,cAAc,EAAEC,OAAO,CAAC,CAAC,CACxE,CAAC;IACF,OAAO;MACL,GAAG+B,YAAY;MACfF,QAAQ,EAAEG;IACZ,CAAC;EACH,CAAC,CACH,CAAC;AACH","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- export var symbolAppId = Symbol("appId");
2
- export var symbolMenuI18nNamespace = Symbol("menuI18nNamespace");
3
- export var symbolOverrideApp = Symbol("overrideApp");
1
+ export const symbolAppId = Symbol("appId");
2
+ export const symbolMenuI18nNamespace = Symbol("menuI18nNamespace");
3
+ export const symbolOverrideApp = Symbol("overrideApp");
4
4
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","names":["symbolAppId","Symbol","symbolMenuI18nNamespace","symbolOverrideApp"],"sources":["../../../src/menu/constants.ts"],"sourcesContent":["export const symbolAppId = Symbol(\"appId\");\nexport const symbolMenuI18nNamespace = Symbol(\"menuI18nNamespace\");\nexport const symbolOverrideApp = Symbol(\"overrideApp\");\n"],"mappings":"AAAA,OAAO,IAAMA,WAAW,GAAGC,MAAM,CAAC,OAAO,CAAC;AAC1C,OAAO,IAAMC,uBAAuB,GAAGD,MAAM,CAAC,mBAAmB,CAAC;AAClE,OAAO,IAAME,iBAAiB,GAAGF,MAAM,CAAC,aAAa,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"constants.js","names":["symbolAppId","Symbol","symbolMenuI18nNamespace","symbolOverrideApp"],"sources":["../../../src/menu/constants.ts"],"sourcesContent":["export const symbolAppId = Symbol(\"appId\");\nexport const symbolMenuI18nNamespace = Symbol(\"menuI18nNamespace\");\nexport const symbolOverrideApp = Symbol(\"overrideApp\");\n"],"mappings":"AAAA,OAAO,MAAMA,WAAW,GAAGC,MAAM,CAAC,OAAO,CAAC;AAC1C,OAAO,MAAMC,uBAAuB,GAAGD,MAAM,CAAC,mBAAmB,CAAC;AAClE,OAAO,MAAME,iBAAiB,GAAGF,MAAM,CAAC,aAAa,CAAC","ignoreList":[]}
@@ -1,7 +1,3 @@
1
- import _objectSpread from "@babel/runtime/helpers/objectSpread2";
2
- import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
- import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
4
- var _excluded = ["items", "app"];
5
1
  import { InstanceApi_postSearch } from "@next-api-sdk/cmdb-sdk";
6
2
  import { InstalledMicroAppApi_getMenusInfo } from "@next-api-sdk/micro-app-sdk";
7
3
  import { omit, pick } from "lodash";
@@ -12,12 +8,12 @@ import { computeMenuItems, computeMenuData } from "./computeMenuData.js";
12
8
  import { fetchMenuTitle } from "./fetchMenuTitle.js";
13
9
  import { getMenusOfStandaloneApp } from "./getMenusOfStandaloneApp.js";
14
10
  import { preCheckPermissionsForAny } from "../checkPermissions.js";
15
- var menuPromises = new Map();
16
- var menuCache = new Map();
11
+ const menuPromises = new Map();
12
+ const menuCache = new Map();
17
13
  function transformMenuItems(menuItems) {
18
14
  return menuItems === null || menuItems === void 0 ? void 0 : menuItems.filter(checkIfOfComputed).map(item => {
19
- var children = transformMenuItems(item.children);
20
- var transformedMenuItem = item.type === "group" ? {
15
+ const children = transformMenuItems(item.children);
16
+ const transformedMenuItem = item.type === "group" ? {
21
17
  type: "group",
22
18
  title: item.text,
23
19
  childLayout: item.childLayout,
@@ -39,77 +35,72 @@ export function getMenuById(menuId) {
39
35
  return menuCache.get(menuId);
40
36
  }
41
37
  export function fetchMenuById(menuId, runtimeContext, helpers) {
42
- var promise = menuPromises.get(menuId);
38
+ let promise = menuPromises.get(menuId);
43
39
  if (!promise) {
44
40
  promise = _fetchMenuById(menuId, runtimeContext, helpers);
45
41
  }
46
42
  return promise;
47
43
  }
48
- function _fetchMenuById(_x, _x2, _x3) {
49
- return _fetchMenuById2.apply(this, arguments);
50
- }
51
- function _fetchMenuById2() {
52
- _fetchMenuById2 = _asyncToGenerator(function* (menuId, runtimeContext, helpers) {
53
- var menuList = window.STANDALONE_MICRO_APPS ? getMenusOfStandaloneApp(menuId, runtimeContext.app.id, helpers) : runtimeContext.flags["three-level-menu-layout"] ? (yield InstalledMicroAppApi_getMenusInfo(menuId, {
54
- menuObjectId: "EASYOPS_STORYBOARD_MENU"
55
- })).menus : (yield InstanceApi_postSearch("EASYOPS_STORYBOARD_MENU", {
56
- page: 1,
57
- page_size: 200,
58
- fields: {
59
- menuId: true,
60
- title: true,
61
- icon: true,
62
- link: true,
63
- titleDataSource: true,
64
- defaultCollapsed: true,
65
- defaultCollapsedBreakpoint: true,
66
- type: true,
67
- injectMenuGroupId: true,
68
- dynamicItems: true,
69
- itemsResolve: true,
70
- items: true,
71
- i18n: true,
72
- "items.children": true,
73
- "app.appId": true
44
+ async function _fetchMenuById(menuId, runtimeContext, helpers) {
45
+ const menuList = window.STANDALONE_MICRO_APPS ? getMenusOfStandaloneApp(menuId, runtimeContext.app.id, helpers) : runtimeContext.flags["three-level-menu-layout"] ? (await InstalledMicroAppApi_getMenusInfo(menuId, {
46
+ menuObjectId: "EASYOPS_STORYBOARD_MENU"
47
+ })).menus : (await InstanceApi_postSearch("EASYOPS_STORYBOARD_MENU", {
48
+ page: 1,
49
+ page_size: 200,
50
+ fields: {
51
+ menuId: true,
52
+ title: true,
53
+ icon: true,
54
+ link: true,
55
+ titleDataSource: true,
56
+ defaultCollapsed: true,
57
+ defaultCollapsedBreakpoint: true,
58
+ type: true,
59
+ injectMenuGroupId: true,
60
+ dynamicItems: true,
61
+ itemsResolve: true,
62
+ items: true,
63
+ i18n: true,
64
+ "items.children": true,
65
+ "app.appId": true
66
+ },
67
+ query: {
68
+ menuId: {
69
+ $eq: menuId
74
70
  },
75
- query: {
76
- menuId: {
77
- $eq: menuId
78
- },
79
- app: {
80
- $size: {
81
- $gt: 0
82
- }
71
+ app: {
72
+ $size: {
73
+ $gt: 0
83
74
  }
84
75
  }
85
- })).list;
86
- var menuData = yield mergeMenu(menuList, runtimeContext, helpers);
87
- if (!menuData) {
88
- throw new Error("Menu not found: ".concat(menuId));
89
76
  }
90
- reorderMenu(menuData);
91
- var {
92
- items,
93
- app
94
- } = menuData,
95
- restMenuData = _objectWithoutProperties(menuData, _excluded);
96
- var newRuntimeContext = _objectSpread(_objectSpread({}, runtimeContext), {}, {
97
- pendingPermissionsPreCheck: [...runtimeContext.pendingPermissionsPreCheck, preCheckPermissionsForAny([items, restMenuData])]
98
- });
99
- delete newRuntimeContext.tplStateStoreId;
100
- delete newRuntimeContext.forEachItem;
101
- delete newRuntimeContext.forEachIndex;
102
- var rootAppId = app[0].appId;
103
- var [computedMenuData, computedMenuItems] = yield Promise.all([computeMenuData(restMenuData, rootAppId, newRuntimeContext, helpers), computeMenuItems(items, newRuntimeContext, helpers)]);
104
- var finalMenuData = _objectSpread(_objectSpread({
105
- title: yield fetchMenuTitle(computedMenuData)
106
- }, pick(computedMenuData, ["icon", "link", "defaultCollapsed", "defaultCollapsedBreakpoint"])), {}, {
107
- menuItems: transformMenuItems(computedMenuItems)
108
- });
77
+ })).list;
78
+ const menuData = await mergeMenu(menuList, runtimeContext, helpers);
79
+ if (!menuData) {
80
+ throw new Error(`Menu not found: ${menuId}`);
81
+ }
82
+ reorderMenu(menuData);
83
+ const {
84
+ items,
85
+ app,
86
+ ...restMenuData
87
+ } = menuData;
88
+ const newRuntimeContext = {
89
+ ...runtimeContext,
90
+ pendingPermissionsPreCheck: [...runtimeContext.pendingPermissionsPreCheck, preCheckPermissionsForAny([items, restMenuData])]
91
+ };
92
+ delete newRuntimeContext.tplStateStoreId;
93
+ delete newRuntimeContext.forEachItem;
94
+ delete newRuntimeContext.forEachIndex;
95
+ const rootAppId = app[0].appId;
96
+ const [computedMenuData, computedMenuItems] = await Promise.all([computeMenuData(restMenuData, rootAppId, newRuntimeContext, helpers), computeMenuItems(items, newRuntimeContext, helpers)]);
97
+ const finalMenuData = {
98
+ title: await fetchMenuTitle(computedMenuData),
99
+ ...pick(computedMenuData, ["icon", "link", "defaultCollapsed", "defaultCollapsedBreakpoint"]),
100
+ menuItems: transformMenuItems(computedMenuItems)
101
+ };
109
102
 
110
- // Todo(steve): reconsider the menu cache strategy
111
- menuCache.set(menuId, finalMenuData);
112
- });
113
- return _fetchMenuById2.apply(this, arguments);
103
+ // Todo(steve): reconsider the menu cache strategy
104
+ menuCache.set(menuId, finalMenuData);
114
105
  }
115
106
  //# sourceMappingURL=fetchMenuById.js.map