@computec/uibase 1.0.9 → 1.0.10

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 (125) hide show
  1. package/dist-amd/communication/ConnectionOptions.d.ts +48 -0
  2. package/dist-amd/communication/ConnectionOptions.d.ts.map +1 -0
  3. package/dist-amd/communication/ConnectionOptions.js +11 -0
  4. package/dist-amd/communication/HttpClient.d.ts +249 -0
  5. package/dist-amd/communication/HttpClient.d.ts.map +1 -0
  6. package/dist-amd/communication/HttpClient.js +362 -0
  7. package/dist-amd/communication/HttpClientCacheOptions.d.ts +9 -0
  8. package/dist-amd/communication/HttpClientCacheOptions.d.ts.map +1 -0
  9. package/dist-amd/communication/HttpClientCacheOptions.js +27 -0
  10. package/dist-amd/communication/IBaseHttpClientOptions.d.ts +18 -0
  11. package/dist-amd/communication/IBaseHttpClientOptions.d.ts.map +1 -0
  12. package/dist-amd/communication/IBaseHttpClientOptions.js +4 -0
  13. package/dist-amd/communication/IConnectionInfo.d.ts +17 -0
  14. package/dist-amd/communication/IConnectionInfo.d.ts.map +1 -0
  15. package/dist-amd/communication/IConnectionInfo.js +4 -0
  16. package/dist-amd/communication/ISignalRHubClient.d.ts +47 -0
  17. package/dist-amd/communication/ISignalRHubClient.d.ts.map +1 -0
  18. package/dist-amd/communication/ISignalRHubClient.js +4 -0
  19. package/dist-amd/communication/ISignalRMessage.d.ts +8 -0
  20. package/dist-amd/communication/ISignalRMessage.d.ts.map +1 -0
  21. package/dist-amd/communication/ISignalRMessage.js +4 -0
  22. package/dist-amd/communication/SignalRHubClient.d.ts +26 -0
  23. package/dist-amd/communication/SignalRHubClient.d.ts.map +1 -0
  24. package/dist-amd/communication/SignalRHubClient.js +135 -0
  25. package/dist-amd/communication/SignalRMessage.d.ts +10 -0
  26. package/dist-amd/communication/SignalRMessage.d.ts.map +1 -0
  27. package/dist-amd/communication/SignalRMessage.js +11 -0
  28. package/dist-amd/communication/SubscribeProperties.d.ts +17 -0
  29. package/dist-amd/communication/SubscribeProperties.d.ts.map +1 -0
  30. package/dist-amd/communication/SubscribeProperties.js +27 -0
  31. package/dist-amd/helpers/ErrorHelper.d.ts +15 -0
  32. package/dist-amd/helpers/ErrorHelper.d.ts.map +1 -0
  33. package/dist-amd/helpers/ErrorHelper.js +51 -0
  34. package/dist-amd/helpers/HttpClientHelper.d.ts +42 -0
  35. package/dist-amd/helpers/HttpClientHelper.d.ts.map +1 -0
  36. package/dist-amd/helpers/HttpClientHelper.js +188 -0
  37. package/dist-amd/helpers/NavigationHelper.d.ts +52 -0
  38. package/dist-amd/helpers/NavigationHelper.d.ts.map +1 -0
  39. package/dist-amd/helpers/NavigationHelper.js +73 -0
  40. package/dist-amd/helpers/WebClientNavigationHelper.d.ts +52 -0
  41. package/dist-amd/helpers/WebClientNavigationHelper.d.ts.map +1 -0
  42. package/dist-amd/helpers/WebClientNavigationHelper.js +73 -0
  43. package/dist-amd/index.d.ts +37 -0
  44. package/dist-amd/index.d.ts.map +1 -0
  45. package/dist-amd/index.js +56 -0
  46. package/dist-amd/models/AppEngineConfiguration.d.ts +26 -0
  47. package/dist-amd/models/AppEngineConfiguration.d.ts.map +1 -0
  48. package/dist-amd/models/AppEngineConfiguration.js +11 -0
  49. package/dist-amd/models/AppEngineException.d.ts +21 -0
  50. package/dist-amd/models/AppEngineException.d.ts.map +1 -0
  51. package/dist-amd/models/AppEngineException.js +46 -0
  52. package/dist-amd/models/BaseBusinessObject.d.ts +157 -0
  53. package/dist-amd/models/BaseBusinessObject.d.ts.map +1 -0
  54. package/dist-amd/models/BaseBusinessObject.js +189 -0
  55. package/dist-amd/models/BaseError.d.ts +51 -0
  56. package/dist-amd/models/BaseError.d.ts.map +1 -0
  57. package/dist-amd/models/BaseError.js +55 -0
  58. package/dist-amd/models/CompanyInfo.d.ts +11 -0
  59. package/dist-amd/models/CompanyInfo.d.ts.map +1 -0
  60. package/dist-amd/models/CompanyInfo.js +24 -0
  61. package/dist-amd/models/DocumentedException.d.ts +22 -0
  62. package/dist-amd/models/DocumentedException.d.ts.map +1 -0
  63. package/dist-amd/models/DocumentedException.js +50 -0
  64. package/dist-amd/models/HttpResponse.d.ts +7 -0
  65. package/dist-amd/models/HttpResponse.d.ts.map +1 -0
  66. package/dist-amd/models/HttpResponse.js +11 -0
  67. package/dist-amd/models/IOdataResponse.d.ts +6 -0
  68. package/dist-amd/models/IOdataResponse.d.ts.map +1 -0
  69. package/dist-amd/models/IOdataResponse.js +4 -0
  70. package/dist-amd/models/LocalStorage.d.ts +9 -0
  71. package/dist-amd/models/LocalStorage.d.ts.map +1 -0
  72. package/dist-amd/models/LocalStorage.js +55 -0
  73. package/dist-amd/models/OdataError.d.ts +56 -0
  74. package/dist-amd/models/OdataError.d.ts.map +1 -0
  75. package/dist-amd/models/OdataError.js +90 -0
  76. package/dist-amd/models/ProblemDetails.d.ts +23 -0
  77. package/dist-amd/models/ProblemDetails.d.ts.map +1 -0
  78. package/dist-amd/models/ProblemDetails.js +39 -0
  79. package/dist-amd/models/Session.d.ts +19 -0
  80. package/dist-amd/models/Session.d.ts.map +1 -0
  81. package/dist-amd/models/Session.js +11 -0
  82. package/dist-amd/models/UserInfo.d.ts +33 -0
  83. package/dist-amd/models/UserInfo.d.ts.map +1 -0
  84. package/dist-amd/models/UserInfo.js +11 -0
  85. package/dist-amd/models/ValidationProblemDetails.d.ts +19 -0
  86. package/dist-amd/models/ValidationProblemDetails.d.ts.map +1 -0
  87. package/dist-amd/models/ValidationProblemDetails.js +43 -0
  88. package/dist-amd/models/Version.d.ts +35 -0
  89. package/dist-amd/models/Version.d.ts.map +1 -0
  90. package/dist-amd/models/Version.js +187 -0
  91. package/dist-amd/models/enums/HeadersContentTypeEnum.d.ts +15 -0
  92. package/dist-amd/models/enums/HeadersContentTypeEnum.d.ts.map +1 -0
  93. package/dist-amd/models/enums/HeadersContentTypeEnum.js +19 -0
  94. package/dist-amd/models/enums/StorageTypeEnum.d.ts +5 -0
  95. package/dist-amd/models/enums/StorageTypeEnum.d.ts.map +1 -0
  96. package/dist-amd/models/enums/StorageTypeEnum.js +10 -0
  97. package/dist-amd/models/interfaces/IAppEngineConfiguration.d.ts +24 -0
  98. package/dist-amd/models/interfaces/IAppEngineConfiguration.d.ts.map +1 -0
  99. package/dist-amd/models/interfaces/IAppEngineConfiguration.js +4 -0
  100. package/dist-amd/models/interfaces/IAppEngineException.d.ts +57 -0
  101. package/dist-amd/models/interfaces/IAppEngineException.d.ts.map +1 -0
  102. package/dist-amd/models/interfaces/IAppEngineException.js +4 -0
  103. package/dist-amd/models/interfaces/IDocumentedException.d.ts +60 -0
  104. package/dist-amd/models/interfaces/IDocumentedException.d.ts.map +1 -0
  105. package/dist-amd/models/interfaces/IDocumentedException.js +4 -0
  106. package/dist-amd/models/interfaces/IHttpResponse.d.ts +5 -0
  107. package/dist-amd/models/interfaces/IHttpResponse.d.ts.map +1 -0
  108. package/dist-amd/models/interfaces/IHttpResponse.js +4 -0
  109. package/dist-amd/models/interfaces/IOdataError.d.ts +182 -0
  110. package/dist-amd/models/interfaces/IOdataError.d.ts.map +1 -0
  111. package/dist-amd/models/interfaces/IOdataError.js +4 -0
  112. package/dist-amd/models/interfaces/IProblemDetails.d.ts +93 -0
  113. package/dist-amd/models/interfaces/IProblemDetails.d.ts.map +1 -0
  114. package/dist-amd/models/interfaces/IProblemDetails.js +4 -0
  115. package/dist-amd/models/interfaces/IValidationProblemDetails.d.ts +82 -0
  116. package/dist-amd/models/interfaces/IValidationProblemDetails.d.ts.map +1 -0
  117. package/dist-amd/models/interfaces/IValidationProblemDetails.js +4 -0
  118. package/dist-ui5/resources/computec/appengine/uibase/.library +1 -1
  119. package/dist-ui5/resources/computec/appengine/uibase/library-dbg.js +1 -1
  120. package/dist-ui5/resources/computec/appengine/uibase/library-preload.js +2 -2
  121. package/dist-ui5/resources/computec/appengine/uibase/library-preload.js.map +1 -1
  122. package/dist-ui5/resources/computec/appengine/uibase/library.js +1 -1
  123. package/dist-ui5/resources/computec/appengine/uibase/library.js.map +1 -1
  124. package/dist-ui5/resources/computec/appengine/uibase/manifest.json +1 -1
  125. package/package.json +2 -1
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Helper for navigating from UIAPI Web Client extensions to AppEngine plugin routes.
3
+ *
4
+ * AppEngine plugins are opened via the Web Client hash URL format:
5
+ * `#webclient-CompuTecWebClientStart-CompuTecWebClientStart&/{pluginId},{route}/{pluginName}`
6
+ *
7
+ * Routes containing path separators (e.g. `ctp/4/0`) must be double-encoded
8
+ * so that both the browser and the SAPUI5 router decode them correctly.
9
+ */
10
+ export default class WebClientNavigationHelper {
11
+ private static readonly HASH_PREFIX;
12
+ /**
13
+ * Build the full Web Client hash URL for navigating to an AppEngine plugin route.
14
+ *
15
+ * @param pluginId The plugin identifier (e.g. `"MRP"`)
16
+ * @param route The SAPUI5 route path including parameters (e.g. `"ctp/4/0"`, `"wizard"`)
17
+ * @param pluginName Optional display name; defaults to `pluginId`
18
+ * @returns The complete hash URL string
19
+ *
20
+ * @example
21
+ * ```typescript
22
+ * WebClientNavigationHelper.buildPluginUrl("MRP", "ctp/4/0");
23
+ * // => "#webclient-CompuTecWebClientStart-CompuTecWebClientStart&/MRP,ctp%252F4%252F0/MRP"
24
+ *
25
+ * WebClientNavigationHelper.buildPluginUrl("MRP", "wizard");
26
+ * // => "#webclient-CompuTecWebClientStart-CompuTecWebClientStart&/MRP,wizard/MRP"
27
+ * ```
28
+ */
29
+ static buildPluginUrl(pluginId: string, route: string, pluginName?: string): string;
30
+ /**
31
+ * Navigate to an AppEngine plugin route using the SDKEnv `open` method.
32
+ *
33
+ * @param openFn A function that opens a URL — typically `oEnv.open.bind(oEnv)` or `(url) => oEnv.open(url)`
34
+ * @param pluginId The plugin identifier (e.g. `"MRP"`)
35
+ * @param route The SAPUI5 route path including parameters (e.g. `"ctp/4/0"`)
36
+ * @param pluginName Optional display name; defaults to `pluginId`
37
+ *
38
+ * @example
39
+ * ```typescript
40
+ * // In a UIAPI controller:
41
+ * import { WebClientNavigationHelper } from "@computec/uibase";
42
+ *
43
+ * await WebClientNavigationHelper.openPlugin(
44
+ * (url) => oEnv.open(url),
45
+ * "MRP",
46
+ * `ctp/${docEntry}/${lineNum}`
47
+ * );
48
+ * ```
49
+ */
50
+ static openPlugin(openFn: (url: string) => Promise<void>, pluginId: string, route: string, pluginName?: string): Promise<void>;
51
+ }
52
+ //# sourceMappingURL=WebClientNavigationHelper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebClientNavigationHelper.d.ts","sourceRoot":"","sources":["../../src/helpers/WebClientNavigationHelper.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,OAAO,yBAAyB;IAC7C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CACyB;IAE5D;;;;;;;;;;;;;;;;OAgBG;WACW,cAAc,CAC3B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,MAAM,GACjB,MAAM;IAKT;;;;;;;;;;;;;;;;;;;OAmBG;WACiB,UAAU,CAC7B,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,EACtC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC;CAIhB"}
@@ -0,0 +1,73 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ define(["require", "exports"], function (require, exports) {
11
+ "use strict";
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ /**
14
+ * Helper for navigating from UIAPI Web Client extensions to AppEngine plugin routes.
15
+ *
16
+ * AppEngine plugins are opened via the Web Client hash URL format:
17
+ * `#webclient-CompuTecWebClientStart-CompuTecWebClientStart&/{pluginId},{route}/{pluginName}`
18
+ *
19
+ * Routes containing path separators (e.g. `ctp/4/0`) must be double-encoded
20
+ * so that both the browser and the SAPUI5 router decode them correctly.
21
+ */
22
+ class WebClientNavigationHelper {
23
+ /**
24
+ * Build the full Web Client hash URL for navigating to an AppEngine plugin route.
25
+ *
26
+ * @param pluginId The plugin identifier (e.g. `"MRP"`)
27
+ * @param route The SAPUI5 route path including parameters (e.g. `"ctp/4/0"`, `"wizard"`)
28
+ * @param pluginName Optional display name; defaults to `pluginId`
29
+ * @returns The complete hash URL string
30
+ *
31
+ * @example
32
+ * ```typescript
33
+ * WebClientNavigationHelper.buildPluginUrl("MRP", "ctp/4/0");
34
+ * // => "#webclient-CompuTecWebClientStart-CompuTecWebClientStart&/MRP,ctp%252F4%252F0/MRP"
35
+ *
36
+ * WebClientNavigationHelper.buildPluginUrl("MRP", "wizard");
37
+ * // => "#webclient-CompuTecWebClientStart-CompuTecWebClientStart&/MRP,wizard/MRP"
38
+ * ```
39
+ */
40
+ static buildPluginUrl(pluginId, route, pluginName) {
41
+ const encodedRoute = encodeURIComponent(encodeURIComponent(route));
42
+ return `${WebClientNavigationHelper.HASH_PREFIX}&/${pluginId},${encodedRoute}/${pluginName !== null && pluginName !== void 0 ? pluginName : pluginId}`;
43
+ }
44
+ /**
45
+ * Navigate to an AppEngine plugin route using the SDKEnv `open` method.
46
+ *
47
+ * @param openFn A function that opens a URL — typically `oEnv.open.bind(oEnv)` or `(url) => oEnv.open(url)`
48
+ * @param pluginId The plugin identifier (e.g. `"MRP"`)
49
+ * @param route The SAPUI5 route path including parameters (e.g. `"ctp/4/0"`)
50
+ * @param pluginName Optional display name; defaults to `pluginId`
51
+ *
52
+ * @example
53
+ * ```typescript
54
+ * // In a UIAPI controller:
55
+ * import { WebClientNavigationHelper } from "@computec/uibase";
56
+ *
57
+ * await WebClientNavigationHelper.openPlugin(
58
+ * (url) => oEnv.open(url),
59
+ * "MRP",
60
+ * `ctp/${docEntry}/${lineNum}`
61
+ * );
62
+ * ```
63
+ */
64
+ static openPlugin(openFn, pluginId, route, pluginName) {
65
+ return __awaiter(this, void 0, void 0, function* () {
66
+ const url = WebClientNavigationHelper.buildPluginUrl(pluginId, route, pluginName);
67
+ yield openFn(url);
68
+ });
69
+ }
70
+ }
71
+ WebClientNavigationHelper.HASH_PREFIX = "#webclient-CompuTecWebClientStart-CompuTecWebClientStart";
72
+ exports.default = WebClientNavigationHelper;
73
+ });
@@ -0,0 +1,37 @@
1
+ export { default as HttpClient } from './communication/HttpClient';
2
+ export * from './communication/HttpClient';
3
+ export { default as HttpClientCacheOptions } from './communication/HttpClientCacheOptions';
4
+ export * from './communication/HttpClientCacheOptions';
5
+ export * from './communication/IBaseHttpClientOptions';
6
+ export { default as ErrorHelper } from './helpers/ErrorHelper';
7
+ export * from './helpers/ErrorHelper';
8
+ export { default as HttpClientHelper } from './helpers/HttpClientHelper';
9
+ export * from './helpers/HttpClientHelper';
10
+ export { default as WebClientNavigationHelper } from './helpers/WebClientNavigationHelper';
11
+ export * from './helpers/WebClientNavigationHelper';
12
+ export { default as AppEngineConfiguration } from './models/AppEngineConfiguration';
13
+ export * from './models/AppEngineConfiguration';
14
+ export { default as AppEngineException } from './models/AppEngineException';
15
+ export * from './models/AppEngineException';
16
+ export { default as DocumentedException } from './models/DocumentedException';
17
+ export * from './models/DocumentedException';
18
+ export { default as BaseBusinessObject } from './models/BaseBusinessObject';
19
+ export * from './models/BaseBusinessObject';
20
+ export { default as CompanyInfo } from './models/CompanyInfo';
21
+ export * from './models/CompanyInfo';
22
+ export { default as HeadersContentTypeEnum } from './models/enums/HeadersContentTypeEnum';
23
+ export * from './models/enums/HeadersContentTypeEnum';
24
+ export * from './models/enums/StorageTypeEnum';
25
+ export { default as IAppEngineConfiguration } from './models/interfaces/IAppEngineConfiguration';
26
+ export * from './models/interfaces/IAppEngineConfiguration';
27
+ export { default as IAppEngineException } from './models/interfaces/IAppEngineException';
28
+ export * from './models/interfaces/IAppEngineException';
29
+ export { default as LocalStorage } from './models/LocalStorage';
30
+ export * from './models/LocalStorage';
31
+ export { default as Session } from './models/Session';
32
+ export * from './models/Session';
33
+ export { default as UserInfo } from './models/UserInfo';
34
+ export * from './models/UserInfo';
35
+ export { default as Version } from './models/Version';
36
+ export * from './models/Version';
37
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACnE,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAC3F,cAAc,wCAAwC,CAAC;AACvD,cAAc,wCAAwC,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAC/D,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACzE,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAC3F,cAAc,qCAAqC,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACpF,cAAc,iCAAiC,CAAC;AAChD,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAC5E,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAC9E,cAAc,8BAA8B,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAC5E,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC9D,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC1F,cAAc,uCAAuC,CAAC;AACtD,cAAc,gCAAgC,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,6CAA6C,CAAC;AACjG,cAAc,6CAA6C,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AACzF,cAAc,yCAAyC,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAChE,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACtD,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACxD,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACtD,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,56 @@
1
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
2
+ if (k2 === undefined) k2 = k;
3
+ var desc = Object.getOwnPropertyDescriptor(m, k);
4
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
5
+ desc = { enumerable: true, get: function() { return m[k]; } };
6
+ }
7
+ Object.defineProperty(o, k2, desc);
8
+ }) : (function(o, m, k, k2) {
9
+ if (k2 === undefined) k2 = k;
10
+ o[k2] = m[k];
11
+ }));
12
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
13
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
14
+ };
15
+ var __importDefault = (this && this.__importDefault) || function (mod) {
16
+ return (mod && mod.__esModule) ? mod : { "default": mod };
17
+ };
18
+ define(["require", "exports", "./communication/HttpClient", "./communication/HttpClient", "./communication/HttpClientCacheOptions", "./communication/HttpClientCacheOptions", "./communication/IBaseHttpClientOptions", "./helpers/ErrorHelper", "./helpers/ErrorHelper", "./helpers/HttpClientHelper", "./helpers/HttpClientHelper", "./helpers/WebClientNavigationHelper", "./helpers/WebClientNavigationHelper", "./models/AppEngineConfiguration", "./models/AppEngineConfiguration", "./models/AppEngineException", "./models/AppEngineException", "./models/DocumentedException", "./models/DocumentedException", "./models/BaseBusinessObject", "./models/BaseBusinessObject", "./models/CompanyInfo", "./models/CompanyInfo", "./models/enums/HeadersContentTypeEnum", "./models/enums/HeadersContentTypeEnum", "./models/enums/StorageTypeEnum", "./models/interfaces/IAppEngineConfiguration", "./models/interfaces/IAppEngineException", "./models/LocalStorage", "./models/LocalStorage", "./models/Session", "./models/Session", "./models/UserInfo", "./models/UserInfo", "./models/Version", "./models/Version"], function (require, exports, HttpClient_1, HttpClient_2, HttpClientCacheOptions_1, HttpClientCacheOptions_2, IBaseHttpClientOptions_1, ErrorHelper_1, ErrorHelper_2, HttpClientHelper_1, HttpClientHelper_2, WebClientNavigationHelper_1, WebClientNavigationHelper_2, AppEngineConfiguration_1, AppEngineConfiguration_2, AppEngineException_1, AppEngineException_2, DocumentedException_1, DocumentedException_2, BaseBusinessObject_1, BaseBusinessObject_2, CompanyInfo_1, CompanyInfo_2, HeadersContentTypeEnum_1, HeadersContentTypeEnum_2, StorageTypeEnum_1, IAppEngineConfiguration_1, IAppEngineException_1, LocalStorage_1, LocalStorage_2, Session_1, Session_2, UserInfo_1, UserInfo_2, Version_1, Version_2) {
19
+ "use strict";
20
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ exports.Version = exports.UserInfo = exports.Session = exports.LocalStorage = exports.HeadersContentTypeEnum = exports.CompanyInfo = exports.BaseBusinessObject = exports.DocumentedException = exports.AppEngineException = exports.AppEngineConfiguration = exports.WebClientNavigationHelper = exports.HttpClientHelper = exports.ErrorHelper = exports.HttpClientCacheOptions = exports.HttpClient = void 0;
22
+ Object.defineProperty(exports, "HttpClient", { enumerable: true, get: function () { return __importDefault(HttpClient_1).default; } });
23
+ __exportStar(HttpClient_2, exports);
24
+ Object.defineProperty(exports, "HttpClientCacheOptions", { enumerable: true, get: function () { return __importDefault(HttpClientCacheOptions_1).default; } });
25
+ __exportStar(HttpClientCacheOptions_2, exports);
26
+ __exportStar(IBaseHttpClientOptions_1, exports);
27
+ Object.defineProperty(exports, "ErrorHelper", { enumerable: true, get: function () { return __importDefault(ErrorHelper_1).default; } });
28
+ __exportStar(ErrorHelper_2, exports);
29
+ Object.defineProperty(exports, "HttpClientHelper", { enumerable: true, get: function () { return __importDefault(HttpClientHelper_1).default; } });
30
+ __exportStar(HttpClientHelper_2, exports);
31
+ Object.defineProperty(exports, "WebClientNavigationHelper", { enumerable: true, get: function () { return __importDefault(WebClientNavigationHelper_1).default; } });
32
+ __exportStar(WebClientNavigationHelper_2, exports);
33
+ Object.defineProperty(exports, "AppEngineConfiguration", { enumerable: true, get: function () { return __importDefault(AppEngineConfiguration_1).default; } });
34
+ __exportStar(AppEngineConfiguration_2, exports);
35
+ Object.defineProperty(exports, "AppEngineException", { enumerable: true, get: function () { return __importDefault(AppEngineException_1).default; } });
36
+ __exportStar(AppEngineException_2, exports);
37
+ Object.defineProperty(exports, "DocumentedException", { enumerable: true, get: function () { return __importDefault(DocumentedException_1).default; } });
38
+ __exportStar(DocumentedException_2, exports);
39
+ Object.defineProperty(exports, "BaseBusinessObject", { enumerable: true, get: function () { return __importDefault(BaseBusinessObject_1).default; } });
40
+ __exportStar(BaseBusinessObject_2, exports);
41
+ Object.defineProperty(exports, "CompanyInfo", { enumerable: true, get: function () { return __importDefault(CompanyInfo_1).default; } });
42
+ __exportStar(CompanyInfo_2, exports);
43
+ Object.defineProperty(exports, "HeadersContentTypeEnum", { enumerable: true, get: function () { return __importDefault(HeadersContentTypeEnum_1).default; } });
44
+ __exportStar(HeadersContentTypeEnum_2, exports);
45
+ __exportStar(StorageTypeEnum_1, exports);
46
+ __exportStar(IAppEngineConfiguration_1, exports);
47
+ __exportStar(IAppEngineException_1, exports);
48
+ Object.defineProperty(exports, "LocalStorage", { enumerable: true, get: function () { return __importDefault(LocalStorage_1).default; } });
49
+ __exportStar(LocalStorage_2, exports);
50
+ Object.defineProperty(exports, "Session", { enumerable: true, get: function () { return __importDefault(Session_1).default; } });
51
+ __exportStar(Session_2, exports);
52
+ Object.defineProperty(exports, "UserInfo", { enumerable: true, get: function () { return __importDefault(UserInfo_1).default; } });
53
+ __exportStar(UserInfo_2, exports);
54
+ Object.defineProperty(exports, "Version", { enumerable: true, get: function () { return __importDefault(Version_1).default; } });
55
+ __exportStar(Version_2, exports);
56
+ });
@@ -0,0 +1,26 @@
1
+ import BaseBusinessObject from "./BaseBusinessObject";
2
+ import IAppEngineConfiguration from "./interfaces/IAppEngineConfiguration";
3
+ export default class AppEngineConfiguration extends BaseBusinessObject implements IAppEngineConfiguration {
4
+ Code: number;
5
+ Name?: string;
6
+ U_CoreVersion?: string;
7
+ U_CoreDbVersion?: string;
8
+ U_AESrvAddr?: string;
9
+ U_LicenseServer?: string;
10
+ U_CompanyGuid?: string;
11
+ U_ApiKey?: string;
12
+ U_CmdTimeout?: number;
13
+ U_ConnTimeout?: number;
14
+ U_MaxPoolSize?: number;
15
+ U_MinPoolSize?: number;
16
+ U_AStartDate?: Date;
17
+ U_AEndDate?: Date;
18
+ U_OpeningMode?: string;
19
+ U_TimeZone?: string;
20
+ U_SldServer?: string;
21
+ U_SapLicenseServer?: string;
22
+ U_ApiGatewayAddress?: string;
23
+ U_SLServer?: string;
24
+ U_GMapAPIKey: string;
25
+ }
26
+ //# sourceMappingURL=AppEngineConfiguration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppEngineConfiguration.d.ts","sourceRoot":"","sources":["../../src/models/AppEngineConfiguration.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD,OAAO,uBAAuB,MAAM,sCAAsC,CAAC;AAE3E,MAAM,CAAC,OAAO,OAAO,sBACpB,SAAQ,kBACR,YAAW,uBAAuB;IAElC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,IAAI,CAAC;IACpB,UAAU,CAAC,EAAE,IAAI,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACrB"}
@@ -0,0 +1,11 @@
1
+ var __importDefault = (this && this.__importDefault) || function (mod) {
2
+ return (mod && mod.__esModule) ? mod : { "default": mod };
3
+ };
4
+ define(["require", "exports", "./BaseBusinessObject"], function (require, exports, BaseBusinessObject_1) {
5
+ "use strict";
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ BaseBusinessObject_1 = __importDefault(BaseBusinessObject_1);
8
+ class AppEngineConfiguration extends BaseBusinessObject_1.default {
9
+ }
10
+ exports.default = AppEngineConfiguration;
11
+ });
@@ -0,0 +1,21 @@
1
+ import BaseError from "./BaseError";
2
+ import IAppEngineException from "./interfaces/IAppEngineException";
3
+ /**
4
+ * Concrete implementation of AppEngine-specific exceptions.
5
+ * Handles business logic errors and application-specific error conditions
6
+ * with structured Title and Detail information following RFC 7807 principles.
7
+ *
8
+ * @extends BaseError
9
+ * @implements IAppEngineException
10
+ */
11
+ export default class AppEngineException extends BaseError implements IAppEngineException {
12
+ protected static exceptionName: string;
13
+ Title: string;
14
+ Detail: string;
15
+ constructor(error?: any);
16
+ fillData(data: Record<string, unknown> | object): this;
17
+ get message(): string;
18
+ get error(): this;
19
+ static is(obj: any): obj is IAppEngineException;
20
+ }
21
+ //# sourceMappingURL=AppEngineException.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppEngineException.d.ts","sourceRoot":"","sources":["../../src/models/AppEngineException.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,mBAAmB,MAAM,kCAAkC,CAAC;AAEnE;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,SAAU,YAAW,mBAAmB;IACvF,SAAS,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAwB;IAC9D,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;gBAEH,KAAK,CAAC,EAAE,GAAG;IAQvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,IAAI;IAMtD,IAAI,OAAO,WAEV;IAED,IAAI,KAAK,SAER;IAED,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,mBAAmB;CAW/C"}
@@ -0,0 +1,46 @@
1
+ var __importDefault = (this && this.__importDefault) || function (mod) {
2
+ return (mod && mod.__esModule) ? mod : { "default": mod };
3
+ };
4
+ define(["require", "exports", "./BaseError"], function (require, exports, BaseError_1) {
5
+ "use strict";
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ BaseError_1 = __importDefault(BaseError_1);
8
+ /**
9
+ * Concrete implementation of AppEngine-specific exceptions.
10
+ * Handles business logic errors and application-specific error conditions
11
+ * with structured Title and Detail information following RFC 7807 principles.
12
+ *
13
+ * @extends BaseError
14
+ * @implements IAppEngineException
15
+ */
16
+ class AppEngineException extends BaseError_1.default {
17
+ constructor(error) {
18
+ super();
19
+ if (error) {
20
+ this.Title = error.Title;
21
+ this.Detail = error.Detail;
22
+ }
23
+ }
24
+ fillData(data) {
25
+ super.fillData(data);
26
+ return this;
27
+ }
28
+ get message() {
29
+ return this.Detail;
30
+ }
31
+ get error() {
32
+ return this;
33
+ }
34
+ static is(obj) {
35
+ if (typeof obj !== "object" || obj === null)
36
+ return false;
37
+ const candidate = obj;
38
+ return ("Title" in candidate &&
39
+ typeof candidate.Title === "string" &&
40
+ "Detail" in candidate &&
41
+ typeof candidate.Detail === "string" && candidate.Title === this.exceptionName);
42
+ }
43
+ }
44
+ AppEngineException.exceptionName = "AppEngineException";
45
+ exports.default = AppEngineException;
46
+ });
@@ -0,0 +1,157 @@
1
+ export type BaseBusinessObjectConstructor<T extends BaseBusinessObject> = {
2
+ new (): T;
3
+ create<U extends T>(this: BaseBusinessObjectConstructor<U>, data: Record<string, unknown> | object): U;
4
+ createMany<U extends T>(this: BaseBusinessObjectConstructor<U>, data: Record<string, unknown>[] | object[]): U[];
5
+ };
6
+ /**
7
+ * @experimental
8
+ * It is possible that this class will be removed or change name in the future.
9
+ * @class
10
+ * @abstract
11
+ * This abstract class is used to transform data from the server to business logic.
12
+ * It's currently marked as experimental, which means it may change in the future.
13
+ *
14
+ * **Static methods**:
15
+ *
16
+ * @static {function} `create` - This method is used to create a new instance of the class filled with the provided data.
17
+ * @static {function} `createMany` - This method is used to create multiple new instances of the class filled with the provided data.
18
+ *
19
+ * **Methods and properties**:
20
+ *
21
+ * @property {boolean} `USE_RAW_DATA` - This property is used to determine if the instance should use the raw data from the server.
22
+ * @property {function} `fillData` - This method is used to fill the instance with data from the server.
23
+ * @property {function} `clone` - This abstract method should be implemented in child classes to clone the instance.
24
+ * @property {function} `toJSON` - This method is used to remove the _rawData property from the object before converting it to JSON.
25
+ * @property {function} `getField` - This method is used to retrieve the value of a specific field from the _rawData object.
26
+ * @property {function} `cleanRaw` - This method is to reset the _rawData property to an empty object.
27
+ */
28
+ export default abstract class BaseBusinessObject {
29
+ /**
30
+ * This property is used to determine if the instance should use the raw data from the server.
31
+ * If set to true, the instance will store the raw data in the _rawData property.
32
+ * This property is set to false by default.
33
+ * @method getField - This method is used to retrieve the value of a specific field from the _rawData object.
34
+ */
35
+ protected USE_RAW_DATA: boolean;
36
+ /**
37
+ * This property is used to store the raw data from the server.
38
+ * It is an empty object by default.
39
+ * The property is only used if the USE_RAW_DATA property is set to true.
40
+ * _rawData can be usefull when you need initial data to be able to revert the object to its original state.
41
+ * @method getField - This method is used to retrieve the value of a specific field from the _rawData object.
42
+ * @private
43
+ * @type {Record<string, unknown>}
44
+ * @memberof BaseBusinessObject
45
+ */
46
+ private _rawData;
47
+ /**
48
+ * This method is to reset the _rawData property to an empty object.
49
+ *
50
+ * **Recommendations**
51
+ *
52
+ * - Use this method aware that you will lose the initial data of the object.
53
+ * - **IMPORTANT** The method is recommended to use in `fillData` method when you don't use `getField` method in `toJSON` method.
54
+ * - It is useful when you need to clean the raw data from the object or you want to optimize the memory usage.
55
+ * @returns {}
56
+ */
57
+ cleanRaw(): {};
58
+ /**
59
+ * Creates a new instance of the class filled with the provided data.
60
+ *
61
+ * @template T The type of the instance to create.
62
+ * @param {new () => T} this The constructor of the class to create an instance of.
63
+ * @param {Record<string, unknown>} data The data to fill the instance with.
64
+ * @returns {T} The new instance of the class filled with the provided data.
65
+ *
66
+ * @example
67
+ * // Example data from the server
68
+ * const data = { Code: 'US', Name: 'United States' };
69
+ *
70
+ * // Create a new Country instance filled with the data
71
+ * const country = Country.create(data);
72
+ *
73
+ * console.log(country.Code); // 'US'
74
+ * console.log(country.Name); // 'United States'
75
+ */
76
+ static create<T extends BaseBusinessObject, U extends T>(this: BaseBusinessObjectConstructor<U>, data: Record<string, unknown> | object): U;
77
+ /**
78
+ * Creates multiple new instances of the class filled with the provided data.
79
+ *
80
+ * @template T The type of the instances to create.
81
+ * @param {new () => T} this The constructor of the class to create instances of.
82
+ * @param {Record<string, unknown>[]} data The array of data to fill the instances with.
83
+ * @returns {T[]} The new instances of the class filled with the provided data.
84
+ *
85
+ * @example
86
+ * // Example array of data from the server
87
+ * const dataArray = [{ Code: 'US', Name: 'United States' }, { Code: 'CA', Name: 'Canada' }];
88
+ *
89
+ * // Create new Country instances filled with the data
90
+ * const countries = Country.createMany(dataArray);
91
+ *
92
+ * console.log(countries[0].Code); // 'US'
93
+ * console.log(countries[0].Name); // 'United States'
94
+ * console.log(countries[1].Code); // 'CA'
95
+ * console.log(countries[1].Name); // 'Canada'
96
+ */
97
+ static createMany<T extends BaseBusinessObject, U extends T>(this: BaseBusinessObjectConstructor<U>, data: Record<string, unknown>[] | object[]): U[];
98
+ /**
99
+ * This method is used to retrieve the value of a specific field from the _rawData object.
100
+ * It takes in a field parameter which represents the name of the field to retrieve.
101
+ * It tries to access the value of the field from the _rawData object using the provided field name.
102
+ * If the field exists, it returns the value casted to the specified type T.
103
+ * If the field does not exist or an error occurs, it returns null.
104
+ *
105
+ * @param field The name of the field to retrieve.
106
+ * @returns The value of the specified field casted to type T, or null if the field does not exist or an error occurs.
107
+ */
108
+ protected getField<T = object>(field: string): T;
109
+ /**
110
+ * Fills the instance with data from the server.
111
+ *
112
+ * @param {Record<string, unknown>} data - The data from the server.
113
+ * @returns {BaseBusinessObject} The instance of the class filled with the server data.
114
+ */
115
+ fillData(data: Record<string, unknown> | object): this;
116
+ /**
117
+ * Creates a clone of the instance.
118
+ *
119
+ * It is more optimized than structuredClone method. It is recommended to use this method when you don't need to deep clone the object.
120
+ *
121
+ * **Recommendations**
122
+ *
123
+ * - Use this method when you don't need to deep clone the object.
124
+ * - It is useful when you need to create a new instance of the class filled with the same data as the original instance.
125
+ * - Remember that the method doesn't clone the lower level objects.
126
+ *
127
+ * @returns {BaseBusinessObject} A clone of the instance.
128
+ */
129
+ clone(): this;
130
+ /**
131
+ * Creates a structured clone of the instance.
132
+ *
133
+ * Simple method that use `create` method to create a new instance of the class filled with the same data as the original instance.
134
+ *
135
+ * It is more expensive than the `clone` method. It is recommended to use this method when you need to deep clone the object.
136
+ *
137
+ * **Important**
138
+ * - Remember that you decide what nested objects is cloned. Please check `fillData` method.
139
+ * - `fillData` method give possibility to clone nested objects that what you need to clone.
140
+ *
141
+ * **Recommendations**
142
+ *
143
+ * - Use this method when you need to deep clone the object.
144
+ * - The method is more expensive than the `clone` method.
145
+ *
146
+ * @returns {BaseBusinessObject} A clone of the instance.
147
+ */
148
+ structuredClone(): this;
149
+ protected cloneInternal(objectToClone: unknown): this;
150
+ /**
151
+ * Remove the _rawData property from the object before converting it to JSON.
152
+ * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify
153
+ * @returns Record<string, unknown>
154
+ */
155
+ toJSON(): Record<string, unknown>;
156
+ }
157
+ //# sourceMappingURL=BaseBusinessObject.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseBusinessObject.d.ts","sourceRoot":"","sources":["../../src/models/BaseBusinessObject.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,6BAA6B,CAAC,CAAC,SAAS,kBAAkB,IAAI;IACxE,QAAQ,CAAC,CAAC;IACV,MAAM,CAAC,CAAC,SAAS,CAAC,EAChB,IAAI,EAAE,6BAA6B,CAAC,CAAC,CAAC,EACtC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GACrC,CAAC,CAAC;IACL,UAAU,CAAC,CAAC,SAAS,CAAC,EACpB,IAAI,EAAE,6BAA6B,CAAC,CAAC,CAAC,EACtC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,MAAM,EAAE,GACzC,CAAC,EAAE,CAAC;CACR,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,kBAAkB;IAC9C;;;;;OAKG;IACH,SAAS,CAAC,YAAY,UAAS;IAC/B;;;;;;;;;OASG;IACH,OAAO,CAAC,QAAQ,CAA+B;IAE/C;;;;;;;;;OASG;IACI,QAAQ;IAGf;;;;;;;;;;;;;;;;;OAiBG;IACH,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,kBAAkB,EAAE,CAAC,SAAS,CAAC,EACrD,IAAI,EAAE,6BAA6B,CAAC,CAAC,CAAC,EACtC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GACrC,CAAC;IAMJ;;;;;;;;;;;;;;;;;;;OAmBG;IACH,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,kBAAkB,EAAE,CAAC,SAAS,CAAC,EACzD,IAAI,EAAE,6BAA6B,CAAC,CAAC,CAAC,EACtC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,MAAM,EAAE,GACzC,CAAC,EAAE;IAIN;;;;;;;;;OASG;IACH,SAAS,CAAC,QAAQ,CAAC,CAAC,GAAG,MAAM,EAAE,KAAK,EAAE,MAAM;IAQ5C;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM;IAU/C;;;;;;;;;;;;OAYG;IACH,KAAK,IAAI,IAAI;IAIb;;;;;;;;;;;;;;;;;OAiBG;IACH,eAAe,IAAI,IAAI;IAMvB,SAAS,CAAC,aAAa,CAAC,aAAa,EAAE,OAAO,GAAG,IAAI;IAIrD;;;;OAIG;IACH,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAOlC"}