http-request-manager 18.4.5 → 18.4.8

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 (204) hide show
  1. package/fesm2022/http-request-manager.mjs +372 -126
  2. package/fesm2022/http-request-manager.mjs.map +1 -1
  3. package/http-request-manager-18.4.8.tgz +0 -0
  4. package/package.json +3 -5
  5. package/types/http-request-manager.d.ts +1732 -0
  6. package/esm2022/http-request-manager.mjs +0 -5
  7. package/esm2022/lib/http-request-manager.module.mjs +0 -162
  8. package/esm2022/lib/http-request-services-demo/database-data-demo/database-data-demo.component.mjs +0 -152
  9. package/esm2022/lib/http-request-services-demo/http-request-services-demo.component.mjs +0 -61
  10. package/esm2022/lib/http-request-services-demo/local-storage-demo/local-storage-demo.component.mjs +0 -173
  11. package/esm2022/lib/http-request-services-demo/local-storage-signals-demo/local-storage-signals-demo.component.mjs +0 -184
  12. package/esm2022/lib/http-request-services-demo/request-manager-demo/file-downloader/download-file/download-file.component.mjs +0 -80
  13. package/esm2022/lib/http-request-services-demo/request-manager-demo/file-downloader/file-download.module.mjs +0 -42
  14. package/esm2022/lib/http-request-services-demo/request-manager-demo/file-downloader/file-downloader.component.mjs +0 -88
  15. package/esm2022/lib/http-request-services-demo/request-manager-demo/file-downloader/models/download-labels-model.mjs +0 -11
  16. package/esm2022/lib/http-request-services-demo/request-manager-demo/file-downloader/spinner/spinner.component.mjs +0 -29
  17. package/esm2022/lib/http-request-services-demo/request-manager-demo/models/sample-ai-prompt.mjs +0 -9
  18. package/esm2022/lib/http-request-services-demo/request-manager-demo/models/sample-client-info.mjs +0 -12
  19. package/esm2022/lib/http-request-services-demo/request-manager-demo/models/sample-mapper-client-info.mjs +0 -14
  20. package/esm2022/lib/http-request-services-demo/request-manager-demo/request-manager-demo.component.mjs +0 -325
  21. package/esm2022/lib/http-request-services-demo/request-manager-state-demo/request-manager-state-demo.component.mjs +0 -277
  22. package/esm2022/lib/http-request-services-demo/request-manager-state-demo/services/state-manager-demo.service.mjs +0 -64
  23. package/esm2022/lib/http-request-services-demo/request-manager-ws-demo/models/oidc-client.model.mjs +0 -13
  24. package/esm2022/lib/http-request-services-demo/request-manager-ws-demo/models/user-data.model.mjs +0 -13
  25. package/esm2022/lib/http-request-services-demo/request-manager-ws-demo/request-manager-ws-demo.component.mjs +0 -136
  26. package/esm2022/lib/http-request-services-demo/request-manager-ws-demo/services/state-request-demo.service.mjs +0 -97
  27. package/esm2022/lib/http-request-services-demo/request-signals-manager-demo/models/sample-ai-prompt.mjs +0 -9
  28. package/esm2022/lib/http-request-services-demo/request-signals-manager-demo/models/sample-client-info.mjs +0 -12
  29. package/esm2022/lib/http-request-services-demo/request-signals-manager-demo/models/sample-mapper-client-info.mjs +0 -14
  30. package/esm2022/lib/http-request-services-demo/request-signals-manager-demo/request-signals-manager-demo.component.mjs +0 -336
  31. package/esm2022/lib/http-request-services-demo/store-state-manager-demo/models/settings.model.mjs +0 -12
  32. package/esm2022/lib/http-request-services-demo/store-state-manager-demo/services/settings-state.service.mjs +0 -36
  33. package/esm2022/lib/http-request-services-demo/store-state-manager-demo/store-state-manager-demo.component.mjs +0 -34
  34. package/esm2022/lib/index.mjs +0 -4
  35. package/esm2022/lib/interceptors/credentials.interceptor.mjs +0 -14
  36. package/esm2022/lib/interceptors/index.mjs +0 -5
  37. package/esm2022/lib/interceptors/models/error-settings.model.mjs +0 -10
  38. package/esm2022/lib/interceptors/models/index.mjs +0 -2
  39. package/esm2022/lib/interceptors/proxy-debugger.interceptor.mjs +0 -47
  40. package/esm2022/lib/interceptors/request-error.interceptor.mjs +0 -49
  41. package/esm2022/lib/interceptors/request-header.interceptor.mjs +0 -41
  42. package/esm2022/lib/models/config-http-options.model.mjs +0 -18
  43. package/esm2022/lib/models/config-local-storage-options.model.mjs +0 -12
  44. package/esm2022/lib/models/config-options.model.mjs +0 -12
  45. package/esm2022/lib/models/config-token.model.mjs +0 -8
  46. package/esm2022/lib/models/data-type.enum.mjs +0 -7
  47. package/esm2022/lib/models/database-storage.model.mjs +0 -10
  48. package/esm2022/lib/models/index.mjs +0 -8
  49. package/esm2022/lib/models/retry-options.model.mjs +0 -10
  50. package/esm2022/lib/services/database-manager-service/database.manager.service.mjs +0 -171
  51. package/esm2022/lib/services/database-manager-service/db.storage.service.mjs +0 -183
  52. package/esm2022/lib/services/database-manager-service/index.mjs +0 -4
  53. package/esm2022/lib/services/database-manager-service/models/index.mjs +0 -2
  54. package/esm2022/lib/services/database-manager-service/models/table-schema.mjs +0 -19
  55. package/esm2022/lib/services/index.mjs +0 -9
  56. package/esm2022/lib/services/local-storage-manager-service/index.mjs +0 -4
  57. package/esm2022/lib/services/local-storage-manager-service/local-storage-manager.service.mjs +0 -308
  58. package/esm2022/lib/services/local-storage-manager-service/local-storage-signals-manager.service.mjs +0 -277
  59. package/esm2022/lib/services/local-storage-manager-service/models/global-store-options.model.mjs +0 -13
  60. package/esm2022/lib/services/local-storage-manager-service/models/index.mjs +0 -6
  61. package/esm2022/lib/services/local-storage-manager-service/models/setting-options.model.mjs +0 -17
  62. package/esm2022/lib/services/local-storage-manager-service/models/storage-data.model.mjs +0 -10
  63. package/esm2022/lib/services/local-storage-manager-service/models/storage-option.model.mjs +0 -13
  64. package/esm2022/lib/services/local-storage-manager-service/models/storage-type.enum.mjs +0 -7
  65. package/esm2022/lib/services/request-manager-services/http-manager-signals.service.mjs +0 -199
  66. package/esm2022/lib/services/request-manager-services/http-manager.service.mjs +0 -207
  67. package/esm2022/lib/services/request-manager-services/index.mjs +0 -7
  68. package/esm2022/lib/services/request-manager-services/request-signals.service.mjs +0 -170
  69. package/esm2022/lib/services/request-manager-services/request.service.mjs +0 -192
  70. package/esm2022/lib/services/request-manager-services/rxjs-operators/countdown.mjs +0 -9
  71. package/esm2022/lib/services/request-manager-services/rxjs-operators/delay-retry.mjs +0 -10
  72. package/esm2022/lib/services/request-manager-services/rxjs-operators/index.mjs +0 -5
  73. package/esm2022/lib/services/request-manager-services/rxjs-operators/request-polling.mjs +0 -33
  74. package/esm2022/lib/services/request-manager-services/rxjs-operators/request-streaming.mjs +0 -19
  75. package/esm2022/lib/services/request-manager-state-service/http-manager-state.store.mjs +0 -592
  76. package/esm2022/lib/services/request-manager-state-service/index.mjs +0 -3
  77. package/esm2022/lib/services/request-manager-state-service/models/api-request.model.mjs +0 -22
  78. package/esm2022/lib/services/request-manager-state-service/models/index.mjs +0 -5
  79. package/esm2022/lib/services/request-manager-state-service/models/request-options.model.mjs +0 -10
  80. package/esm2022/lib/services/request-manager-state-service/models/ws-options.model.mjs +0 -15
  81. package/esm2022/lib/services/request-manager-state-service/models/ws-user.model.mjs +0 -10
  82. package/esm2022/lib/services/store-state-manager-service/index.mjs +0 -3
  83. package/esm2022/lib/services/store-state-manager-service/models/index.mjs +0 -2
  84. package/esm2022/lib/services/store-state-manager-service/models/state-storage-options.model.mjs +0 -12
  85. package/esm2022/lib/services/store-state-manager-service/store-state-manager.service.mjs +0 -71
  86. package/esm2022/lib/services/utils/app.service.mjs +0 -26
  87. package/esm2022/lib/services/utils/encryption/asymmetrical-encryption.service.mjs +0 -186
  88. package/esm2022/lib/services/utils/encryption/encryption-test.service.mjs +0 -35
  89. package/esm2022/lib/services/utils/encryption/index.mjs +0 -4
  90. package/esm2022/lib/services/utils/encryption/random.mjs +0 -52
  91. package/esm2022/lib/services/utils/encryption/symmetrical-encryption.service.mjs +0 -77
  92. package/esm2022/lib/services/utils/headers.service.mjs +0 -21
  93. package/esm2022/lib/services/utils/index.mjs +0 -6
  94. package/esm2022/lib/services/utils/object-merger.service.mjs +0 -70
  95. package/esm2022/lib/services/utils/path-query.service.mjs +0 -54
  96. package/esm2022/lib/services/utils/utils.service.mjs +0 -155
  97. package/esm2022/lib/services/ws-manager-service/index.mjs +0 -3
  98. package/esm2022/lib/services/ws-manager-service/models/channel-info.model.mjs +0 -10
  99. package/esm2022/lib/services/ws-manager-service/models/channel-notification.model.mjs +0 -14
  100. package/esm2022/lib/services/ws-manager-service/models/communication-type.enum.mjs +0 -7
  101. package/esm2022/lib/services/ws-manager-service/models/index.mjs +0 -5
  102. package/esm2022/lib/services/ws-manager-service/models/user-message.model.mjs +0 -12
  103. package/esm2022/lib/services/ws-manager-service/services/websocket.service.mjs +0 -178
  104. package/esm2022/public-api.mjs +0 -11
  105. package/http-request-manager-18.4.5.tgz +0 -0
  106. package/index.d.ts +0 -5
  107. package/lib/http-request-manager.module.d.ts +0 -39
  108. package/lib/http-request-services-demo/database-data-demo/database-data-demo.component.d.ts +0 -46
  109. package/lib/http-request-services-demo/http-request-services-demo.component.d.ts +0 -37
  110. package/lib/http-request-services-demo/local-storage-demo/local-storage-demo.component.d.ts +0 -56
  111. package/lib/http-request-services-demo/local-storage-signals-demo/local-storage-signals-demo.component.d.ts +0 -55
  112. package/lib/http-request-services-demo/request-manager-demo/file-downloader/download-file/download-file.component.d.ts +0 -26
  113. package/lib/http-request-services-demo/request-manager-demo/file-downloader/file-download.module.d.ts +0 -13
  114. package/lib/http-request-services-demo/request-manager-demo/file-downloader/file-downloader.component.d.ts +0 -27
  115. package/lib/http-request-services-demo/request-manager-demo/file-downloader/models/download-labels-model.d.ts +0 -12
  116. package/lib/http-request-services-demo/request-manager-demo/file-downloader/spinner/spinner.component.d.ts +0 -16
  117. package/lib/http-request-services-demo/request-manager-demo/models/sample-ai-prompt.d.ts +0 -8
  118. package/lib/http-request-services-demo/request-manager-demo/models/sample-client-info.d.ts +0 -14
  119. package/lib/http-request-services-demo/request-manager-demo/models/sample-mapper-client-info.d.ts +0 -14
  120. package/lib/http-request-services-demo/request-manager-demo/request-manager-demo.component.d.ts +0 -110
  121. package/lib/http-request-services-demo/request-manager-state-demo/request-manager-state-demo.component.d.ts +0 -124
  122. package/lib/http-request-services-demo/request-manager-state-demo/services/state-manager-demo.service.d.ts +0 -15
  123. package/lib/http-request-services-demo/request-manager-ws-demo/models/oidc-client.model.d.ts +0 -16
  124. package/lib/http-request-services-demo/request-manager-ws-demo/models/user-data.model.d.ts +0 -14
  125. package/lib/http-request-services-demo/request-manager-ws-demo/request-manager-ws-demo.component.d.ts +0 -42
  126. package/lib/http-request-services-demo/request-manager-ws-demo/services/state-request-demo.service.d.ts +0 -15
  127. package/lib/http-request-services-demo/request-signals-manager-demo/models/sample-ai-prompt.d.ts +0 -8
  128. package/lib/http-request-services-demo/request-signals-manager-demo/models/sample-client-info.d.ts +0 -14
  129. package/lib/http-request-services-demo/request-signals-manager-demo/models/sample-mapper-client-info.d.ts +0 -14
  130. package/lib/http-request-services-demo/request-signals-manager-demo/request-signals-manager-demo.component.d.ts +0 -106
  131. package/lib/http-request-services-demo/store-state-manager-demo/models/settings.model.d.ts +0 -14
  132. package/lib/http-request-services-demo/store-state-manager-demo/services/settings-state.service.d.ts +0 -11
  133. package/lib/http-request-services-demo/store-state-manager-demo/store-state-manager-demo.component.d.ts +0 -14
  134. package/lib/index.d.ts +0 -3
  135. package/lib/interceptors/credentials.interceptor.d.ts +0 -8
  136. package/lib/interceptors/index.d.ts +0 -4
  137. package/lib/interceptors/models/error-settings.model.d.ts +0 -10
  138. package/lib/interceptors/models/index.d.ts +0 -1
  139. package/lib/interceptors/proxy-debugger.interceptor.d.ts +0 -12
  140. package/lib/interceptors/request-error.interceptor.d.ts +0 -10
  141. package/lib/interceptors/request-header.interceptor.d.ts +0 -15
  142. package/lib/models/config-http-options.model.d.ts +0 -21
  143. package/lib/models/config-local-storage-options.model.d.ts +0 -13
  144. package/lib/models/config-options.model.d.ts +0 -12
  145. package/lib/models/config-token.model.d.ts +0 -8
  146. package/lib/models/data-type.enum.d.ts +0 -5
  147. package/lib/models/database-storage.model.d.ts +0 -10
  148. package/lib/models/index.d.ts +0 -7
  149. package/lib/models/retry-options.model.d.ts +0 -10
  150. package/lib/services/database-manager-service/database.manager.service.d.ts +0 -33
  151. package/lib/services/database-manager-service/db.storage.service.d.ts +0 -26
  152. package/lib/services/database-manager-service/index.d.ts +0 -3
  153. package/lib/services/database-manager-service/models/index.d.ts +0 -1
  154. package/lib/services/database-manager-service/models/table-schema.d.ts +0 -11
  155. package/lib/services/index.d.ts +0 -7
  156. package/lib/services/local-storage-manager-service/index.d.ts +0 -3
  157. package/lib/services/local-storage-manager-service/local-storage-manager.service.d.ts +0 -86
  158. package/lib/services/local-storage-manager-service/local-storage-signals-manager.service.d.ts +0 -64
  159. package/lib/services/local-storage-manager-service/models/global-store-options.model.d.ts +0 -15
  160. package/lib/services/local-storage-manager-service/models/index.d.ts +0 -5
  161. package/lib/services/local-storage-manager-service/models/setting-options.model.d.ts +0 -15
  162. package/lib/services/local-storage-manager-service/models/storage-data.model.d.ts +0 -10
  163. package/lib/services/local-storage-manager-service/models/storage-option.model.d.ts +0 -15
  164. package/lib/services/local-storage-manager-service/models/storage-type.enum.d.ts +0 -5
  165. package/lib/services/request-manager-services/http-manager-signals.service.d.ts +0 -38
  166. package/lib/services/request-manager-services/http-manager.service.d.ts +0 -41
  167. package/lib/services/request-manager-services/index.d.ts +0 -6
  168. package/lib/services/request-manager-services/request-signals.service.d.ts +0 -26
  169. package/lib/services/request-manager-services/request.service.d.ts +0 -28
  170. package/lib/services/request-manager-services/rxjs-operators/countdown.d.ts +0 -2
  171. package/lib/services/request-manager-services/rxjs-operators/delay-retry.d.ts +0 -2
  172. package/lib/services/request-manager-services/rxjs-operators/index.d.ts +0 -4
  173. package/lib/services/request-manager-services/rxjs-operators/request-polling.d.ts +0 -2
  174. package/lib/services/request-manager-services/rxjs-operators/request-streaming.d.ts +0 -2
  175. package/lib/services/request-manager-state-service/http-manager-state.store.d.ts +0 -90
  176. package/lib/services/request-manager-state-service/index.d.ts +0 -2
  177. package/lib/services/request-manager-state-service/models/api-request.model.d.ts +0 -32
  178. package/lib/services/request-manager-state-service/models/index.d.ts +0 -4
  179. package/lib/services/request-manager-state-service/models/request-options.model.d.ts +0 -10
  180. package/lib/services/request-manager-state-service/models/ws-options.model.d.ts +0 -22
  181. package/lib/services/request-manager-state-service/models/ws-user.model.d.ts +0 -10
  182. package/lib/services/store-state-manager-service/index.d.ts +0 -2
  183. package/lib/services/store-state-manager-service/models/index.d.ts +0 -1
  184. package/lib/services/store-state-manager-service/models/state-storage-options.model.d.ts +0 -13
  185. package/lib/services/store-state-manager-service/store-state-manager.service.d.ts +0 -23
  186. package/lib/services/utils/app.service.d.ts +0 -8
  187. package/lib/services/utils/encryption/asymmetrical-encryption.service.d.ts +0 -17
  188. package/lib/services/utils/encryption/encryption-test.service.d.ts +0 -10
  189. package/lib/services/utils/encryption/index.d.ts +0 -3
  190. package/lib/services/utils/encryption/random.d.ts +0 -7
  191. package/lib/services/utils/encryption/symmetrical-encryption.service.d.ts +0 -14
  192. package/lib/services/utils/headers.service.d.ts +0 -10
  193. package/lib/services/utils/index.d.ts +0 -5
  194. package/lib/services/utils/object-merger.service.d.ts +0 -14
  195. package/lib/services/utils/path-query.service.d.ts +0 -11
  196. package/lib/services/utils/utils.service.d.ts +0 -24
  197. package/lib/services/ws-manager-service/index.d.ts +0 -2
  198. package/lib/services/ws-manager-service/models/channel-info.model.d.ts +0 -10
  199. package/lib/services/ws-manager-service/models/channel-notification.model.d.ts +0 -17
  200. package/lib/services/ws-manager-service/models/communication-type.enum.d.ts +0 -5
  201. package/lib/services/ws-manager-service/models/index.d.ts +0 -4
  202. package/lib/services/ws-manager-service/models/user-message.model.d.ts +0 -14
  203. package/lib/services/ws-manager-service/services/websocket.service.d.ts +0 -24
  204. package/public-api.d.ts +0 -7
@@ -1,77 +0,0 @@
1
- import { Injectable, inject } from '@angular/core';
2
- import * as CryptoJS from 'crypto-js';
3
- import { RandomSignature } from './random';
4
- import { AppService } from '../app.service';
5
- import * as i0 from "@angular/core";
6
- export class SymmetricalEncryptionService {
7
- constructor() {
8
- this.appService = inject(AppService);
9
- // TODO: The APP ID is not a string, it is a function
10
- this.appID = (this.appService.appID) ? this.appService.appID : '';
11
- if (this.appID === '')
12
- console.warn('No App Key has been define');
13
- }
14
- generateCipherKey() {
15
- return (RandomSignature().toString() + RandomSignature().toString()).substring(0, 8);
16
- }
17
- encrypt(str, key = this.appID) {
18
- if (!str || key === '')
19
- return '';
20
- let _key = CryptoJS.enc.Utf8.parse(key);
21
- let _iv = CryptoJS.enc.Utf8.parse(key);
22
- try {
23
- const encrypted = CryptoJS.AES.encrypt(JSON.stringify(str), _key, {
24
- keySize: 16,
25
- iv: _iv,
26
- mode: CryptoJS.mode.ECB,
27
- padding: CryptoJS.pad.Pkcs7
28
- });
29
- return encrypted.toString();
30
- }
31
- catch (error) {
32
- console.log(error);
33
- }
34
- return;
35
- }
36
- decrypt(str, key = this.appID) {
37
- if (!str || key === '')
38
- return;
39
- let _key = CryptoJS.enc.Utf8.parse(key);
40
- let _iv = CryptoJS.enc.Utf8.parse(key);
41
- try {
42
- return CryptoJS.AES.decrypt(str, _key, {
43
- keySize: 16,
44
- iv: _iv,
45
- mode: CryptoJS.mode.ECB,
46
- padding: CryptoJS.pad.Pkcs7
47
- }).toString(CryptoJS.enc.Utf8);
48
- }
49
- catch (error) {
50
- console.log(error);
51
- }
52
- return;
53
- }
54
- createSignature(url, len = 16) {
55
- const sig = CryptoJS.SHA256(url).toString(CryptoJS.enc.Hex);
56
- return sig.substring(0, len).toUpperCase();
57
- }
58
- normalizeURL(url) {
59
- const normalizedURL = url.replace(/(https?:\/\/)?(www\.)?/, '').replace(/\/+$/, '');
60
- return normalizedURL;
61
- }
62
- generateSignature(url) {
63
- const normalizedURL = this.normalizeURL(url);
64
- const hash = CryptoJS.SHA256(normalizedURL);
65
- const signature = hash.toString(CryptoJS.enc.Hex);
66
- return signature;
67
- }
68
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SymmetricalEncryptionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
69
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SymmetricalEncryptionService, providedIn: 'root' }); }
70
- }
71
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SymmetricalEncryptionService, decorators: [{
72
- type: Injectable,
73
- args: [{
74
- providedIn: 'root'
75
- }]
76
- }], ctorParameters: () => [] });
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltbWV0cmljYWwtZW5jcnlwdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaHR0cC1yZXF1ZXN0LW1hbmFnZXIvc3JjL2xpYi9zZXJ2aWNlcy91dGlscy9lbmNyeXB0aW9uL3N5bW1ldHJpY2FsLWVuY3J5cHRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEtBQUssUUFBUSxNQUFNLFdBQVcsQ0FBQztBQUV0QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFLNUMsTUFBTSxPQUFPLDRCQUE0QjtJQU12QztRQUZRLGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7UUFHckMscURBQXFEO1FBQ3JELElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFBO1FBQ2pFLElBQUcsSUFBSSxDQUFDLEtBQUssS0FBSyxFQUFFO1lBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxDQUFBO0lBQ2xFLENBQUM7SUFFRCxpQkFBaUI7UUFDZixPQUFPLENBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxFQUFFLEdBQUcsZUFBZSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQ3RGLENBQUM7SUFFRCxPQUFPLENBQUMsR0FBUSxFQUFFLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSztRQUVoQyxJQUFHLENBQUMs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LENBQUE7UUFDakQsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQzsrR0FqRlUsNEJBQTRCO21IQUE1Qiw0QkFBNEIsY0FGM0IsTUFBTTs7NEZBRVAsNEJBQTRCO2tCQUh4QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0ICogYXMgQ3J5cHRvSlMgZnJvbSAnY3J5cHRvLWpzJztcblxuaW1wb3J0IHsgUmFuZG9tU2lnbmF0dXJlIH0gZnJvbSAnLi9yYW5kb20nO1xuaW1wb3J0IHsgQXBwU2VydmljZSB9IGZyb20gJy4uL2FwcC5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU3ltbWV0cmljYWxFbmNyeXB0aW9uU2VydmljZSB7XG5cbiAgYXBwSUQ6IHN0cmluZzsgLy8gQVBQIFNFUlZJQ0UgVE8gTUFOQUdFUiBFTkNSWVBUSU9OIEtFWVxuXG4gIHByaXZhdGUgYXBwU2VydmljZSA9IGluamVjdChBcHBTZXJ2aWNlKVxuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIC8vIFRPRE86IFRoZSBBUFAgSUQgaXMgbm90IGEgc3RyaW5nLCBpdCBpcyBhIGZ1bmN0aW9uXG4gICAgdGhpcy5hcHBJRCA9ICh0aGlzLmFwcFNlcnZpY2UuYXBwSUQpID8gdGhpcy5hcHBTZXJ2aWNlLmFwcElEIDogJydcbiAgICBpZih0aGlzLmFwcElEID09PSAnJykgY29uc29sZS53YXJuKCdObyBBcHAgS2V5IGhhcyBiZWVuIGRlZmluZScpXG4gIH1cblxuICBnZW5lcmF0ZUNpcGhlcktleSgpIHtcbiAgICByZXR1cm4gKFJhbmRvbVNpZ25hdHVyZSgpLnRvU3RyaW5nKCkgKyBSYW5kb21TaWduYXR1cmUoKS50b1N0cmluZygpKS5zdWJzdHJpbmcoMCwgOClcbiAgfVxuXG4gIGVuY3J5cHQoc3RyOiBhbnksIGtleSA9IHRoaXMuYXBwSUQpIHtcblxuICAgIGlmKCFzdHIgfHwga2V5ID09PSAnJykgcmV0dXJuICcnXG5cbiAgICBsZXQgX2tleSA9IENyeXB0b0pTLmVuYy5VdGY4LnBhcnNlKGtleSlcbiAgICBsZXQgX2l2ID0gQ3J5cHRvSlMuZW5jLlV0ZjgucGFyc2Uoa2V5KVxuXG4gICAgdHJ5IHtcblxuICAgIGNvbnN0IGVuY3J5cHRlZCA9IENyeXB0b0pTLkFFUy5lbmNyeXB0KFxuICAgICAgSlNPTi5zdHJpbmdpZnkoc3RyKSwgX2tleSwge1xuICAgICAgICBrZXlTaXplOiAxNixcbiAgICAgICAgaXY6IF9pdixcbiAgICAgICAgbW9kZTogQ3J5cHRvSlMubW9kZS5FQ0IsXG4gICAgICAgIHBhZGRpbmc6IENyeXB0b0pTLnBhZC5Qa2NzN1xuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiBlbmNyeXB0ZWQudG9TdHJpbmcoKVxuXG4gICAgfSBjYXRjaChlcnJvcjogYW55KSB7XG4gICAgICBjb25zb2xlLmxvZyhlcnJvcilcbiAgICB9XG5cbiAgICByZXR1cm5cbiAgfVxuXG4gIGRlY3J5cHQoc3RyOiBzdHJpbmcsIGtleSA9IHRoaXMuYXBwSUQpIHtcblxuICAgIGlmKCFzdHIgfHwga2V5ID09PSAnJykgcmV0dXJuXG5cbiAgICBsZXQgX2tleSA9IENyeXB0b0pTLmVuYy5VdGY4LnBhcnNlKGtleSlcbiAgICBsZXQgX2l2ID0gQ3J5cHRvSlMuZW5jLlV0ZjgucGFyc2Uoa2V5KVxuXG4gICAgdHJ5IHtcblxuICAgIHJldHVybiBDcnlwdG9KUy5BRVMuZGVjcnlwdChcbiAgICAgIHN0ciwgX2tleSwge1xuICAgICAgICBrZXlTaXplOiAxNixcbiAgICAgICAgaXY6IF9pdixcbiAgICAgICAgbW9kZTogQ3J5cHRvSlMubW9kZS5FQ0IsXG4gICAgICAgIHBhZGRpbmc6IENyeXB0b0pTLnBhZC5Qa2NzN1xuICAgICAgfSkudG9TdHJpbmcoQ3J5cHRvSlMuZW5jLlV0ZjgpO1xuXG4gICAgfSBjYXRjaChlcnJvcjogYW55KSB7XG4gICAgICBjb25zb2xlLmxvZyhlcnJvcilcbiAgICB9XG5cbiAgICByZXR1cm5cbiAgfVxuXG4gIGNyZWF0ZVNpZ25hdHVyZSh1cmw6IHN0cmluZywgbGVuID0gMTYpIHtcbiAgICBjb25zdCBzaWcgPSBDcnlwdG9KUy5TSEEyNTYodXJsKS50b1N0cmluZyhDcnlwdG9KUy5lbmMuSGV4KVxuICAgIHJldHVybiBzaWcuc3Vic3RyaW5nKDAsIGxlbikudG9VcHBlckNhc2UoKVxuICB9XG5cbiAgbm9ybWFsaXplVVJMKHVybDogc3RyaW5nKSB7XG4gICAgY29uc3Qgbm9ybWFsaXplZFVSTCA9IHVybC5yZXBsYWNlKC8oaHR0cHM/OlxcL1xcLyk/KHd3d1xcLik/LywgJycpLnJlcGxhY2UoL1xcLyskLywgJycpO1xuICAgIHJldHVybiBub3JtYWxpemVkVVJMO1xuICB9XG5cbiAgZ2VuZXJhdGVTaWduYXR1cmUodXJsOiBzdHJpbmcpIHtcbiAgICBjb25zdCBub3JtYWxpemVkVVJMID0gdGhpcy5ub3JtYWxpemVVUkwodXJsKVxuICAgIGNvbnN0IGhhc2ggPSBDcnlwdG9KUy5TSEEyNTYobm9ybWFsaXplZFVSTClcbiAgICBjb25zdCBzaWduYXR1cmUgPSBoYXNoLnRvU3RyaW5nKENyeXB0b0pTLmVuYy5IZXgpXG4gICAgcmV0dXJuIHNpZ25hdHVyZTtcbiAgfVxuXG59XG4iXX0=
@@ -1,21 +0,0 @@
1
- import { HttpHeaders } from '@angular/common/http';
2
- import { Injectable } from '@angular/core';
3
- import * as i0 from "@angular/core";
4
- export class HeadersService {
5
- constructor() {
6
- this.headers = {};
7
- }
8
- generateHeaders(headers) {
9
- const allHeaders = headers ? { ...this.headers, ...headers } : {};
10
- return { headers: new HttpHeaders(allHeaders) };
11
- }
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: HeadersService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
13
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: HeadersService, providedIn: 'root' }); }
14
- }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: HeadersService, decorators: [{
16
- type: Injectable,
17
- args: [{
18
- providedIn: 'root'
19
- }]
20
- }] });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVycy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaHR0cC1yZXF1ZXN0LW1hbmFnZXIvc3JjL2xpYi9zZXJ2aWNlcy91dGlscy9oZWFkZXJzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzNDLE1BQU0sT0FBTyxjQUFjO0lBSDNCO1FBS0UsWUFBTyxHQUFHLEVBQUUsQ0FBQTtLQVNiO0lBUEMsZUFBZSxDQUFDLE9BQWdDO1FBRTlDLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFBO1FBQ2pFLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxXQUFXLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQTtJQUVqRCxDQUFDOytHQVRVLGNBQWM7bUhBQWQsY0FBYyxjQUZiLE1BQU07OzRGQUVQLGNBQWM7a0JBSDFCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEhlYWRlcnNTZXJ2aWNlIHtcblxuICBoZWFkZXJzID0ge31cblxuICBnZW5lcmF0ZUhlYWRlcnMoaGVhZGVycz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz4pOiB7IGhlYWRlcnM6IEh0dHBIZWFkZXJzIH0ge1xuXG4gICAgY29uc3QgYWxsSGVhZGVycyA9IGhlYWRlcnMgPyB7IC4uLnRoaXMuaGVhZGVycywgLi4uaGVhZGVycyB9IDoge31cbiAgICByZXR1cm4geyBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoYWxsSGVhZGVycykgfVxuXG4gIH1cblxufVxuIl19
@@ -1,6 +0,0 @@
1
- export * from './app.service';
2
- export * from './headers.service';
3
- export * from './path-query.service';
4
- export * from './utils.service';
5
- export * from './encryption/index';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9odHRwLXJlcXVlc3QtbWFuYWdlci9zcmMvbGliL3NlcnZpY2VzL3V0aWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGlCQUFpQixDQUFDO0FBRWhDLGNBQWMsb0JBQW9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FwcC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vaGVhZGVycy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vcGF0aC1xdWVyeS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZW5jcnlwdGlvbi9pbmRleCc7XG5cbiJdfQ==
@@ -1,70 +0,0 @@
1
- import { Inject, Injectable, Optional, inject } from '@angular/core';
2
- import { ApiRequest } from '../request-manager-state-service/models';
3
- import { SettingOptions } from '../local-storage-manager-service';
4
- import { UtilsService } from './utils.service';
5
- import { CONFIG_SETTINGS_TOKEN } from '../../models/config-token.model';
6
- import { ConfigHTTPOptions, ConfigOptions, LocalStorageOptions } from '../request-manager-services';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "../request-manager-services";
9
- export class ObjectMergerService {
10
- constructor(configOptions) {
11
- this.configOptions = configOptions;
12
- this.utils = inject(UtilsService);
13
- if (!this.configOptions)
14
- this.configOptions = ConfigOptions.adapt();
15
- }
16
- mergeOptions(options = ApiRequest.adapt()) {
17
- const configForRoot = (this.configOptions?.httpRequestOptions) ? this.configOptions.httpRequestOptions : ConfigHTTPOptions.adapt();
18
- const mergedOptions = ApiRequest.adapt(options);
19
- mergedOptions.server = (options && options.server === '') ? configForRoot?.server || '' : options.server;
20
- mergedOptions.path = [...options.path || [], ...configForRoot?.path || []];
21
- mergedOptions.headers = { ...options.headers || {}, ...configForRoot?.headers || {} };
22
- mergedOptions.retry = (options && (options?.retry?.times !== 0 || options?.retry?.delay !== 3)) ? options.retry : configForRoot?.retry || { times: 0, delay: 3 };
23
- mergedOptions.polling = (options && options?.polling !== 0) ? options.polling : configForRoot?.polling || 0;
24
- mergedOptions.displayError = (options && options?.displayError) ? options.displayError : configForRoot?.displayError || false;
25
- mergedOptions.stream = (options && options?.stream) ? options.stream : configForRoot?.stream || false;
26
- return mergedOptions;
27
- }
28
- mergeStorageOptions(options = SettingOptions.adapt()) {
29
- const configForRoot = (this.configOptions?.LocalStorageOptions) ? this.configOptions.LocalStorageOptions : LocalStorageOptions.adapt();
30
- const configForRootOptions = configForRoot.options || LocalStorageOptions.adapt().options;
31
- const mergedOptions = SettingOptions.adapt(options);
32
- // storage type
33
- mergedOptions.storage = (options && (typeof options.storage !== 'undefined')) ? options.storage : (configForRootOptions?.storage ?? 0);
34
- // expires: prefer explicit numeric expires; if not provided, compute from expiresIn string; otherwise use config default
35
- // if an explicit, non-zero numeric expires is provided, use it
36
- if (options && (typeof options.expires !== 'undefined') && options.expires !== null && Number(options.expires) > 0) {
37
- mergedOptions.expires = Number(options.expires);
38
- }
39
- else if (options && options.expiresIn) {
40
- // compute numeric epoch from expiresIn string using UtilsService if available
41
- try {
42
- mergedOptions.expires = this.utils ? this.utils.expires(options.expiresIn) : 0;
43
- }
44
- catch {
45
- mergedOptions.expires = 0;
46
- }
47
- }
48
- else {
49
- mergedOptions.expires = configForRootOptions?.expires ?? 0;
50
- }
51
- // keep expiresIn string if explicitly provided, otherwise use config default
52
- mergedOptions.expiresIn = (options && (typeof options.expiresIn !== 'undefined')) ? options.expiresIn : (configForRootOptions?.expiresIn || '');
53
- mergedOptions.encrypted = (options && (typeof options.encrypted !== 'undefined')) ? options.encrypted : (configForRootOptions?.encrypted || false);
54
- return mergedOptions;
55
- }
56
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ObjectMergerService, deps: [{ token: CONFIG_SETTINGS_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
57
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ObjectMergerService, providedIn: 'root' }); }
58
- }
59
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ObjectMergerService, decorators: [{
60
- type: Injectable,
61
- args: [{
62
- providedIn: 'root'
63
- }]
64
- }], ctorParameters: () => [{ type: i1.ConfigOptions, decorators: [{
65
- type: Inject,
66
- args: [CONFIG_SETTINGS_TOKEN]
67
- }, {
68
- type: Optional
69
- }] }] });
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LW1lcmdlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaHR0cC1yZXF1ZXN0LW1hbmFnZXIvc3JjL2xpYi9zZXJ2aWNlcy91dGlscy9vYmplY3QtbWVyZ2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVyRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDckUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsYUFBYSxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7OztBQUtwRyxNQUFNLE9BQU8sbUJBQW1CO0lBSTlCLFlBQStELGFBQTZCO1FBQTdCLGtCQUFhLEdBQWIsYUFBYSxDQUFnQjtRQUY1RixVQUFLLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBR3pCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYTtZQUFFLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFBO0lBQ3RFLENBQUM7SUFFRixZQUFZLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQyxLQUFLLEVBQUU7UUFFdkMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxDQUFBO1FBQ2xJLE1BQU0sYUFBYSxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUE7UUFFL0MsYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLEVBQUUsTUFBTSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQTtRQUV4RyxhQUFhLENBQUMsSUFBSSxHQUFHLENBQUUsR0FBRyxPQUFPLENBQUMsSUFBSSxJQUFJLEVBQUUsRUFBRSxHQUFHLGFBQWEsRUFBRSxJQUFJLElBQUksRUFBRSxDQUFFLENBQUE7UUFFNUUsYUFBYSxDQUFDLE9BQU8sR0FBRyxFQUFFLEdBQUcsT0FBTyxDQUFDLE9BQU8sSUFBSSxFQUFFLEVBQUUsR0FBRyxhQUFhLEVBQUUsT0FBTyxJQUFJLEVBQUUsRUFBRSxDQUFBO1FBRXJGLGFBQWEsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssS0FBSyxDQUFDLElBQUksT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsYUFBYSxFQUFFLEtBQUssSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDO1FBRWpLLGFBQWEsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxPQUFPLElBQUksT0FBTyxFQUFFLE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsYUFBYSxFQUFFLE9BQU8sSUFBSSxDQUFDLENBQUM7UUFFNUcsYUFBYSxDQUFDLFlBQVksR0FBRyxDQUFDLE9BQU8sSUFBSSxPQUFPLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMs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b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFLYyxNQUFNOzJCQUFDLHFCQUFxQjs7MEJBQUcsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBBcGlSZXF1ZXN0IH0gZnJvbSAnLi4vcmVxdWVzdC1tYW5hZ2VyLXN0YXRlLXNlcnZpY2UvbW9kZWxzJztcbmltcG9ydCB7IFNldHRpbmdPcHRpb25zIH0gZnJvbSAnLi4vbG9jYWwtc3RvcmFnZS1tYW5hZ2VyLXNlcnZpY2UnO1xuaW1wb3J0IHsgVXRpbHNTZXJ2aWNlIH0gZnJvbSAnLi91dGlscy5zZXJ2aWNlJztcblxuaW1wb3J0IHsgQ09ORklHX1NFVFRJTkdTX1RPS0VOIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NvbmZpZy10b2tlbi5tb2RlbCc7XG5pbXBvcnQgeyBDb25maWdIVFRQT3B0aW9ucywgQ29uZmlnT3B0aW9ucywgTG9jYWxTdG9yYWdlT3B0aW9ucyB9IGZyb20gJy4uL3JlcXVlc3QtbWFuYWdlci1zZXJ2aWNlcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE9iamVjdE1lcmdlclNlcnZpY2Uge1xuXG4gIHV0aWxzID0gaW5qZWN0KFV0aWxzU2VydmljZSk7XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChDT05GSUdfU0VUVElOR1NfVE9LRU4pIEBPcHRpb25hbCgpIHByaXZhdGUgY29uZmlnT3B0aW9ucz86IENvbmZpZ09wdGlvbnMpIHtcbiAgICAgIGlmICghdGhpcy5jb25maWdPcHRpb25zKSB0aGlzLmNvbmZpZ09wdGlvbnMgPSBDb25maWdPcHRpb25zLmFkYXB0KClcbiAgIH1cblxuICBtZXJnZU9wdGlvbnMob3B0aW9ucyA9IEFwaVJlcXVlc3QuYWRhcHQoKSkge1xuXG4gICAgY29uc3QgY29uZmlnRm9yUm9vdCA9ICh0aGlzLmNvbmZpZ09wdGlvbnM/Lmh0dHBSZXF1ZXN0T3B0aW9ucykgPyB0aGlzLmNvbmZpZ09wdGlvbnMuaHR0cFJlcXVlc3RPcHRpb25zIDogQ29uZmlnSFRUUE9wdGlvbnMuYWRhcHQoKVxuICAgIGNvbnN0IG1lcmdlZE9wdGlvbnMgPSBBcGlSZXF1ZXN0LmFkYXB0KG9wdGlvbnMpXG5cbiAgICBtZXJnZWRPcHRpb25zLnNlcnZlciA9IChvcHRpb25zICYmIG9wdGlvbnMuc2VydmVyID09PSAnJykgPyBjb25maWdGb3JSb290Py5zZXJ2ZXIgfHwgJycgOiBvcHRpb25zLnNlcnZlclxuXG4gICAgbWVyZ2VkT3B0aW9ucy5wYXRoID0gWyAuLi5vcHRpb25zLnBhdGggfHwgW10sIC4uLmNvbmZpZ0ZvclJvb3Q/LnBhdGggfHwgW10gXVxuXG4gICAgbWVyZ2VkT3B0aW9ucy5oZWFkZXJzID0geyAuLi5vcHRpb25zLmhlYWRlcnMgfHwge30sIC4uLmNvbmZpZ0ZvclJvb3Q/LmhlYWRlcnMgfHwge30gfVxuXG4gICAgbWVyZ2VkT3B0aW9ucy5yZXRyeSA9IChvcHRpb25zICYmIChvcHRpb25zPy5yZXRyeT8udGltZXMgIT09IDAgfHwgb3B0aW9ucz8ucmV0cnk/LmRlbGF5ICE9PSAzKSkgPyBvcHRpb25zLnJldHJ5IDogY29uZmlnRm9yUm9vdD8ucmV0cnkgfHwgeyB0aW1lczogMCwgZGVsYXk6IDMgfTtcblxuICAgIG1lcmdlZE9wdGlvbnMucG9sbGluZyA9IChvcHRpb25zICYmIG9wdGlvbnM/LnBvbGxpbmcgIT09IDApID8gb3B0aW9ucy5wb2xsaW5nIDogY29uZmlnRm9yUm9vdD8ucG9sbGluZyB8fCAwO1xuXG4gICAgbWVyZ2VkT3B0aW9ucy5kaXNwbGF5RXJyb3IgPSAob3B0aW9ucyAmJiBvcHRpb25zPy5kaXNwbGF5RXJyb3IpID8gb3B0aW9ucy5kaXNwbGF5RXJyb3IgOiBjb25maWdGb3JSb290Py5kaXNwbGF5RXJyb3IgfHwgZmFsc2U7XG5cbiAgICBtZXJnZWRPcHRpb25zLnN0cmVhbSA9IChvcHRpb25zICYmIG9wdGlvbnM/LnN0cmVhbSkgPyBvcHRpb25zLnN0cmVhbSA6IGNvbmZpZ0ZvclJvb3Q/LnN0cmVhbSB8fCBmYWxzZTtcblxuICAgIHJldHVybiBtZXJnZWRPcHRpb25zO1xuXG4gIH1cblxuICBtZXJnZVN0b3JhZ2VPcHRpb25zKG9wdGlvbnMgPSBTZXR0aW5nT3B0aW9ucy5hZGFwdCgpKSB7XG5cbiAgICBjb25zdCBjb25maWdGb3JSb290ID0gKHRoaXMuY29uZmlnT3B0aW9ucz8uTG9jYWxTdG9yYWdlT3B0aW9ucykgPyB0aGlzLmNvbmZpZ09wdGlvbnMuTG9jYWxTdG9yYWdlT3B0aW9ucyA6IExvY2FsU3RvcmFnZU9wdGlvbnMuYWRhcHQoKVxuICAgIGNvbnN0IGNvbmZpZ0ZvclJvb3RPcHRpb25zID0gY29uZmlnRm9yUm9vdC5vcHRpb25zIHx8IExvY2FsU3RvcmFnZU9wdGlvbnMuYWRhcHQoKS5vcHRpb25zXG5cbiAgICBjb25zdCBtZXJnZWRPcHRpb25zID0gU2V0dGluZ09wdGlvbnMuYWRhcHQob3B0aW9ucylcblxuICAgIC8vIHN0b3JhZ2UgdHlwZVxuICAgIG1lcmdlZE9wdGlvbnMuc3RvcmFnZSA9IChvcHRpb25zICYmICh0eXBlb2Ygb3B0aW9ucy5zdG9yYWdlICE9PSAndW5kZWZpbmVkJykpID8gb3B0aW9ucy5zdG9yYWdlIDogKGNvbmZpZ0ZvclJvb3RPcHRpb25zPy5zdG9yYWdlID8/IDApXG5cbiAgICAvLyBleHBpcmVzOiBwcmVmZXIgZXhwbGljaXQgbnVtZXJpYyBleHBpcmVzOyBpZiBub3QgcHJvdmlkZWQsIGNvbXB1dGUgZnJvbSBleHBpcmVzSW4gc3RyaW5nOyBvdGhlcndpc2UgdXNlIGNvbmZpZyBkZWZhdWx0XG4gICAgLy8gaWYgYW4gZXhwbGljaXQsIG5vbi16ZXJvIG51bWVyaWMgZXhwaXJlcyBpcyBwcm92aWRlZCwgdXNlIGl0XG4gICAgaWYgKG9wdGlvbnMgJiYgKHR5cGVvZiBvcHRpb25zLmV4cGlyZXMgIT09ICd1bmRlZmluZWQnKSAmJiBvcHRpb25zLmV4cGlyZXMgIT09IG51bGwgJiYgTnVtYmVyKG9wdGlvbnMuZXhwaXJlcykgPiAwKSB7XG4gICAgICBtZXJnZWRPcHRpb25zLmV4cGlyZXMgPSBOdW1iZXIob3B0aW9ucy5leHBpcmVzKTtcbiAgICB9IGVsc2UgaWYgKG9wdGlvbnMgJiYgb3B0aW9ucy5leHBpcmVzSW4pIHtcbiAgICAgIC8vIGNvbXB1dGUgbnVtZXJpYyBlcG9jaCBmcm9tIGV4cGlyZXNJbiBzdHJpbmcgdXNpbmcgVXRpbHNTZXJ2aWNlIGlmIGF2YWlsYWJsZVxuICAgICAgdHJ5IHtcbiAgICAgICAgbWVyZ2VkT3B0aW9ucy5leHBpcmVzID0gdGhpcy51dGlscyA/IHRoaXMudXRpbHMuZXhwaXJlcyhvcHRpb25zLmV4cGlyZXNJbikgOiAwO1xuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIG1lcmdlZE9wdGlvbnMuZXhwaXJlcyA9IDA7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIG1lcmdlZE9wdGlvbnMuZXhwaXJlcyA9IGNvbmZpZ0ZvclJvb3RPcHRpb25zPy5leHBpcmVzID8/IDA7XG4gICAgfVxuXG4gICAgLy8ga2VlcCBleHBpcmVzSW4gc3RyaW5nIGlmIGV4cGxpY2l0bHkgcHJvdmlkZWQsIG90aGVyd2lzZSB1c2UgY29uZmlnIGRlZmF1bHRcbiAgICBtZXJnZWRPcHRpb25zLmV4cGlyZXNJbiA9IChvcHRpb25zICYmICh0eXBlb2Ygb3B0aW9ucy5leHBpcmVzSW4gIT09ICd1bmRlZmluZWQnKSkgPyBvcHRpb25zLmV4cGlyZXNJbiA6IChjb25maWdGb3JSb290T3B0aW9ucz8uZXhwaXJlc0luIHx8ICcnKVxuXG4gICAgbWVyZ2VkT3B0aW9ucy5lbmNyeXB0ZWQgPSAob3B0aW9ucyAmJiAodHlwZW9mIG9wdGlvbnMuZW5jcnlwdGVkICE9PSAndW5kZWZpbmVkJykpID8gb3B0aW9ucy5lbmNyeXB0ZWQgOiAoY29uZmlnRm9yUm9vdE9wdGlvbnM/LmVuY3J5cHRlZCB8fCBmYWxzZSlcblxuICAgIHJldHVybiBtZXJnZWRPcHRpb25zO1xuXG4gIH1cblxufVxuIl19
@@ -1,54 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class PathQueryService {
4
- constructor() {
5
- this.removeEmptyParams = (obj) => Object.fromEntries(Object.entries(obj)
6
- .map(([key, value]) => [key, value && typeof value === 'object' ? this.removeEmptyParams(value) : value])
7
- .filter(([_, value]) => value !== undefined && value !== ""));
8
- }
9
- buildAPIPath(server, params) {
10
- server = (Array.isArray(server)) ? server.join('/') : server;
11
- const pathObjects = (params) ? params.filter((path) => (!this.isObject(path))) : [];
12
- const queryObjects = (params) ? params.filter((path) => (this.isObject(path))) : [];
13
- const query = this.removeEmptyParams(queryObjects.reduce((r, c) => {
14
- Object.entries(c).forEach(([key, value]) => {
15
- r[key] = Array.isArray(value) ? value.join(',') : value;
16
- });
17
- return r;
18
- }, {}));
19
- let path = this.buildRestPath(server, pathObjects);
20
- return (Object.keys(query).length > 0) ? path + '?' + this.buildQueryPath(query) : path;
21
- }
22
- buildRestPath(server, params) {
23
- server = (server) ? server : '';
24
- server = (server.charAt(0) === '/') ? server.substring(1) : server;
25
- return this.cleanUrlPath(server + '/' + params.join('/'));
26
- }
27
- buildQueryPath(params) {
28
- const searchParams = new URLSearchParams();
29
- for (const key in params) {
30
- if (Array.isArray(params[key])) {
31
- params[key].forEach((value) => searchParams.append(key, value));
32
- }
33
- else {
34
- searchParams.append(key, params[key]);
35
- }
36
- }
37
- return searchParams.toString();
38
- }
39
- cleanUrlPath(str) {
40
- return str.replace(/([^:]\/)\/+/g, "$1").replace(/\/$/, '');
41
- }
42
- isObject(val) {
43
- return (val === null) ? false : ((typeof val === 'function') || (typeof val === 'object'));
44
- }
45
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PathQueryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
46
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PathQueryService, providedIn: 'root' }); }
47
- }
48
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PathQueryService, decorators: [{
49
- type: Injectable,
50
- args: [{
51
- providedIn: 'root'
52
- }]
53
- }] });
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0aC1xdWVyeS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaHR0cC1yZXF1ZXN0LW1hbmFnZXIvc3JjL2xpYi9zZXJ2aWNlcy91dGlscy9wYXRoLXF1ZXJ5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLM0MsTUFBTSxPQUFPLGdCQUFnQjtJQUg3QjtRQXlEVSxzQkFBaUIsR0FBRyxDQUFDLEdBQVEsRUFBdUIsRUFBRSxDQUM1RCxNQUFNLENBQUMsV0FBVyxDQUNoQixNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQzthQUNoQixHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQ3BCLENBQUMsR0FBRyxFQUFFLEtBQUssSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQ2xGO2FBQ0EsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxLQUFLLEVBQUUsQ0FBQyxDQUMvRCxDQUFBO0tBRUo7SUE3REMsWUFBWSxDQUFDLE1BQXVCLEVBQUUsTUFBa0I7UUFFdEQsTUFBTSxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUE7UUFFNUQsTUFBTSxXQUFXLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQVEsRUFB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QUMsR0FBUTtRQUN2QixPQUFPLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUUsQ0FBQyxPQUFPLEdBQUcsS0FBSyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLFFBQVEsQ0FBQyxDQUFFLENBQUE7SUFDOUYsQ0FBQzsrR0FwRFUsZ0JBQWdCO21IQUFoQixnQkFBZ0IsY0FGZixNQUFNOzs0RkFFUCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBQYXRoUXVlcnlTZXJ2aWNlIHtcblxuICBidWlsZEFQSVBhdGgoc2VydmVyOiBzdHJpbmd8c3RyaW5nW10sIHBhcmFtcz86IGFueVtdfGFueSkge1xuXG4gICAgc2VydmVyID0gKEFycmF5LmlzQXJyYXkoc2VydmVyKSkgPyBzZXJ2ZXIuam9pbignLycpIDogc2VydmVyXG5cbiAgICBjb25zdCBwYXRoT2JqZWN0cyA9IChwYXJhbXMpID8gcGFyYW1zLmZpbHRlcigocGF0aDphbnkpID0+ICghdGhpcy5pc09iamVjdChwYXRoKSkpIDogW11cbiAgICBjb25zdCBxdWVyeU9iamVjdHMgPSAocGFyYW1zKSA/IHBhcmFtcy5maWx0ZXIoKHBhdGg6YW55KSA9PiAodGhpcy5pc09iamVjdChwYXRoKSkpIDogW11cblxuICAgIGNvbnN0IHF1ZXJ5ID0gdGhpcy5yZW1vdmVFbXB0eVBhcmFtcyhxdWVyeU9iamVjdHMucmVkdWNlKChyOiBhbnksIGM6IGFueSkgPT4ge1xuICAgICAgT2JqZWN0LmVudHJpZXMoYykuZm9yRWFjaCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICAgIHJba2V5XSA9IEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUuam9pbignLCcpIDogdmFsdWVcbiAgICAgIH0pXG4gICAgICByZXR1cm4gclxuICAgIH0sIHt9KSlcblxuICAgIGxldCBwYXRoID0gdGhpcy5idWlsZFJlc3RQYXRoKHNlcnZlciwgcGF0aE9iamVjdHMpXG5cbiAgICByZXR1cm4oT2JqZWN0LmtleXMocXVlcnkpLmxlbmd0aCA+IDApID8gcGF0aCArICc/JyArIHRoaXMuYnVpbGRRdWVyeVBhdGgocXVlcnkpIDogcGF0aFxuXG4gIH1cblxuICBwcml2YXRlIGJ1aWxkUmVzdFBhdGgoc2VydmVyOiBzdHJpbmcsIHBhcmFtczogYW55W10pOiBzdHJpbmcge1xuICAgIHNlcnZlciA9IChzZXJ2ZXIpID8gc2VydmVyIDogJydcbiAgICBzZXJ2ZXIgPSAoc2VydmVyLmNoYXJBdCgwKSA9PT0gJy8nKSA/IHNlcnZlci5zdWJzdHJpbmcoMSkgOiBzZXJ2ZXJcbiAgICByZXR1cm4gdGhpcy5jbGVhblVybFBhdGgoc2VydmVyICsnLycrIHBhcmFtcy5qb2luKCcvJykpXG4gIH1cblxuICBwcml2YXRlIGJ1aWxkUXVlcnlQYXRoKHBhcmFtczogYW55KTogc3RyaW5nIHtcblxuICAgIGNvbnN0IHNlYXJjaFBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoKVxuXG4gICAgZm9yIChjb25zdCBrZXkgaW4gcGFyYW1zKSB7XG5cbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHBhcmFtc1trZXldKSkge1xuICAgICAgICBwYXJhbXNba2V5XS5mb3JFYWNoKCh2YWx1ZTogYW55KSA9PiBzZWFyY2hQYXJhbXMuYXBwZW5kKGtleSwgdmFsdWUpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNlYXJjaFBhcmFtcy5hcHBlbmQoa2V5LCBwYXJhbXNba2V5XSk7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICByZXR1cm4gc2VhcmNoUGFyYW1zLnRvU3RyaW5nKClcblxuICB9XG5cbiAgcHJpdmF0ZSBjbGVhblVybFBhdGgoc3RyOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gc3RyLnJlcGxhY2UoLyhbXjpdXFwvKVxcLysvZywgXCIkMVwiKS5yZXBsYWNlKC9cXC8kLywnJylcbiAgfVxuXG4gIHByaXZhdGUgaXNPYmplY3QodmFsOiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKHZhbCA9PT0gbnVsbCkgPyBmYWxzZSA6ICggKHR5cGVvZiB2YWwgPT09ICdmdW5jdGlvbicpIHx8ICh0eXBlb2YgdmFsID09PSAnb2JqZWN0JykgKVxuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVFbXB0eVBhcmFtcyA9IChvYmo6IGFueSk6IFJlY29yZDxzdHJpbmcsIGFueT4gPT5cbiAgICBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgICBPYmplY3QuZW50cmllcyhvYmopXG4gICAgICAgIC5tYXAoKFtrZXksIHZhbHVlXSkgPT5cbiAgICAgICAgICBba2V5LCB2YWx1ZSAmJiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnID8gdGhpcy5yZW1vdmVFbXB0eVBhcmFtcyh2YWx1ZSkgOiB2YWx1ZV1cbiAgICAgICAgKVxuICAgICAgICAuZmlsdGVyKChbXywgdmFsdWVdKSA9PiB2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHZhbHVlICE9PSBcIlwiKVxuICAgIClcblxufVxuIl19
@@ -1,155 +0,0 @@
1
- import { HttpClient } from '@angular/common/http';
2
- import { Injectable, inject } from '@angular/core';
3
- import * as i0 from "@angular/core";
4
- export class UtilsService {
5
- constructor() {
6
- this.http = inject(HttpClient);
7
- this.lc = (str) => str.toLowerCase().replace(/[^\w\s]/g, '').replace(/\s+/g, '_');
8
- }
9
- isString(x) {
10
- return Object.prototype.toString.call(x) === '[object String]';
11
- }
12
- isObject(obj) {
13
- return Object.prototype.toString.call(obj) === '[object Object]';
14
- }
15
- JSONToString(value) {
16
- return (this.isObject(value)) ? JSON.stringify(value) : value;
17
- }
18
- stringToJSON(value) {
19
- return (this.isJSON(value)) ? JSON.parse(value) : value;
20
- }
21
- isJSON(str) {
22
- try {
23
- JSON.parse(str);
24
- }
25
- catch (e) {
26
- return false;
27
- }
28
- return true;
29
- }
30
- getValueByProp(obj, prop) {
31
- if (typeof obj === 'undefined')
32
- return false;
33
- return obj[prop];
34
- }
35
- objectsEqual(x, y) {
36
- const ok = Object.keys, tx = typeof x, ty = typeof y;
37
- return x && y && tx === 'object' && tx === ty ? (ok(x).length === ok(y).length &&
38
- ok(x).every((key) => this.objectsEqual(x[key], y[key]))) : (x === y);
39
- }
40
- getJSON(file) {
41
- return this.http.get(`assets/data/${file}`);
42
- }
43
- get today() {
44
- return new Date().getMilliseconds() / 1000;
45
- }
46
- base32ToHex(base32) {
47
- const base32chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567";
48
- const charToValue = (char) => base32chars.indexOf(char.toUpperCase());
49
- let bits = '';
50
- let hex = '';
51
- for (let i = 0; i < base32.length; i++) {
52
- const val = charToValue(base32.charAt(i));
53
- bits += val.toString(2).padStart(5, '0');
54
- }
55
- for (let i = 0; i + 4 <= bits.length; i += 4) {
56
- const chunk = bits.substr(i, 4);
57
- hex += parseInt(chunk, 2).toString(16);
58
- }
59
- return hex.toUpperCase();
60
- }
61
- binaryToHex(binary) {
62
- let hex = '';
63
- for (let i = 0; i < binary.length; i += 8) {
64
- const byte = binary.substr(i, 8);
65
- const decimal = parseInt(byte, 2);
66
- hex += decimal.toString(16).padStart(2, '0');
67
- }
68
- return hex.padStart(32, '0').substr(0, 32);
69
- }
70
- // y = years, m = months, w = weeks, d = days, hr = hours, mn = minutes else seconds
71
- // returns epoch time corresponding to the expiry type
72
- expires(str) {
73
- if (!str)
74
- return undefined;
75
- const match = str.match(/[^0-9]+$/);
76
- const type = (match) ? str.slice(-match[0].length) : 0;
77
- const now = Math.floor(new Date().getTime() / 1000);
78
- let value = 0;
79
- switch (type) {
80
- case 'y':
81
- const years = parseInt(str.slice(0, -1));
82
- value = now + (years * 31556926);
83
- break;
84
- case 'm':
85
- const months = parseInt(str.slice(0, -1));
86
- value = now + (months * 2629743);
87
- break;
88
- case 'w':
89
- const weeks = parseInt(str.slice(0, -1));
90
- value = now + (weeks * 604800);
91
- break;
92
- case 'd':
93
- const days = parseInt(str.slice(0, -1));
94
- value = now + (days * 86400);
95
- break;
96
- case 'hr':
97
- const hrs = parseInt(str.slice(0, -2));
98
- value = now + (hrs * 3600);
99
- break;
100
- case 'mn':
101
- const min = parseInt(str.slice(0, -2));
102
- value = now + (min * 60);
103
- break;
104
- default: //seconds
105
- const sec = parseInt(str.slice(0, -1));
106
- value = now + sec;
107
- break;
108
- }
109
- return value;
110
- }
111
- hasExpired(expiryDate) {
112
- if (!expiryDate || expiryDate === 0)
113
- return false;
114
- const currentTime = Math.floor(new Date().getTime() / 1000);
115
- return expiryDate < currentTime;
116
- }
117
- hasExpiry(setting) {
118
- return (setting?.expires) ? true : false;
119
- }
120
- expiresIn(expiryDate) {
121
- if (!expiryDate)
122
- return;
123
- const now = Math.floor(new Date().getTime() / 1000);
124
- let diff = expiryDate - now;
125
- if (diff <= 0)
126
- return "Expired";
127
- const units = [
128
- { label: 'y', s: 31536000 },
129
- { label: 'm', s: 2592000 },
130
- { label: 'w', s: 604800 },
131
- { label: 'd', s: 86400 },
132
- { label: 'h', s: 3600 },
133
- { label: 'min', s: 60 },
134
- { label: 's', s: 1 },
135
- ];
136
- let result = [];
137
- for (const unit of units) {
138
- if (diff >= unit.s) {
139
- const value = Math.floor(diff / unit.s);
140
- diff %= unit.s;
141
- result.push(`${value}${unit.label}`);
142
- }
143
- }
144
- return result.join(', ');
145
- }
146
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UtilsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
147
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UtilsService, providedIn: 'root' }); }
148
- }
149
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UtilsService, decorators: [{
150
- type: Injectable,
151
- args: [{
152
- providedIn: 'root'
153
- }]
154
- }], ctorParameters: () => [] });
155
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2h0dHAtcmVxdWVzdC1tYW5hZ2VyL3NyYy9saWIvc2VydmljZXMvdXRpbHMvdXRpbHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBS25ELE1BQU0sT0FBTyxZQUFZO0lBSXZCO1FBRkEsU0FBSSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQW9MekIsT0FBRSxHQUFHLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFBO0lBbExwRSxDQUFDO0lBRWpCLFFBQVEsQ0FBQyxDQUFrQjtRQUN6QixPQUFPLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxpQkFBaUIsQ0FBQTtJQUNoRSxDQUFDO0lBRUQsUUFBUSxDQUFDLEdBQVE7UUFDZixPQUFPLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxpQkFBaUIsQ0FBQTtJQUNsRSxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQVU7UUFDckIsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFBO0lBQy9ELENBQUM7SUFFRCxZQUFZLENBQUMsS0FBYTtRQUN4QixPQUFPLENBQUMsSUFB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b21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgVXRpbHNTZXJ2aWNlIHtcblxuICBodHRwID0gaW5qZWN0KEh0dHBDbGllbnQpXG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBpc1N0cmluZyh4OiBzdHJpbmcgfCBudW1iZXIpIHtcbiAgICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHgpID09PSAnW29iamVjdCBTdHJpbmddJ1xuICB9XG5cbiAgaXNPYmplY3Qob2JqOiBhbnkpIHtcbiAgICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG9iaikgPT09ICdbb2JqZWN0IE9iamVjdF0nXG4gIH1cblxuICBKU09OVG9TdHJpbmcodmFsdWU6IGFueSkge1xuICAgIHJldHVybiAodGhpcy5pc09iamVjdCh2YWx1ZSkpID8gSlNPTi5zdHJpbmdpZnkodmFsdWUpIDogdmFsdWVcbiAgfVxuXG4gIHN0cmluZ1RvSlNPTih2YWx1ZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuICh0aGlzLmlzSlNPTih2YWx1ZSkpID8gSlNPTi5wYXJzZSh2YWx1ZSkgOiB2YWx1ZVxuICB9XG5cbiAgaXNKU09OKHN0cjogYW55KSB7XG4gICAgdHJ5IHtcbiAgICAgIEpTT04ucGFyc2Uoc3RyKVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cbiAgICByZXR1cm4gdHJ1ZVxuICB9XG5cbiAgZ2V0VmFsdWVCeVByb3Aob2JqOiBhbnksIHByb3A6IHN0cmluZykge1xuICAgIGlmKHR5cGVvZiBvYmogPT09ICd1bmRlZmluZWQnKSByZXR1cm4gZmFsc2VcbiAgICByZXR1cm4gb2JqW3Byb3BdXG4gIH1cblxuICBvYmplY3RzRXF1YWwoeDogYW55LCB5OiBhbnkpOiBib29sZWFuIHtcblxuICAgIGNvbnN0IG9rID0gT2JqZWN0LmtleXMsIHR4ID0gdHlwZW9mIHgsIHR5ID0gdHlwZW9mIHlcblxuICAgIHJldHVybiB4ICYmIHkgJiYgdHggPT09ICdvYmplY3QnICYmIHR4ID09PSB0eSA/IChcbiAgICAgIG9rKHgpLmxlbmd0aCA9PT0gb2soeSkubGVuZ3RoICYmXG4gICAgICAgIG9rKHgpLmV2ZXJ5KChrZXk6IGFueSkgPT4gdGhpcy5vYmplY3RzRXF1YWwoeFtrZXldLCB5W2tleV0pKVxuICAgICkgOiAoeCA9PT0geSlcblxuICB9XG5cbiAgZ2V0SlNPTihmaWxlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgYXNzZXRzL2RhdGEvJHtmaWxlfWApXG4gIH1cblxuICBnZXQgdG9kYXkoKSB7XG4gICAgcmV0dXJuIG5ldyBEYXRlKCkuZ2V0TWlsbGlzZWNvbmRzKCkgLyAxMDAwXG4gIH1cblxuICBiYXNlMzJUb0hleChiYXNlMzI6IHN0cmluZyk6IHN0cmluZyB7XG5cbiAgICBjb25zdCBiYXNlMzJjaGFycyA9IFwiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVoyMzQ1NjdcIlxuXG4gICAgY29uc3QgY2hhclRvVmFsdWUgPSAoY2hhcjogc3RyaW5nKSA9PiBiYXNlMzJjaGFycy5pbmRleE9mKGNoYXIudG9VcHBlckNhc2UoKSlcblxuICAgIGxldCBiaXRzID0gJydcbiAgICBsZXQgaGV4ID0gJydcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYmFzZTMyLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCB2YWwgPSBjaGFyVG9WYWx1ZShiYXNlMzIuY2hhckF0KGkpKVxuICAgICAgYml0cyArPSB2YWwudG9TdHJpbmcoMikucGFkU3RhcnQoNSwgJzAnKVxuICAgIH1cblxuICAgIGZvciAobGV0IGkgPSAwOyBpICsgNCA8PSBiaXRzLmxlbmd0aDsgaSArPSA0KSB7XG4gICAgICBjb25zdCBjaHVuayA9IGJpdHMuc3Vic3RyKGksIDQpXG4gICAgICBoZXggKz0gcGFyc2VJbnQoY2h1bmssIDIpLnRvU3RyaW5nKDE2KVxuICAgIH1cblxuICAgIHJldHVybiBoZXgudG9VcHBlckNhc2UoKVxuICB9XG5cbiAgYmluYXJ5VG9IZXgoYmluYXJ5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGxldCBoZXggPSAnJztcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGJpbmFyeS5sZW5ndGg7IGkgKz0gOCkge1xuICAgICAgY29uc3QgYnl0ZSA9IGJpbmFyeS5zdWJzdHIoaSwgOCk7XG4gICAgICBjb25zdCBkZWNpbWFsID0gcGFyc2VJbnQoYnl0ZSwgMik7XG4gICAgICBoZXggKz0gZGVjaW1hbC50b1N0cmluZygxNikucGFkU3RhcnQoMiwgJzAnKTtcbiAgICB9XG4gICAgcmV0dXJuIGhleC5wYWRTdGFydCgzMiwgJzAnKS5zdWJzdHIoMCwgMzIpO1xuICB9XG5cbiAgLy8geSA9IHllYXJzLCBtID0gbW9udGhzLCB3ID0gd2Vla3MsIGQgPSBkYXlzLCBociA9IGhvdXJzLCBtbiA9IG1pbnV0ZXMgZWxzZSBzZWNvbmRzXG4gIC8vIHJldHVybnMgZXBvY2ggdGltZSBjb3JyZXNwb25kaW5nIHRvIHRoZSBleHBpcnkgdHlwZVxuICBleHBpcmVzKHN0cj86IHN0cmluZykge1xuXG4gICAgaWYoIXN0cikgcmV0dXJuIHVuZGVmaW5lZFxuXG4gICAgY29uc3QgbWF0Y2ggPSBzdHIubWF0Y2goL1teMC05XSskLylcblxuICAgIGNvbnN0IHR5cGUgPSAobWF0Y2gpID8gc3RyLnNsaWNlKC1tYXRjaFswXS5sZW5ndGgpIDogMFxuXG4gICAgY29uc3Qgbm93ID0gTWF0aC5mbG9vcihuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDApXG5cbiAgICBsZXQgdmFsdWUgPSAwO1xuXG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlXG4gICAgICAneSc6XG4gICAgICAgIGNvbnN0IHllYXJzID0gcGFyc2VJbnQoc3RyLnNsaWNlKDAsIC0xKSlcbiAgICAgICAgdmFsdWUgPSBub3cgKyAoeWVhcnMgKiAzMTU1NjkyNilcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlXG4gICAgICAnbSc6XG4gICAgICAgIGNvbnN0IG1vbnRocyA9IHBhcnNlSW50KHN0ci5zbGljZSgwLCAtMSkpXG4gICAgICAgIHZhbHVlID0gbm93ICsgKG1vbnRocyAqIDI2Mjk3NDMpXG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZVxuICAgICAgJ3cnOlxuICAgICAgICBjb25zdCB3ZWVrcyA9IHBhcnNlSW50KHN0ci5zbGljZSgwLCAtMSkpXG4gICAgICAgIHZhbHVlID0gbm93ICsgKHdlZWtzICogNjA0ODAwKVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2VcbiAgICAgICdkJzpcbiAgICAgICAgY29uc3QgZGF5cyA9IHBhcnNlSW50KHN0ci5zbGljZSgwLCAtMSkpXG4gICAgICAgIHZhbHVlID0gbm93ICsgKGRheXMgKiA4NjQwMClcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlXG4gICAgICAnaHInOlxuICAgICAgICBjb25zdCBocnMgPSBwYXJzZUludChzdHIuc2xpY2UoMCwgLTIpKVxuICAgICAgICB2YWx1ZSA9IG5vdyArIChocnMgKiAzNjAwKVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2VcbiAgICAgICdtbic6XG4gICAgICAgIGNvbnN0IG1pbiA9IHBhcnNlSW50KHN0ci5zbGljZSgwLCAtMikpXG4gICAgICAgIHZhbHVlID0gbm93ICsgKG1pbiAqIDYwKVxuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6IC8vc2Vjb25kc1xuICAgICAgICBjb25zdCBzZWMgPSBwYXJzZUludChzdHIuc2xpY2UoMCwgLTEpKVxuICAgICAgICB2YWx1ZSA9IG5vdyArIHNlY1xuICAgICAgICBicmVhaztcbiAgICB9XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgaGFzRXhwaXJlZChleHBpcnlEYXRlOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICBpZiAoIWV4cGlyeURhdGUgfHwgZXhwaXJ5RGF0ZSA9PT0gMCkgcmV0dXJuIGZhbHNlXG4gICAgY29uc3QgY3VycmVudFRpbWUgPSBNYXRoLmZsb29yKG5ldyBEYXRlKCkuZ2V0VGltZSgpIC8gMTAwMClcbiAgICByZXR1cm4gZXhwaXJ5RGF0ZSA8IGN1cnJlbnRUaW1lXG4gIH1cblxuICBoYXNFeHBpcnkoc2V0dGluZzogYW55KSB7XG4gICAgcmV0dXJuIChzZXR0aW5nPy5leHBpcmVzKSA/IHRydWUgOiBmYWxzZVxuICB9XG5cbiAgZXhwaXJlc0luKGV4cGlyeURhdGU6IG51bWJlcikge1xuXG4gICAgaWYgKCFleHBpcnlEYXRlKSByZXR1cm47XG5cbiAgICBjb25zdCBub3cgPSBNYXRoLmZsb29yKG5ldyBEYXRlKCkuZ2V0VGltZSgpIC8gMTAwMCk7XG4gICAgbGV0IGRpZmYgPSBleHBpcnlEYXRlIC0gbm93O1xuXG4gICAgaWYgKGRpZmYgPD0gMCkgcmV0dXJuIFwiRXhwaXJlZFwiO1xuXG4gICAgY29uc3QgdW5pdHMgPSBbXG4gICAgICAgIHsgbGFiZWw6ICd5JywgczogMzE1MzYwMDAgfSxcbiAgICAgICAgeyBsYWJlbDogJ20nLCBzOiAyNTkyMDAwIH0sXG4gICAgICAgIHsgbGFiZWw6ICd3JywgczogNjA0ODAwIH0sXG4gICAgICAgIHsgbGFiZWw6ICdkJywgczogODY0MDAgfSxcbiAgICAgICAgeyBsYWJlbDogJ2gnLCBzOiAzNjAwIH0sXG4gICAgICAgIHsgbGFiZWw6ICdtaW4nLCBzOiA2MCB9LFxuICAgICAgICB7IGxhYmVsOiAncycsIHM6IDEgfSxcbiAgICBdO1xuXG4gICAgbGV0IHJlc3VsdCA9IFtdO1xuXG4gICAgZm9yIChjb25zdCB1bml0IG9mIHVuaXRzKSB7XG4gICAgICAgIGlmIChkaWZmID49IHVuaXQucykge1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBNYXRoLmZsb29yKGRpZmYgLyB1bml0LnMpO1xuICAgICAgICAgICAgZGlmZiAlPSB1bml0LnM7XG4gICAgICAgICAgICByZXN1bHQucHVzaChgJHt2YWx1ZX0ke3VuaXQubGFiZWx9YCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0LmpvaW4oJywgJyk7XG4gIH1cblxuICBsYyA9IChzdHI6IHN0cmluZykgPT4gc3RyLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvW15cXHdcXHNdL2csICcnKS5yZXBsYWNlKC9cXHMrL2csICdfJylcblxufVxuIl19
@@ -1,3 +0,0 @@
1
- export * from "./models/index";
2
- export * from "./services/websocket.service";
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9odHRwLXJlcXVlc3QtbWFuYWdlci9zcmMvbGliL3NlcnZpY2VzL3dzLW1hbmFnZXItc2VydmljZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsOEJBQThCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcbmV4cG9ydCAqIGZyb20gXCIuL21vZGVscy9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc2VydmljZXMvd2Vic29ja2V0LnNlcnZpY2VcIjtcblxuIl19
@@ -1,10 +0,0 @@
1
- export class ChannelInfo {
2
- constructor(name = '', canSubscribe = false) {
3
- this.name = name;
4
- this.canSubscribe = canSubscribe;
5
- }
6
- static adapt(item) {
7
- return new ChannelInfo(item?.name, item?.canSubscribe);
8
- }
9
- }
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbm5lbC1pbmZvLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaHR0cC1yZXF1ZXN0LW1hbmFnZXIvc3JjL2xpYi9zZXJ2aWNlcy93cy1tYW5hZ2VyLXNlcnZpY2UvbW9kZWxzL2NoYW5uZWwtaW5mby5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxNQUFNLE9BQU8sV0FBVztJQUV0QixZQUNTLE9BQU8sRUFBRSxFQUNULGVBQWUsS0FBSztRQURwQixTQUFJLEdBQUosSUFBSSxDQUFLO1FBQ1QsaUJBQVksR0FBWixZQUFZLENBQVE7SUFDMUIsQ0FBQztJQUVKLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBVTtRQUVyQixPQUFPLElBQUksV0FBVyxDQUNwQixJQUFJLEVBQUUsSUFBSSxFQUNWLElBQUksRUFBRSxZQUFZLENBQ25CLENBQUE7SUFFSCxDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIENoYW5uZWxJbmZvSW50ZXJmYWNlIHtcbiAgbmFtZTogc3RyaW5nXG4gIGNhblN1YnNjcmliZTogYm9vbGVhblxufVxuXG5leHBvcnQgY2xhc3MgQ2hhbm5lbEluZm8gaW1wbGVtZW50cyBDaGFubmVsSW5mb0ludGVyZmFjZSB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIG5hbWUgPSAnJyxcbiAgICBwdWJsaWMgY2FuU3Vic2NyaWJlID0gZmFsc2UsXG4gICkge31cblxuICBzdGF0aWMgYWRhcHQoaXRlbT86IGFueSk6IENoYW5uZWxJbmZvIHtcblxuICAgIHJldHVybiBuZXcgQ2hhbm5lbEluZm8oXG4gICAgICBpdGVtPy5uYW1lLFxuICAgICAgaXRlbT8uY2FuU3Vic2NyaWJlLFxuICAgIClcblxuICB9XG5cbn1cblxuXG4iXX0=
@@ -1,14 +0,0 @@
1
- import { CommunicationType } from "./communication-type.enum";
2
- export class ChannelMessage {
3
- constructor(fromUser = null, toUser = null, content = null, issued = new Date(), type = CommunicationType.MESSAGE) {
4
- this.fromUser = fromUser;
5
- this.toUser = toUser;
6
- this.content = content;
7
- this.issued = issued;
8
- this.type = type;
9
- }
10
- static adapt(item) {
11
- return new ChannelMessage(item?.fromUser, item?.toUser, item?.content, item?.issued, item?.type);
12
- }
13
- }
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbm5lbC1ub3RpZmljYXRpb24ubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9odHRwLXJlcXVlc3QtbWFuYWdlci9zcmMvbGliL3NlcnZpY2VzL3dzLW1hbmFnZXItc2VydmljZS9tb2RlbHMvY2hhbm5lbC1ub3RpZmljYXRpb24ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFVN0QsTUFBTSxPQUFPLGNBQWM7SUFFekIsWUFDUyxXQUF3QixJQUFJLEVBQzVCLFNBQXNCLElBQUksRUFDMUIsVUFBdUIsSUFBSSxFQUMzQixTQUFTLElBQUksSUFBSSxFQUFFLEVBQ25CLE9BQU8saUJBQWlCLENBQUMsT0FBTztRQUpoQyxhQUFRLEdBQVIsUUFBUSxDQUFvQjtRQUM1QixXQUFNLEdBQU4sTUFBTSxDQUFvQjtRQUMxQixZQUFPLEdBQVAsT0FBTyxDQUFvQjtRQUMzQixXQUFNLEdBQU4sTUFBTSxDQUFhO1FBQ25CLFNBQUksR0FBSixJQUFJLENBQTRCO0lBQ3RDLENBQUM7SUFFSixNQUFNLENBQUMsS0FBSyxDQUFDLElBQVU7UUFFckIsT0FBTyxJQUFJLGNBQWMsQ0FDdkIsSUFBSSxFQUFFLFFBQVEsRUFDZCxJQUFJLEVBQUUsTUFBTSxFQUNaLElBQUksRUFBRSxPQUFPLEVBQ2IsSUFBSSxFQUFFLE1BQU0sRUFDWixJQUFJLEVBQUUsSUFBSSxDQUNYLENBQUE7SUFFSCxDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tdW5pY2F0aW9uVHlwZSB9IGZyb20gXCIuL2NvbW11bmljYXRpb24tdHlwZS5lbnVtXCJcblxuZXhwb3J0IGludGVyZmFjZSBDaGFubmVsTWVzc2FnZUludGVyZmFjZSB7XG4gIGZyb21Vc2VyOiBzdHJpbmd8bnVsbFxuICB0b1VzZXI6IHN0cmluZ3xudWxsXG4gIGNvbnRlbnQ6IHN0cmluZ3xudWxsXG4gIGlzc3VlZDogRGF0ZVxuICB0eXBlOiBDb21tdW5pY2F0aW9uVHlwZVxufVxuXG5leHBvcnQgY2xhc3MgQ2hhbm5lbE1lc3NhZ2UgaW1wbGVtZW50cyBDaGFubmVsTWVzc2FnZUludGVyZmFjZSB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGZyb21Vc2VyOiBzdHJpbmd8bnVsbCA9IG51bGwsXG4gICAgcHVibGljIHRvVXNlcjogc3RyaW5nfG51bGwgPSBudWxsLFxuICAgIHB1YmxpYyBjb250ZW50OiBzdHJpbmd8bnVsbCA9IG51bGwsXG4gICAgcHVibGljIGlzc3VlZCA9IG5ldyBEYXRlKCksXG4gICAgcHVibGljIHR5cGUgPSBDb21tdW5pY2F0aW9uVHlwZS5NRVNTQUdFLFxuICApIHt9XG5cbiAgc3RhdGljIGFkYXB0KGl0ZW0/OiBhbnkpOiBDaGFubmVsTWVzc2FnZSB7XG5cbiAgICByZXR1cm4gbmV3IENoYW5uZWxNZXNzYWdlKFxuICAgICAgaXRlbT8uZnJvbVVzZXIsXG4gICAgICBpdGVtPy50b1VzZXIsXG4gICAgICBpdGVtPy5jb250ZW50LFxuICAgICAgaXRlbT8uaXNzdWVkLFxuICAgICAgaXRlbT8udHlwZSxcbiAgICApXG5cbiAgfVxuXG59XG5cblxuIl19
@@ -1,7 +0,0 @@
1
- export var CommunicationType;
2
- (function (CommunicationType) {
3
- CommunicationType[CommunicationType["MESSAGE"] = 0] = "MESSAGE";
4
- CommunicationType[CommunicationType["ALERT"] = 1] = "ALERT";
5
- CommunicationType[CommunicationType["OTHER"] = 2] = "OTHER";
6
- })(CommunicationType || (CommunicationType = {}));
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbXVuaWNhdGlvbi10eXBlLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9odHRwLXJlcXVlc3QtbWFuYWdlci9zcmMvbGliL3NlcnZpY2VzL3dzLW1hbmFnZXItc2VydmljZS9tb2RlbHMvY29tbXVuaWNhdGlvbi10eXBlLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksaUJBSVg7QUFKRCxXQUFZLGlCQUFpQjtJQUMzQiwrREFBTyxDQUFBO0lBQ1AsMkRBQUssQ0FBQTtJQUNMLDJEQUFLLENBQUE7QUFDUCxDQUFDLEVBSlcsaUJBQWlCLEtBQWpCLGlCQUFpQixRQUk1QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIENvbW11bmljYXRpb25UeXBlIHtcbiAgTUVTU0FHRSxcbiAgQUxFUlQsXG4gIE9USEVSXG59XG4iXX0=
@@ -1,5 +0,0 @@
1
- export * from "./channel-info.model";
2
- export * from "./channel-notification.model";
3
- export * from "./user-message.model";
4
- export * from "./communication-type.enum";
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9odHRwLXJlcXVlc3QtbWFuYWdlci9zcmMvbGliL3NlcnZpY2VzL3dzLW1hbmFnZXItc2VydmljZS9tb2RlbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsc0JBQXNCLENBQUM7QUFFckMsY0FBYywyQkFBMkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2NoYW5uZWwtaW5mby5tb2RlbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY2hhbm5lbC1ub3RpZmljYXRpb24ubW9kZWxcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3VzZXItbWVzc2FnZS5tb2RlbFwiO1xuXG5leHBvcnQgKiBmcm9tIFwiLi9jb21tdW5pY2F0aW9uLXR5cGUuZW51bVwiO1xuXG4iXX0=
@@ -1,12 +0,0 @@
1
- export class UserMessage {
2
- constructor(fromUser, toUser, content, issued) {
3
- this.fromUser = fromUser;
4
- this.toUser = toUser;
5
- this.content = content;
6
- this.issued = issued;
7
- }
8
- static adapt(item) {
9
- return new UserMessage(item?.fromUser, item?.name?.toUser, item?.content, item?.name?.issued);
10
- }
11
- }
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1tZXNzYWdlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaHR0cC1yZXF1ZXN0LW1hbmFnZXIvc3JjL2xpYi9zZXJ2aWNlcy93cy1tYW5hZ2VyLXNlcnZpY2UvbW9kZWxzL3VzZXItbWVzc2FnZS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxNQUFNLE9BQU8sV0FBVztJQUV0QixZQUNTLFFBQWEsRUFDYixNQUFZLEVBQ1osT0FBZ0IsRUFDaEIsTUFBYTtRQUhiLGFBQVEsR0FBUixRQUFRLENBQUs7UUFDYixXQUFNLEdBQU4sTUFBTSxDQUFNO1FBQ1osWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNoQixXQUFNLEdBQU4sTUFBTSxDQUFPO0lBQ25CLENBQUM7SUFFSixNQUFNLENBQUMsS0FBSyxDQUFDLElBQVU7UUFFckIsT0FBTyxJQUFJLFdBQVcsQ0FDcEIsSUFBSSxFQUFFLFFBQVEsRUFDZCxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFDbEIsSUFBSSxFQUFFLE9BQU8sRUFDYixJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FDbkIsQ0FBQTtJQUVILENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgVXNlck1lc3NhZ2VJbnRlcmZhY2Uge1xuICAgIGZyb21Vc2VyOiBhbnksXG4gICAgdG9Vc2VyPzogYW55LFxuICAgIGNvbnRlbnQ/OiBzdHJpbmcsXG4gICAgaXNzdWVkPzogRGF0ZSxcbn1cblxuZXhwb3J0IGNsYXNzIFVzZXJNZXNzYWdlIGltcGxlbWVudHMgVXNlck1lc3NhZ2VJbnRlcmZhY2Uge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBmcm9tVXNlcjogYW55LFxuICAgIHB1YmxpYyB0b1VzZXI/OiBhbnksXG4gICAgcHVibGljIGNvbnRlbnQ/OiBzdHJpbmcsXG4gICAgcHVibGljIGlzc3VlZD86IERhdGUsXG4gICkge31cblxuICBzdGF0aWMgYWRhcHQoaXRlbT86IGFueSk6IFVzZXJNZXNzYWdlIHtcblxuICAgIHJldHVybiBuZXcgVXNlck1lc3NhZ2UoXG4gICAgICBpdGVtPy5mcm9tVXNlcixcbiAgICAgIGl0ZW0/Lm5hbWU/LnRvVXNlcixcbiAgICAgIGl0ZW0/LmNvbnRlbnQsXG4gICAgICBpdGVtPy5uYW1lPy5pc3N1ZWQsXG4gICAgKVxuXG4gIH1cblxufVxuXG5cbiJdfQ==