@next-core/runtime 1.10.0 → 1.11.0

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 (62) hide show
  1. package/dist/cjs/internal/CustomTemplates/expandCustomTemplate.js +3 -2
  2. package/dist/cjs/internal/CustomTemplates/expandCustomTemplate.js.map +1 -1
  3. package/dist/cjs/internal/Router.js +5 -7
  4. package/dist/cjs/internal/Router.js.map +1 -1
  5. package/dist/cjs/internal/Runtime.js.map +1 -1
  6. package/dist/cjs/internal/bindListeners.js +5 -4
  7. package/dist/cjs/internal/bindListeners.js.map +1 -1
  8. package/dist/cjs/internal/checkPermissions.js +5 -5
  9. package/dist/cjs/internal/checkPermissions.js.map +1 -1
  10. package/dist/cjs/internal/compute/evaluate.js +6 -6
  11. package/dist/cjs/internal/compute/evaluate.js.map +1 -1
  12. package/dist/cjs/internal/data/getProviderBrick.js +6 -6
  13. package/dist/cjs/internal/data/getProviderBrick.js.map +1 -1
  14. package/dist/cjs/internal/data/resolveData.js +3 -2
  15. package/dist/cjs/internal/data/resolveData.js.map +1 -1
  16. package/dist/cjs/internal/hasInstalledApp.js +40 -0
  17. package/dist/cjs/internal/hasInstalledApp.js.map +1 -0
  18. package/dist/esm/internal/CustomTemplates/expandCustomTemplate.js +3 -2
  19. package/dist/esm/internal/CustomTemplates/expandCustomTemplate.js.map +1 -1
  20. package/dist/esm/internal/Router.js +6 -8
  21. package/dist/esm/internal/Router.js.map +1 -1
  22. package/dist/esm/internal/Runtime.js.map +1 -1
  23. package/dist/esm/internal/bindListeners.js +5 -4
  24. package/dist/esm/internal/bindListeners.js.map +1 -1
  25. package/dist/esm/internal/checkPermissions.js +5 -5
  26. package/dist/esm/internal/checkPermissions.js.map +1 -1
  27. package/dist/esm/internal/compute/evaluate.js +5 -5
  28. package/dist/esm/internal/compute/evaluate.js.map +1 -1
  29. package/dist/esm/internal/data/getProviderBrick.js +7 -7
  30. package/dist/esm/internal/data/getProviderBrick.js.map +1 -1
  31. package/dist/esm/internal/data/resolveData.js +3 -2
  32. package/dist/esm/internal/data/resolveData.js.map +1 -1
  33. package/dist/esm/internal/hasInstalledApp.js +34 -0
  34. package/dist/esm/internal/hasInstalledApp.js.map +1 -0
  35. package/dist/types/internal/Runtime.d.ts +19 -2
  36. package/dist/types/internal/hasInstalledApp.d.ts +3 -0
  37. package/package.json +8 -9
  38. package/dist/cjs/internal/checkInstalledApps.js +0 -105
  39. package/dist/cjs/internal/checkInstalledApps.js.map +0 -1
  40. package/dist/cjs/internal/compute/collectMemberCallUsage.js +0 -30
  41. package/dist/cjs/internal/compute/collectMemberCallUsage.js.map +0 -1
  42. package/dist/cjs/internal/data/CollectContracts.js +0 -29
  43. package/dist/cjs/internal/data/CollectContracts.js.map +0 -1
  44. package/dist/cjs/internal/data/FlowApi.js +0 -150
  45. package/dist/cjs/internal/data/FlowApi.js.map +0 -1
  46. package/dist/cjs/internal/data/FlowApiProvider.js +0 -122
  47. package/dist/cjs/internal/data/FlowApiProvider.js.map +0 -1
  48. package/dist/esm/internal/checkInstalledApps.js +0 -100
  49. package/dist/esm/internal/checkInstalledApps.js.map +0 -1
  50. package/dist/esm/internal/compute/collectMemberCallUsage.js +0 -22
  51. package/dist/esm/internal/compute/collectMemberCallUsage.js.map +0 -1
  52. package/dist/esm/internal/data/CollectContracts.js +0 -20
  53. package/dist/esm/internal/data/CollectContracts.js.map +0 -1
  54. package/dist/esm/internal/data/FlowApi.js +0 -156
  55. package/dist/esm/internal/data/FlowApi.js.map +0 -1
  56. package/dist/esm/internal/data/FlowApiProvider.js +0 -122
  57. package/dist/esm/internal/data/FlowApiProvider.js.map +0 -1
  58. package/dist/types/internal/checkInstalledApps.d.ts +0 -6
  59. package/dist/types/internal/compute/collectMemberCallUsage.d.ts +0 -8
  60. package/dist/types/internal/data/CollectContracts.d.ts +0 -5
  61. package/dist/types/internal/data/FlowApi.d.ts +0 -30
  62. package/dist/types/internal/data/FlowApiProvider.d.ts +0 -20
@@ -1 +0,0 @@
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/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\";\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 +0,0 @@
1
- import type { MicroApp, Storyboard } from "@next-core/types";
2
- type AppForCheck = Pick<MicroApp, "id" | "currentVersion" | "installStatus">;
3
- export declare function preCheckInstalledApps(storyboard: Storyboard): void;
4
- export declare function waitForCheckingApps(appIds: string[]): Promise<(AppForCheck | undefined)[]>;
5
- export declare function hasInstalledApp(appId: string, matchVersion?: string): boolean;
6
- export {};
@@ -1,8 +0,0 @@
1
- import type { Identifier } from "@babel/types";
2
- import type { EstreeParent } from "@next-core/cook";
3
- export interface MemberCallUsage {
4
- usedArgs: Set<string>;
5
- hasNonStaticUsage?: boolean;
6
- }
7
- export declare const collectAppGetMenuUsage: (usage: MemberCallUsage, node: Identifier, parent: EstreeParent) => void;
8
- export declare const collectInstalledAppsHasUsage: (usage: MemberCallUsage, node: Identifier, parent: EstreeParent) => void;
@@ -1,5 +0,0 @@
1
- import { Contract } from "@next-core/types";
2
- export declare function collectContract(contracts: Contract[] | undefined): void;
3
- export declare function collectWidgetContract(contracts: Contract[] | undefined): void;
4
- export declare function clearCollectWidgetContract(): void;
5
- export declare function getContract(name: string): Contract | undefined;
@@ -1,30 +0,0 @@
1
- import { ContractRequest, ContractResponse, ExtField } from "@next-core/types";
2
- export declare function isFlowApiProvider(provider: string): boolean;
3
- export declare function getArgsOfFlowApi(provider: string, originalArgs: unknown[], method?: string): Promise<unknown[]>;
4
- export interface CustomApiDefinition {
5
- name: string;
6
- namespace: string;
7
- version?: string;
8
- serviceName?: string;
9
- contract?: {
10
- endpoint: {
11
- ext_fields?: ExtField[];
12
- uri: string;
13
- method: "POST" | "post" | "PUT" | "put" | "GET" | "get" | "DELETE" | "delete" | "LIST" | "list" | "PATCH" | "patch" | "HEAD" | "head";
14
- };
15
- request?: ContractRequest;
16
- response?: ContractResponse;
17
- };
18
- }
19
- export interface CustomApiProfile {
20
- uri: string;
21
- method: string;
22
- name: string;
23
- namespace: string;
24
- serviceName?: string;
25
- responseWrapper: boolean;
26
- version?: string;
27
- isFileType?: boolean;
28
- ext_fields?: ExtField[];
29
- request?: ContractRequest;
30
- }
@@ -1,20 +0,0 @@
1
- import { ExtField, ContractRequest } from "@next-core/types";
2
- import { HttpOptions } from "@next-core/http";
3
- export declare const FLOW_API_PROVIDER = "core.provider-flow-api";
4
- export interface CustomApiParams {
5
- url: string;
6
- originalUri?: string;
7
- method?: string;
8
- responseWrapper?: boolean;
9
- ext_fields?: ExtField[];
10
- request?: ContractRequest;
11
- isFileType?: boolean;
12
- }
13
- export declare function processExtFields(ext_fields: ExtField[], ...args: unknown[]): {
14
- data: unknown;
15
- options: HttpOptions;
16
- };
17
- export declare function hasFileType(request: ContractRequest | undefined): boolean;
18
- export declare function transformFormData(data: Record<string, unknown> | FormData): FormData;
19
- export declare function callFlowApi({ url, originalUri, method, responseWrapper, ext_fields, request, isFileType, }: CustomApiParams, ...args: unknown[]): Promise<unknown>;
20
- export declare function registerFlowApiProvider(): void;