@xsolla/payment-client-core 0.0.4 → 0.0.6

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 (223) hide show
  1. package/esm2020/lib/core/device-finger-print/device-finger-print-components.interface.mjs +2 -0
  2. package/esm2020/lib/core/device-finger-print/device-finger-print.service.mjs +167 -0
  3. package/esm2020/lib/core/device-finger-print/fingerprint-js.interface.mjs +2 -0
  4. package/esm2020/lib/core/device-finger-print/hash.type.mjs +2 -0
  5. package/esm2020/lib/core/exceptions-handling/elk/additional-info.interface.mjs +2 -0
  6. package/esm2020/lib/core/exceptions-handling/elk/elk-logger.service.mjs +120 -0
  7. package/esm2020/lib/core/exceptions-handling/elk/error-without-meta-fields.interface.mjs +2 -0
  8. package/esm2020/lib/core/exceptions-handling/elk/log-message.interface.mjs +2 -0
  9. package/esm2020/lib/core/exceptions-handling/errors/default-terminal-error.class.mjs +8 -0
  10. package/esm2020/lib/core/exceptions-handling/errors/elk-error-types.enum.mjs +13 -0
  11. package/esm2020/lib/core/exceptions-handling/errors/tagged-error.class.mjs +16 -0
  12. package/esm2020/lib/core/exceptions-handling/errors/terminal-error.class.mjs +8 -0
  13. package/esm2020/lib/core/exceptions-handling/errors/token-error.class.mjs +7 -0
  14. package/esm2020/lib/core/exceptions-handling/errors/ws-error.class.mjs +10 -0
  15. package/esm2020/lib/core/payment/actions/action-factory-value.interface.mjs +2 -0
  16. package/esm2020/lib/core/payment/actions/action-type-command.map.mjs +6 -0
  17. package/esm2020/lib/core/payment/actions/action.interface.mjs +2 -0
  18. package/esm2020/lib/core/payment/actions/check-status/check-status.action.class.mjs +16 -0
  19. package/esm2020/lib/core/payment/actions/check-status/check-status.action.token.mjs +11 -0
  20. package/esm2020/lib/core/payment/actions/check-status/check-status.action.type.mjs +2 -0
  21. package/esm2020/lib/core/payment/actions/next-action.interface.mjs +2 -0
  22. package/esm2020/lib/core/payment/actions/next-action.service.mjs +55 -0
  23. package/esm2020/lib/core/payment/actions/next-actions.mjs +11 -0
  24. package/esm2020/lib/core/payment/actions/show-fields/show-fields.action.class.mjs +16 -0
  25. package/esm2020/lib/core/payment/actions/show-fields/show-fields.action.token.mjs +11 -0
  26. package/esm2020/lib/core/payment/actions/show-fields/show-fields.action.type.mjs +2 -0
  27. package/esm2020/lib/core/payment/actions/status-updated/status-updated.action.class.mjs +13 -0
  28. package/esm2020/lib/core/payment/actions/status-updated/status-updated.action.token.mjs +11 -0
  29. package/esm2020/lib/core/payment/actions/status-updated/status-updated.action.type.mjs +2 -0
  30. package/esm2020/lib/core/payment/field-names.enum.mjs +64 -0
  31. package/esm2020/lib/core/payment/field.interface.mjs +1 -1
  32. package/esm2020/lib/core/payment/form/common-control-config.interface.mjs +2 -0
  33. package/esm2020/lib/core/payment/form/controls/control-config.mjs +6 -0
  34. package/esm2020/lib/core/payment/form/controls/control-config.service.mjs +39 -0
  35. package/esm2020/lib/core/payment/form/controls/control-type.type.mjs +2 -0
  36. package/esm2020/lib/core/payment/form/controls/text-control.config.mjs +8 -0
  37. package/esm2020/lib/core/payment/form/converters/converter.abstract.mjs +75 -0
  38. package/esm2020/lib/core/payment/form/converters/converters-map.interface.mjs +2 -0
  39. package/esm2020/lib/core/payment/form/converters/converters-map.mjs +9 -0
  40. package/esm2020/lib/core/payment/form/converters/email.converter.mjs +29 -0
  41. package/esm2020/lib/core/payment/form/converters/zip.converter.mjs +64 -0
  42. package/esm2020/lib/core/payment/form/form-state.interface.mjs +2 -0
  43. package/esm2020/lib/core/payment/form/form.module.mjs +33 -0
  44. package/esm2020/lib/core/payment/form/form.service.mjs +28 -0
  45. package/esm2020/lib/core/payment/form/validators/convert.function.mjs +22 -0
  46. package/esm2020/lib/core/payment/form/validators/email-validator.mjs +7 -0
  47. package/esm2020/lib/core/payment/form/validators/required-validator.mjs +6 -0
  48. package/esm2020/lib/core/payment/form/validators/restricted-value.validator.mjs +6 -0
  49. package/esm2020/lib/core/payment/form/validators/validation-error.interface.mjs +2 -0
  50. package/esm2020/lib/core/payment/form/validators/validation-errors.interface.mjs +2 -0
  51. package/esm2020/lib/core/payment/form/validators/validator-fn.type.mjs +2 -0
  52. package/esm2020/lib/core/payment/initialize/initialize-request-params.interface.mjs +2 -0
  53. package/esm2020/lib/core/payment/initialize/initialize-response.class.mjs +43 -0
  54. package/esm2020/lib/core/payment/initialize/initialize-response.token.mjs +8 -0
  55. package/esm2020/lib/core/payment/initialize/initialize.service.mjs +46 -0
  56. package/esm2020/lib/core/payment/payment-form.interface.mjs +2 -0
  57. package/esm2020/lib/core/payment/payment.interface.mjs +1 -1
  58. package/esm2020/lib/core/payment/payment.service.mjs +37 -14
  59. package/esm2020/lib/core/payment/status/check-status/check-status.service.mjs +56 -0
  60. package/esm2020/lib/core/payment/status/check-status/request/check-status-request.class.mjs +16 -0
  61. package/esm2020/lib/core/payment/status/check-status/request/check-status-request.token.mjs +8 -0
  62. package/esm2020/lib/core/payment/status/check-status/response/check-status-response.class.mjs +9 -0
  63. package/esm2020/lib/core/payment/status/check-status/response/check-status-response.token.mjs +8 -0
  64. package/esm2020/lib/core/payment/status/listen-status/listen-status.service.mjs +112 -0
  65. package/esm2020/lib/core/payment/status/status-groups.mjs +7 -0
  66. package/esm2020/lib/core/payment/status/status-params.interface.mjs +2 -0
  67. package/esm2020/lib/core/payment/status/status-request/request/status-request.class.mjs +22 -0
  68. package/esm2020/lib/core/payment/status/status-request/request/status-request.token.mjs +8 -0
  69. package/esm2020/lib/core/payment/status/status-request/response/status-response.class.mjs +96 -0
  70. package/esm2020/lib/core/payment/status/status-request/response/status-response.token.mjs +8 -0
  71. package/esm2020/lib/core/payment/status/status-request/status-request-params.interface.mjs +2 -0
  72. package/esm2020/lib/core/payment/status/status-request/status-request.service.mjs +68 -0
  73. package/esm2020/lib/core/payment/status/status-settings.interface.mjs +2 -0
  74. package/esm2020/lib/core/payment/status/status-updated.interface.mjs +2 -0
  75. package/esm2020/lib/core/payment/status/status.interface.mjs +1 -1
  76. package/esm2020/lib/core/payment/status/status.service.mjs +38 -0
  77. package/esm2020/lib/core/payment/status/websocket-status/websocket-status.enum.mjs +6 -0
  78. package/esm2020/lib/core/payment/status/websocket-status/websocket-status.service.mjs +76 -0
  79. package/esm2020/lib/core/payment/submit/request/submit-request.class.mjs +16 -0
  80. package/esm2020/lib/core/payment/submit/request/submit-request.token.mjs +8 -0
  81. package/esm2020/lib/core/payment/submit/response/submit-response.class.mjs +31 -0
  82. package/esm2020/lib/core/payment/submit/response/submit-response.token.mjs +8 -0
  83. package/esm2020/lib/core/payment/submit/submit.service.mjs +59 -0
  84. package/esm2020/lib/core/payment/sync/field-sync-state.interface.mjs +2 -0
  85. package/esm2020/lib/core/payment/sync/sync-request.class.mjs +31 -0
  86. package/esm2020/lib/core/payment/sync/sync-request.token.mjs +8 -0
  87. package/esm2020/lib/core/payment/sync/sync-response.class.mjs +14 -0
  88. package/esm2020/lib/core/payment/sync/sync-response.token.mjs +8 -0
  89. package/esm2020/lib/core/payment/sync/sync.service.mjs +91 -0
  90. package/esm2020/lib/core/payment/xps-api-part-request.abstract.mjs +8 -0
  91. package/esm2020/lib/core/payment/xps-api-part.abstract.mjs +19 -0
  92. package/esm2020/lib/core/payment/xps-error.interface.mjs +1 -1
  93. package/esm2020/lib/core/payment/xps-request.abstract.mjs +8 -0
  94. package/esm2020/lib/core/payment/xps-response.interface.mjs +1 -1
  95. package/esm2020/lib/core/properties.type.mjs +2 -0
  96. package/esm2020/lib/core/web-socket/centrifugo-web-socket.service.mjs +200 -0
  97. package/esm2020/lib/core/web-socket/nchan-web-socket.service.mjs +116 -0
  98. package/esm2020/lib/core/web-socket/web-socket-client-type.enum.mjs +6 -0
  99. package/esm2020/lib/core/web-socket/web-socket.factory.mjs +28 -0
  100. package/esm2020/lib/core/web-socket/web-socket.interface.mjs +2 -0
  101. package/esm2020/lib/core/xps-boolean.enum.mjs +2 -0
  102. package/esm2020/lib/core-library.module.mjs +43 -4
  103. package/esm2020/lib/core-library.service.mjs +18 -11
  104. package/fesm2015/xsolla-payment-client-core.mjs +2201 -87
  105. package/fesm2015/xsolla-payment-client-core.mjs.map +1 -1
  106. package/fesm2020/xsolla-payment-client-core.mjs +2117 -83
  107. package/fesm2020/xsolla-payment-client-core.mjs.map +1 -1
  108. package/lib/core/device-finger-print/device-finger-print-components.interface.d.ts +4 -0
  109. package/lib/core/device-finger-print/device-finger-print.service.d.ts +44 -0
  110. package/lib/core/device-finger-print/fingerprint-js.interface.d.ts +6 -0
  111. package/lib/core/device-finger-print/hash.type.d.ts +3 -0
  112. package/lib/core/exceptions-handling/elk/additional-info.interface.d.ts +19 -0
  113. package/lib/core/exceptions-handling/elk/elk-logger.service.d.ts +27 -0
  114. package/lib/core/exceptions-handling/elk/error-without-meta-fields.interface.d.ts +8 -0
  115. package/lib/core/exceptions-handling/elk/log-message.interface.d.ts +8 -0
  116. package/lib/core/exceptions-handling/errors/default-terminal-error.class.d.ts +4 -0
  117. package/lib/core/exceptions-handling/errors/elk-error-types.enum.d.ts +11 -0
  118. package/lib/core/exceptions-handling/errors/tagged-error.class.d.ts +10 -0
  119. package/lib/core/exceptions-handling/errors/terminal-error.class.d.ts +5 -0
  120. package/lib/core/exceptions-handling/errors/token-error.class.d.ts +4 -0
  121. package/lib/core/exceptions-handling/errors/ws-error.class.d.ts +5 -0
  122. package/lib/core/payment/actions/action-factory-value.interface.d.ts +5 -0
  123. package/lib/core/payment/actions/action-type-command.map.d.ts +4 -0
  124. package/lib/core/payment/actions/check-status/check-status.action.class.d.ts +8 -0
  125. package/lib/core/payment/actions/check-status/check-status.action.token.d.ts +4 -0
  126. package/lib/core/payment/actions/check-status/check-status.action.type.d.ts +12 -0
  127. package/lib/core/payment/actions/next-action.interface.d.ts +4 -0
  128. package/lib/core/payment/actions/next-action.service.d.ts +20 -0
  129. package/lib/core/payment/actions/next-actions.d.ts +5 -0
  130. package/lib/core/payment/actions/show-fields/show-fields.action.class.d.ts +8 -0
  131. package/lib/core/payment/actions/show-fields/show-fields.action.token.d.ts +4 -0
  132. package/lib/core/payment/actions/show-fields/show-fields.action.type.d.ts +12 -0
  133. package/lib/core/payment/actions/status-updated/status-updated.action.class.d.ts +8 -0
  134. package/lib/core/payment/actions/status-updated/status-updated.action.token.d.ts +4 -0
  135. package/lib/core/payment/actions/status-updated/status-updated.action.type.d.ts +11 -0
  136. package/lib/core/payment/field-names.enum.d.ts +62 -0
  137. package/lib/core/payment/field.interface.d.ts +5 -5
  138. package/lib/core/payment/form/common-control-config.interface.d.ts +9 -0
  139. package/lib/core/payment/form/controls/control-config.d.ts +9 -0
  140. package/lib/core/payment/form/controls/control-config.service.d.ts +15 -0
  141. package/lib/core/payment/form/controls/control-type.type.d.ts +1 -0
  142. package/lib/core/payment/form/controls/text-control.config.d.ts +11 -0
  143. package/lib/core/payment/form/converters/converter.abstract.d.ts +23 -0
  144. package/lib/core/payment/form/converters/converters-map.d.ts +4 -0
  145. package/lib/core/payment/form/converters/converters-map.interface.d.ts +5 -0
  146. package/lib/core/payment/form/converters/email.converter.d.ts +14 -0
  147. package/lib/core/payment/form/converters/zip.converter.d.ts +21 -0
  148. package/lib/core/payment/form/form-state.interface.d.ts +3 -0
  149. package/lib/core/payment/form/form.module.d.ts +7 -0
  150. package/lib/core/payment/form/form.service.d.ts +12 -0
  151. package/lib/core/payment/form/validators/convert.function.d.ts +3 -0
  152. package/lib/core/payment/form/validators/email-validator.d.ts +2 -0
  153. package/lib/core/payment/form/validators/required-validator.d.ts +2 -0
  154. package/lib/core/payment/form/validators/restricted-value.validator.d.ts +2 -0
  155. package/lib/core/payment/form/validators/validation-error.interface.d.ts +4 -0
  156. package/lib/core/payment/form/validators/validation-errors.interface.d.ts +4 -0
  157. package/lib/core/payment/form/validators/validator-fn.type.d.ts +3 -0
  158. package/lib/core/payment/initialize/initialize-response.class.d.ts +7 -0
  159. package/lib/core/payment/initialize/initialize-response.token.d.ts +6 -0
  160. package/lib/core/payment/initialize/initialize.service.d.ts +18 -0
  161. package/lib/core/payment/payment-form.interface.d.ts +39 -0
  162. package/lib/core/payment/payment.interface.d.ts +12 -8
  163. package/lib/core/payment/payment.service.d.ts +23 -8
  164. package/lib/core/payment/status/check-status/check-status.service.d.ts +20 -0
  165. package/lib/core/payment/status/check-status/request/check-status-request.class.d.ts +8 -0
  166. package/lib/core/payment/status/check-status/request/check-status-request.token.d.ts +6 -0
  167. package/lib/core/payment/status/check-status/response/check-status-response.class.d.ts +8 -0
  168. package/lib/core/payment/status/check-status/response/check-status-response.token.d.ts +7 -0
  169. package/lib/core/payment/status/listen-status/listen-status.service.d.ts +28 -0
  170. package/lib/core/payment/status/status-groups.d.ts +5 -0
  171. package/lib/core/payment/status/status-params.interface.d.ts +9 -0
  172. package/lib/core/payment/status/status-request/request/status-request.class.d.ts +17 -0
  173. package/lib/core/payment/status/status-request/request/status-request.token.d.ts +6 -0
  174. package/lib/core/payment/status/status-request/response/status-response.class.d.ts +14 -0
  175. package/lib/core/payment/status/status-request/response/status-response.token.d.ts +7 -0
  176. package/lib/core/payment/status/status-request/status-request-params.interface.d.ts +10 -0
  177. package/lib/core/payment/status/status-request/status-request.service.d.ts +21 -0
  178. package/lib/core/payment/status/status-settings.interface.d.ts +13 -0
  179. package/lib/core/payment/status/status-updated.interface.d.ts +6 -0
  180. package/lib/core/payment/status/status.interface.d.ts +0 -1
  181. package/lib/core/payment/status/status.service.d.ts +16 -0
  182. package/lib/core/payment/status/websocket-status/websocket-status.enum.d.ts +4 -0
  183. package/lib/core/payment/status/websocket-status/websocket-status.service.d.ts +24 -0
  184. package/lib/core/payment/submit/request/submit-request.class.d.ts +13 -0
  185. package/lib/core/payment/submit/request/submit-request.token.d.ts +6 -0
  186. package/lib/core/payment/submit/response/submit-response.class.d.ts +26 -0
  187. package/lib/core/payment/submit/response/submit-response.token.d.ts +6 -0
  188. package/lib/core/payment/submit/submit.service.d.ts +21 -0
  189. package/lib/core/payment/sync/field-sync-state.interface.d.ts +5 -0
  190. package/lib/core/payment/sync/sync-request.class.d.ts +15 -0
  191. package/lib/core/payment/sync/sync-request.token.d.ts +6 -0
  192. package/lib/core/payment/sync/sync-response.class.d.ts +11 -0
  193. package/lib/core/payment/sync/sync-response.token.d.ts +6 -0
  194. package/lib/core/payment/sync/sync.service.d.ts +27 -0
  195. package/lib/core/payment/xps-api-part-request.abstract.d.ts +6 -0
  196. package/lib/core/payment/xps-api-part.abstract.d.ts +8 -0
  197. package/lib/core/payment/xps-error.interface.d.ts +1 -0
  198. package/lib/core/payment/xps-request.abstract.d.ts +6 -0
  199. package/lib/core/payment/xps-response.interface.d.ts +3 -6
  200. package/lib/core/properties.type.d.ts +3 -0
  201. package/lib/core/web-socket/centrifugo-web-socket.service.d.ts +41 -0
  202. package/lib/core/web-socket/nchan-web-socket.service.d.ts +30 -0
  203. package/lib/core/web-socket/web-socket-client-type.enum.d.ts +4 -0
  204. package/lib/core/web-socket/web-socket.factory.d.ts +13 -0
  205. package/lib/core/web-socket/web-socket.interface.d.ts +9 -0
  206. package/lib/core/xps-boolean.enum.d.ts +4 -0
  207. package/lib/core-library.module.d.ts +2 -1
  208. package/lib/core-library.service.d.ts +6 -2
  209. package/package.json +19 -4
  210. package/xsolla-payment-client-core-0.0.6.tgz +0 -0
  211. package/esm2020/lib/core/boolean-string.enum.mjs +0 -6
  212. package/esm2020/lib/core/payment/actions/action.type.mjs +0 -2
  213. package/esm2020/lib/core/payment/actions/check-status.action.type.mjs +0 -2
  214. package/esm2020/lib/core/payment/actions/next-action.type.mjs +0 -2
  215. package/esm2020/lib/core/payment/initialize-request-params.interface.mjs +0 -2
  216. package/esm2020/lib/core/payment/initialize.service.mjs +0 -39
  217. package/lib/core/boolean-string.enum.d.ts +0 -4
  218. package/lib/core/payment/actions/check-status.action.type.d.ts +0 -12
  219. package/lib/core/payment/actions/next-action.type.d.ts +0 -2
  220. package/lib/core/payment/initialize.service.d.ts +0 -16
  221. package/xsolla-payment-client-core-0.0.4.tgz +0 -0
  222. /package/lib/core/payment/actions/{action.type.d.ts → action.interface.d.ts} +0 -0
  223. /package/lib/core/payment/{initialize-request-params.interface.d.ts → initialize/initialize-request-params.interface.d.ts} +0 -0
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aWNlLWZpbmdlci1wcmludC1jb21wb25lbnRzLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL2RldmljZS1maW5nZXItcHJpbnQvZGV2aWNlLWZpbmdlci1wcmludC1jb21wb25lbnRzLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBEZXZpY2VGaW5nZXJQcmludENvbXBvbmVudHMge1xuICBoYXNoPzogc3RyaW5nO1xuICBba2V5OiBzdHJpbmddOiB1bmtub3duO1xufVxuIl19
@@ -0,0 +1,167 @@
1
+ import { Inject, Injectable } from '@angular/core';
2
+ import { windowToken } from '../window.token';
3
+ import { TerminalError } from '../exceptions-handling/errors/terminal-error.class';
4
+ import { DefaultTerminalError } from '../exceptions-handling/errors/default-terminal-error.class';
5
+ import { lastValueFrom } from 'rxjs';
6
+ import { HttpHeaders } from '@angular/common/http';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "../http/secure-api/secure-api.service";
9
+ import * as i2 from "../settings/settings.service";
10
+ export class DeviceFingerPrintService {
11
+ constructor(secureApi, settingsService, window) {
12
+ this.secureApi = secureApi;
13
+ this.settingsService = settingsService;
14
+ this.window = window;
15
+ this.apiRoute = 'dfp';
16
+ this.fingerprintApiUrl = 'https://afs.xsolla.com/dfp/api/v1/';
17
+ }
18
+ async init() {
19
+ if (!this.settingsService.isInitialized) {
20
+ return;
21
+ }
22
+ this.fingerprintJs = await this.loadFingerprintJs();
23
+ this.hash = await this.buildHash();
24
+ this.antifraudFingerprintLibrary =
25
+ await this.loadAntifraudFingerprintLibrary();
26
+ }
27
+ // eslint-disable-next-line @typescript-eslint/require-await
28
+ async getHash() {
29
+ return this.hash;
30
+ }
31
+ async loadFingerprintJs() {
32
+ const { default: library, murmurX64Hash128: getHash } = await import('@fingerprintjs/fingerprintjs');
33
+ return { library, getHash };
34
+ }
35
+ async loadAntifraudFingerprintLibrary() {
36
+ const library = await import('@xsolla/antifraud-fingerprint');
37
+ return library.default;
38
+ }
39
+ // eslint-disable-next-line @typescript-eslint/require-await
40
+ async makeAntifraudFingerprint() {
41
+ if (!this.settingsService.token) {
42
+ return null;
43
+ }
44
+ const antifraudFingerprint = this.antifraudFingerprintLibrary;
45
+ try {
46
+ return new antifraudFingerprint({
47
+ api: {
48
+ url: this.fingerprintApiUrl,
49
+ token: this.settingsService.token,
50
+ timeout: 3000,
51
+ },
52
+ retry: {
53
+ num: 1,
54
+ timeout: 500,
55
+ },
56
+ });
57
+ }
58
+ catch (error) {
59
+ return null;
60
+ }
61
+ }
62
+ /**
63
+ *Загружаем библиотеку, генерируем данные,
64
+ *хешируем с помощью BASE64 и отправляем на бэкенд,
65
+ *в ответ получаем dfp_hash.
66
+ **/
67
+ async buildHash() {
68
+ const fingerPrintData = await this.generate();
69
+ const hash = await this.send(fingerPrintData).catch(() => {
70
+ return null;
71
+ });
72
+ return JSON.stringify(hash);
73
+ }
74
+ /**
75
+ *Новая версия библиотеки содержит не все компоненты, некоторые приходится имплементировать самостоятельно
76
+ **/
77
+ getHasLiedResolution() {
78
+ const { screen } = this.window;
79
+ return (screen.width < screen.availWidth || screen.height < screen.availHeight);
80
+ }
81
+ /**
82
+ *Бэкенд заточен под конкретные поля, которые необходимо смапить.
83
+ **/
84
+ getComponents(components) {
85
+ return {
86
+ user_agent: navigator.userAgent,
87
+ language: components.languages.value?.shift()?.shift() ?? '',
88
+ color_depth: components.colorDepth.value,
89
+ device_memory: components.deviceMemory.value,
90
+ hardware_concurrency: components.hardwareConcurrency.value,
91
+ resolution: components.screenResolution.value,
92
+ available_resolution: components.screenResolution.value,
93
+ timezone_offset: new Date().getTimezoneOffset(),
94
+ session_storage: components.sessionStorage.value ? 1 : 0,
95
+ local_storage: components.localStorage.value ? 1 : 0,
96
+ indexed_db: components.indexedDB.value ? 1 : 0,
97
+ open_database: components.openDatabase.value ? 1 : 0,
98
+ navigator_platform: components.platform.value,
99
+ regular_plugins: components.plugins.value?.map((plugin) => plugin.name) ?? [],
100
+ canvas: components.canvas.value?.text,
101
+ webgl: components.canvas.value?.text,
102
+ webgl_vendor: components.vendor.value,
103
+ has_lied_resolution: this.getHasLiedResolution(),
104
+ touch_support: Object.values(components.touchSupport.value ?? {}),
105
+ js_fonts: components.fonts.value,
106
+ };
107
+ }
108
+ /**
109
+ * Получаем данные dfp с помощью FingerprintJS, мапим необходимые поля, добавляем хэш
110
+ **/
111
+ async generate() {
112
+ const { library, getHash } = this.fingerprintJs;
113
+ const fingerprint = await library.load();
114
+ const commonFingerPrintData = await fingerprint.get();
115
+ const fingerPrintData = this.getComponents(commonFingerPrintData.components);
116
+ fingerPrintData.hash = getHash(JSON.stringify(fingerPrintData));
117
+ return fingerPrintData;
118
+ }
119
+ /**
120
+ * Отправка dfp на сервер, в ответ получаем dfp_hash
121
+ **/
122
+ async send(fingerPrintData) {
123
+ const token = this.settingsService.token;
124
+ if (token === null) {
125
+ throw new DefaultTerminalError();
126
+ }
127
+ const requestBody = {
128
+ access_token: token,
129
+ 'dfp[200]': '',
130
+ };
131
+ requestBody['dfp[200]'] = btoa(encodeURIComponent(JSON.stringify(fingerPrintData)));
132
+ return lastValueFrom(this.secureApi.post(this.apiRoute, new URLSearchParams(requestBody), {
133
+ headers: new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded; charset=utf-8'),
134
+ responseType: 'json',
135
+ }))
136
+ .then((response) => {
137
+ return response.dfp_hash;
138
+ })
139
+ .then(async (hash) => {
140
+ const fingerprint = await this.makeAntifraudFingerprint();
141
+ if (!fingerprint) {
142
+ return null;
143
+ }
144
+ await fingerprint
145
+ ?.dispatch(hash['200'])
146
+ .catch((err) => console.log(err));
147
+ const afsHash = await fingerprint.hash();
148
+ return { '301': afsHash, ...hash };
149
+ })
150
+ .catch((error) => {
151
+ const response = error.getHttpErrorData().response;
152
+ throw new TerminalError(response.data?.errors[0]?.message ?? '', response.data?.errors[0]?.support_code ?? '');
153
+ });
154
+ }
155
+ }
156
+ DeviceFingerPrintService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DeviceFingerPrintService, deps: [{ token: i1.SecureApiClient }, { token: i2.SettingsService }, { token: windowToken }], target: i0.ɵɵFactoryTarget.Injectable });
157
+ DeviceFingerPrintService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DeviceFingerPrintService, providedIn: 'root' });
158
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DeviceFingerPrintService, decorators: [{
159
+ type: Injectable,
160
+ args: [{
161
+ providedIn: 'root',
162
+ }]
163
+ }], ctorParameters: function () { return [{ type: i1.SecureApiClient }, { type: i2.SettingsService }, { type: undefined, decorators: [{
164
+ type: Inject,
165
+ args: [windowToken]
166
+ }] }]; } });
167
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aWNlLWZpbmdlci1wcmludC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvZGV2aWNlLWZpbmdlci1wcmludC9kZXZpY2UtZmluZ2VyLXByaW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFLbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBSTlDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUNuRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQVFsRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7OztBQU1uRCxNQUFNLE9BQU8sd0JBQXdCO0lBUW5DLFlBQ21CLFNBQTBCLEVBQzFCLGVBQWdDLEVBRWhDLE1BQXNCO1FBSHRCLGNBQVMsR0FBVCxTQUFTLENBQWlCO1FBQzFCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUVoQyxXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQVZ4QixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBSWpCLHNCQUFpQixHQUFHLG9DQUFvQyxDQUFDO0lBT3ZFLENBQUM7SUFFRyxLQUFLLENBQUMsSUFBSTtRQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsRUFBRTtZQUN2QyxPQUFPO1NBQ1I7UUFDRCxJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDcEQsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNuQyxJ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V0FBVyxHQUNmLE1BQU0sSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7WUFFeEMsSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDaEIsT0FBTyxJQUFJLENBQUM7YUFDYjtZQUVELE1BQU0sV0FBVztnQkFDZixFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQ3RCLEtBQUssQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBRXBDLE1BQU0sT0FBTyxHQUFHLE1BQU0sV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO1lBRXpDLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxFQUFFLENBQUM7UUFDckMsQ0FBQyxDQUFDO2FBQ0QsS0FBSyxDQUFDLENBQUMsS0FBZ0IsRUFBRSxFQUFFO1lBQzFCLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQztZQUVuRCxNQUFNLElBQUksYUFBYSxDQUNyQixRQUFRLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPLElBQUksRUFBRSxFQUN2QyxRQUFRLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxZQUFZLElBQUksRUFBRSxDQUM3QyxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOztxSEE5TVUsd0JBQXdCLGdGQVd6QixXQUFXO3lIQVhWLHdCQUF3QixjQUZ2QixNQUFNOzJGQUVQLHdCQUF3QjtrQkFIcEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQVlJLE1BQU07MkJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmluZ2VycHJpbnRKcyB9IGZyb20gJy4vZmluZ2VycHJpbnQtanMuaW50ZXJmYWNlJztcbmltcG9ydCB0eXBlIFhzb2xsYUFudGlmcmF1ZEZpbmdlcnByaW50IGZyb20gJ0B4c29sbGEvYW50aWZyYXVkLWZpbmdlcnByaW50JztcbmltcG9ydCB7IFNlY3VyZUFwaUNsaWVudCB9IGZyb20gJy4uL2h0dHAvc2VjdXJlLWFwaS9zZWN1cmUtYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSAnLi4vc2V0dGluZ3Mvc2V0dGluZ3Muc2VydmljZSc7XG5pbXBvcnQgeyB3aW5kb3dUb2tlbiB9IGZyb20gJy4uL3dpbmRvdy50b2tlbic7XG5pbXBvcnQgeyBFeHRlbmRlZFdpbmRvdyB9IGZyb20gJy4uL2V4dGVuZGVkLXdpbmRvdy5pbnRlcmZhY2UnO1xuXG5pbXBvcnQgeyBIYXNoIH0gZnJvbSAnLi9oYXNoLnR5cGUnO1xuaW1wb3J0IHsgVGVybWluYWxFcnJvciB9IGZyb20gJy4uL2V4Y2VwdGlvbnMtaGFuZGxpbmcvZXJyb3JzL3Rlcm1pbmFsLWVycm9yLmNsYXNzJztcbmltcG9ydCB7IERlZmF1bHRUZXJtaW5hbEVycm9yIH0gZnJvbSAnLi4vZXhjZXB0aW9ucy1oYW5kbGluZy9lcnJvcnMvZGVmYXVsdC10ZXJtaW5hbC1lcnJvci5jbGFzcyc7XG5pbXBvcnQge1xuICBBZ2VudCxcbiAgR2V0UmVzdWx0LFxuICBzb3VyY2VzLFxuICBTb3VyY2VzVG9Db21wb25lbnRzLFxufSBmcm9tICdAZmluZ2VycHJpbnRqcy9maW5nZXJwcmludGpzJztcbmltcG9ydCB7IERldmljZUZpbmdlclByaW50Q29tcG9uZW50cyB9IGZyb20gJy4vZGV2aWNlLWZpbmdlci1wcmludC1jb21wb25lbnRzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBsYXN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEh0dHBFcnJvciB9IGZyb20gJy4uL2V4Y2VwdGlvbnMtaGFuZGxpbmcvZXJyb3JzL2h0dHAtZXJyb3IuY2xhc3MnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRGV2aWNlRmluZ2VyUHJpbnRTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBoYXNoITogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IGFwaVJvdXRlID0gJ2RmcCc7XG4gIHByaXZhdGUgZmluZ2VycHJpbnRKcyE6IEZpbmdlcnByaW50SnM7XG4gIHByaXZhdGUgYW50aWZyYXVkRmluZ2VycHJpbnRMaWJyYXJ5ITogdHlwZW9mIFhzb2xsYUFudGlmcmF1ZEZpbmdlcnByaW50O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZmluZ2VycHJpbnRBcGlVcmwgPSAnaHR0cHM6Ly9hZnMueHNvbGxhLmNvbS9kZnAvYXBpL3YxLyc7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2VjdXJlQXBpOiBTZWN1cmVBcGlDbGllbnQsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzZXR0aW5nc1NlcnZpY2U6IFNldHRpbmdzU2VydmljZSxcbiAgICBASW5qZWN0KHdpbmRvd1Rva2VuKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgd2luZG93OiBFeHRlbmRlZFdpbmRvd1xuICApIHt9XG5cbiAgcHVibGljIGFzeW5jIGluaXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCF0aGlzLnNldHRpbmdzU2VydmljZS5pc0luaXRpYWxpemVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuZmluZ2VycHJpbnRKcyA9IGF3YWl0IHRoaXMubG9hZEZpbmdlcnByaW50SnMoKTtcbiAgICB0aGlzLmhhc2ggPSBhd2FpdCB0aGlzLmJ1aWxkSGFzaCgpO1xuICAgIHRoaXMuYW50aWZyYXVkRmluZ2VycHJpbnRMaWJyYXJ5ID1cbiAgICAgIGF3YWl0IHRoaXMubG9hZEFudGlmcmF1ZEZpbmdlcnByaW50TGlicmFyeSgpO1xuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9yZXF1aXJlLWF3YWl0XG4gIHB1YmxpYyBhc3luYyBnZXRIYXNoKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzaDtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgbG9hZEZpbmdlcnByaW50SnMoKTogUHJvbWlzZTxGaW5nZXJwcmludEpzPiB7XG4gICAgY29uc3QgeyBkZWZhdWx0OiBsaWJyYXJ5LCBtdXJtdXJYNjRIYXNoMTI4OiBnZXRIYXNoIH0gPSBhd2FpdCBpbXBvcnQoXG4gICAgICAnQGZpbmdlcnByaW50anMvZmluZ2VycHJpbnRqcydcbiAgICApO1xuXG4gICAgcmV0dXJuIHsgbGlicmFyeSwgZ2V0SGFzaCB9O1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBsb2FkQW50aWZyYXVkRmluZ2VycHJpbnRMaWJyYXJ5KCk6IFByb21pc2U8XG4gICAgdHlwZW9mIFhzb2xsYUFudGlmcmF1ZEZpbmdlcnByaW50XG4gID4ge1xuICAgIGNvbnN0IGxpYnJhcnk6IHsgZGVmYXVsdDogdW5rbm93biB9ID0gYXdhaXQgaW1wb3J0KFxuICAgICAgJ0B4c29sbGEvYW50aWZyYXVkLWZpbmdlcnByaW50J1xuICAgICk7XG5cbiAgICByZXR1cm4gbGlicmFyeS5kZWZhdWx0IGFzIHR5cGVvZiBYc29sbGFBbnRpZnJhdWRGaW5nZXJwcmludDtcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvcmVxdWlyZS1hd2FpdFxuICBwcml2YXRlIGFzeW5jIG1ha2VBbnRpZnJhdWRGaW5nZXJwcmludCgpOiBQcm9taXNlPFhzb2xsYUFudGlmcmF1ZEZpbmdlcnByaW50IHwgbnVsbD4ge1xuICAgIGlmICghdGhpcy5zZXR0aW5nc1NlcnZpY2UudG9rZW4pIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IGFudGlmcmF1ZEZpbmdlcnByaW50OiB0eXBlb2YgWHNvbGxhQW50aWZyYXVkRmluZ2VycHJpbnQgPVxuICAgICAgdGhpcy5hbnRpZnJhdWRGaW5nZXJwcmludExpYnJhcnk7XG5cbiAgICB0cnkge1xuICAgICAgcmV0dXJuIG5ldyBhbnRpZnJhdWRGaW5nZXJwcmludCh7XG4gICAgICAgIGFwaToge1xuICAgICAgICAgIHVybDogdGhpcy5maW5nZXJwcmludEFwaVVybCxcbiAgICAgICAgICB0b2tlbjogdGhpcy5zZXR0aW5nc1NlcnZpY2UudG9rZW4sXG4gICAgICAgICAgdGltZW91dDogMzAwMCxcbiAgICAgICAgfSxcbiAgICAgICAgcmV0cnk6IHtcbiAgICAgICAgICBudW06IDEsXG4gICAgICAgICAgdGltZW91dDogNTAwLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKtCX0LDQs9GA0YPQttCw0LXQvCDQsdC40LHQu9C40L7RgtC10LrRgywg0LPQtdC90LXRgNC40YDRg9C10Lwg0LTQsNC90L3Ri9C1LFxuICAgKtGF0LXRiNC40YDRg9C10Lwg0YEg0L/QvtC80L7RidGM0Y4gQkFTRTY0INC4INC+0YLQv9GA0LDQstC70Y/QtdC8INC90LAg0LHRjdC60LXQvdC0LFxuICAgKtCyINC+0YLQstC10YIg0L/QvtC70YPRh9Cw0LXQvCBkZnBfaGFzaC5cbiAgICoqL1xuICBwcml2YXRlIGFzeW5jIGJ1aWxkSGFzaCgpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IGZpbmdlclByaW50RGF0YSA9IGF3YWl0IHRoaXMuZ2VuZXJhdGUoKTtcbiAgICBjb25zdCBoYXNoOiBIYXNoID0gYXdhaXQgdGhpcy5zZW5kKGZpbmdlclByaW50RGF0YSkuY2F0Y2goKCkgPT4ge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoaGFzaCk7XG4gIH1cblxuICAvKipcbiAgICrQndC+0LLQsNGPINCy0LXRgNGB0LjRjyDQsdC40LHQu9C40L7RgtC10LrQuCDRgdC+0LTQtdGA0LbQuNGCINC90LUg0LLRgdC1INC60L7QvNC/0L7QvdC10L3RgtGLLCDQvdC10LrQvtGC0L7RgNGL0LUg0L/RgNC40YXQvtC00LjRgtGB0Y8g0LjQvNC/0LvQtdC80LXQvdGC0LjRgNC+0LLQsNGC0Ywg0YHQsNC80L7RgdGC0L7Rj9GC0LXQu9GM0L3QvlxuICAgKiovXG4gIHByaXZhdGUgZ2V0SGFzTGllZFJlc29sdXRpb24oKTogYm9vbGVhbiB7XG4gICAgY29uc3QgeyBzY3JlZW4gfSA9IHRoaXMud2luZG93O1xuICAgIHJldHVybiAoXG4gICAgICBzY3JlZW4ud2lkdGggPCBzY3JlZW4uYXZhaWxXaWR0aCB8fCBzY3JlZW4uaGVpZ2h0IDwgc2NyZWVuLmF2YWlsSGVpZ2h0XG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKtCR0Y3QutC10L3QtCDQt9Cw0YLQvtGH0LXQvSDQv9C+0LQg0LrQvtC90LrRgNC10YLQvdGL0LUg0L/QvtC70Y8sINC60L7RgtC+0YDRi9C1INC90LXQvtCx0YXQvtC00LjQvNC+INGB0LzQsNC/0LjRgtGMLlxuICAgKiovXG4gIHByaXZhdGUgZ2V0Q29tcG9uZW50cyhcbiAgICBjb21wb25lbnRzOiBTb3VyY2VzVG9Db21wb25lbnRzPHR5cGVvZiBzb3VyY2VzPlxuICApOiBEZXZpY2VGaW5nZXJQcmludENvbXBvbmVudHMge1xuICAgIHJldHVybiB7XG4gICAgICB1c2VyX2FnZW50OiBuYXZpZ2F0b3IudXNlckFnZW50LFxuICAgICAgbGFuZ3VhZ2U6IGNvbXBvbmVudHMubGFuZ3VhZ2VzLnZhbHVlPy5zaGlmdCgpPy5zaGlmdCgpID8/ICcnLFxuICAgICAgY29sb3JfZGVwdGg6IGNvbXBvbmVudHMuY29sb3JEZXB0aC52YWx1ZSxcbiAgICAgIGRldmljZV9tZW1vcnk6IGNvbXBvbmVudHMuZGV2aWNlTWVtb3J5LnZhbHVlLFxuICAgICAgaGFyZHdhcmVfY29uY3VycmVuY3k6IGNvbXBvbmVudHMuaGFyZHdhcmVDb25jdXJyZW5jeS52YWx1ZSxcbiAgICAgIHJlc29sdXRpb246IGNvbXBvbmVudHMuc2NyZWVuUmVzb2x1dGlvbi52YWx1ZSxcbiAgICAgIGF2YWlsYWJsZV9yZXNvbHV0aW9uOiBjb21wb25lbnRzLnNjcmVlblJlc29sdXRpb24udmFsdWUsXG4gICAgICB0aW1lem9uZV9vZmZzZXQ6IG5ldyBEYXRlKCkuZ2V0VGltZXpvbmVPZmZzZXQoKSxcbiAgICAgIHNlc3Npb25fc3RvcmFnZTogY29tcG9uZW50cy5zZXNzaW9uU3RvcmFnZS52YWx1ZSA/IDEgOiAwLFxuICAgICAgbG9jYWxfc3RvcmFnZTogY29tcG9uZW50cy5sb2NhbFN0b3JhZ2UudmFsdWUgPyAxIDogMCxcbiAgICAgIGluZGV4ZWRfZGI6IGNvbXBvbmVudHMuaW5kZXhlZERCLnZhbHVlID8gMSA6IDAsXG4gICAgICBvcGVuX2RhdGFiYXNlOiBjb21wb25lbnRzLm9wZW5EYXRhYmFzZS52YWx1ZSA/IDEgOiAwLFxuICAgICAgbmF2aWdhdG9yX3BsYXRmb3JtOiBjb21wb25lbnRzLnBsYXRmb3JtLnZhbHVlLFxuICAgICAgcmVndWxhcl9wbHVnaW5zOlxuICAgICAgICBjb21wb25lbnRzLnBsdWdpbnMudmFsdWU/Lm1hcCgocGx1Z2luKSA9PiBwbHVnaW4ubmFtZSkgPz8gW10sXG4gICAgICBjYW52YXM6IGNvbXBvbmVudHMuY2FudmFzLnZhbHVlPy50ZXh0LFxuICAgICAgd2ViZ2w6IGNvbXBvbmVudHMuY2FudmFzLnZhbHVlPy50ZXh0LFxuICAgICAgd2ViZ2xfdmVuZG9yOiBjb21wb25lbnRzLnZlbmRvci52YWx1ZSxcbiAgICAgIGhhc19saWVkX3Jlc29sdXRpb246IHRoaXMuZ2V0SGFzTGllZFJlc29sdXRpb24oKSxcbiAgICAgIHRvdWNoX3N1cHBvcnQ6IE9iamVjdC52YWx1ZXMoY29tcG9uZW50cy50b3VjaFN1cHBvcnQudmFsdWUgPz8ge30pLFxuICAgICAganNfZm9udHM6IGNvbXBvbmVudHMuZm9udHMudmFsdWUsXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiDQn9C+0LvRg9GH0LDQtdC8INC00LDQvdC90YvQtSBkZnAg0YEg0L/QvtC80L7RidGM0Y4gRmluZ2VycHJpbnRKUywg0LzQsNC/0LjQvCDQvdC10L7QsdGF0L7QtNC40LzRi9C1INC/0L7Qu9GPLCDQtNC+0LHQsNCy0LvRj9C10Lwg0YXRjdGIXG4gICAqKi9cbiAgcHJpdmF0ZSBhc3luYyBnZW5lcmF0ZSgpOiBQcm9taXNlPERldmljZUZpbmdlclByaW50Q29tcG9uZW50cz4ge1xuICAgIGNvbnN0IHsgbGlicmFyeSwgZ2V0SGFzaCB9ID0gdGhpcy5maW5nZXJwcmludEpzO1xuICAgIGNvbnN0IGZpbmdlcnByaW50OiBBZ2VudCA9IGF3YWl0IGxpYnJhcnkubG9hZCgpO1xuICAgIGNvbnN0IGNvbW1vbkZpbmdlclByaW50RGF0YTogR2V0UmVzdWx0ID0gYXdhaXQgZmluZ2VycHJpbnQuZ2V0KCk7XG5cbiAgICBjb25zdCBmaW5nZXJQcmludERhdGE6IERldmljZUZpbmdlclByaW50Q29tcG9uZW50cyA9IHRoaXMuZ2V0Q29tcG9uZW50cyhcbiAgICAgIGNvbW1vbkZpbmdlclByaW50RGF0YS5jb21wb25lbnRzXG4gICAgKTtcbiAgICBmaW5nZXJQcmludERhdGEuaGFzaCA9IGdldEhhc2goSlNPTi5zdHJpbmdpZnkoZmluZ2VyUHJpbnREYXRhKSk7XG4gICAgcmV0dXJuIGZpbmdlclByaW50RGF0YTtcbiAgfVxuXG4gIC8qKlxuICAgKiDQntGC0L/RgNCw0LLQutCwIGRmcCDQvdCwINGB0LXRgNCy0LXRgCwg0LIg0L7RgtCy0LXRgiDQv9C+0LvRg9GH0LDQtdC8IGRmcF9oYXNoXG4gICAqKi9cbiAgcHJpdmF0ZSBhc3luYyBzZW5kKFxuICAgIGZpbmdlclByaW50RGF0YTogRGV2aWNlRmluZ2VyUHJpbnRDb21wb25lbnRzXG4gICk6IFByb21pc2U8eyAnMjAwJzogc3RyaW5nIH0gfCBudWxsPiB7XG4gICAgY29uc3QgdG9rZW4gPSB0aGlzLnNldHRpbmdzU2VydmljZS50b2tlbjtcblxuICAgIGlmICh0b2tlbiA9PT0gbnVsbCkge1xuICAgICAgdGhyb3cgbmV3IERlZmF1bHRUZXJtaW5hbEVycm9yKCk7XG4gICAgfVxuXG4gICAgY29uc3QgcmVxdWVzdEJvZHk6IHsgYWNjZXNzX3Rva2VuOiBzdHJpbmc7ICdkZnBbMjAwXSc6IHN0cmluZyB9ID0ge1xuICAgICAgYWNjZXNzX3Rva2VuOiB0b2tlbixcbiAgICAgICdkZnBbMjAwXSc6ICcnLFxuICAgIH07XG5cbiAgICByZXF1ZXN0Qm9keVsnZGZwWzIwMF0nXSA9IGJ0b2EoXG4gICAgICBlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoZmluZ2VyUHJpbnREYXRhKSlcbiAgICApO1xuICAgIHJldHVybiBsYXN0VmFsdWVGcm9tKFxuICAgICAgdGhpcy5zZWN1cmVBcGkucG9zdDx7IGRmcF9oYXNoOiB7ICcyMDAnOiBzdHJpbmcgfTsgdXNlcl9pZD86IHN0cmluZyB9PihcbiAgICAgICAgdGhpcy5hcGlSb3V0ZSxcbiAgICAgICAgbmV3IFVSTFNlYXJjaFBhcmFtcyhcbiAgICAgICAgICByZXF1ZXN0Qm9keSBhcyB1bmtub3duIGFzIHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH1cbiAgICAgICAgKSxcbiAgICAgICAge1xuICAgICAgICAgIGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycygpLnNldChcbiAgICAgICAgICAgICdDb250ZW50LVR5cGUnLFxuICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDsgY2hhcnNldD11dGYtOCdcbiAgICAgICAgICApLFxuICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2pzb24nLFxuICAgICAgICB9XG4gICAgICApXG4gICAgKVxuICAgICAgLnRoZW4oKHJlc3BvbnNlOiB7IGRmcF9oYXNoOiB7ICcyMDAnOiBzdHJpbmcgfTsgdXNlcl9pZD86IHN0cmluZyB9KSA9PiB7XG4gICAgICAgIHJldHVybiByZXNwb25zZS5kZnBfaGFzaDtcbiAgICAgIH0pXG4gICAgICAudGhlbihhc3luYyAoaGFzaDogeyAnMjAwJzogc3RyaW5nIH0pID0+IHtcbiAgICAgICAgY29uc3QgZmluZ2VycHJpbnQ6IFhzb2xsYUFudGlmcmF1ZEZpbmdlcnByaW50IHwgbnVsbCA9XG4gICAgICAgICAgYXdhaXQgdGhpcy5tYWtlQW50aWZyYXVkRmluZ2VycHJpbnQoKTtcblxuICAgICAgICBpZiAoIWZpbmdlcnByaW50KSB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBhd2FpdCBmaW5nZXJwcmludFxuICAgICAgICAgID8uZGlzcGF0Y2goaGFzaFsnMjAwJ10pXG4gICAgICAgICAgLmNhdGNoKChlcnIpID0+IGNvbnNvbGUubG9nKGVycikpO1xuXG4gICAgICAgIGNvbnN0IGFmc0hhc2ggPSBhd2FpdCBmaW5nZXJwcmludC5oYXNoKCk7XG5cbiAgICAgICAgcmV0dXJuIHsgJzMwMSc6IGFmc0hhc2gsIC4uLmhhc2ggfTtcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goKGVycm9yOiBIdHRwRXJyb3IpID0+IHtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBlcnJvci5nZXRIdHRwRXJyb3JEYXRhKCkucmVzcG9uc2U7XG5cbiAgICAgICAgdGhyb3cgbmV3IFRlcm1pbmFsRXJyb3IoXG4gICAgICAgICAgcmVzcG9uc2UuZGF0YT8uZXJyb3JzWzBdPy5tZXNzYWdlID8/ICcnLFxuICAgICAgICAgIHJlc3BvbnNlLmRhdGE/LmVycm9yc1swXT8uc3VwcG9ydF9jb2RlID8/ICcnXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgfVxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZ2VycHJpbnQtanMuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvZGV2aWNlLWZpbmdlci1wcmludC9maW5nZXJwcmludC1qcy5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIEZpbmdlcnByaW50SlMgZnJvbSAnQGZpbmdlcnByaW50anMvZmluZ2VycHJpbnRqcyc7XG5pbXBvcnQgdHlwZSB7IG11cm11clg2NEhhc2gxMjggfSBmcm9tICdAZmluZ2VycHJpbnRqcy9maW5nZXJwcmludGpzJztcblxuZXhwb3J0IGludGVyZmFjZSBGaW5nZXJwcmludEpzIHtcbiAgbGlicmFyeTogdHlwZW9mIEZpbmdlcnByaW50SlM7XG4gIGdldEhhc2g6IHR5cGVvZiBtdXJtdXJYNjRIYXNoMTI4O1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFzaC50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvZGV2aWNlLWZpbmdlci1wcmludC9oYXNoLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIEhhc2ggPSB7ICcyMDAnOiBzdHJpbmcgfSB8IG51bGw7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkaXRpb25hbC1pbmZvLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL2V4Y2VwdGlvbnMtaGFuZGxpbmcvZWxrL2FkZGl0aW9uYWwtaW5mby5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQWRkaXRpb25hbEluZm8ge1xuICBsb2NhdGlvbjoge1xuICAgIHVybDogc3RyaW5nO1xuICB9O1xuICB1c2VyX2FnZW50Pzogc3RyaW5nO1xuICBwcm9qZWN0OiB7XG4gICAgaWQ6IG51bWJlcjtcbiAgfTtcbiAgcmVmZXJyZXI6IHtcbiAgICB1cmw6IHN0cmluZztcbiAgfTtcbiAgdmlld3BvcnQ6IHtcbiAgICB3aWR0aDogbnVtYmVyO1xuICAgIGhlaWdodDogbnVtYmVyO1xuICB9O1xuICBjZG5fYWRkcmVzczogc3RyaW5nO1xuICBjb3VudHJ5OiBzdHJpbmc7XG4gIGxvY2FsOiBzdHJpbmc7XG59XG4iXX0=
@@ -0,0 +1,120 @@
1
+ import { firstValueFrom } from 'rxjs';
2
+ import { Inject, Injectable, isDevMode, } from '@angular/core';
3
+ import { HttpHeaders } from '@angular/common/http';
4
+ import { windowToken } from '../../window.token';
5
+ import { TaggedError } from '../errors/tagged-error.class';
6
+ import { ErrorTags } from '../errors/elk-error-types.enum';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "../../settings/settings.service";
9
+ import * as i2 from "@angular/common/http";
10
+ export class ElkLoggerService {
11
+ constructor(window, settingsService, http, ngZone) {
12
+ this.window = window;
13
+ this.settingsService = settingsService;
14
+ this.http = http;
15
+ this.ngZone = ngZone;
16
+ this.vendors = new RegExp('node_modules\\/(@angular|zone).*.js$');
17
+ this.stackTrace = this.loadStackTrace();
18
+ }
19
+ handleError(error) {
20
+ this.ngZone.runOutsideAngular(() => {
21
+ if (isDevMode()) {
22
+ console.error(error);
23
+ return;
24
+ }
25
+ this.parseError(error).catch(console.log);
26
+ });
27
+ }
28
+ log(message, tags, extra) {
29
+ const logTags = [ErrorTags.HEADLESS_UI, ...tags];
30
+ if (isDevMode()) {
31
+ console.log(message, tags);
32
+ return;
33
+ }
34
+ const logMessage = {
35
+ additionalInfo: this.getAdditionalInfo(),
36
+ extra,
37
+ message,
38
+ };
39
+ this.sendLog(logMessage, logTags);
40
+ }
41
+ async parseError(error) {
42
+ const errorObj = error instanceof TaggedError
43
+ ? error
44
+ : new TaggedError(error.message || error.toString());
45
+ errorObj.trace = await this.getErrorTrace(errorObj);
46
+ errorObj.additionalInfo = this.getAdditionalInfo();
47
+ const { tags } = errorObj;
48
+ const cleanError = this.removeErrorMetaFields(errorObj);
49
+ this.sendLog(cleanError, tags);
50
+ return errorObj;
51
+ }
52
+ async loadStackTrace() {
53
+ const library = await import('stacktrace-js');
54
+ return library.default;
55
+ }
56
+ async getErrorTrace(error) {
57
+ const stackTrace = await this.stackTrace;
58
+ const stackFramesArr = await stackTrace.fromError(error);
59
+ const filteredFramesArr = stackFramesArr.filter(({ fileName }) => fileName && !this.vendors.test(fileName));
60
+ return filteredFramesArr
61
+ .map((stackFrame) => stackFrame.toString())
62
+ .join('\n');
63
+ }
64
+ getAdditionalInfo() {
65
+ const extractUrlHost = (url) => url.replace(/^https?:\/\/([^/?#]+).*$/i, '$1');
66
+ return {
67
+ location: {
68
+ url: this.window.location.href,
69
+ },
70
+ project: {
71
+ id: this.settingsService.project.id,
72
+ },
73
+ referrer: {
74
+ url: this.window.document.referrer,
75
+ },
76
+ viewport: {
77
+ width: this.window.document.documentElement.clientWidth,
78
+ height: this.window.document.documentElement.clientHeight,
79
+ },
80
+ cdn_address: this.settingsService.settings.cdnUrl
81
+ ? extractUrlHost(this.settingsService.settings.cdnUrl)
82
+ : 'none',
83
+ country: this.settingsService.user.country.value,
84
+ local: this.settingsService.user.country.localized_name,
85
+ };
86
+ }
87
+ removeErrorMetaFields(error) {
88
+ const metaPropList = [
89
+ 'parentTag',
90
+ 'childTag',
91
+ 'RESTRICTED_KEYS_REGEXP',
92
+ 'tags',
93
+ ];
94
+ Object.keys(error).forEach((key) => {
95
+ if (metaPropList.includes(key))
96
+ delete error[key];
97
+ });
98
+ // implementing own 'message' property from prototype
99
+ return { ...error, message: error.message };
100
+ }
101
+ sendLog(message, tags) {
102
+ const url = `https://logs-01.xsolla.com/tag/${tags.join(',')}`;
103
+ firstValueFrom(this.http.post(url, message, {
104
+ headers: new HttpHeaders().set('Content-Type', 'text/plain'),
105
+ responseType: 'text',
106
+ })).catch((err) => console.error('Elk Logger: request error', err));
107
+ }
108
+ }
109
+ ElkLoggerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ElkLoggerService, deps: [{ token: windowToken }, { token: i1.SettingsService }, { token: i2.HttpClient }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
110
+ ElkLoggerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ElkLoggerService, providedIn: 'root' });
111
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ElkLoggerService, decorators: [{
112
+ type: Injectable,
113
+ args: [{
114
+ providedIn: 'root',
115
+ }]
116
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
117
+ type: Inject,
118
+ args: [windowToken]
119
+ }] }, { type: i1.SettingsService }, { type: i2.HttpClient }, { type: i0.NgZone }]; } });
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxrLWxvZ2dlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvZXhjZXB0aW9ucy1oYW5kbGluZy9lbGsvZWxrLWxvZ2dlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUVMLE1BQU0sRUFDTixVQUFVLEVBQ1YsU0FBUyxHQUVWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBYyxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHakQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzNELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7OztBQVEzRCxNQUFNLE9BQU8sZ0JBQWdCO0lBTTNCLFlBQ3dDLE1BQXNCLEVBQzNDLGVBQWdDLEVBQ2hDLElBQWdCLEVBQ2hCLE1BQWM7UUFITyxXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUMzQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBUmhCLFlBQU8sR0FBVyxJQUFJLE1BQU0sQ0FDM0Msc0NBQXNDLENBQ3ZDLENBQUM7UUFRQSxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRU0sV0FBVyxDQUFDLEtBQVk7UUFDN0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7WUFDakMsSUFBSSxTQUFTLEVBQUUsRUFBRTtnQkFDZixPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUss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Q1osSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLE9BQU8sRUFBRTtZQUMzQixPQUFPLEVBQUUsSUFBSSxXQUFXLEVBQUUsQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLFlBQVksQ0FBQztZQUM1RCxZQUFZLEVBQUUsTUFBTTtTQUNyQixDQUFDLENBQ0gsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsMkJBQTJCLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNwRSxDQUFDOzs2R0F6SVUsZ0JBQWdCLGtCQU9qQixXQUFXO2lIQVBWLGdCQUFnQixjQUZmLE1BQU07MkZBRVAsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBUUksTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgU3RhY2tUcmFjZSBmcm9tICdzdGFja3RyYWNlLWpzJztcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBFcnJvckhhbmRsZXIsXG4gIEluamVjdCxcbiAgSW5qZWN0YWJsZSxcbiAgaXNEZXZNb2RlLFxuICBOZ1pvbmUsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyB3aW5kb3dUb2tlbiB9IGZyb20gJy4uLy4uL3dpbmRvdy50b2tlbic7XG5pbXBvcnQgeyBTZXR0aW5nc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXR0aW5ncy9zZXR0aW5ncy5zZXJ2aWNlJztcbmltcG9ydCB7IEV4dGVuZGVkV2luZG93IH0gZnJvbSAnLi4vLi4vZXh0ZW5kZWQtd2luZG93LmludGVyZmFjZSc7XG5pbXBvcnQgeyBUYWdnZWRFcnJvciB9IGZyb20gJy4uL2Vycm9ycy90YWdnZWQtZXJyb3IuY2xhc3MnO1xuaW1wb3J0IHsgRXJyb3JUYWdzIH0gZnJvbSAnLi4vZXJyb3JzL2Vsay1lcnJvci10eXBlcy5lbnVtJztcbmltcG9ydCB7IEFkZGl0aW9uYWxJbmZvIH0gZnJvbSAnLi9hZGRpdGlvbmFsLWluZm8uaW50ZXJmYWNlJztcbmltcG9ydCB7IEVycm9yV2l0aG91dE1ldGFGaWVsZHMgfSBmcm9tICcuL2Vycm9yLXdpdGhvdXQtbWV0YS1maWVsZHMuaW50ZXJmYWNlJztcbmltcG9ydCB7IExvZ01lc3NhZ2UgfSBmcm9tICcuL2xvZy1tZXNzYWdlLmludGVyZmFjZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBFbGtMb2dnZXJTZXJ2aWNlIGltcGxlbWVudHMgRXJyb3JIYW5kbGVyIHtcbiAgcHJpdmF0ZSByZWFkb25seSBzdGFja1RyYWNlOiBQcm9taXNlPHR5cGVvZiBTdGFja1RyYWNlPjtcbiAgcHJpdmF0ZSByZWFkb25seSB2ZW5kb3JzOiBSZWdFeHAgPSBuZXcgUmVnRXhwKFxuICAgICdub2RlX21vZHVsZXNcXFxcLyhAYW5ndWxhcnx6b25lKS4qLmpzJCdcbiAgKTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgQEluamVjdCh3aW5kb3dUb2tlbikgcHJpdmF0ZSByZWFkb25seSB3aW5kb3c6IEV4dGVuZGVkV2luZG93LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2V0dGluZ3NTZXJ2aWNlOiBTZXR0aW5nc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbmdab25lOiBOZ1pvbmVcbiAgKSB7XG4gICAgdGhpcy5zdGFja1RyYWNlID0gdGhpcy5sb2FkU3RhY2tUcmFjZSgpO1xuICB9XG5cbiAgcHVibGljIGhhbmRsZUVycm9yKGVycm9yOiBFcnJvcik6IHZvaWQge1xuICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIGlmIChpc0Rldk1vZGUoKSkge1xuICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnBhcnNlRXJyb3IoZXJyb3IpLmNhdGNoKGNvbnNvbGUubG9nKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBsb2coXG4gICAgbWVzc2FnZTogc3RyaW5nLFxuICAgIHRhZ3M6IEVycm9yVGFnc1tdLFxuICAgIGV4dHJhPzogeyBba2V5OiBzdHJpbmddOiB1bmtub3duIH1cbiAgKTogdm9pZCB7XG4gICAgY29uc3QgbG9nVGFncyA9IFtFcnJvclRhZ3MuSEVBRExFU1NfVUksIC4uLnRhZ3NdO1xuXG4gICAgaWYgKGlzRGV2TW9kZSgpKSB7XG4gICAgICBjb25zb2xlLmxvZyhtZXNzYWdlLCB0YWdzKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBsb2dNZXNzYWdlOiBMb2dNZXNzYWdlID0ge1xuICAgICAgYWRkaXRpb25hbEluZm86IHRoaXMuZ2V0QWRkaXRpb25hbEluZm8oKSxcbiAgICAgIGV4dHJhLFxuICAgICAgbWVzc2FnZSxcbiAgICB9O1xuXG4gICAgdGhpcy5zZW5kTG9nKGxvZ01lc3NhZ2UsIGxvZ1RhZ3MpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBwYXJzZUVycm9yKGVycm9yOiBFcnJvcik6IFByb21pc2U8VGFnZ2VkRXJyb3I+IHtcbiAgICBjb25zdCBlcnJvck9iaiA9XG4gICAgICBlcnJvciBpbnN0YW5jZW9mIFRhZ2dlZEVycm9yXG4gICAgICAgID8gZXJyb3JcbiAgICAgICAgOiBuZXcgVGFnZ2VkRXJyb3IoZXJyb3IubWVzc2FnZSB8fCBlcnJvci50b1N0cmluZygpKTtcblxuICAgIGVycm9yT2JqLnRyYWNlID0gYXdhaXQgdGhpcy5nZXRFcnJvclRyYWNlKGVycm9yT2JqKTtcbiAgICBlcnJvck9iai5hZGRpdGlvbmFsSW5mbyA9IHRoaXMuZ2V0QWRkaXRpb25hbEluZm8oKTtcblxuICAgIGNvbnN0IHsgdGFncyB9ID0gZXJyb3JPYmo7XG5cbiAgICBjb25zdCBjbGVhbkVycm9yID0gdGhpcy5yZW1vdmVFcnJvck1ldGFGaWVsZHMoZXJyb3JPYmopO1xuXG4gICAgdGhpcy5zZW5kTG9nKGNsZWFuRXJyb3IsIHRhZ3MpO1xuICAgIHJldHVybiBlcnJvck9iajtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgbG9hZFN0YWNrVHJhY2UoKTogUHJvbWlzZTx0eXBlb2YgU3RhY2tUcmFjZT4ge1xuICAgIGNvbnN0IGxpYnJhcnkgPSBhd2FpdCBpbXBvcnQoJ3N0YWNrdHJhY2UtanMnKTtcbiAgICByZXR1cm4gbGlicmFyeS5kZWZhdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBnZXRFcnJvclRyYWNlKGVycm9yOiBFcnJvcik6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgY29uc3Qgc3RhY2tUcmFjZSA9IGF3YWl0IHRoaXMuc3RhY2tUcmFjZTtcblxuICAgIGNvbnN0IHN0YWNrRnJhbWVzQXJyID0gYXdhaXQgc3RhY2tUcmFjZS5mcm9tRXJyb3IoZXJyb3IpO1xuXG4gICAgY29uc3QgZmlsdGVyZWRGcmFtZXNBcnIgPSBzdGFja0ZyYW1lc0Fyci5maWx0ZXIoXG4gICAgICAoeyBmaWxlTmFtZSB9KSA9PiBmaWxlTmFtZSAmJiAhdGhpcy52ZW5kb3JzLnRlc3QoZmlsZU5hbWUpXG4gICAgKTtcblxuICAgIHJldHVybiBmaWx0ZXJlZEZyYW1lc0FyclxuICAgICAgLm1hcCgoc3RhY2tGcmFtZSkgPT4gc3RhY2tGcmFtZS50b1N0cmluZygpKVxuICAgICAgLmpvaW4oJ1xcbicpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRBZGRpdGlvbmFsSW5mbygpOiBBZGRpdGlvbmFsSW5mbyB7XG4gICAgY29uc3QgZXh0cmFjdFVybEhvc3QgPSAodXJsOiBzdHJpbmcpOiBzdHJpbmcgPT5cbiAgICAgIHVybC5yZXBsYWNlKC9eaHR0cHM/OlxcL1xcLyhbXi8/I10rKS4qJC9pLCAnJDEnKTtcblxuICAgIHJldHVybiB7XG4gICAgICBsb2NhdGlvbjoge1xuICAgICAgICB1cmw6IHRoaXMud2luZG93LmxvY2F0aW9uLmhyZWYsXG4gICAgICB9LFxuICAgICAgcHJvamVjdDoge1xuICAgICAgICBpZDogdGhpcy5zZXR0aW5nc1NlcnZpY2UucHJvamVjdC5pZCxcbiAgICAgIH0sXG4gICAgICByZWZlcnJlcjoge1xuICAgICAgICB1cmw6IHRoaXMud2luZG93LmRvY3VtZW50LnJlZmVycmVyLFxuICAgICAgfSxcbiAgICAgIHZpZXdwb3J0OiB7XG4gICAgICAgIHdpZHRoOiB0aGlzLndpbmRvdy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGgsXG4gICAgICAgIGhlaWdodDogdGhpcy53aW5kb3cuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCxcbiAgICAgIH0sXG4gICAgICBjZG5fYWRkcmVzczogdGhpcy5zZXR0aW5nc1NlcnZpY2Uuc2V0dGluZ3MuY2RuVXJsXG4gICAgICAgID8gZXh0cmFjdFVybEhvc3QodGhpcy5zZXR0aW5nc1NlcnZpY2Uuc2V0dGluZ3MuY2RuVXJsKVxuICAgICAgICA6ICdub25lJyxcbiAgICAgIGNvdW50cnk6IHRoaXMuc2V0dGluZ3NTZXJ2aWNlLnVzZXIuY291bnRyeS52YWx1ZSxcbiAgICAgIGxvY2FsOiB0aGlzLnNldHRpbmdzU2VydmljZS51c2VyLmNvdW50cnkubG9jYWxpemVkX25hbWUsXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlRXJyb3JNZXRhRmllbGRzKGVycm9yOiBUYWdnZWRFcnJvcik6IEVycm9yV2l0aG91dE1ldGFGaWVsZHMge1xuICAgIGNvbnN0IG1ldGFQcm9wTGlzdCA9IFtcbiAgICAgICdwYXJlbnRUYWcnLFxuICAgICAgJ2NoaWxkVGFnJyxcbiAgICAgICdSRVNUUklDVEVEX0tFWVNfUkVHRVhQJyxcbiAgICAgICd0YWdzJyxcbiAgICBdO1xuXG4gICAgT2JqZWN0LmtleXMoZXJyb3IpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgaWYgKG1ldGFQcm9wTGlzdC5pbmNsdWRlcyhrZXkpKSBkZWxldGUgZXJyb3Jba2V5IGFzIGtleW9mIFRhZ2dlZEVycm9yXTtcbiAgICB9KTtcblxuICAgIC8vIGltcGxlbWVudGluZyBvd24gJ21lc3NhZ2UnIHByb3BlcnR5IGZyb20gcHJvdG90eXBlXG4gICAgcmV0dXJuIHsgLi4uZXJyb3IsIG1lc3NhZ2U6IGVycm9yLm1lc3NhZ2UgfTtcbiAgfVxuXG4gIHByaXZhdGUgc2VuZExvZyhcbiAgICBtZXNzYWdlOiBFcnJvcldpdGhvdXRNZXRhRmllbGRzIHwgTG9nTWVzc2FnZSxcbiAgICB0YWdzOiBFcnJvclRhZ3NbXVxuICApOiB2b2lkIHtcbiAgICBjb25zdCB1cmwgPSBgaHR0cHM6Ly9sb2dzLTAxLnhzb2xsYS5jb20vdGFnLyR7dGFncy5qb2luKCcsJyl9YDtcblxuICAgIGZpcnN0VmFsdWVGcm9tKFxuICAgICAgdGhpcy5odHRwLnBvc3QodXJsLCBtZXNzYWdlLCB7XG4gICAgICAgIGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycygpLnNldCgnQ29udGVudC1UeXBlJywgJ3RleHQvcGxhaW4nKSxcbiAgICAgICAgcmVzcG9uc2VUeXBlOiAndGV4dCcsXG4gICAgICB9KVxuICAgICkuY2F0Y2goKGVycikgPT4gY29uc29sZS5lcnJvcignRWxrIExvZ2dlcjogcmVxdWVzdCBlcnJvcicsIGVycikpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3Itd2l0aG91dC1tZXRhLWZpZWxkcy5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9leGNlcHRpb25zLWhhbmRsaW5nL2Vsay9lcnJvci13aXRob3V0LW1ldGEtZmllbGRzLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWRkaXRpb25hbEluZm8gfSBmcm9tICcuL2FkZGl0aW9uYWwtaW5mby5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSHR0cEVycm9yRGF0YSB9IGZyb20gJy4uL2h0dHAtaW50ZXJjZXB0b3IvaHR0cC1lcnJvci1kYXRhLmludGVyZmFjZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXJyb3JXaXRob3V0TWV0YUZpZWxkcyB7XG4gIG1lc3NhZ2U6IHN0cmluZztcbiAgdHJhY2U6IHN0cmluZztcbiAgYWRkaXRpb25hbEluZm86IEFkZGl0aW9uYWxJbmZvO1xuICBodHRwRXJyb3JEYXRhPzogSHR0cEVycm9yRGF0YTtcbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLW1lc3NhZ2UuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvZXhjZXB0aW9ucy1oYW5kbGluZy9lbGsvbG9nLW1lc3NhZ2UuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZGRpdGlvbmFsSW5mbyB9IGZyb20gJy4vYWRkaXRpb25hbC1pbmZvLmludGVyZmFjZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG9nTWVzc2FnZSB7XG4gIGFkZGl0aW9uYWxJbmZvOiBBZGRpdGlvbmFsSW5mbztcbiAgbWVzc2FnZTogc3RyaW5nO1xuICBleHRyYT86IHtcbiAgICBba2V5OiBzdHJpbmddOiB1bmtub3duO1xuICB9O1xufVxuIl19
@@ -0,0 +1,8 @@
1
+ import { TerminalError } from './terminal-error.class';
2
+ export class DefaultTerminalError extends TerminalError {
3
+ constructor() {
4
+ const message = `It's not you, it's us, but we can help. Please contact our customer support.`;
5
+ super(message, '1000-0002');
6
+ }
7
+ }
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC10ZXJtaW5hbC1lcnJvci5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL2V4Y2VwdGlvbnMtaGFuZGxpbmcvZXJyb3JzL2RlZmF1bHQtdGVybWluYWwtZXJyb3IuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXZELE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxhQUFhO0lBQ3JEO1FBQ0UsTUFBTSxPQUFPLEdBQUcsOEVBQThFLENBQUM7UUFDL0YsS0FBSyxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUMsQ0FBQztJQUM5QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZXJtaW5hbEVycm9yIH0gZnJvbSAnLi90ZXJtaW5hbC1lcnJvci5jbGFzcyc7XG5cbmV4cG9ydCBjbGFzcyBEZWZhdWx0VGVybWluYWxFcnJvciBleHRlbmRzIFRlcm1pbmFsRXJyb3Ige1xuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgY29uc3QgbWVzc2FnZSA9IGBJdCdzIG5vdCB5b3UsIGl0J3MgdXMsIGJ1dCB3ZSBjYW4gaGVscC4gUGxlYXNlIGNvbnRhY3Qgb3VyIGN1c3RvbWVyIHN1cHBvcnQuYDtcbiAgICBzdXBlcihtZXNzYWdlLCAnMTAwMC0wMDAyJyk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,13 @@
1
+ export var ErrorTags;
2
+ (function (ErrorTags) {
3
+ ErrorTags["APP"] = "appError";
4
+ ErrorTags["HTTP"] = "httpError";
5
+ ErrorTags["JS"] = "jsError";
6
+ ErrorTags["WS"] = "webSocket";
7
+ ErrorTags["ENCRYPT"] = "encrypt";
8
+ ErrorTags["APPLEPAY"] = "applepay";
9
+ ErrorTags["HEADLESS_UI"] = "headlessUi";
10
+ ErrorTags["GOOGLEPAY"] = "googlepay";
11
+ ErrorTags["PAYTM"] = "paytm";
12
+ })(ErrorTags || (ErrorTags = {}));
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxrLWVycm9yLXR5cGVzLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9leGNlcHRpb25zLWhhbmRsaW5nL2Vycm9ycy9lbGstZXJyb3ItdHlwZXMuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxTQVVYO0FBVkQsV0FBWSxTQUFTO0lBQ25CLDZCQUFnQixDQUFBO0lBQ2hCLCtCQUFrQixDQUFBO0lBQ2xCLDJCQUFjLENBQUE7SUFDZCw2QkFBZ0IsQ0FBQTtJQUNoQixnQ0FBbUIsQ0FBQTtJQUNuQixrQ0FBcUIsQ0FBQTtJQUNyQix1Q0FBMEIsQ0FBQTtJQUMxQixvQ0FBdUIsQ0FBQTtJQUN2Qiw0QkFBZSxDQUFBO0FBQ2pCLENBQUMsRUFWVyxTQUFTLEtBQVQsU0FBUyxRQVVwQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEVycm9yVGFncyB7XG4gIEFQUCA9ICdhcHBFcnJvcicsXG4gIEhUVFAgPSAnaHR0cEVycm9yJyxcbiAgSlMgPSAnanNFcnJvcicsXG4gIFdTID0gJ3dlYlNvY2tldCcsXG4gIEVOQ1JZUFQgPSAnZW5jcnlwdCcsXG4gIEFQUExFUEFZID0gJ2FwcGxlcGF5JyxcbiAgSEVBRExFU1NfVUkgPSAnaGVhZGxlc3NVaScsXG4gIEdPT0dMRVBBWSA9ICdnb29nbGVwYXknLFxuICBQQVlUTSA9ICdwYXl0bScsXG59XG4iXX0=
@@ -0,0 +1,16 @@
1
+ import { ErrorTags } from './elk-error-types.enum';
2
+ export class TaggedError extends Error {
3
+ constructor(message, tags) {
4
+ super(message);
5
+ this.tags = [];
6
+ this.parentTag = ErrorTags.HEADLESS_UI;
7
+ this.tags = this.childTag
8
+ ? [this.parentTag, this.childTag]
9
+ : [this.parentTag];
10
+ if (tags) {
11
+ const newTags = tags.filter((t, i, arr) => !this.tags.includes(t) && arr.indexOf(t) == i);
12
+ this.tags = [...this.tags, ...newTags];
13
+ }
14
+ }
15
+ }
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnZ2VkLWVycm9yLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvZXhjZXB0aW9ucy1oYW5kbGluZy9lcnJvcnMvdGFnZ2VkLWVycm9yLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUduRCxNQUFNLE9BQU8sV0FBWSxTQUFRLEtBQUs7SUFRcEMsWUFBbUIsT0FBZSxFQUFFLElBQWtCO1FBQ3BELEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQU5WLFNBQUksR0FBZ0IsRUFBRSxDQUFDO1FBR2IsY0FBUyxHQUFjLFNBQVMsQ0FBQyxXQUFXLENBQUM7UUFLNUQsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUTtZQUN2QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDakMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXJCLElBQUksSUFBSSxFQUFFO1lBQ1IsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FDekIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FDN0QsQ0FBQztZQUNGLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsR0FBRyxPQUFPLENBQUMsQ0FBQztTQUN4QztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVycm9yVGFncyB9IGZyb20gJy4vZWxrLWVycm9yLXR5cGVzLmVudW0nO1xuaW1wb3J0IHsgQWRkaXRpb25hbEluZm8gfSBmcm9tICcuLi9lbGsvYWRkaXRpb25hbC1pbmZvLmludGVyZmFjZSc7XG5cbmV4cG9ydCBjbGFzcyBUYWdnZWRFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgcHVibGljIGNoaWxkVGFnITogRXJyb3JUYWdzO1xuICBwdWJsaWMgdHJhY2UhOiBzdHJpbmc7XG4gIHB1YmxpYyB0YWdzOiBFcnJvclRhZ3NbXSA9IFtdO1xuICBwdWJsaWMgYWRkaXRpb25hbEluZm8hOiBBZGRpdGlvbmFsSW5mbztcblxuICBwcml2YXRlIHJlYWRvbmx5IHBhcmVudFRhZzogRXJyb3JUYWdzID0gRXJyb3JUYWdzLkhFQURMRVNTX1VJO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcsIHRhZ3M/OiBFcnJvclRhZ3NbXSkge1xuICAgIHN1cGVyKG1lc3NhZ2UpO1xuXG4gICAgdGhpcy50YWdzID0gdGhpcy5jaGlsZFRhZ1xuICAgICAgPyBbdGhpcy5wYXJlbnRUYWcsIHRoaXMuY2hpbGRUYWddXG4gICAgICA6IFt0aGlzLnBhcmVudFRhZ107XG5cbiAgICBpZiAodGFncykge1xuICAgICAgY29uc3QgbmV3VGFncyA9IHRhZ3MuZmlsdGVyKFxuICAgICAgICAodCwgaSwgYXJyKSA9PiAhdGhpcy50YWdzLmluY2x1ZGVzKHQpICYmIGFyci5pbmRleE9mKHQpID09IGlcbiAgICAgICk7XG4gICAgICB0aGlzLnRhZ3MgPSBbLi4udGhpcy50YWdzLCAuLi5uZXdUYWdzXTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,8 @@
1
+ import { AppError } from './app-error.class';
2
+ export class TerminalError extends AppError {
3
+ constructor(message, code) {
4
+ super(message);
5
+ this.code = code;
6
+ }
7
+ }
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVybWluYWwtZXJyb3IuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9leGNlcHRpb25zLWhhbmRsaW5nL2Vycm9ycy90ZXJtaW5hbC1lcnJvci5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFN0MsTUFBTSxPQUFPLGFBQWMsU0FBUSxRQUFRO0lBR3pDLFlBQW1CLE9BQWUsRUFBRSxJQUFZO1FBQzlDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVmLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ25CLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwcEVycm9yIH0gZnJvbSAnLi9hcHAtZXJyb3IuY2xhc3MnO1xuXG5leHBvcnQgY2xhc3MgVGVybWluYWxFcnJvciBleHRlbmRzIEFwcEVycm9yIHtcbiAgcHVibGljIGNvZGUhOiBzdHJpbmc7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZywgY29kZTogc3RyaW5nKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG5cbiAgICB0aGlzLmNvZGUgPSBjb2RlO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,7 @@
1
+ import { AppError } from './app-error.class';
2
+ export class TokenError extends AppError {
3
+ constructor() {
4
+ super('XPS API needs token.');
5
+ }
6
+ }
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4tZXJyb3IuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9leGNlcHRpb25zLWhhbmRsaW5nL2Vycm9ycy90b2tlbi1lcnJvci5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFN0MsTUFBTSxPQUFPLFVBQVcsU0FBUSxRQUFRO0lBQ3RDO1FBQ0UsS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDaEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXBwRXJyb3IgfSBmcm9tICcuL2FwcC1lcnJvci5jbGFzcyc7XG5cbmV4cG9ydCBjbGFzcyBUb2tlbkVycm9yIGV4dGVuZHMgQXBwRXJyb3Ige1xuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoJ1hQUyBBUEkgbmVlZHMgdG9rZW4uJyk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,10 @@
1
+ import { ErrorTags } from './elk-error-types.enum';
2
+ import { TaggedError } from './tagged-error.class';
3
+ export class WsError extends TaggedError {
4
+ constructor(message, channelName, tags) {
5
+ tags = tags ? [...tags, ErrorTags.WS] : [ErrorTags.WS];
6
+ const messageWithChannel = `${message}. ChannelName - ${channelName}`;
7
+ super(messageWithChannel, tags);
8
+ }
9
+ }
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3MtZXJyb3IuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9leGNlcHRpb25zLWhhbmRsaW5nL2Vycm9ycy93cy1lcnJvci5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRW5ELE1BQU0sT0FBTyxPQUFRLFNBQVEsV0FBVztJQUN0QyxZQUFtQixPQUFlLEVBQUUsV0FBbUIsRUFBRSxJQUFrQjtRQUN6RSxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFdkQsTUFBTSxrQkFBa0IsR0FBRyxHQUFHLE9BQU8sbUJBQW1CLFdBQVcsRUFBRSxDQUFDO1FBRXRFLEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNsQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFcnJvclRhZ3MgfSBmcm9tICcuL2Vsay1lcnJvci10eXBlcy5lbnVtJztcblxuaW1wb3J0IHsgVGFnZ2VkRXJyb3IgfSBmcm9tICcuL3RhZ2dlZC1lcnJvci5jbGFzcyc7XG5cbmV4cG9ydCBjbGFzcyBXc0Vycm9yIGV4dGVuZHMgVGFnZ2VkRXJyb3Ige1xuICBwdWJsaWMgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nLCBjaGFubmVsTmFtZTogc3RyaW5nLCB0YWdzPzogRXJyb3JUYWdzW10pIHtcbiAgICB0YWdzID0gdGFncyA/IFsuLi50YWdzLCBFcnJvclRhZ3MuV1NdIDogW0Vycm9yVGFncy5XU107XG5cbiAgICBjb25zdCBtZXNzYWdlV2l0aENoYW5uZWwgPSBgJHttZXNzYWdlfS4gQ2hhbm5lbE5hbWUgLSAke2NoYW5uZWxOYW1lfWA7XG5cbiAgICBzdXBlcihtZXNzYWdlV2l0aENoYW5uZWwsIHRhZ3MpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWZhY3RvcnktdmFsdWUuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9hY3Rpb25zL2FjdGlvbi1mYWN0b3J5LXZhbHVlLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aW9uIH0gZnJvbSAnLi9hY3Rpb24uaW50ZXJmYWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBBY3Rpb25GYWN0b3J5VmFsdWUge1xuICBmYWN0b3J5KC4uLmFyZ3M6IHVua25vd25bXSk6IEFjdGlvbjtcbiAgdHlwZTogc3RyaW5nO1xufVxuIl19
@@ -0,0 +1,6 @@
1
+ import { XpsCommand } from '../xps-comand.enum';
2
+ export const actionTypeCommandMap = {
3
+ [XpsCommand.check]: 'show_fields',
4
+ [XpsCommand.status]: 'check_status',
5
+ };
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLXR5cGUtY29tbWFuZC5tYXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L2FjdGlvbnMvYWN0aW9uLXR5cGUtY29tbWFuZC5tYXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRWhELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFxQztJQUNwRSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxhQUFhO0lBQ2pDLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFLGNBQWM7Q0FDcEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFhwc0NvbW1hbmQgfSBmcm9tICcuLi94cHMtY29tYW5kLmVudW0nO1xuXG5leHBvcnQgY29uc3QgYWN0aW9uVHlwZUNvbW1hbmRNYXA6IHsgW2tleSBpbiBYcHNDb21tYW5kXT86IHN0cmluZyB9ID0ge1xuICBbWHBzQ29tbWFuZC5jaGVja106ICdzaG93X2ZpZWxkcycsXG4gIFtYcHNDb21tYW5kLnN0YXR1c106ICdjaGVja19zdGF0dXMnLFxufTtcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQvYWN0aW9ucy9hY3Rpb24uaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEFjdGlvbjxUID0gc3RyaW5nLCBEID0gb2JqZWN0PiB7XG4gIHR5cGU6IFQ7XG4gIGRhdGE6IEQ7XG59XG4iXX0=
@@ -0,0 +1,16 @@
1
+ export class CheckStatusAction {
2
+ constructor(submitResponse) {
3
+ this.type = 'check_status';
4
+ const status = submitResponse.parameters.status;
5
+ this.data = {
6
+ invoice: status?.invoice,
7
+ signature: submitResponse.parameters.form.signature?.value,
8
+ locale: submitResponse.parameters.form.locale?.value,
9
+ testPs: submitResponse.parameters.form.testPs?.value,
10
+ testXsolla: submitResponse.parameters.form.testXsolla?.value,
11
+ testProject: submitResponse.parameters.form.testProject?.value,
12
+ userReturnStatus: submitResponse.parameters.form.userReturnStatus?.value,
13
+ };
14
+ }
15
+ }
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2stc3RhdHVzLmFjdGlvbi5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQvYWN0aW9ucy9jaGVjay1zdGF0dXMvY2hlY2stc3RhdHVzLmFjdGlvbi5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxNQUFNLE9BQU8saUJBQWlCO0lBSTVCLFlBQW1CLGNBQThCO1FBSDFDLFNBQUksR0FBMEIsY0FBYyxDQUFDO1FBSWxELE1BQU0sTUFBTSxHQUFHLGNBQWMsQ0FBQyxVQUFVLENBQUMsTUFBbUIsQ0FBQztRQUU3RCxJQUFJLENBQUMsSUFBSSxHQUFHO1lBQ1YsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPO1lBQ3hCLFNBQVMsRUFBRSxjQUFjLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsS0FBSztZQUMxRCxNQUFNLEVBQUUsY0FBYyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUs7WUFDcEQsTUFBTSxFQUFFLGNBQWMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLO1lBQ3BELFVBQVUsRUFBRSxjQUFjLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsS0FBSztZQUM1RCxXQUFXLEVBQUUsY0FBYyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUs7WUFDOUQsZ0JBQWdCLEVBQUUsY0FBYyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsS0FBSztTQUN6RSxDQUFDO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3VibWl0UmVzcG9uc2UgfSBmcm9tICcuLi8uLi9zdWJtaXQvcmVzcG9uc2Uvc3VibWl0LXJlc3BvbnNlLmNsYXNzJztcbmltcG9ydCB7IEFjdGlvbiB9IGZyb20gJy4uL2FjdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHtcbiAgQ2hlY2tTdGF0dXNBY3Rpb25EYXRhLFxuICBDaGVja1N0YXR1c0FjdGlvblR5cGUsXG59IGZyb20gJy4vY2hlY2stc3RhdHVzLmFjdGlvbi50eXBlJztcbmltcG9ydCB7IFhwc1N0YXR1cyB9IGZyb20gJy4uLy4uL3hwcy1yZXNwb25zZS5pbnRlcmZhY2UnO1xuXG5leHBvcnQgY2xhc3MgQ2hlY2tTdGF0dXNBY3Rpb24gaW1wbGVtZW50cyBBY3Rpb24ge1xuICBwdWJsaWMgdHlwZTogQ2hlY2tTdGF0dXNBY3Rpb25UeXBlID0gJ2NoZWNrX3N0YXR1cyc7XG4gIHB1YmxpYyBkYXRhITogQ2hlY2tTdGF0dXNBY3Rpb25EYXRhO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihzdWJtaXRSZXNwb25zZTogU3VibWl0UmVzcG9uc2UpIHtcbiAgICBjb25zdCBzdGF0dXMgPSBzdWJtaXRSZXNwb25zZS5wYXJhbWV0ZXJzLnN0YXR1cyBhcyBYcHNTdGF0dXM7XG5cbiAgICB0aGlzLmRhdGEgPSB7XG4gICAgICBpbnZvaWNlOiBzdGF0dXM/Lmludm9pY2UsXG4gICAgICBzaWduYXR1cmU6IHN1Ym1pdFJlc3BvbnNlLnBhcmFtZXRlcnMuZm9ybS5zaWduYXR1cmU/LnZhbHVlLFxuICAgICAgbG9jYWxlOiBzdWJtaXRSZXNwb25zZS5wYXJhbWV0ZXJzLmZvcm0ubG9jYWxlPy52YWx1ZSxcbiAgICAgIHRlc3RQczogc3VibWl0UmVzcG9uc2UucGFyYW1ldGVycy5mb3JtLnRlc3RQcz8udmFsdWUsXG4gICAgICB0ZXN0WHNvbGxhOiBzdWJtaXRSZXNwb25zZS5wYXJhbWV0ZXJzLmZvcm0udGVzdFhzb2xsYT8udmFsdWUsXG4gICAgICB0ZXN0UHJvamVjdDogc3VibWl0UmVzcG9uc2UucGFyYW1ldGVycy5mb3JtLnRlc3RQcm9qZWN0Py52YWx1ZSxcbiAgICAgIHVzZXJSZXR1cm5TdGF0dXM6IHN1Ym1pdFJlc3BvbnNlLnBhcmFtZXRlcnMuZm9ybS51c2VyUmV0dXJuU3RhdHVzPy52YWx1ZSxcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -0,0 +1,11 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import { CheckStatusAction } from './check-status.action.class';
3
+ export const checkStatusActionFactoryToken = new InjectionToken('CheckStatusAction');
4
+ export const checkStatusActionFactoryProvider = {
5
+ provide: checkStatusActionFactoryToken,
6
+ useValue: {
7
+ factory: (...args) => new CheckStatusAction(...args),
8
+ type: 'check_status',
9
+ },
10
+ };
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2stc3RhdHVzLmFjdGlvbi50b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQvYWN0aW9ucy9jaGVjay1zdGF0dXMvY2hlY2stc3RhdHVzLmFjdGlvbi50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUU5RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUloRSxNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FDeEMsSUFBSSxjQUFjLENBQXFCLG1CQUFtQixDQUFDLENBQUM7QUFFOUQsTUFBTSxDQUFDLE1BQU0sZ0NBQWdDLEdBQWtCO0lBQzdELE9BQU8sRUFBRSw2QkFBNkI7SUFDdEMsUUFBUSxFQUFFO1FBQ1IsT0FBTyxFQUFFLENBQUMsR0FBRyxJQUF1QixFQUFFLEVBQUUsQ0FBQyxJQUFJLGlCQUFpQixDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQ3ZFLElBQUksRUFBRSxjQUFjO0tBQ3JCO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuLCBWYWx1ZVByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3Rpb25GYWN0b3J5VmFsdWUgfSBmcm9tICcuLi9hY3Rpb24tZmFjdG9yeS12YWx1ZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ2hlY2tTdGF0dXNBY3Rpb24gfSBmcm9tICcuL2NoZWNrLXN0YXR1cy5hY3Rpb24uY2xhc3MnO1xuXG50eXBlIFJlcXVlc3RQYXJhbWV0ZXJzID0gQ29uc3RydWN0b3JQYXJhbWV0ZXJzPHR5cGVvZiBDaGVja1N0YXR1c0FjdGlvbj47XG5cbmV4cG9ydCBjb25zdCBjaGVja1N0YXR1c0FjdGlvbkZhY3RvcnlUb2tlbjogSW5qZWN0aW9uVG9rZW48QWN0aW9uRmFjdG9yeVZhbHVlPiA9XG4gIG5ldyBJbmplY3Rpb25Ub2tlbjxBY3Rpb25GYWN0b3J5VmFsdWU+KCdDaGVja1N0YXR1c0FjdGlvbicpO1xuXG5leHBvcnQgY29uc3QgY2hlY2tTdGF0dXNBY3Rpb25GYWN0b3J5UHJvdmlkZXI6IFZhbHVlUHJvdmlkZXIgPSB7XG4gIHByb3ZpZGU6IGNoZWNrU3RhdHVzQWN0aW9uRmFjdG9yeVRva2VuLFxuICB1c2VWYWx1ZToge1xuICAgIGZhY3Rvcnk6ICguLi5hcmdzOiBSZXF1ZXN0UGFyYW1ldGVycykgPT4gbmV3IENoZWNrU3RhdHVzQWN0aW9uKC4uLmFyZ3MpLFxuICAgIHR5cGU6ICdjaGVja19zdGF0dXMnLFxuICB9LFxufTtcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2stc3RhdHVzLmFjdGlvbi50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9hY3Rpb25zL2NoZWNrLXN0YXR1cy9jaGVjay1zdGF0dXMuYWN0aW9uLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGlvbiB9IGZyb20gJy4uL2FjdGlvbi5pbnRlcmZhY2UnO1xuXG5leHBvcnQgdHlwZSBDaGVja1N0YXR1c0FjdGlvblR5cGUgPSAnY2hlY2tfc3RhdHVzJztcblxuZXhwb3J0IGludGVyZmFjZSBDaGVja1N0YXR1c0FjdGlvbkRhdGEge1xuICBpbnZvaWNlOiBudW1iZXI7XG4gIHNpZ25hdHVyZTogc3RyaW5nO1xuICBsb2NhbGU6IHN0cmluZztcbiAgdGVzdFByb2plY3Q/OiBzdHJpbmc7XG4gIHRlc3RQcz86IHN0cmluZztcbiAgdGVzdFhzb2xsYT86IHN0cmluZztcbiAgdXNlclJldHVyblN0YXR1cz86IHN0cmluZztcbn1cbmV4cG9ydCB0eXBlIENoZWNrU3RhdHVzQWN0aW9uID0gQWN0aW9uPFxuICBDaGVja1N0YXR1c0FjdGlvblR5cGUsXG4gIENoZWNrU3RhdHVzQWN0aW9uRGF0YVxuPjtcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV4dC1hY3Rpb24uaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9hY3Rpb25zL25leHQtYWN0aW9uLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hlY2tTdGF0dXNBY3Rpb24gfSBmcm9tICcuL2NoZWNrLXN0YXR1cy9jaGVjay1zdGF0dXMuYWN0aW9uLnR5cGUnO1xuaW1wb3J0IHsgU2hvd0ZpZWxkc0FjdGlvbiB9IGZyb20gJy4vc2hvdy1maWVsZHMvc2hvdy1maWVsZHMuYWN0aW9uLnR5cGUnO1xuaW1wb3J0IHsgU3RhdHVzVXBkYXRlZEFjdGlvbiB9IGZyb20gJy4vc3RhdHVzLXVwZGF0ZWQvc3RhdHVzLXVwZGF0ZWQuYWN0aW9uLnR5cGUnO1xuXG5leHBvcnQgdHlwZSBOZXh0QWN0aW9uID1cbiAgfCBDaGVja1N0YXR1c0FjdGlvblxuICB8IFNob3dGaWVsZHNBY3Rpb25cbiAgfCBTdGF0dXNVcGRhdGVkQWN0aW9uO1xuIl19
@@ -0,0 +1,55 @@
1
+ import { Inject, Injectable } from '@angular/core';
2
+ import { nextActionsToken } from './next-actions';
3
+ import { actionTypeCommandMap } from './action-type-command.map';
4
+ import { Subject } from 'rxjs';
5
+ import * as i0 from "@angular/core";
6
+ export class NextActionService {
7
+ get flowUpdates$() {
8
+ return this.flowUpdatesSubject.asObservable();
9
+ }
10
+ constructor(nextActionTokens, injector) {
11
+ this.nextActionTokens = nextActionTokens;
12
+ this.injector = injector;
13
+ this.flowUpdatesSubject = new Subject();
14
+ this.nextActionsMap = new Map();
15
+ this.fillNextActionsMap();
16
+ }
17
+ getNextAction(submitResponse) {
18
+ if (!submitResponse.currentCommand) {
19
+ return null;
20
+ }
21
+ const nextActionFactory = this.findNextAction(submitResponse.currentCommand);
22
+ if (nextActionFactory) {
23
+ return nextActionFactory(submitResponse);
24
+ }
25
+ throw new Error('Next action is undefined.');
26
+ }
27
+ emitFlowUpdates(action) {
28
+ this.flowUpdatesSubject.next(action);
29
+ }
30
+ fillNextActionsMap() {
31
+ this.nextActionTokens.forEach((nextAction) => {
32
+ const item = this.injector.get(nextAction.provide);
33
+ this.nextActionsMap.set(item.type, item.factory);
34
+ });
35
+ }
36
+ findNextAction(command) {
37
+ const actionType = actionTypeCommandMap[command];
38
+ if (!actionType) {
39
+ return;
40
+ }
41
+ return this.nextActionsMap.get(actionType);
42
+ }
43
+ }
44
+ NextActionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: NextActionService, deps: [{ token: nextActionsToken }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
45
+ NextActionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: NextActionService, providedIn: 'root' });
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: NextActionService, decorators: [{
47
+ type: Injectable,
48
+ args: [{
49
+ providedIn: 'root',
50
+ }]
51
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
52
+ type: Inject,
53
+ args: [nextActionsToken]
54
+ }] }, { type: i0.Injector }]; } });
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV4dC1hY3Rpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQvYWN0aW9ucy9uZXh0LWFjdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUEyQixNQUFNLGVBQWUsQ0FBQztBQUk1RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQW9CLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFakUsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFLM0MsTUFBTSxPQUFPLGlCQUFpQjtJQVE1QixJQUFXLFlBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDaEQsQ0FBQztJQUVELFlBRW1CLGdCQUFrQyxFQUNsQyxRQUFrQjtRQURsQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGFBQVEsR0FBUixRQUFRLENBQVU7UUFkcEIsdUJBQWtCLEdBQUcsSUFBSSxPQUFPLEVBQWMsQ0FBQztRQUUvQyxtQkFBYyxHQUFHLElBQUksR0FBRyxFQUd0QyxDQUFDO1FBV0YsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUNNLGFBQWEsQ0FBQyxjQUE4QjtRQUNqRCxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsRUFBRTtZQUNsQyxPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUMzQyxjQUFjLENBQUMsY0FBYyxDQUM5QixDQUFDO1FBQ0YsSUFBSSxpQkFBaUIsRUFBRTtZQUNyQixPQUFPLGlCQUFpQixDQUFDLGNBQWMsQ0FBZSxDQUFDO1NBQ3hEO1FBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFTSxlQUFlLENBQUMsTUFBa0I7UUFDdkMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRU8sa0JBQWtCO1FBQ3hCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUF5QixFQUFFLEVBQUU7WUFDMUQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQXFCLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN2RSxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNuRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxjQUFjLENBQ3BCLE9BQW1CO1FBRW5CLE1BQU0sVUFBVSxHQUFHLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWpELElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDZixPQUFPO1NBQ1I7UUFDRCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7OzhHQXJEVSxpQkFBaUIsa0JBYWxCLGdCQUFnQjtrSEFiZixpQkFBaUIsY0FGaEIsTUFBTTsyRkFFUCxpQkFBaUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFjSSxNQUFNOzJCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0b3IsIFZhbHVlUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5leHRBY3Rpb24gfSBmcm9tICcuL25leHQtYWN0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTdWJtaXRSZXNwb25zZSB9IGZyb20gJy4uL3N1Ym1pdC9yZXNwb25zZS9zdWJtaXQtcmVzcG9uc2UuY2xhc3MnO1xuaW1wb3J0IHsgWHBzQ29tbWFuZCB9IGZyb20gJy4uL3hwcy1jb21hbmQuZW51bSc7XG5pbXBvcnQgeyBuZXh0QWN0aW9uc1Rva2VuLCBOZXh0QWN0aW9uVG9rZW5zIH0gZnJvbSAnLi9uZXh0LWFjdGlvbnMnO1xuaW1wb3J0IHsgQWN0aW9uIH0gZnJvbSAnLi9hY3Rpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IGFjdGlvblR5cGVDb21tYW5kTWFwIH0gZnJvbSAnLi9hY3Rpb24tdHlwZS1jb21tYW5kLm1hcCc7XG5pbXBvcnQgeyBBY3Rpb25GYWN0b3J5VmFsdWUgfSBmcm9tICcuL2FjdGlvbi1mYWN0b3J5LXZhbHVlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBOZXh0QWN0aW9uU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZmxvd1VwZGF0ZXNTdWJqZWN0ID0gbmV3IFN1YmplY3Q8TmV4dEFjdGlvbj4oKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IG5leHRBY3Rpb25zTWFwID0gbmV3IE1hcDxcbiAgICBzdHJpbmcsXG4gICAgKC4uLmFyZ3M6IHVua25vd25bXSkgPT4gQWN0aW9uXG4gID4oKTtcblxuICBwdWJsaWMgZ2V0IGZsb3dVcGRhdGVzJCgpOiBPYnNlcnZhYmxlPE5leHRBY3Rpb24+IHtcbiAgICByZXR1cm4gdGhpcy5mbG93VXBkYXRlc1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChuZXh0QWN0aW9uc1Rva2VuKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgbmV4dEFjdGlvblRva2VuczogTmV4dEFjdGlvblRva2VucyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGluamVjdG9yOiBJbmplY3RvclxuICApIHtcbiAgICB0aGlzLmZpbGxOZXh0QWN0aW9uc01hcCgpO1xuICB9XG4gIHB1YmxpYyBnZXROZXh0QWN0aW9uKHN1Ym1pdFJlc3BvbnNlOiBTdWJtaXRSZXNwb25zZSk6IE5leHRBY3Rpb24gfCBudWxsIHtcbiAgICBpZiAoIXN1Ym1pdFJlc3BvbnNlLmN1cnJlbnRDb21tYW5kKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBuZXh0QWN0aW9uRmFjdG9yeSA9IHRoaXMuZmluZE5leHRBY3Rpb24oXG4gICAgICBzdWJtaXRSZXNwb25zZS5jdXJyZW50Q29tbWFuZFxuICAgICk7XG4gICAgaWYgKG5leHRBY3Rpb25GYWN0b3J5KSB7XG4gICAgICByZXR1cm4gbmV4dEFjdGlvbkZhY3Rvcnkoc3VibWl0UmVzcG9uc2UpIGFzIE5leHRBY3Rpb247XG4gICAgfVxuICAgIHRocm93IG5ldyBFcnJvcignTmV4dCBhY3Rpb24gaXMgdW5kZWZpbmVkLicpO1xuICB9XG5cbiAgcHVibGljIGVtaXRGbG93VXBkYXRlcyhhY3Rpb246IE5leHRBY3Rpb24pOiB2b2lkIHtcbiAgICB0aGlzLmZsb3dVcGRhdGVzU3ViamVjdC5uZXh0KGFjdGlvbik7XG4gIH1cblxuICBwcml2YXRlIGZpbGxOZXh0QWN0aW9uc01hcCgpOiB2b2lkIHtcbiAgICB0aGlzLm5leHRBY3Rpb25Ub2tlbnMuZm9yRWFjaCgobmV4dEFjdGlvbjogVmFsdWVQcm92aWRlcikgPT4ge1xuICAgICAgY29uc3QgaXRlbSA9IHRoaXMuaW5qZWN0b3IuZ2V0PEFjdGlvbkZhY3RvcnlWYWx1ZT4obmV4dEFjdGlvbi5wcm92aWRlKTtcbiAgICAgIHRoaXMubmV4dEFjdGlvbnNNYXAuc2V0KGl0ZW0udHlwZSwgaXRlbS5mYWN0b3J5KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZmluZE5leHRBY3Rpb24oXG4gICAgY29tbWFuZDogWHBzQ29tbWFuZFxuICApOiAoKC4uLmFyZ3M6IHVua25vd25bXSkgPT4gQWN0aW9uKSB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgYWN0aW9uVHlwZSA9IGFjdGlvblR5cGVDb21tYW5kTWFwW2NvbW1hbmRdO1xuXG4gICAgaWYgKCFhY3Rpb25UeXBlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHJldHVybiB0aGlzLm5leHRBY3Rpb25zTWFwLmdldChhY3Rpb25UeXBlKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,11 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import { showFieldsActionFactoryProvider } from './show-fields/show-fields.action.token';
3
+ import { checkStatusActionFactoryProvider } from './check-status/check-status.action.token';
4
+ import { statusUpdatedActionFactoryProvider } from './status-updated/status-updated.action.token';
5
+ export const nextActionsToken = new InjectionToken('Action');
6
+ export const nextActions = [
7
+ showFieldsActionFactoryProvider,
8
+ checkStatusActionFactoryProvider,
9
+ statusUpdatedActionFactoryProvider,
10
+ ];
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV4dC1hY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9hY3Rpb25zL25leHQtYWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN6RixPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM1RixPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUtsRyxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGNBQWMsQ0FBUyxRQUFRLENBQUMsQ0FBQztBQUVyRSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQXFCO0lBQzNDLCtCQUErQjtJQUMvQixnQ0FBZ0M7SUFDaEMsa0NBQWtDO0NBQ25DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiwgVmFsdWVQcm92aWRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgc2hvd0ZpZWxkc0FjdGlvbkZhY3RvcnlQcm92aWRlciB9IGZyb20gJy4vc2hvdy1maWVsZHMvc2hvdy1maWVsZHMuYWN0aW9uLnRva2VuJztcbmltcG9ydCB7IGNoZWNrU3RhdHVzQWN0aW9uRmFjdG9yeVByb3ZpZGVyIH0gZnJvbSAnLi9jaGVjay1zdGF0dXMvY2hlY2stc3RhdHVzLmFjdGlvbi50b2tlbic7XG5pbXBvcnQgeyBzdGF0dXNVcGRhdGVkQWN0aW9uRmFjdG9yeVByb3ZpZGVyIH0gZnJvbSAnLi9zdGF0dXMtdXBkYXRlZC9zdGF0dXMtdXBkYXRlZC5hY3Rpb24udG9rZW4nO1xuaW1wb3J0IHsgQWN0aW9uIH0gZnJvbSAnLi9hY3Rpb24uaW50ZXJmYWNlJztcblxuZXhwb3J0IHR5cGUgTmV4dEFjdGlvblRva2VucyA9IFZhbHVlUHJvdmlkZXJbXTtcblxuZXhwb3J0IGNvbnN0IG5leHRBY3Rpb25zVG9rZW4gPSBuZXcgSW5qZWN0aW9uVG9rZW48QWN0aW9uPignQWN0aW9uJyk7XG5cbmV4cG9ydCBjb25zdCBuZXh0QWN0aW9uczogTmV4dEFjdGlvblRva2VucyA9IFtcbiAgc2hvd0ZpZWxkc0FjdGlvbkZhY3RvcnlQcm92aWRlcixcbiAgY2hlY2tTdGF0dXNBY3Rpb25GYWN0b3J5UHJvdmlkZXIsXG4gIHN0YXR1c1VwZGF0ZWRBY3Rpb25GYWN0b3J5UHJvdmlkZXIsXG5dO1xuIl19