@xsolla/payment-client-core 0.2.52 → 0.2.53

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 (191) hide show
  1. package/esm2022/lib/core/encrypt-credit-card/encrypt-credit-card.service.mjs +1 -1
  2. package/esm2022/lib/core/payment/actions/action.interface.mjs +1 -1
  3. package/esm2022/lib/core/payment/actions/check-status/check-status.action.class.mjs +1 -1
  4. package/esm2022/lib/core/payment/actions/next-action.service.mjs +1 -1
  5. package/esm2022/lib/core/payment/actions/redirect/redirect.action.class.mjs +1 -1
  6. package/esm2022/lib/core/payment/actions/show-cash-payment-instruction/show-cash-payment-instruction.action.class.mjs +1 -1
  7. package/esm2022/lib/core/payment/actions/show-errors/show-errors.action.class.mjs +1 -1
  8. package/esm2022/lib/core/payment/actions/show-fields/show-fields.action.class.mjs +1 -1
  9. package/esm2022/lib/core/payment/actions/show-mobile-payment-screen/show-mobile-payment-screen.action.class.mjs +1 -1
  10. package/esm2022/lib/core/payment/actions/show-qr-code/show-qr-code.action.class.mjs +1 -1
  11. package/esm2022/lib/core/payment/actions/show-xsolla-number/show-xsolla-number.action.class.mjs +1 -1
  12. package/esm2022/lib/core/payment/actions/special-button/special-button.action.class.mjs +1 -1
  13. package/esm2022/lib/core/payment/form/converters/birth-date/birth-date.converter.mjs +2 -2
  14. package/esm2022/lib/core/payment/form/converters/card-expiration/card-expiration.converter.mjs +2 -2
  15. package/esm2022/lib/core/payment/form/converters/card-month/card-month.converter.mjs +2 -2
  16. package/esm2022/lib/core/payment/form/converters/card-number/card-number.converter.mjs +2 -2
  17. package/esm2022/lib/core/payment/form/converters/card-year/card-year.converter.mjs +2 -2
  18. package/esm2022/lib/core/payment/form/converters/cardholder-name/cardholder-name.converter.mjs +2 -2
  19. package/esm2022/lib/core/payment/form/converters/checkbox/checkbox.converter.mjs +2 -2
  20. package/esm2022/lib/core/payment/form/converters/converter.abstract.mjs +1 -1
  21. package/esm2022/lib/core/payment/form/converters/converters-map.mjs +2 -2
  22. package/esm2022/lib/core/payment/form/converters/coupon/coupon.converter.mjs +2 -2
  23. package/esm2022/lib/core/payment/form/converters/cpf-name/cpf-name.converter.mjs +2 -2
  24. package/esm2022/lib/core/payment/form/converters/cpf-number/cpf-number.converter.mjs +2 -2
  25. package/esm2022/lib/core/payment/form/converters/cvv/cvv.converter.mjs +2 -2
  26. package/esm2022/lib/core/payment/form/converters/email/email.converter.mjs +2 -2
  27. package/esm2022/lib/core/payment/form/converters/phone/phone.converter.mjs +39 -0
  28. package/esm2022/lib/core/payment/form/converters/pin/pin.converter.mjs +2 -2
  29. package/esm2022/lib/core/payment/form/converters/pricepoint/pricepoint.converter.mjs +2 -2
  30. package/esm2022/lib/core/payment/form/converters/radio-group/radio-group.converter.mjs +2 -2
  31. package/esm2022/lib/core/payment/form/converters/select/select.converter.mjs +2 -2
  32. package/esm2022/lib/core/payment/form/converters/street-number/street-number.converter.mjs +2 -2
  33. package/esm2022/lib/core/payment/form/converters/text/text.converter.mjs +2 -2
  34. package/esm2022/lib/core/payment/form/converters/zip/zip.converter.mjs +2 -2
  35. package/esm2022/lib/core/payment/form/form.module.mjs +2 -2
  36. package/esm2022/lib/core/payment/form-response.interface.mjs +1 -1
  37. package/esm2022/lib/core/payment/initialize-actions/action.interface.mjs +1 -1
  38. package/esm2022/lib/core/payment/initialize-actions/initialize-next-action.service.mjs +1 -1
  39. package/esm2022/lib/core/payment/initialize-actions/special-button/special-button.action.class.mjs +1 -1
  40. package/esm2022/lib/core/payment/payment-behaviour/behaviour-strategies.mjs +7 -0
  41. package/esm2022/lib/core/payment/payment-behaviour/payment-behaviour.module.mjs +33 -0
  42. package/esm2022/lib/core/payment/payment-behaviour/payment-behaviour.service.mjs +29 -0
  43. package/esm2022/lib/core/payment/payment-behaviour/strategies/apple-pay-with-shipping-address/apple-pay-with-shipping-address.strategy.mjs +38 -0
  44. package/esm2022/lib/core/payment/payment-behaviour/strategies/behaviour-strategy.abstract.mjs +20 -0
  45. package/esm2022/lib/core/payment/payment.service.mjs +26 -10
  46. package/esm2022/lib/core/payment/requests/initialize/initialize-request-params.interface.mjs +2 -0
  47. package/esm2022/lib/core/payment/requests/initialize/initialize.service.mjs +89 -0
  48. package/esm2022/lib/core/payment/requests/initialize/is-initialize-response.function.mjs +5 -0
  49. package/esm2022/lib/core/payment/requests/initialize/response/initialize-response.class.mjs +43 -0
  50. package/esm2022/lib/core/payment/requests/initialize/response/initialize-response.token.mjs +8 -0
  51. package/esm2022/lib/core/payment/{submit/response → requests/submit}/is-submit-response.function.mjs +2 -2
  52. package/esm2022/lib/core/payment/requests/submit/request/submit-request.class.mjs +36 -0
  53. package/esm2022/lib/core/payment/requests/submit/request/submit-request.token.mjs +8 -0
  54. package/esm2022/lib/core/payment/requests/submit/response/submit-response.class.mjs +35 -0
  55. package/esm2022/lib/core/payment/requests/submit/response/submit-response.token.mjs +8 -0
  56. package/esm2022/lib/core/payment/requests/submit/response/xsolla-number.interface.mjs +2 -0
  57. package/esm2022/lib/core/payment/requests/submit/submit.service.mjs +82 -0
  58. package/esm2022/lib/core/payment/requests/sync/field-async-validation.interface.mjs +2 -0
  59. package/esm2022/lib/core/payment/requests/sync/field-sync-state.interface.mjs +2 -0
  60. package/esm2022/lib/core/payment/requests/sync/request/sync-request.class.mjs +34 -0
  61. package/esm2022/lib/core/payment/requests/sync/request/sync-request.token.mjs +8 -0
  62. package/esm2022/lib/core/payment/requests/sync/response/sync-response.class.mjs +17 -0
  63. package/esm2022/lib/core/payment/requests/sync/response/sync-response.token.mjs +8 -0
  64. package/esm2022/lib/core/payment/requests/sync/sync.service.mjs +184 -0
  65. package/esm2022/lib/core/payment/status/check-status/check-status.service.mjs +2 -2
  66. package/esm2022/lib/core/payment/status/check-status/request/check-status-request.class.mjs +2 -2
  67. package/esm2022/lib/core/payment/status/status-request/request/status-request.class.mjs +2 -2
  68. package/esm2022/lib/core/payment/status/status-request/status-request.service.mjs +2 -2
  69. package/esm2022/lib/core/payment/three-ds/three-ds.service.mjs +1 -1
  70. package/esm2022/lib/core/payment/xps-api/xps-api-part-request.abstract.mjs +13 -0
  71. package/esm2022/lib/core/payment/xps-api/xps-api-part.abstract.mjs +19 -0
  72. package/esm2022/lib/core/payment/xps-finance.interface.mjs +1 -1
  73. package/esm2022/lib/core/sdk-payment-systems/apple-pay/apple-pay-cart/apple-pay-cart.service.mjs +56 -0
  74. package/esm2022/lib/core/sdk-payment-systems/apple-pay/session-handlers/apple-pay-session.interface.mjs +1 -1
  75. package/esm2022/lib/core/sdk-payment-systems/apple-pay/session-handlers/braintree.handler.mjs +27 -4
  76. package/esm2022/lib/core/sdk-payment-systems/apple-pay/session-handlers/checkout.handler.mjs +27 -4
  77. package/esm2022/lib/core/sdk-payment-systems/apple-pay/shipping-address.interface.mjs +2 -0
  78. package/esm2022/lib/core/sdk-payment-systems/apple-pay/updated-price.interface.mjs +2 -0
  79. package/esm2022/lib/core/sdk-payment-systems/google-pay/check-payment-device-data.interface.mjs +1 -1
  80. package/esm2022/lib/core/sdk-payment-systems/sdk-payment-systems-initial-data.interface.mjs +1 -1
  81. package/esm2022/lib/core-library.module.mjs +10 -9
  82. package/esm2022/lib/core-library.service.mjs +1 -1
  83. package/esm2022/public-api.mjs +2 -1
  84. package/fesm2022/xsolla-payment-client-core.mjs +256 -13
  85. package/fesm2022/xsolla-payment-client-core.mjs.map +1 -1
  86. package/lib/core/encrypt-credit-card/encrypt-credit-card.service.d.ts +1 -1
  87. package/lib/core/payment/actions/action.interface.d.ts +1 -1
  88. package/lib/core/payment/actions/check-status/check-status.action.class.d.ts +1 -1
  89. package/lib/core/payment/actions/next-action.service.d.ts +1 -1
  90. package/lib/core/payment/actions/next-actions.d.ts +1 -1
  91. package/lib/core/payment/actions/redirect/redirect.action.class.d.ts +1 -1
  92. package/lib/core/payment/actions/show-cash-payment-instruction/show-cash-payment-instruction.action.class.d.ts +1 -1
  93. package/lib/core/payment/actions/show-errors/show-errors.action.class.d.ts +1 -1
  94. package/lib/core/payment/actions/show-fields/show-fields.action.class.d.ts +1 -1
  95. package/lib/core/payment/actions/show-mobile-payment-screen/show-mobile-payment-screen.action.class.d.ts +1 -1
  96. package/lib/core/payment/actions/show-qr-code/show-qr-code.action.class.d.ts +1 -1
  97. package/lib/core/payment/actions/show-xsolla-number/show-xsolla-number.action.class.d.ts +1 -1
  98. package/lib/core/payment/actions/special-button/special-button.action.class.d.ts +1 -1
  99. package/lib/core/payment/form/converters/birth-date/birth-date.converter.d.ts +1 -1
  100. package/lib/core/payment/form/converters/card-expiration/card-expiration.converter.d.ts +1 -1
  101. package/lib/core/payment/form/converters/card-month/card-month.converter.d.ts +1 -1
  102. package/lib/core/payment/form/converters/card-number/card-number.converter.d.ts +1 -1
  103. package/lib/core/payment/form/converters/card-year/card-year.converter.d.ts +1 -1
  104. package/lib/core/payment/form/converters/cardholder-name/cardholder-name.converter.d.ts +1 -1
  105. package/lib/core/payment/form/converters/checkbox/checkbox.converter.d.ts +1 -1
  106. package/lib/core/payment/form/converters/converter.abstract.d.ts +1 -1
  107. package/lib/core/payment/form/converters/coupon/coupon.converter.d.ts +1 -1
  108. package/lib/core/payment/form/converters/cpf-name/cpf-name.converter.d.ts +1 -1
  109. package/lib/core/payment/form/converters/cpf-number/cpf-number.converter.d.ts +1 -1
  110. package/lib/core/payment/form/converters/cvv/cvv.converter.d.ts +1 -1
  111. package/lib/core/payment/form/converters/email/email.converter.d.ts +1 -1
  112. package/lib/core/payment/form/converters/{phone.converter.d.ts → phone/phone.converter.d.ts} +4 -4
  113. package/lib/core/payment/form/converters/pin/pin.converter.d.ts +1 -1
  114. package/lib/core/payment/form/converters/pricepoint/pricepoint.converter.d.ts +1 -1
  115. package/lib/core/payment/form/converters/radio-group/radio-group.converter.d.ts +1 -1
  116. package/lib/core/payment/form/converters/select/select.converter.d.ts +1 -1
  117. package/lib/core/payment/form/converters/street-number/street-number.converter.d.ts +1 -1
  118. package/lib/core/payment/form/converters/text/text.converter.d.ts +1 -1
  119. package/lib/core/payment/form/converters/zip/zip.converter.d.ts +1 -1
  120. package/lib/core/payment/form-response.interface.d.ts +2 -2
  121. package/lib/core/payment/initialize-actions/action.interface.d.ts +2 -2
  122. package/lib/core/payment/initialize-actions/initialize-next-action.service.d.ts +1 -1
  123. package/lib/core/payment/initialize-actions/initialize-next-actions.d.ts +1 -1
  124. package/lib/core/payment/initialize-actions/special-button/special-button.action.class.d.ts +1 -1
  125. package/lib/core/payment/payment-behaviour/behaviour-strategies.d.ts +5 -0
  126. package/lib/core/payment/payment-behaviour/payment-behaviour.module.d.ts +7 -0
  127. package/lib/core/payment/payment-behaviour/payment-behaviour.service.d.ts +16 -0
  128. package/lib/core/payment/payment-behaviour/strategies/apple-pay-with-shipping-address/apple-pay-with-shipping-address.strategy.d.ts +10 -0
  129. package/lib/core/payment/payment-behaviour/strategies/behaviour-strategy.abstract.d.ts +15 -0
  130. package/lib/core/payment/payment.service.d.ts +10 -6
  131. package/lib/core/payment/{initialize → requests/initialize}/initialize-request-params.interface.d.ts +1 -1
  132. package/lib/core/payment/{initialize → requests/initialize}/initialize.service.d.ts +10 -10
  133. package/lib/core/payment/requests/initialize/is-initialize-response.function.d.ts +2 -0
  134. package/lib/core/payment/{initialize → requests/initialize}/response/initialize-response.class.d.ts +2 -2
  135. package/lib/core/payment/{submit/response → requests/submit}/is-submit-response.function.d.ts +1 -1
  136. package/lib/core/payment/{submit → requests/submit}/request/submit-request.class.d.ts +2 -2
  137. package/lib/core/payment/{submit → requests/submit}/response/submit-response.class.d.ts +4 -4
  138. package/lib/core/payment/{submit → requests/submit}/submit.service.d.ts +9 -9
  139. package/lib/core/payment/{sync → requests/sync}/field-async-validation.interface.d.ts +1 -1
  140. package/lib/core/payment/{sync → requests/sync}/request/sync-request.class.d.ts +2 -2
  141. package/lib/core/payment/{sync → requests/sync}/response/sync-response.class.d.ts +2 -2
  142. package/lib/core/payment/{sync → requests/sync}/sync.service.d.ts +14 -12
  143. package/lib/core/payment/status/check-status/check-status.service.d.ts +1 -1
  144. package/lib/core/payment/status/check-status/request/check-status-request.class.d.ts +1 -1
  145. package/lib/core/payment/status/status-request/request/status-request.class.d.ts +1 -1
  146. package/lib/core/payment/status/status-request/status-request.service.d.ts +1 -1
  147. package/lib/core/payment/three-ds/three-ds.service.d.ts +1 -1
  148. package/lib/core/payment/xps-finance.interface.d.ts +20 -0
  149. package/lib/core/sdk-payment-systems/apple-pay/apple-pay-cart/apple-pay-cart.service.d.ts +21 -0
  150. package/lib/core/sdk-payment-systems/apple-pay/session-handlers/apple-pay-session.interface.d.ts +17 -8
  151. package/lib/core/sdk-payment-systems/apple-pay/session-handlers/braintree.handler.d.ts +3 -1
  152. package/lib/core/sdk-payment-systems/apple-pay/session-handlers/checkout.handler.d.ts +3 -1
  153. package/lib/core/sdk-payment-systems/apple-pay/shipping-address.interface.d.ts +4 -0
  154. package/lib/core/sdk-payment-systems/apple-pay/updated-price.interface.d.ts +7 -0
  155. package/lib/core/sdk-payment-systems/google-pay/check-payment-device-data.interface.d.ts +1 -1
  156. package/lib/core/sdk-payment-systems/sdk-payment-systems-initial-data.interface.d.ts +1 -1
  157. package/lib/core-library.module.d.ts +2 -1
  158. package/lib/core-library.service.d.ts +2 -2
  159. package/package.json +1 -1
  160. package/public-api.d.ts +1 -0
  161. package/xsolla-payment-client-core-0.2.53.tgz +0 -0
  162. package/esm2022/lib/core/payment/form/converters/phone.converter.mjs +0 -39
  163. package/esm2022/lib/core/payment/initialize/initialize-request-params.interface.mjs +0 -2
  164. package/esm2022/lib/core/payment/initialize/initialize.service.mjs +0 -89
  165. package/esm2022/lib/core/payment/initialize/response/initialize-response.class.mjs +0 -43
  166. package/esm2022/lib/core/payment/initialize/response/initialize-response.token.mjs +0 -8
  167. package/esm2022/lib/core/payment/submit/request/submit-request.class.mjs +0 -36
  168. package/esm2022/lib/core/payment/submit/request/submit-request.token.mjs +0 -8
  169. package/esm2022/lib/core/payment/submit/response/submit-response.class.mjs +0 -35
  170. package/esm2022/lib/core/payment/submit/response/submit-response.token.mjs +0 -8
  171. package/esm2022/lib/core/payment/submit/response/xsolla-number.interface.mjs +0 -2
  172. package/esm2022/lib/core/payment/submit/submit.service.mjs +0 -82
  173. package/esm2022/lib/core/payment/sync/field-async-validation.interface.mjs +0 -2
  174. package/esm2022/lib/core/payment/sync/field-sync-state.interface.mjs +0 -2
  175. package/esm2022/lib/core/payment/sync/request/sync-request.class.mjs +0 -34
  176. package/esm2022/lib/core/payment/sync/request/sync-request.token.mjs +0 -8
  177. package/esm2022/lib/core/payment/sync/response/sync-response.class.mjs +0 -17
  178. package/esm2022/lib/core/payment/sync/response/sync-response.token.mjs +0 -8
  179. package/esm2022/lib/core/payment/sync/sync.service.mjs +0 -164
  180. package/esm2022/lib/core/payment/xps-api-part-request.abstract.mjs +0 -13
  181. package/esm2022/lib/core/payment/xps-api-part.abstract.mjs +0 -19
  182. package/xsolla-payment-client-core-0.2.52.tgz +0 -0
  183. /package/lib/core/payment/{initialize → requests/initialize}/response/initialize-response.token.d.ts +0 -0
  184. /package/lib/core/payment/{submit → requests/submit}/request/submit-request.token.d.ts +0 -0
  185. /package/lib/core/payment/{submit → requests/submit}/response/submit-response.token.d.ts +0 -0
  186. /package/lib/core/payment/{submit → requests/submit}/response/xsolla-number.interface.d.ts +0 -0
  187. /package/lib/core/payment/{sync → requests/sync}/field-sync-state.interface.d.ts +0 -0
  188. /package/lib/core/payment/{sync → requests/sync}/request/sync-request.token.d.ts +0 -0
  189. /package/lib/core/payment/{sync → requests/sync}/response/sync-response.token.d.ts +0 -0
  190. /package/lib/core/payment/{xps-api-part-request.abstract.d.ts → xps-api/xps-api-part-request.abstract.d.ts} +0 -0
  191. /package/lib/core/payment/{xps-api-part.abstract.d.ts → xps-api/xps-api-part.abstract.d.ts} +0 -0
@@ -0,0 +1,8 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import { InitializeResponse } from './initialize-response.class';
3
+ export const initializeResponseFactoryToken = new InjectionToken('InitializeResponse');
4
+ export const initializeResponseFactoryProvider = {
5
+ provide: initializeResponseFactoryToken,
6
+ useValue: (...args) => new InitializeResponse(...args),
7
+ };
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbGl6ZS1yZXNwb25zZS50b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQvcmVxdWVzdHMvaW5pdGlhbGl6ZS9yZXNwb25zZS9pbml0aWFsaXplLXJlc3BvbnNlLnRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBVWpFLE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUN6QyxJQUFJLGNBQWMsQ0FBNEIsb0JBQW9CLENBQUMsQ0FBQztBQUV0RSxNQUFNLENBQUMsTUFBTSxpQ0FBaUMsR0FBa0I7SUFDOUQsT0FBTyxFQUFFLDhCQUE4QjtJQUN2QyxRQUFRLEVBQUUsQ0FBQyxHQUFHLElBQXdCLEVBQUUsRUFBRSxDQUFDLElBQUksa0JBQWtCLENBQUMsR0FBRyxJQUFJLENBQUM7Q0FDM0UsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuLCBWYWx1ZVByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbml0aWFsaXplUmVzcG9uc2UgfSBmcm9tICcuL2luaXRpYWxpemUtcmVzcG9uc2UuY2xhc3MnO1xuXG5leHBvcnQgdHlwZSBSZXNwb25zZVBhcmFtZXRlcnMgPSBDb25zdHJ1Y3RvclBhcmFtZXRlcnM8XG4gIHR5cGVvZiBJbml0aWFsaXplUmVzcG9uc2Vcbj47XG5cbmV4cG9ydCB0eXBlIEluaXRpYWxpemVSZXNwb25zZUZhY3RvcnkgPSAoXG4gIC4uLmFyZ3M6IFJlc3BvbnNlUGFyYW1ldGVyc1xuKSA9PiBJbml0aWFsaXplUmVzcG9uc2U7XG5cbmV4cG9ydCBjb25zdCBpbml0aWFsaXplUmVzcG9uc2VGYWN0b3J5VG9rZW46IEluamVjdGlvblRva2VuPEluaXRpYWxpemVSZXNwb25zZUZhY3Rvcnk+ID1cbiAgbmV3IEluamVjdGlvblRva2VuPEluaXRpYWxpemVSZXNwb25zZUZhY3Rvcnk+KCdJbml0aWFsaXplUmVzcG9uc2UnKTtcblxuZXhwb3J0IGNvbnN0IGluaXRpYWxpemVSZXNwb25zZUZhY3RvcnlQcm92aWRlcjogVmFsdWVQcm92aWRlciA9IHtcbiAgcHJvdmlkZTogaW5pdGlhbGl6ZVJlc3BvbnNlRmFjdG9yeVRva2VuLFxuICB1c2VWYWx1ZTogKC4uLmFyZ3M6IFJlc3BvbnNlUGFyYW1ldGVycykgPT4gbmV3IEluaXRpYWxpemVSZXNwb25zZSguLi5hcmdzKSxcbn07XG4iXX0=
@@ -1,5 +1,5 @@
1
- import { SubmitResponse } from './submit-response.class';
1
+ import { SubmitResponse } from './response/submit-response.class';
2
2
  export const isSubmitResponse = (value) => {
3
3
  return value instanceof SubmitResponse;
4
4
  };
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtc3VibWl0LXJlc3BvbnNlLmZ1bmN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9zdWJtaXQvcmVzcG9uc2UvaXMtc3VibWl0LXJlc3BvbnNlLmZ1bmN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV6RCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLEtBQWMsRUFBMkIsRUFBRTtJQUMxRSxPQUFPLEtBQUssWUFBWSxjQUFjLENBQUM7QUFDekMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3VibWl0UmVzcG9uc2UgfSBmcm9tICcuL3N1Ym1pdC1yZXNwb25zZS5jbGFzcyc7XG5cbmV4cG9ydCBjb25zdCBpc1N1Ym1pdFJlc3BvbnNlID0gKHZhbHVlOiB1bmtub3duKTogdmFsdWUgaXMgU3VibWl0UmVzcG9uc2UgPT4ge1xuICByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBTdWJtaXRSZXNwb25zZTtcbn07XG4iXX0=
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtc3VibWl0LXJlc3BvbnNlLmZ1bmN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9yZXF1ZXN0cy9zdWJtaXQvaXMtc3VibWl0LXJlc3BvbnNlLmZ1bmN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUVsRSxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLEtBQWMsRUFBMkIsRUFBRTtJQUMxRSxPQUFPLEtBQUssWUFBWSxjQUFjLENBQUM7QUFDekMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3VibWl0UmVzcG9uc2UgfSBmcm9tICcuL3Jlc3BvbnNlL3N1Ym1pdC1yZXNwb25zZS5jbGFzcyc7XG5cbmV4cG9ydCBjb25zdCBpc1N1Ym1pdFJlc3BvbnNlID0gKHZhbHVlOiB1bmtub3duKTogdmFsdWUgaXMgU3VibWl0UmVzcG9uc2UgPT4ge1xuICByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBTdWJtaXRSZXNwb25zZTtcbn07XG4iXX0=
@@ -0,0 +1,36 @@
1
+ import { XpsApiPartRequest } from '../../../xps-api/xps-api-part-request.abstract';
2
+ import { TokenError } from '../../../../exceptions-handling/errors/token-error.class';
3
+ import { FieldNames } from '../../../field-names.enum';
4
+ export class SubmitRequest extends XpsApiPartRequest {
5
+ constructor(parameters) {
6
+ super();
7
+ const { token, fields, form, dfpHash, ...restParameters } = parameters;
8
+ if (token === null) {
9
+ throw new TokenError();
10
+ }
11
+ this.addParameters(restParameters);
12
+ this.access_token = token;
13
+ if (dfpHash) {
14
+ this.xps_dfp_hash = dfpHash;
15
+ }
16
+ this.addXpsParameters(this.getFieldsValues(fields, form));
17
+ }
18
+ getFieldsValues(fields, form) {
19
+ const fieldValues = fields.reduce((xpsParams, field) => {
20
+ const formControl = form.get(field.name);
21
+ xpsParams[field.name] = formControl ? formControl.value : field?.value;
22
+ return xpsParams;
23
+ }, {});
24
+ return this.splitCreditCardExpiration(fieldValues);
25
+ }
26
+ splitCreditCardExpiration(fieldsValues) {
27
+ const creditCardExpiration = fieldsValues[FieldNames.cardExpire];
28
+ if (creditCardExpiration) {
29
+ const [month, year] = creditCardExpiration.split('/');
30
+ fieldsValues['card_month'] = month;
31
+ fieldsValues['card_year'] = year;
32
+ }
33
+ return fieldsValues;
34
+ }
35
+ }
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VibWl0LXJlcXVlc3QuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L3JlcXVlc3RzL3N1Ym1pdC9yZXF1ZXN0L3N1Ym1pdC1yZXF1ZXN0LmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ25GLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUN0RixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFdkQsTUFBTSxPQUFPLGFBQWMsU0FBUSxpQkFBaUI7SUFJbEQsWUFBbUIsVUFNbEI7UUFDQyxLQUFLLEVBQUUsQ0FBQztRQUVSLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsR0FBRyxjQUFjLEVBQUUsR0FBRyxVQUFVLENBQUM7UUFFdkUsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDbkIsTUFBTSxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ3pCLENBQUM7UUFFRCxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRW5DLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBRTFCLElBQUksT0FBTyxFQUFFLENBQUM7WUFDWixJQUFJLENBQUMsWUFBWSxHQUFHLE9BQU8sQ0FBQztRQUM5QixDQUFDO1FBRUQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVPLGVBQWUsQ0FDckIsTUFBZSxFQUNmLElBQXNCO1FBRXRCLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQy9CLENBQUMsU0FBb0MsRUFBRSxLQUFZLEVBQUUsRUFBRTtZQUNyRCxNQUFNLFdBQVcsR0FBMkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFakUsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUM7WUFFdkUsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQyxFQUNELEVBQUUsQ0FDSCxDQUFDO1FBRUYsT0FBTyxJQUFJLENBQUMseUJBQXlCLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVPLHlCQUF5QixDQUFDLFlBQXdDO1FBR3hFLE1BQU0sb0JBQW9CLEdBQVcsWUFBWSxDQUMvQyxVQUFVLENBQUMsVUFBVSxDQUNaLENBQUM7UUFFWixJQUFJLG9CQUFvQixFQUFFLENBQUM7WUFDekIsTUFBTSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDdEQsWUFBWSxDQUFDLFlBQVksQ0FBQyxHQUFHLEtBQUssQ0FBQztZQUNuQyxZQUFZLENBQUMsV0FBVyxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQ25DLENBQUM7UUFFRCxPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb24gKi9cbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vZmllbGQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFhwc0FwaVBhcnRSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vLi4veHBzLWFwaS94cHMtYXBpLXBhcnQtcmVxdWVzdC5hYnN0cmFjdCc7XG5pbXBvcnQgeyBUb2tlbkVycm9yIH0gZnJvbSAnLi4vLi4vLi4vLi4vZXhjZXB0aW9ucy1oYW5kbGluZy9lcnJvcnMvdG9rZW4tZXJyb3IuY2xhc3MnO1xuaW1wb3J0IHsgRmllbGROYW1lcyB9IGZyb20gJy4uLy4uLy4uL2ZpZWxkLW5hbWVzLmVudW0nO1xuXG5leHBvcnQgY2xhc3MgU3VibWl0UmVxdWVzdCBleHRlbmRzIFhwc0FwaVBhcnRSZXF1ZXN0IHtcbiAgcHVibGljIHJlYWRvbmx5IGFjY2Vzc190b2tlbjogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgeHBzX2RmcF9oYXNoPzogc3RyaW5nO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihwYXJhbWV0ZXJzOiB7XG4gICAgdG9rZW46IHN0cmluZyB8IG51bGw7XG4gICAgZmllbGRzOiBGaWVsZFtdO1xuICAgIGZvcm06IFVudHlwZWRGb3JtR3JvdXA7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1tYWdpYy1udW1iZXJzXG4gICAgZGZwSGFzaDogc3RyaW5nIHwgbnVsbDtcbiAgfSkge1xuICAgIHN1cGVyKCk7XG5cbiAgICBjb25zdCB7IHRva2VuLCBmaWVsZHMsIGZvcm0sIGRmcEhhc2gsIC4uLnJlc3RQYXJhbWV0ZXJzIH0gPSBwYXJhbWV0ZXJzO1xuXG4gICAgaWYgKHRva2VuID09PSBudWxsKSB7XG4gICAgICB0aHJvdyBuZXcgVG9rZW5FcnJvcigpO1xuICAgIH1cblxuICAgIHRoaXMuYWRkUGFyYW1ldGVycyhyZXN0UGFyYW1ldGVycyk7XG5cbiAgICB0aGlzLmFjY2Vzc190b2tlbiA9IHRva2VuO1xuXG4gICAgaWYgKGRmcEhhc2gpIHtcbiAgICAgIHRoaXMueHBzX2RmcF9oYXNoID0gZGZwSGFzaDtcbiAgICB9XG5cbiAgICB0aGlzLmFkZFhwc1BhcmFtZXRlcnModGhpcy5nZXRGaWVsZHNWYWx1ZXMoZmllbGRzLCBmb3JtKSk7XG4gIH1cblxuICBwcml2YXRlIGdldEZpZWxkc1ZhbHVlcyhcbiAgICBmaWVsZHM6IEZpZWxkW10sXG4gICAgZm9ybTogVW50eXBlZEZvcm1Hcm91cFxuICApOiB7IFtrZXk6IHN0cmluZ106IHVua25vd24gfSB7XG4gICAgY29uc3QgZmllbGRWYWx1ZXMgPSBmaWVsZHMucmVkdWNlKFxuICAgICAgKHhwc1BhcmFtczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSwgZmllbGQ6IEZpZWxkKSA9PiB7XG4gICAgICAgIGNvbnN0IGZvcm1Db250cm9sOiBBYnN0cmFjdENvbnRyb2wgfCBudWxsID0gZm9ybS5nZXQoZmllbGQubmFtZSk7XG5cbiAgICAgICAgeHBzUGFyYW1zW2ZpZWxkLm5hbWVdID0gZm9ybUNvbnRyb2wgPyBmb3JtQ29udHJvbC52YWx1ZSA6IGZpZWxkPy52YWx1ZTtcblxuICAgICAgICByZXR1cm4geHBzUGFyYW1zO1xuICAgICAgfSxcbiAgICAgIHt9XG4gICAgKTtcblxuICAgIHJldHVybiB0aGlzLnNwbGl0Q3JlZGl0Q2FyZEV4cGlyYXRpb24oZmllbGRWYWx1ZXMpO1xuICB9XG5cbiAgcHJpdmF0ZSBzcGxpdENyZWRpdENhcmRFeHBpcmF0aW9uKGZpZWxkc1ZhbHVlczogeyBba2V5OiBzdHJpbmddOiB1bmtub3duIH0pOiB7XG4gICAgW2tleTogc3RyaW5nXTogdW5rbm93bjtcbiAgfSB7XG4gICAgY29uc3QgY3JlZGl0Q2FyZEV4cGlyYXRpb246IHN0cmluZyA9IGZpZWxkc1ZhbHVlc1tcbiAgICAgIEZpZWxkTmFtZXMuY2FyZEV4cGlyZVxuICAgIF0gYXMgc3RyaW5nO1xuXG4gICAgaWYgKGNyZWRpdENhcmRFeHBpcmF0aW9uKSB7XG4gICAgICBjb25zdCBbbW9udGgsIHllYXJdID0gY3JlZGl0Q2FyZEV4cGlyYXRpb24uc3BsaXQoJy8nKTtcbiAgICAgIGZpZWxkc1ZhbHVlc1snY2FyZF9tb250aCddID0gbW9udGg7XG4gICAgICBmaWVsZHNWYWx1ZXNbJ2NhcmRfeWVhciddID0geWVhcjtcbiAgICB9XG5cbiAgICByZXR1cm4gZmllbGRzVmFsdWVzO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,8 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import { SubmitRequest } from './submit-request.class';
3
+ export const submitRequestFactoryToken = new InjectionToken('SubmitRequest');
4
+ export const submitRequestFactoryProvider = {
5
+ provide: submitRequestFactoryToken,
6
+ useValue: (...args) => new SubmitRequest(...args),
7
+ };
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VibWl0LXJlcXVlc3QudG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L3JlcXVlc3RzL3N1Ym1pdC9yZXF1ZXN0L3N1Ym1pdC1yZXF1ZXN0LnRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQVV2RCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FDcEMsSUFBSSxjQUFjLENBQXVCLGVBQWUsQ0FBQyxDQUFDO0FBRTVELE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFrQjtJQUN6RCxPQUFPLEVBQUUseUJBQXlCO0lBQ2xDLFFBQVEsRUFBRSxDQUFDLEdBQUcsSUFBNkIsRUFBRSxFQUFFLENBQUMsSUFBSSxhQUFhLENBQUMsR0FBRyxJQUFJLENBQUM7Q0FDM0UsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuLCBWYWx1ZVByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJtaXRSZXF1ZXN0IH0gZnJvbSAnLi9zdWJtaXQtcmVxdWVzdC5jbGFzcyc7XG5cbmV4cG9ydCB0eXBlIFN1Ym1pdFJlcXVlc3RQYXJhbWV0ZXJzID0gQ29uc3RydWN0b3JQYXJhbWV0ZXJzPFxuICB0eXBlb2YgU3VibWl0UmVxdWVzdFxuPjtcblxuZXhwb3J0IHR5cGUgU3VibWl0UmVxdWVzdEZhY3RvcnkgPSAoXG4gIC4uLmFyZ3M6IFN1Ym1pdFJlcXVlc3RQYXJhbWV0ZXJzXG4pID0+IFN1Ym1pdFJlcXVlc3Q7XG5cbmV4cG9ydCBjb25zdCBzdWJtaXRSZXF1ZXN0RmFjdG9yeVRva2VuOiBJbmplY3Rpb25Ub2tlbjxTdWJtaXRSZXF1ZXN0RmFjdG9yeT4gPVxuICBuZXcgSW5qZWN0aW9uVG9rZW48U3VibWl0UmVxdWVzdEZhY3Rvcnk+KCdTdWJtaXRSZXF1ZXN0Jyk7XG5cbmV4cG9ydCBjb25zdCBzdWJtaXRSZXF1ZXN0RmFjdG9yeVByb3ZpZGVyOiBWYWx1ZVByb3ZpZGVyID0ge1xuICBwcm92aWRlOiBzdWJtaXRSZXF1ZXN0RmFjdG9yeVRva2VuLFxuICB1c2VWYWx1ZTogKC4uLmFyZ3M6IFN1Ym1pdFJlcXVlc3RQYXJhbWV0ZXJzKSA9PiBuZXcgU3VibWl0UmVxdWVzdCguLi5hcmdzKSxcbn07XG4iXX0=
@@ -0,0 +1,35 @@
1
+ import { XpsCommand } from '../../../xps-comand.enum';
2
+ import { FieldNames } from '../../../field-names.enum';
3
+ export class SubmitResponse {
4
+ constructor(parameters, responseNumber = 0) {
5
+ this.responseNumber = responseNumber;
6
+ /* Todo split into properties */
7
+ this.parameters = parameters;
8
+ this.fields = Object.keys(parameters.form).map((key) => parameters.form[key]);
9
+ if (parameters.onlineBanking) {
10
+ this.onlineBanking = {
11
+ url: parameters.onlineBanking.value,
12
+ };
13
+ }
14
+ this.isNeedRedirect =
15
+ parameters.currentCommand === XpsCommand.account ||
16
+ (parameters.currentCommand === XpsCommand.checkout &&
17
+ Boolean(parameters.checkout));
18
+ this.buyData = parameters.buyData;
19
+ this.fixInvoice = this.fields.find((field) => field.name === FieldNames.fixInvoice)?.value;
20
+ this.signature = this.fields.find((field) => field.name === FieldNames.signature)?.value;
21
+ this.hasFatalErrors = parameters.textAll?.fatal;
22
+ this.userSession = parameters.userSession;
23
+ this.pid = parameters.pid;
24
+ this.errors = parameters.errors;
25
+ this.summary = parameters.summary;
26
+ this.title = parameters.title;
27
+ this.currentCommand = parameters.currentCommand;
28
+ this.messages = parameters.messages;
29
+ this.xsollaNumber = {
30
+ accountXsolla: parameters.accountXsolla,
31
+ isMap: parameters.isMap,
32
+ };
33
+ }
34
+ }
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VibWl0LXJlc3BvbnNlLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9yZXF1ZXN0cy9zdWJtaXQvcmVzcG9uc2Uvc3VibWl0LXJlc3BvbnNlLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFHdkQsTUFBTSxPQUFPLGNBQWM7SUF1QnpCLFlBQ0UsVUFBdUIsRUFDUCxpQkFBeUIsQ0FBQztRQUExQixtQkFBYyxHQUFkLGNBQWMsQ0FBWTtRQUUxQyxnQ0FBZ0M7UUFDaEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQzVDLENBQUMsR0FBVyxFQUFTLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUM3QyxDQUFDO1FBRUYsSUFBSSxVQUFVLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLGFBQWEsR0FBRztnQkFDbkIsR0FBRyxFQUFFLFVBQVUsQ0FBQyxhQUFhLENBQUMsS0FBSzthQUNwQyxDQUFDO1FBQ0osQ0FBQztRQUVELElBQUksQ0FBQyxjQUFjO1lBQ2pCLFVBQVUsQ0FBQyxjQUFjLEtBQUssVUFBVSxDQUFDLE9BQU87Z0JBQ2hELENBQUMsVUFBVSxDQUFDLGNBQWMsS0FBSyxVQUFVLENBQUMsUUFBUTtvQkFDaEQsT0FBTyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBRWxDLElBQUksQ0FBQyxPQUFPLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQztRQUVsQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUNoQyxDQUFDLEtBQVksRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxVQUFVLENBQUMsVUFBVSxDQUN2RCxFQUFFLEtBQUssQ0FBQztRQUVULElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQy9CLENBQUMsS0FBWSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLFVBQVUsQ0FBQyxTQUFTLENBQ3RELEVBQUUsS0FBSyxDQUFDO1FBRVQsSUFBSSxDQUFDLGNBQWMsR0FBRyxVQUFVLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQztRQUVoRCxJQUFJLENBQUMsV0FBVyxHQUFHLFVBQVUsQ0FBQyxXQUFXLENBQUM7UUFDMUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDO1FBQzFCLElBQUksQ0FBQyxNQUFNLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQztRQUNoQyxJQUFJLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUM7UUFDbEMsSUFBSSxDQUFDLEtBQUssR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDO1FBQzlCLElBQUksQ0FBQyxjQUFjLEdBQUcsVUFBVSxDQUFDLGNBQWMsQ0FBQztRQUNoRCxJQUFJLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUM7UUFFcEMsSUFBSSxDQUFDLFlBQVksR0FBRztZQUNsQixhQUFhLEVBQUUsVUFBVSxDQUFDLGFBQWE7WUFDdkMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxLQUFLO1NBQ3hCLENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBYcHNSZXNwb25zZSB9IGZyb20gJy4uLy4uLy4uL3hwcy1yZXNwb25zZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRmllbGQgfSBmcm9tICcuLi8uLi8uLi9maWVsZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSW52b2ljZSB9IGZyb20gJy4uLy4uLy4uL2ludm9pY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IFhwc0NvbW1hbmQgfSBmcm9tICcuLi8uLi8uLi94cHMtY29tYW5kLmVudW0nO1xuaW1wb3J0IHsgRmllbGROYW1lcyB9IGZyb20gJy4uLy4uLy4uL2ZpZWxkLW5hbWVzLmVudW0nO1xuaW1wb3J0IHsgWHNvbGxhTnVtYmVyIH0gZnJvbSAnLi94c29sbGEtbnVtYmVyLmludGVyZmFjZSc7XG5cbmV4cG9ydCBjbGFzcyBTdWJtaXRSZXNwb25zZSB7XG4gIHB1YmxpYyByZWFkb25seSBwYXJhbWV0ZXJzOiBYcHNSZXNwb25zZTtcbiAgcHVibGljIHJlYWRvbmx5IGZpZWxkczogRmllbGRbXTtcbiAgcHVibGljIG9ubGluZUJhbmtpbmc/OiB7XG4gICAgdXJsOiBzdHJpbmc7XG4gIH07XG4gIHB1YmxpYyByZWFkb25seSBkYXRhPzogdW5rbm93bjtcbiAgcHVibGljIGlzTmVlZFJlZGlyZWN0OiBib29sZWFuO1xuXG4gIHB1YmxpYyBidXlEYXRhOiBYcHNSZXNwb25zZVsnYnV5RGF0YSddO1xuXG4gIHB1YmxpYyBzaWduYXR1cmU/OiBzdHJpbmc7XG4gIHB1YmxpYyBmaXhJbnZvaWNlPzogc3RyaW5nO1xuICBwdWJsaWMgaGFzRmF0YWxFcnJvcnM/OiBib29sZWFuO1xuICBwdWJsaWMgdXNlclNlc3Npb24/OiBJbnZvaWNlO1xuICBwdWJsaWMgcGlkOiBYcHNSZXNwb25zZVsncGlkJ107XG4gIHB1YmxpYyBlcnJvcnM6IFhwc1Jlc3BvbnNlWydlcnJvcnMnXTtcbiAgcHVibGljIHN1bW1hcnk6IFhwc1Jlc3BvbnNlWydzdW1tYXJ5J107XG4gIHB1YmxpYyB0aXRsZTogc3RyaW5nO1xuICBwdWJsaWMgY3VycmVudENvbW1hbmQ6IFhwc0NvbW1hbmQgfCBudWxsO1xuICBwdWJsaWMgbWVzc2FnZXM6IFhwc1Jlc3BvbnNlWydtZXNzYWdlcyddO1xuICBwdWJsaWMgeHNvbGxhTnVtYmVyOiBYc29sbGFOdW1iZXI7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHBhcmFtZXRlcnM6IFhwc1Jlc3BvbnNlLFxuICAgIHB1YmxpYyByZWFkb25seSByZXNwb25zZU51bWJlcjogbnVtYmVyID0gMFxuICApIHtcbiAgICAvKiBUb2RvIHNwbGl0IGludG8gcHJvcGVydGllcyAqL1xuICAgIHRoaXMucGFyYW1ldGVycyA9IHBhcmFtZXRlcnM7XG4gICAgdGhpcy5maWVsZHMgPSBPYmplY3Qua2V5cyhwYXJhbWV0ZXJzLmZvcm0pLm1hcChcbiAgICAgIChrZXk6IHN0cmluZyk6IEZpZWxkID0+IHBhcmFtZXRlcnMuZm9ybVtrZXldXG4gICAgKTtcblxuICAgIGlmIChwYXJhbWV0ZXJzLm9ubGluZUJhbmtpbmcpIHtcbiAgICAgIHRoaXMub25saW5lQmFua2luZyA9IHtcbiAgICAgICAgdXJsOiBwYXJhbWV0ZXJzLm9ubGluZUJhbmtpbmcudmFsdWUsXG4gICAgICB9O1xuICAgIH1cblxuICAgIHRoaXMuaXNOZWVkUmVkaXJlY3QgPVxuICAgICAgcGFyYW1ldGVycy5jdXJyZW50Q29tbWFuZCA9PT0gWHBzQ29tbWFuZC5hY2NvdW50IHx8XG4gICAgICAocGFyYW1ldGVycy5jdXJyZW50Q29tbWFuZCA9PT0gWHBzQ29tbWFuZC5jaGVja291dCAmJlxuICAgICAgICBCb29sZWFuKHBhcmFtZXRlcnMuY2hlY2tvdXQpKTtcblxuICAgIHRoaXMuYnV5RGF0YSA9IHBhcmFtZXRlcnMuYnV5RGF0YTtcblxuICAgIHRoaXMuZml4SW52b2ljZSA9IHRoaXMuZmllbGRzLmZpbmQoXG4gICAgICAoZmllbGQ6IEZpZWxkKSA9PiBmaWVsZC5uYW1lID09PSBGaWVsZE5hbWVzLmZpeEludm9pY2VcbiAgICApPy52YWx1ZTtcblxuICAgIHRoaXMuc2lnbmF0dXJlID0gdGhpcy5maWVsZHMuZmluZChcbiAgICAgIChmaWVsZDogRmllbGQpID0+IGZpZWxkLm5hbWUgPT09IEZpZWxkTmFtZXMuc2lnbmF0dXJlXG4gICAgKT8udmFsdWU7XG5cbiAgICB0aGlzLmhhc0ZhdGFsRXJyb3JzID0gcGFyYW1ldGVycy50ZXh0QWxsPy5mYXRhbDtcblxuICAgIHRoaXMudXNlclNlc3Npb24gPSBwYXJhbWV0ZXJzLnVzZXJTZXNzaW9uO1xuICAgIHRoaXMucGlkID0gcGFyYW1ldGVycy5waWQ7XG4gICAgdGhpcy5lcnJvcnMgPSBwYXJhbWV0ZXJzLmVycm9ycztcbiAgICB0aGlzLnN1bW1hcnkgPSBwYXJhbWV0ZXJzLnN1bW1hcnk7XG4gICAgdGhpcy50aXRsZSA9IHBhcmFtZXRlcnMudGl0bGU7XG4gICAgdGhpcy5jdXJyZW50Q29tbWFuZCA9IHBhcmFtZXRlcnMuY3VycmVudENvbW1hbmQ7XG4gICAgdGhpcy5tZXNzYWdlcyA9IHBhcmFtZXRlcnMubWVzc2FnZXM7XG5cbiAgICB0aGlzLnhzb2xsYU51bWJlciA9IHtcbiAgICAgIGFjY291bnRYc29sbGE6IHBhcmFtZXRlcnMuYWNjb3VudFhzb2xsYSxcbiAgICAgIGlzTWFwOiBwYXJhbWV0ZXJzLmlzTWFwLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,8 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import { SubmitResponse } from './submit-response.class';
3
+ export const submitResponseFactoryToken = new InjectionToken('SubmitResponse');
4
+ export const submitResponseFactoryProvider = {
5
+ provide: submitResponseFactoryToken,
6
+ useValue: (...args) => new SubmitResponse(...args),
7
+ };
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VibWl0LXJlc3BvbnNlLnRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9yZXF1ZXN0cy9zdWJtaXQvcmVzcG9uc2Uvc3VibWl0LXJlc3BvbnNlLnRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQVV6RCxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FDckMsSUFBSSxjQUFjLENBQXdCLGdCQUFnQixDQUFDLENBQUM7QUFFOUQsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQWtCO0lBQzFELE9BQU8sRUFBRSwwQkFBMEI7SUFDbkMsUUFBUSxFQUFFLENBQUMsR0FBRyxJQUE4QixFQUFFLEVBQUUsQ0FBQyxJQUFJLGNBQWMsQ0FBQyxHQUFHLElBQUksQ0FBQztDQUM3RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIFZhbHVlUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1Ym1pdFJlc3BvbnNlIH0gZnJvbSAnLi9zdWJtaXQtcmVzcG9uc2UuY2xhc3MnO1xuXG5leHBvcnQgdHlwZSBTdWJtaXRSZXNwb25zZVBhcmFtZXRlcnMgPSBDb25zdHJ1Y3RvclBhcmFtZXRlcnM8XG4gIHR5cGVvZiBTdWJtaXRSZXNwb25zZVxuPjtcblxuZXhwb3J0IHR5cGUgU3VibWl0UmVzcG9uc2VGYWN0b3J5ID0gKFxuICAuLi5hcmdzOiBTdWJtaXRSZXNwb25zZVBhcmFtZXRlcnNcbikgPT4gU3VibWl0UmVzcG9uc2U7XG5cbmV4cG9ydCBjb25zdCBzdWJtaXRSZXNwb25zZUZhY3RvcnlUb2tlbjogSW5qZWN0aW9uVG9rZW48U3VibWl0UmVzcG9uc2VGYWN0b3J5PiA9XG4gIG5ldyBJbmplY3Rpb25Ub2tlbjxTdWJtaXRSZXNwb25zZUZhY3Rvcnk+KCdTdWJtaXRSZXNwb25zZScpO1xuXG5leHBvcnQgY29uc3Qgc3VibWl0UmVzcG9uc2VGYWN0b3J5UHJvdmlkZXI6IFZhbHVlUHJvdmlkZXIgPSB7XG4gIHByb3ZpZGU6IHN1Ym1pdFJlc3BvbnNlRmFjdG9yeVRva2VuLFxuICB1c2VWYWx1ZTogKC4uLmFyZ3M6IFN1Ym1pdFJlc3BvbnNlUGFyYW1ldGVycykgPT4gbmV3IFN1Ym1pdFJlc3BvbnNlKC4uLmFyZ3MpLFxufTtcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHNvbGxhLW51bWJlci5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L3JlcXVlc3RzL3N1Ym1pdC9yZXNwb25zZS94c29sbGEtbnVtYmVyLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBYc29sbGFOdW1iZXIge1xuICBhY2NvdW50WHNvbGxhOiBzdHJpbmc7XG4gIGlzTWFwOiBib29sZWFuO1xufVxuIl19
@@ -0,0 +1,82 @@
1
+ import { Inject, Injectable } from '@angular/core';
2
+ import { submitRequestFactoryToken, } from './request/submit-request.token';
3
+ import { submitResponseFactoryToken, } from './response/submit-response.token';
4
+ import { ResponseError } from '../../../exceptions-handling/errors/response-error.class';
5
+ import { UserBehaviourEventName } from '../../../user-behaviour-analytics/user-behaviour-event-name.enum';
6
+ import { userBehaviourEventTypes } from '../../../user-behaviour-analytics/user-behaviour-event/user-behaviour-event-types';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "../../../settings/settings.service";
9
+ import * as i2 from "../../../device-finger-print/device-finger-print.service";
10
+ import * as i3 from "../../xps-api/xps-api.service";
11
+ import * as i4 from "../../../errors-mapping/xps-response-errors-mapping.service";
12
+ import * as i5 from "../../../encrypt-credit-card/encrypt-credit-card.service";
13
+ import * as i6 from "../../../user-behaviour-analytics/user-behaviour-analytics.service";
14
+ import * as i7 from "../../payment-settings/payment-settings.service";
15
+ export class SubmitService {
16
+ constructor(requestFactory, responseFactory, settingsService, deviceFingerPrintService, xpsApiService, xpsResponseErrorsMappingService, encryptCreditCardService, userBehaviourAnalyticsService, paymentSettingsService) {
17
+ this.requestFactory = requestFactory;
18
+ this.responseFactory = responseFactory;
19
+ this.settingsService = settingsService;
20
+ this.deviceFingerPrintService = deviceFingerPrintService;
21
+ this.xpsApiService = xpsApiService;
22
+ this.xpsResponseErrorsMappingService = xpsResponseErrorsMappingService;
23
+ this.encryptCreditCardService = encryptCreditCardService;
24
+ this.userBehaviourAnalyticsService = userBehaviourAnalyticsService;
25
+ this.paymentSettingsService = paymentSettingsService;
26
+ }
27
+ // NB: Never add 'async' statement for this method!
28
+ // 'Async' statement wraps current promise into another.
29
+ // In this way two promises become unequal, that can broke XPS API requests logic.
30
+ // eslint-disable-next-line @typescript-eslint/promise-function-async
31
+ request(fields, form, config) {
32
+ return (this.deviceFingerPrintService
33
+ .getHash()
34
+ // eslint-disable-next-line @typescript-eslint/promise-function-async
35
+ .then((dfpHash) => {
36
+ const paymentSettingsParams = this.paymentSettingsService.getPaymentSettingsParams(config);
37
+ const requestParams = this.requestFactory({
38
+ token: this.settingsService.token,
39
+ fields,
40
+ form,
41
+ dfpHash,
42
+ ...paymentSettingsParams,
43
+ });
44
+ const encryptedRequest = this.encryptCreditCardService.encryptCreditCard(requestParams);
45
+ return this.xpsApiService
46
+ .directPaymentRequest(encryptedRequest)
47
+ .then((xpsResponse) => {
48
+ const response = this.xpsResponseErrorsMappingService.mapErrors(xpsResponse);
49
+ this.fillUserSession(xpsResponse);
50
+ if (response.errors) {
51
+ const logError = (error) => {
52
+ this.userBehaviourAnalyticsService.send(UserBehaviourEventName.showErrorMessage, userBehaviourEventTypes.manual, { value: String(error.code), extraValue: error.message });
53
+ };
54
+ response.errors.forEach(logError);
55
+ }
56
+ return this.responseFactory(response);
57
+ })
58
+ .catch((error) => {
59
+ throw new ResponseError(error.message);
60
+ });
61
+ }));
62
+ }
63
+ fillUserSession(xpsResponse) {
64
+ this.userBehaviourAnalyticsService.fillUserSession({
65
+ ...xpsResponse,
66
+ fields: Object.keys(xpsResponse.form).map((key) => xpsResponse.form[key]),
67
+ });
68
+ }
69
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: SubmitService, deps: [{ token: submitRequestFactoryToken }, { token: submitResponseFactoryToken }, { token: i1.SettingsService }, { token: i2.DeviceFingerPrintService }, { token: i3.XpsApiService }, { token: i4.XpsResponseErrorsMappingService }, { token: i5.EncryptCreditCardService }, { token: i6.UserBehaviourAnalyticsService }, { token: i7.PaymentSettingsService }], target: i0.ɵɵFactoryTarget.Injectable }); }
70
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: SubmitService, providedIn: 'root' }); }
71
+ }
72
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: SubmitService, decorators: [{
73
+ type: Injectable,
74
+ args: [{ providedIn: 'root' }]
75
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
76
+ type: Inject,
77
+ args: [submitRequestFactoryToken]
78
+ }] }, { type: undefined, decorators: [{
79
+ type: Inject,
80
+ args: [submitResponseFactoryToken]
81
+ }] }, { type: i1.SettingsService }, { type: i2.DeviceFingerPrintService }, { type: i3.XpsApiService }, { type: i4.XpsResponseErrorsMappingService }, { type: i5.EncryptCreditCardService }, { type: i6.UserBehaviourAnalyticsService }, { type: i7.PaymentSettingsService }] });
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VibWl0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L3JlcXVlc3RzL3N1Ym1pdC9zdWJtaXQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBRUwseUJBQXlCLEdBQzFCLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEMsT0FBTyxFQUVMLDBCQUEwQixHQUMzQixNQUFNLGtDQUFrQyxDQUFDO0FBSzFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQU16RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUMxRyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtRkFBbUYsQ0FBQzs7Ozs7Ozs7O0FBTTVILE1BQU0sT0FBTyxhQUFhO0lBQ3hCLFlBRW1CLGNBQW9DLEVBRXBDLGVBQXNDLEVBQ3RDLGVBQWdDLEVBQ2hDLHdCQUFrRCxFQUNsRCxhQUE0QixFQUM1QiwrQkFBZ0UsRUFDaEUsd0JBQWtELEVBQ2xELDZCQUE0RCxFQUM1RCxzQkFBOEM7UUFUOUMsbUJBQWMsR0FBZCxjQUFjLENBQXNCO1FBRXBDLG9CQUFlLEdBQWYsZUFBZSxDQUF1QjtRQUN0QyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixvQ0FBK0IsR0FBL0IsK0JBQStCLENBQWlDO1FBQ2hFLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUFDbEQsa0NBQTZCLEdBQTdCLDZCQUE2QixDQUErQjtRQUM1RCwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO0lBQzlELENBQUM7SUFFSixtREFBbUQ7SUFDbkQsd0RBQXdEO0lBQ3hELGtGQUFrRjtJQUVsRixxRUFBcUU7SUFDOUQsT0FBTyxDQUNaLE1BQWUsRUFDZixJQUFzQixFQUN0QixNQUE0QjtRQUU1QixPQUFPLENBQ0wsSUFBSSxDQUFDLHdCQUF3QjthQUMxQixPQUFPLEVBQUU7WUFDVixxRUFBcUU7YUFDcEUsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDaEIsTUFBTSxxQkFBcUIsR0FDekIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBRS9ELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7Z0JBQ3hDLEtBQUssRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUs7Z0JBQ2pDLE1BQU07Z0JBQ04sSUFBSTtnQkFDSixPQUFPO2dCQUNQLEdBQUcscUJBQXFCO2FBQ3pCLENBQUMsQ0FBQztZQUVILE1BQU0sZ0JBQWdCLEdBQ3BCLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxpQkFBaUIsQ0FDN0MsYUFBYSxDQUNkLENBQUM7WUFFSixPQUFPLElBQUksQ0FBQyxhQUFhO2lCQUN0QixvQkFBb0IsQ0FBQyxnQkFBZ0IsQ0FBQztpQkFDdEMsSUFBSSxDQUFDLENBQUMsV0FBd0IsRUFBRSxFQUFFO2dCQUNqQyxNQUFNLFFBQVEsR0FDWixJQUFJLENBQUMsK0JBQStCLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUU5RCxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUVsQyxJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDcEIsTUFBTSxRQUFRLEdBQUcsQ0FBQyxLQUdqQixFQUFRLEVBQUU7d0JBQ1QsSUFBSSxDQUFDLDZCQUE2QixDQUFDLElBQUksQ0FDckMsc0JBQXNCLENBQUMsZ0JBQWdCLEVBQ3ZDLHVCQUF1QixDQUFDLE1BQU0sRUFDOUIsRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxVQUFVLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUN6RCxDQUFDO29CQUNKLENBQUMsQ0FBQztvQkFFRixRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDcEMsQ0FBQztnQkFFRCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDeEMsQ0FBQyxDQUFDO2lCQUNELEtBQUssQ0FBQyxDQUFDLEtBQVksRUFBRSxFQUFFO2dCQUN0QixNQUFNLElBQUksYUFBYSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN6QyxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDSixDQUFDO0lBRU8sZUFBZSxDQUFDLFdBQXdCO1FBQzlDLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxlQUFlLENBQUM7WUFDakQsR0FBRyxXQUFXO1lBQ2QsTUFBTSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FDdkMsQ0FBQyxHQUFXLEVBQVMsRUFBRSxDQUFFLFdBQTJCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUMvRDtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBckZVLGFBQWEsa0JBRWQseUJBQXlCLGFBRXpCLDBCQUEwQjtrSEFKekIsYUFBYSxjQURBLE1BQU07OzJGQUNuQixhQUFhO2tCQUR6QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7MEJBRzdCLE1BQU07MkJBQUMseUJBQXlCOzswQkFFaEMsTUFBTTsyQkFBQywwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4uLy4uL2ZpZWxkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIFN1Ym1pdFJlcXVlc3RGYWN0b3J5LFxuICBzdWJtaXRSZXF1ZXN0RmFjdG9yeVRva2VuLFxufSBmcm9tICcuL3JlcXVlc3Qvc3VibWl0LXJlcXVlc3QudG9rZW4nO1xuaW1wb3J0IHtcbiAgU3VibWl0UmVzcG9uc2VGYWN0b3J5LFxuICBzdWJtaXRSZXNwb25zZUZhY3RvcnlUb2tlbixcbn0gZnJvbSAnLi9yZXNwb25zZS9zdWJtaXQtcmVzcG9uc2UudG9rZW4nO1xuaW1wb3J0IHsgU2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2V0dGluZ3Mvc2V0dGluZ3Muc2VydmljZSc7XG5pbXBvcnQgeyBTdWJtaXRSZXNwb25zZSB9IGZyb20gJy4vcmVzcG9uc2Uvc3VibWl0LXJlc3BvbnNlLmNsYXNzJztcbmltcG9ydCB7IFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBEZXZpY2VGaW5nZXJQcmludFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9kZXZpY2UtZmluZ2VyLXByaW50L2RldmljZS1maW5nZXItcHJpbnQuc2VydmljZSc7XG5pbXBvcnQgeyBSZXNwb25zZUVycm9yIH0gZnJvbSAnLi4vLi4vLi4vZXhjZXB0aW9ucy1oYW5kbGluZy9lcnJvcnMvcmVzcG9uc2UtZXJyb3IuY2xhc3MnO1xuaW1wb3J0IHsgWHBzUmVzcG9uc2UgfSBmcm9tICcuLi8uLi94cHMtcmVzcG9uc2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IFhwc0FwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi94cHMtYXBpL3hwcy1hcGkuc2VydmljZSc7XG5pbXBvcnQgeyBFbmNyeXB0Q3JlZGl0Q2FyZFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9lbmNyeXB0LWNyZWRpdC1jYXJkL2VuY3J5cHQtY3JlZGl0LWNhcmQuc2VydmljZSc7XG5pbXBvcnQgeyBTdWJtaXRSZXF1ZXN0IH0gZnJvbSAnLi9yZXF1ZXN0L3N1Ym1pdC1yZXF1ZXN0LmNsYXNzJztcbmltcG9ydCB7IFhwc1Jlc3BvbnNlRXJyb3JzTWFwcGluZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9lcnJvcnMtbWFwcGluZy94cHMtcmVzcG9uc2UtZXJyb3JzLW1hcHBpbmcuc2VydmljZSc7XG5pbXBvcnQgeyBVc2VyQmVoYXZpb3VyRXZlbnROYW1lIH0gZnJvbSAnLi4vLi4vLi4vdXNlci1iZWhhdmlvdXItYW5hbHl0aWNzL3VzZXItYmVoYXZpb3VyLWV2ZW50LW5hbWUuZW51bSc7XG5pbXBvcnQgeyB1c2VyQmVoYXZpb3VyRXZlbnRUeXBlcyB9IGZyb20gJy4uLy4uLy4uL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy91c2VyLWJlaGF2aW91ci1ldmVudC91c2VyLWJlaGF2aW91ci1ldmVudC10eXBlcyc7XG5pbXBvcnQgeyBVc2VyQmVoYXZpb3VyQW5hbHl0aWNzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy91c2VyLWJlaGF2aW91ci1hbmFseXRpY3Muc2VydmljZSc7XG5pbXBvcnQgeyBQYXltZW50Q29uZmlndXJhdGlvbiB9IGZyb20gJy4uLy4uL3BheW1lbnQtY29uZmlndXJhdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUGF5bWVudFNldHRpbmdzU2VydmljZSB9IGZyb20gJy4uLy4uL3BheW1lbnQtc2V0dGluZ3MvcGF5bWVudC1zZXR0aW5ncy5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBTdWJtaXRTZXJ2aWNlIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3Qoc3VibWl0UmVxdWVzdEZhY3RvcnlUb2tlbilcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlcXVlc3RGYWN0b3J5OiBTdWJtaXRSZXF1ZXN0RmFjdG9yeSxcbiAgICBASW5qZWN0KHN1Ym1pdFJlc3BvbnNlRmFjdG9yeVRva2VuKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVzcG9uc2VGYWN0b3J5OiBTdWJtaXRSZXNwb25zZUZhY3RvcnksXG4gICAgcHJpdmF0ZSByZWFkb25seSBzZXR0aW5nc1NlcnZpY2U6IFNldHRpbmdzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRldmljZUZpbmdlclByaW50U2VydmljZTogRGV2aWNlRmluZ2VyUHJpbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgeHBzQXBpU2VydmljZTogWHBzQXBpU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHhwc1Jlc3BvbnNlRXJyb3JzTWFwcGluZ1NlcnZpY2U6IFhwc1Jlc3BvbnNlRXJyb3JzTWFwcGluZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBlbmNyeXB0Q3JlZGl0Q2FyZFNlcnZpY2U6IEVuY3J5cHRDcmVkaXRDYXJkU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlOiBVc2VyQmVoYXZpb3VyQW5hbHl0aWNzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBheW1lbnRTZXR0aW5nc1NlcnZpY2U6IFBheW1lbnRTZXR0aW5nc1NlcnZpY2VcbiAgKSB7fVxuXG4gIC8vIE5COiBOZXZlciBhZGQgJ2FzeW5jJyBzdGF0ZW1lbnQgZm9yIHRoaXMgbWV0aG9kIVxuICAvLyAnQXN5bmMnIHN0YXRlbWVudCB3cmFwcyBjdXJyZW50IHByb21pc2UgaW50byBhbm90aGVyLlxuICAvLyBJbiB0aGlzIHdheSB0d28gcHJvbWlzZXMgYmVjb21lIHVuZXF1YWwsIHRoYXQgY2FuIGJyb2tlIFhQUyBBUEkgcmVxdWVzdHMgbG9naWMuXG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9wcm9taXNlLWZ1bmN0aW9uLWFzeW5jXG4gIHB1YmxpYyByZXF1ZXN0KFxuICAgIGZpZWxkczogRmllbGRbXSxcbiAgICBmb3JtOiBVbnR5cGVkRm9ybUdyb3VwLFxuICAgIGNvbmZpZzogUGF5bWVudENvbmZpZ3VyYXRpb25cbiAgKTogUHJvbWlzZTxTdWJtaXRSZXNwb25zZT4ge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmRldmljZUZpbmdlclByaW50U2VydmljZVxuICAgICAgICAuZ2V0SGFzaCgpXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvcHJvbWlzZS1mdW5jdGlvbi1hc3luY1xuICAgICAgICAudGhlbigoZGZwSGFzaCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHBheW1lbnRTZXR0aW5nc1BhcmFtcyA9XG4gICAgICAgICAgICB0aGlzLnBheW1lbnRTZXR0aW5nc1NlcnZpY2UuZ2V0UGF5bWVudFNldHRpbmdzUGFyYW1zKGNvbmZpZyk7XG5cbiAgICAgICAgICBjb25zdCByZXF1ZXN0UGFyYW1zID0gdGhpcy5yZXF1ZXN0RmFjdG9yeSh7XG4gICAgICAgICAgICB0b2tlbjogdGhpcy5zZXR0aW5nc1NlcnZpY2UudG9rZW4sXG4gICAgICAgICAgICBmaWVsZHMsXG4gICAgICAgICAgICBmb3JtLFxuICAgICAgICAgICAgZGZwSGFzaCxcbiAgICAgICAgICAgIC4uLnBheW1lbnRTZXR0aW5nc1BhcmFtcyxcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIGNvbnN0IGVuY3J5cHRlZFJlcXVlc3QgPVxuICAgICAgICAgICAgdGhpcy5lbmNyeXB0Q3JlZGl0Q2FyZFNlcnZpY2UuZW5jcnlwdENyZWRpdENhcmQ8U3VibWl0UmVxdWVzdD4oXG4gICAgICAgICAgICAgIHJlcXVlc3RQYXJhbXNcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICByZXR1cm4gdGhpcy54cHNBcGlTZXJ2aWNlXG4gICAgICAgICAgICAuZGlyZWN0UGF5bWVudFJlcXVlc3QoZW5jcnlwdGVkUmVxdWVzdClcbiAgICAgICAgICAgIC50aGVuKCh4cHNSZXNwb25zZTogWHBzUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgcmVzcG9uc2UgPVxuICAgICAgICAgICAgICAgIHRoaXMueHBzUmVzcG9uc2VFcnJvcnNNYXBwaW5nU2VydmljZS5tYXBFcnJvcnMoeHBzUmVzcG9uc2UpO1xuXG4gICAgICAgICAgICAgIHRoaXMuZmlsbFVzZXJTZXNzaW9uKHhwc1Jlc3BvbnNlKTtcblxuICAgICAgICAgICAgICBpZiAocmVzcG9uc2UuZXJyb3JzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbG9nRXJyb3IgPSAoZXJyb3I6IHtcbiAgICAgICAgICAgICAgICAgIGNvZGU6IG51bWJlcjtcbiAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IHN0cmluZztcbiAgICAgICAgICAgICAgICB9KTogdm9pZCA9PiB7XG4gICAgICAgICAgICAgICAgICB0aGlzLnVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlLnNlbmQoXG4gICAgICAgICAgICAgICAgICAgIFVzZXJCZWhhdmlvdXJFdmVudE5hbWUuc2hvd0Vycm9yTWVzc2FnZSxcbiAgICAgICAgICAgICAgICAgICAgdXNlckJlaGF2aW91ckV2ZW50VHlwZXMubWFudWFsLFxuICAgICAgICAgICAgICAgICAgICB7IHZhbHVlOiBTdHJpbmcoZXJyb3IuY29kZSksIGV4dHJhVmFsdWU6IGVycm9yLm1lc3NhZ2UgfVxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgcmVzcG9uc2UuZXJyb3JzLmZvckVhY2gobG9nRXJyb3IpO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucmVzcG9uc2VGYWN0b3J5KHJlc3BvbnNlKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4ge1xuICAgICAgICAgICAgICB0aHJvdyBuZXcgUmVzcG9uc2VFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGZpbGxVc2VyU2Vzc2lvbih4cHNSZXNwb25zZTogWHBzUmVzcG9uc2UpOiB2b2lkIHtcbiAgICB0aGlzLnVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlLmZpbGxVc2VyU2Vzc2lvbih7XG4gICAgICAuLi54cHNSZXNwb25zZSxcbiAgICAgIGZpZWxkczogT2JqZWN0LmtleXMoeHBzUmVzcG9uc2UuZm9ybSkubWFwKFxuICAgICAgICAoa2V5OiBzdHJpbmcpOiBGaWVsZCA9PiAoeHBzUmVzcG9uc2UgYXMgWHBzUmVzcG9uc2UpLmZvcm1ba2V5XVxuICAgICAgKSxcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtYXN5bmMtdmFsaWRhdGlvbi5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L3JlcXVlc3RzL3N5bmMvZmllbGQtYXN5bmMtdmFsaWRhdGlvbi5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpZWxkIH0gZnJvbSAnLi4vLi4vZmllbGQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFN5bmNSZXNwb25zZSB9IGZyb20gJy4vcmVzcG9uc2Uvc3luYy1yZXNwb25zZS5jbGFzcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmllbGRBc3luY1ZhbGlkYXRpb24ge1xuICB2YWx1ZTogdW5rbm93bjtcbiAgZmllbGQ6IEZpZWxkO1xuICByZXNwb25zZTogU3luY1Jlc3BvbnNlO1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtc3luYy1zdGF0ZS5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L3JlcXVlc3RzL3N5bmMvZmllbGQtc3luYy1zdGF0ZS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN5bmNSZXNwb25zZSB9IGZyb20gJy4vcmVzcG9uc2Uvc3luYy1yZXNwb25zZS5jbGFzcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmllbGRTeW5jU3RhdGUge1xuICB2YWx1ZTogdW5rbm93bjtcbiAgcmVzdWx0OiBQcm9taXNlPFN5bmNSZXNwb25zZSB8IG51bGw+O1xufVxuIl19
@@ -0,0 +1,34 @@
1
+ import { XpsApiPartRequest } from '../../../xps-api/xps-api-part-request.abstract';
2
+ /* eslint-disable @typescript-eslint/naming-convention */
3
+ export class SyncRequest extends XpsApiPartRequest {
4
+ constructor({ token, changedField, fields, form, ...parameters }) {
5
+ super();
6
+ this.xps_fix_command = 'calculate';
7
+ this.access_token = token;
8
+ const fieldsValues = this.getFieldsValues(changedField, fields, form);
9
+ this.addParameters(parameters);
10
+ this.addXpsParameters({
11
+ ...fieldsValues,
12
+ change_element: changedField.name,
13
+ fix_command: changedField.javascript?.change?.staticParams?.fix_command ??
14
+ this.xps_fix_command,
15
+ });
16
+ }
17
+ getFieldsValues(changedField, fields, form) {
18
+ const fieldsMap = this.getFieldsMap(fields);
19
+ return changedField?.javascript?.change.params.reduce((xpsParams, fieldName) => {
20
+ const formControl = form.get(fieldName);
21
+ const field = fieldsMap.get(fieldName);
22
+ if (formControl || field) {
23
+ xpsParams[fieldName] = formControl?.value ?? field?.value;
24
+ }
25
+ return xpsParams;
26
+ }, {});
27
+ }
28
+ getFieldsMap(fields) {
29
+ const map = new Map();
30
+ fields.forEach((field) => map.set(field.name, field));
31
+ return map;
32
+ }
33
+ }
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy1yZXF1ZXN0LmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9yZXF1ZXN0cy9zeW5jL3JlcXVlc3Qvc3luYy1yZXF1ZXN0LmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBRW5GLHlEQUF5RDtBQUN6RCxNQUFNLE9BQU8sV0FBWSxTQUFRLGlCQUFpQjtJQUloRCxZQUFtQixFQUNqQixLQUFLLEVBQ0wsWUFBWSxFQUNaLE1BQU0sRUFDTixJQUFJLEVBQ0osR0FBRyxVQUFVLEVBT2Q7UUFDQyxLQUFLLEVBQUUsQ0FBQztRQWZNLG9CQUFlLEdBQUcsV0FBVyxDQUFDO1FBaUI1QyxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUUxQixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFdEUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUUvQixJQUFJLENBQUMsZ0JBQWdCLENBQUM7WUFDcEIsR0FBRyxZQUFZO1lBQ2YsY0FBYyxFQUFFLFlBQVksQ0FBQyxJQUFJO1lBQ2pDLFdBQVcsRUFDVCxZQUFZLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsV0FBVztnQkFDMUQsSUFBSSxDQUFDLGVBQWU7U0FDdkIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGVBQWUsQ0FDckIsWUFBbUIsRUFDbkIsTUFBZSxFQUNmLElBQXNCO1FBRXRCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDNUMsT0FBTyxZQUFZLEVBQUUsVUFBVSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUNuRCxDQUFDLFNBQW9DLEVBQUUsU0FBaUIsRUFBRSxFQUFFO1lBQzFELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDeEMsTUFBTSxLQUFLLEdBQXNCLFNBQVMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7WUFFMUQsSUFBSSxXQUFXLElBQUksS0FBSyxFQUFFLENBQUM7Z0JBQ3pCLFNBQVMsQ0FBQyxTQUFTLENBQUMsR0FBRyxXQUFXLEVBQUUsS0FBSyxJQUFJLEtBQUssRUFBRSxLQUFLLENBQUM7WUFDNUQsQ0FBQztZQUVELE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUMsRUFDRCxFQUFFLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFTyxZQUFZLENBQUMsTUFBZTtRQUNsQyxNQUFNLEdBQUcsR0FBRyxJQUFJLEdBQUcsRUFBaUIsQ0FBQztRQUNyQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUN0RCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4uLy4uLy4uL2ZpZWxkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBYcHNBcGlQYXJ0UmVxdWVzdCB9IGZyb20gJy4uLy4uLy4uL3hwcy1hcGkveHBzLWFwaS1wYXJ0LXJlcXVlc3QuYWJzdHJhY3QnO1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb24gKi9cbmV4cG9ydCBjbGFzcyBTeW5jUmVxdWVzdCBleHRlbmRzIFhwc0FwaVBhcnRSZXF1ZXN0IHtcbiAgcHVibGljIHJlYWRvbmx5IGFjY2Vzc190b2tlbjogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgeHBzX2ZpeF9jb21tYW5kID0gJ2NhbGN1bGF0ZSc7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHtcbiAgICB0b2tlbixcbiAgICBjaGFuZ2VkRmllbGQsXG4gICAgZmllbGRzLFxuICAgIGZvcm0sXG4gICAgLi4ucGFyYW1ldGVyc1xuICB9OiB7XG4gICAgdG9rZW46IHN0cmluZztcbiAgICBjaGFuZ2VkRmllbGQ6IEZpZWxkO1xuICAgIGZpZWxkczogRmllbGRbXTtcbiAgICBmb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xuICAgIFtrZXk6IHN0cmluZ106IHVua25vd247XG4gIH0pIHtcbiAgICBzdXBlcigpO1xuXG4gICAgdGhpcy5hY2Nlc3NfdG9rZW4gPSB0b2tlbjtcblxuICAgIGNvbnN0IGZpZWxkc1ZhbHVlcyA9IHRoaXMuZ2V0RmllbGRzVmFsdWVzKGNoYW5nZWRGaWVsZCwgZmllbGRzLCBmb3JtKTtcblxuICAgIHRoaXMuYWRkUGFyYW1ldGVycyhwYXJhbWV0ZXJzKTtcblxuICAgIHRoaXMuYWRkWHBzUGFyYW1ldGVycyh7XG4gICAgICAuLi5maWVsZHNWYWx1ZXMsXG4gICAgICBjaGFuZ2VfZWxlbWVudDogY2hhbmdlZEZpZWxkLm5hbWUsXG4gICAgICBmaXhfY29tbWFuZDpcbiAgICAgICAgY2hhbmdlZEZpZWxkLmphdmFzY3JpcHQ/LmNoYW5nZT8uc3RhdGljUGFyYW1zPy5maXhfY29tbWFuZCA/P1xuICAgICAgICB0aGlzLnhwc19maXhfY29tbWFuZCxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RmllbGRzVmFsdWVzKFxuICAgIGNoYW5nZWRGaWVsZDogRmllbGQsXG4gICAgZmllbGRzOiBGaWVsZFtdLFxuICAgIGZvcm06IFVudHlwZWRGb3JtR3JvdXBcbiAgKTogeyBba2V5OiBzdHJpbmddOiB1bmtub3duIH0gfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGZpZWxkc01hcCA9IHRoaXMuZ2V0RmllbGRzTWFwKGZpZWxkcyk7XG4gICAgcmV0dXJuIGNoYW5nZWRGaWVsZD8uamF2YXNjcmlwdD8uY2hhbmdlLnBhcmFtcy5yZWR1Y2UoXG4gICAgICAoeHBzUGFyYW1zOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9LCBmaWVsZE5hbWU6IHN0cmluZykgPT4ge1xuICAgICAgICBjb25zdCBmb3JtQ29udHJvbCA9IGZvcm0uZ2V0KGZpZWxkTmFtZSk7XG4gICAgICAgIGNvbnN0IGZpZWxkOiBGaWVsZCB8IHVuZGVmaW5lZCA9IGZpZWxkc01hcC5nZXQoZmllbGROYW1lKTtcblxuICAgICAgICBpZiAoZm9ybUNvbnRyb2wgfHwgZmllbGQpIHtcbiAgICAgICAgICB4cHNQYXJhbXNbZmllbGROYW1lXSA9IGZvcm1Db250cm9sPy52YWx1ZSA/PyBmaWVsZD8udmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4geHBzUGFyYW1zO1xuICAgICAgfSxcbiAgICAgIHt9XG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RmllbGRzTWFwKGZpZWxkczogRmllbGRbXSk6IE1hcDxzdHJpbmcsIEZpZWxkPiB7XG4gICAgY29uc3QgbWFwID0gbmV3IE1hcDxzdHJpbmcsIEZpZWxkPigpO1xuICAgIGZpZWxkcy5mb3JFYWNoKChmaWVsZCkgPT4gbWFwLnNldChmaWVsZC5uYW1lLCBmaWVsZCkpO1xuICAgIHJldHVybiBtYXA7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,8 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import { SyncRequest } from './sync-request.class';
3
+ export const syncRequestFactoryToken = new InjectionToken('SyncRequest');
4
+ export const syncRequestFactoryProvider = {
5
+ provide: syncRequestFactoryToken,
6
+ useValue: (...args) => new SyncRequest(...args),
7
+ };
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy1yZXF1ZXN0LnRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9yZXF1ZXN0cy9zeW5jL3JlcXVlc3Qvc3luYy1yZXF1ZXN0LnRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQVFuRCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FDbEMsSUFBSSxjQUFjLENBQXFCLGFBQWEsQ0FBQyxDQUFDO0FBRXhELE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFrQjtJQUN2RCxPQUFPLEVBQUUsdUJBQXVCO0lBQ2hDLFFBQVEsRUFBRSxDQUFDLEdBQUcsSUFBMkIsRUFBRSxFQUFFLENBQUMsSUFBSSxXQUFXLENBQUMsR0FBRyxJQUFJLENBQUM7Q0FDdkUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuLCBWYWx1ZVByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTeW5jUmVxdWVzdCB9IGZyb20gJy4vc3luYy1yZXF1ZXN0LmNsYXNzJztcblxuZXhwb3J0IHR5cGUgU3luY1JlcXVlc3RQYXJhbWV0ZXJzID0gQ29uc3RydWN0b3JQYXJhbWV0ZXJzPHR5cGVvZiBTeW5jUmVxdWVzdD47XG5cbmV4cG9ydCB0eXBlIFN5bmNSZXF1ZXN0RmFjdG9yeSA9IChcbiAgLi4uYXJnczogU3luY1JlcXVlc3RQYXJhbWV0ZXJzXG4pID0+IFN5bmNSZXF1ZXN0O1xuXG5leHBvcnQgY29uc3Qgc3luY1JlcXVlc3RGYWN0b3J5VG9rZW46IEluamVjdGlvblRva2VuPFN5bmNSZXF1ZXN0RmFjdG9yeT4gPVxuICBuZXcgSW5qZWN0aW9uVG9rZW48U3luY1JlcXVlc3RGYWN0b3J5PignU3luY1JlcXVlc3QnKTtcblxuZXhwb3J0IGNvbnN0IHN5bmNSZXF1ZXN0RmFjdG9yeVByb3ZpZGVyOiBWYWx1ZVByb3ZpZGVyID0ge1xuICBwcm92aWRlOiBzeW5jUmVxdWVzdEZhY3RvcnlUb2tlbixcbiAgdXNlVmFsdWU6ICguLi5hcmdzOiBTeW5jUmVxdWVzdFBhcmFtZXRlcnMpID0+IG5ldyBTeW5jUmVxdWVzdCguLi5hcmdzKSxcbn07XG4iXX0=
@@ -0,0 +1,17 @@
1
+ export class SyncResponse {
2
+ constructor(changedField, response) {
3
+ this.error = null;
4
+ const fieldError = response?.errors?.find((error) => error.element_name === changedField.name);
5
+ if (fieldError) {
6
+ this.error = {
7
+ asyncError: {
8
+ code: fieldError.code,
9
+ message: fieldError.message,
10
+ },
11
+ };
12
+ }
13
+ this.fields = Object.keys(response.form).map((key) => response.form[key]);
14
+ this.parameters = response;
15
+ }
16
+ }
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy1yZXNwb25zZS5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQvcmVxdWVzdHMvc3luYy9yZXNwb25zZS9zeW5jLXJlc3BvbnNlLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE1BQU0sT0FBTyxZQUFZO0lBS3ZCLFlBQW1CLFlBQW1CLEVBQUUsUUFBcUI7UUFKN0MsVUFBSyxHQUE0QixJQUFJLENBQUM7UUFLcEQsTUFBTSxVQUFVLEdBQUcsUUFBUSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQ3ZDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsWUFBWSxLQUFLLFlBQVksQ0FBQyxJQUFJLENBQ3BELENBQUM7UUFFRixJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLEtBQUssR0FBRztnQkFDWCxVQUFVLEVBQUU7b0JBQ1YsSUFBSSxFQUFFLFVBQVUsQ0FBQyxJQUFJO29CQUNyQixPQUFPLEVBQUUsVUFBVSxDQUFDLE9BQU87aUJBQzVCO2FBQ0YsQ0FBQztRQUNKLENBQUM7UUFFRCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FDMUMsQ0FBQyxHQUFXLEVBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQzNDLENBQUM7UUFFRixJQUFJLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQztJQUM3QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRmllbGQgfSBmcm9tICcuLi8uLi8uLi9maWVsZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgWHBzUmVzcG9uc2UgfSBmcm9tICcuLi8uLi8uLi94cHMtcmVzcG9uc2UuaW50ZXJmYWNlJztcblxuZXhwb3J0IGNsYXNzIFN5bmNSZXNwb25zZSB7XG4gIHB1YmxpYyByZWFkb25seSBlcnJvcjogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPSBudWxsO1xuICBwdWJsaWMgcmVhZG9ubHkgZmllbGRzOiBGaWVsZFtdO1xuICBwdWJsaWMgcmVhZG9ubHkgcGFyYW1ldGVyczogWHBzUmVzcG9uc2U7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKGNoYW5nZWRGaWVsZDogRmllbGQsIHJlc3BvbnNlOiBYcHNSZXNwb25zZSkge1xuICAgIGNvbnN0IGZpZWxkRXJyb3IgPSByZXNwb25zZT8uZXJyb3JzPy5maW5kKFxuICAgICAgKGVycm9yKSA9PiBlcnJvci5lbGVtZW50X25hbWUgPT09IGNoYW5nZWRGaWVsZC5uYW1lXG4gICAgKTtcblxuICAgIGlmIChmaWVsZEVycm9yKSB7XG4gICAgICB0aGlzLmVycm9yID0ge1xuICAgICAgICBhc3luY0Vycm9yOiB7XG4gICAgICAgICAgY29kZTogZmllbGRFcnJvci5jb2RlLFxuICAgICAgICAgIG1lc3NhZ2U6IGZpZWxkRXJyb3IubWVzc2FnZSxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgdGhpcy5maWVsZHMgPSBPYmplY3Qua2V5cyhyZXNwb25zZS5mb3JtKS5tYXAoXG4gICAgICAoa2V5OiBzdHJpbmcpOiBGaWVsZCA9PiByZXNwb25zZS5mb3JtW2tleV1cbiAgICApO1xuXG4gICAgdGhpcy5wYXJhbWV0ZXJzID0gcmVzcG9uc2U7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,8 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import { SyncResponse } from './sync-response.class';
3
+ export const syncResponseFactoryToken = new InjectionToken('SyncResponse');
4
+ export const syncResponseFactoryProvider = {
5
+ provide: syncResponseFactoryToken,
6
+ useValue: (...args) => new SyncResponse(...args),
7
+ };
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy1yZXNwb25zZS50b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQvcmVxdWVzdHMvc3luYy9yZXNwb25zZS9zeW5jLXJlc3BvbnNlLnRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQVFyRCxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FDbkMsSUFBSSxjQUFjLENBQXNCLGNBQWMsQ0FBQyxDQUFDO0FBRTFELE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFrQjtJQUN4RCxPQUFPLEVBQUUsd0JBQXdCO0lBQ2pDLFFBQVEsRUFBRSxDQUFDLEdBQUcsSUFBNEIsRUFBRSxFQUFFLENBQUMsSUFBSSxZQUFZLENBQUMsR0FBRyxJQUFJLENBQUM7Q0FDekUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuLCBWYWx1ZVByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTeW5jUmVzcG9uc2UgfSBmcm9tICcuL3N5bmMtcmVzcG9uc2UuY2xhc3MnO1xuXG5leHBvcnQgdHlwZSBTeW5jUmVzcG9uc2VQYXJhbWV0ZXJzID0gQ29uc3RydWN0b3JQYXJhbWV0ZXJzPHR5cGVvZiBTeW5jUmVzcG9uc2U+O1xuXG5leHBvcnQgdHlwZSBTeW5jUmVzcG9uc2VGYWN0b3J5ID0gKFxuICAuLi5hcmdzOiBTeW5jUmVzcG9uc2VQYXJhbWV0ZXJzXG4pID0+IFN5bmNSZXNwb25zZTtcblxuZXhwb3J0IGNvbnN0IHN5bmNSZXNwb25zZUZhY3RvcnlUb2tlbjogSW5qZWN0aW9uVG9rZW48U3luY1Jlc3BvbnNlRmFjdG9yeT4gPVxuICBuZXcgSW5qZWN0aW9uVG9rZW48U3luY1Jlc3BvbnNlRmFjdG9yeT4oJ1N5bmNSZXNwb25zZScpO1xuXG5leHBvcnQgY29uc3Qgc3luY1Jlc3BvbnNlRmFjdG9yeVByb3ZpZGVyOiBWYWx1ZVByb3ZpZGVyID0ge1xuICBwcm92aWRlOiBzeW5jUmVzcG9uc2VGYWN0b3J5VG9rZW4sXG4gIHVzZVZhbHVlOiAoLi4uYXJnczogU3luY1Jlc3BvbnNlUGFyYW1ldGVycykgPT4gbmV3IFN5bmNSZXNwb25zZSguLi5hcmdzKSxcbn07XG4iXX0=
@@ -0,0 +1,184 @@
1
+ import { Inject, Injectable } from '@angular/core';
2
+ import { UntypedFormGroup, } from '@angular/forms';
3
+ import { Subject } from 'rxjs';
4
+ import { EmitDataService } from '../../emit-data.service.abstract';
5
+ import { syncRequestFactoryToken, } from './request/sync-request.token';
6
+ import { syncResponseFactoryToken, } from './response/sync-response.token';
7
+ import { UserBehaviourEventName } from '../../../user-behaviour-analytics/user-behaviour-event-name.enum';
8
+ import { userBehaviourEventTypes } from '../../../user-behaviour-analytics/user-behaviour-event/user-behaviour-event-types';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "../../xps-api/xps-api.service";
11
+ import * as i2 from "../../actions/next-action.service";
12
+ import * as i3 from "../../../settings/settings.service";
13
+ import * as i4 from "../../../errors-mapping/xps-response-errors-mapping.service";
14
+ import * as i5 from "../../../encrypt-credit-card/encrypt-credit-card.service";
15
+ import * as i6 from "../../actions/show-errors/show-errors.action.class";
16
+ import * as i7 from "../../../user-behaviour-analytics/user-behaviour-analytics.service";
17
+ import * as i8 from "../../payment-settings/payment-settings.service";
18
+ export class SyncService extends EmitDataService {
19
+ constructor(requestFactory, responseFactory, xpsApiService, nextActionService, settingsService, xpsResponseErrorsMappingService, encryptCreditCardService, showErrorsActionCreator, userBehaviourAnalyticsService, paymentSettingsService) {
20
+ super();
21
+ this.requestFactory = requestFactory;
22
+ this.responseFactory = responseFactory;
23
+ this.xpsApiService = xpsApiService;
24
+ this.nextActionService = nextActionService;
25
+ this.settingsService = settingsService;
26
+ this.xpsResponseErrorsMappingService = xpsResponseErrorsMappingService;
27
+ this.encryptCreditCardService = encryptCreditCardService;
28
+ this.showErrorsActionCreator = showErrorsActionCreator;
29
+ this.userBehaviourAnalyticsService = userBehaviourAnalyticsService;
30
+ this.paymentSettingsService = paymentSettingsService;
31
+ this.prevFieldSyncStates = {};
32
+ this.form = new UntypedFormGroup({});
33
+ this.paymentConfiguration = null;
34
+ this.fields = [];
35
+ this.fieldSyncTimers = {};
36
+ this.fieldAsyncValidation = new Subject();
37
+ }
38
+ get fieldAsyncValidation$() {
39
+ return this.fieldAsyncValidation.asObservable();
40
+ }
41
+ setup(form, fields, config) {
42
+ this.reset();
43
+ this.form = form;
44
+ this.fields = fields;
45
+ this.paymentConfiguration = config;
46
+ }
47
+ reset() {
48
+ this.prevFieldSyncStates = {};
49
+ this.form = new UntypedFormGroup({});
50
+ this.fields = [];
51
+ this.paymentConfiguration = null;
52
+ }
53
+ async validate(field, delay = Number('750')) {
54
+ if (!this.isReadyField(field)) {
55
+ return Promise.resolve(null);
56
+ }
57
+ const control = this.form.get(field.name);
58
+ const value = control?.value;
59
+ const prevFieldState = this.getPrevFieldSyncState(field);
60
+ const isInitialValue = value === field.value && !prevFieldState;
61
+ if (isInitialValue) {
62
+ return Promise.resolve(null);
63
+ }
64
+ if (prevFieldState && value === prevFieldState.value) {
65
+ return Promise.resolve(prevFieldState.result).then((response) => {
66
+ return response?.error ?? null;
67
+ });
68
+ }
69
+ const updateFieldState = async () => {
70
+ const requestPromise = this.request(field);
71
+ this.setPrevFieldSyncState(field, value, requestPromise);
72
+ return requestPromise.then((response) => {
73
+ this.fieldAsyncValidation.next({
74
+ value,
75
+ field,
76
+ response,
77
+ });
78
+ return response.error ?? null;
79
+ });
80
+ };
81
+ return new Promise((resolve) => {
82
+ if (delay) {
83
+ const timerId = setTimeout(() => {
84
+ if (value !== control?.value) {
85
+ return resolve(null);
86
+ }
87
+ void updateFieldState().then((errors) => resolve(errors));
88
+ }, delay);
89
+ this.resetFieldSyncTimer(field, Number(timerId));
90
+ }
91
+ else {
92
+ void updateFieldState().then((errors) => resolve(errors));
93
+ }
94
+ });
95
+ }
96
+ async forceValidate(field) {
97
+ const control = this.form.get(field.name);
98
+ const value = control?.value;
99
+ const isHaveField = this.fields.some((savedFields) => savedFields.name === field.name);
100
+ if (!isHaveField) {
101
+ this.fields.push(field);
102
+ }
103
+ return this.request(field).then((syncResponse) => {
104
+ this.setPrevFieldSyncState(field, value, Promise.resolve(syncResponse));
105
+ this.fieldAsyncValidation.next({
106
+ value,
107
+ field,
108
+ response: syncResponse,
109
+ });
110
+ return syncResponse;
111
+ });
112
+ }
113
+ removeField(fieldName) {
114
+ this.fields = this.fields.filter((field) => field.name !== fieldName);
115
+ }
116
+ getSyncValidationErrors(field) {
117
+ const control = this.form.get(field.name);
118
+ return control?.errors ?? null;
119
+ }
120
+ async request(field, fields, form) {
121
+ const paymentSettingsParams = this.paymentSettingsService.getPaymentSettingsParams(this.paymentConfiguration);
122
+ const requestParams = this.requestFactory({
123
+ token: this.settingsService.token,
124
+ changedField: field,
125
+ fields: fields ?? this.fields,
126
+ form: form ?? this.form,
127
+ ...paymentSettingsParams,
128
+ });
129
+ const encryptedRequest = this.encryptCreditCardService.encryptCreditCard(requestParams);
130
+ return this.xpsApiService
131
+ .directPaymentRequest(encryptedRequest)
132
+ .then((xpsResponse) => {
133
+ const response = this.xpsResponseErrorsMappingService.mapErrors(xpsResponse);
134
+ this.emitFormErrors(response);
135
+ this.emit(response);
136
+ return this.responseFactory(field, response);
137
+ });
138
+ }
139
+ isReadyField(field) {
140
+ const isSyncEnabled = !!field.javascript?.change;
141
+ const isExistsInForm = !!this.form?.get(field.name);
142
+ return isSyncEnabled && isExistsInForm;
143
+ }
144
+ getPrevFieldSyncState(field) {
145
+ return this.prevFieldSyncStates[field.name];
146
+ }
147
+ setPrevFieldSyncState(field, value, result) {
148
+ this.prevFieldSyncStates[field.name] = { value, result };
149
+ }
150
+ emitFormErrors(response) {
151
+ if (response.errors) {
152
+ const logError = (error) => {
153
+ this.userBehaviourAnalyticsService.send(UserBehaviourEventName.showErrorMessage, userBehaviourEventTypes.manual, { value: String(error.code), extraValue: error.message });
154
+ };
155
+ response.errors.forEach(logError);
156
+ }
157
+ const formErrors = response.errors?.filter((error) => !error.element_name);
158
+ if (formErrors?.length) {
159
+ this.nextActionService.emitFlowUpdates(this.showErrorsActionCreator.getActionData(formErrors));
160
+ }
161
+ }
162
+ resetFieldSyncTimer(field, timerId) {
163
+ const prevTimerId = this.fieldSyncTimers[field.name];
164
+ if (prevTimerId) {
165
+ clearTimeout(prevTimerId);
166
+ }
167
+ this.fieldSyncTimers[field.name] = timerId;
168
+ }
169
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: SyncService, deps: [{ token: syncRequestFactoryToken }, { token: syncResponseFactoryToken }, { token: i1.XpsApiService }, { token: i2.NextActionService }, { token: i3.SettingsService }, { token: i4.XpsResponseErrorsMappingService }, { token: i5.EncryptCreditCardService }, { token: i6.ShowErrorsActionCreator }, { token: i7.UserBehaviourAnalyticsService }, { token: i8.PaymentSettingsService }], target: i0.ɵɵFactoryTarget.Injectable }); }
170
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: SyncService, providedIn: 'root' }); }
171
+ }
172
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: SyncService, decorators: [{
173
+ type: Injectable,
174
+ args: [{
175
+ providedIn: 'root',
176
+ }]
177
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
178
+ type: Inject,
179
+ args: [syncRequestFactoryToken]
180
+ }] }, { type: undefined, decorators: [{
181
+ type: Inject,
182
+ args: [syncResponseFactoryToken]
183
+ }] }, { type: i1.XpsApiService }, { type: i2.NextActionService }, { type: i3.SettingsService }, { type: i4.XpsResponseErrorsMappingService }, { type: i5.EncryptCreditCardService }, { type: i6.ShowErrorsActionCreator }, { type: i7.UserBehaviourAnalyticsService }, { type: i8.PaymentSettingsService }] });
184
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9yZXF1ZXN0cy9zeW5jL3N5bmMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBRUwsZ0JBQWdCLEdBRWpCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFJbkUsT0FBTyxFQUVMLHVCQUF1QixHQUN4QixNQUFNLDhCQUE4QixDQUFDO0FBRXRDLE9BQU8sRUFFTCx3QkFBd0IsR0FDekIsTUFBTSxnQ0FBZ0MsQ0FBQztBQVN4QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUMxRyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtRkFBbUYsQ0FBQzs7Ozs7Ozs7OztBQU81SCxNQUFNLE9BQU8sV0FBWSxTQUFRLGVBQTRCO0lBUTNELFlBRW1CLGNBQWtDLEVBRWxDLGVBQW9DLEVBQ3BDLGFBQTRCLEVBQzVCLGlCQUFvQyxFQUNwQyxlQUFnQyxFQUNoQywrQkFBZ0UsRUFDaEUsd0JBQWtELEVBQ2xELHVCQUFnRCxFQUNoRCw2QkFBNEQsRUFDNUQsc0JBQThDO1FBRS9ELEtBQUssRUFBRSxDQUFDO1FBWlMsbUJBQWMsR0FBZCxjQUFjLENBQW9CO1FBRWxDLG9CQUFlLEdBQWYsZUFBZSxDQUFxQjtRQUNwQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxv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V0FBVyxDQUFDLENBQUM7UUFDNUIsQ0FBQztRQUVELElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLE9BQU8sQ0FBQztJQUM3QyxDQUFDOzhHQXJPVSxXQUFXLGtCQVNaLHVCQUF1QixhQUV2Qix3QkFBd0I7a0hBWHZCLFdBQVcsY0FGVixNQUFNOzsyRkFFUCxXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBVUksTUFBTTsyQkFBQyx1QkFBdUI7OzBCQUU5QixNQUFNOzJCQUFDLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBVbnR5cGVkRm9ybUdyb3VwLFxuICBWYWxpZGF0aW9uRXJyb3JzLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTZXR0aW5nc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXR0aW5ncy9zZXR0aW5ncy5zZXJ2aWNlJztcbmltcG9ydCB7IEVtaXREYXRhU2VydmljZSB9IGZyb20gJy4uLy4uL2VtaXQtZGF0YS5zZXJ2aWNlLmFic3RyYWN0JztcbmltcG9ydCB7IEZpZWxkIH0gZnJvbSAnLi4vLi4vZmllbGQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFhwc1Jlc3BvbnNlIH0gZnJvbSAnLi4vLi4veHBzLXJlc3BvbnNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGaWVsZFN5bmNTdGF0ZSB9IGZyb20gJy4vZmllbGQtc3luYy1zdGF0ZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHtcbiAgU3luY1JlcXVlc3RGYWN0b3J5LFxuICBzeW5jUmVxdWVzdEZhY3RvcnlUb2tlbixcbn0gZnJvbSAnLi9yZXF1ZXN0L3N5bmMtcmVxdWVzdC50b2tlbic7XG5pbXBvcnQgeyBTeW5jUmVzcG9uc2UgfSBmcm9tICcuL3Jlc3BvbnNlL3N5bmMtcmVzcG9uc2UuY2xhc3MnO1xuaW1wb3J0IHtcbiAgU3luY1Jlc3BvbnNlRmFjdG9yeSxcbiAgc3luY1Jlc3BvbnNlRmFjdG9yeVRva2VuLFxufSBmcm9tICcuL3Jlc3BvbnNlL3N5bmMtcmVzcG9uc2UudG9rZW4nO1xuaW1wb3J0IHsgTmV4dEFjdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9hY3Rpb25zL25leHQtYWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2hvd0Vycm9yc0FjdGlvbkNyZWF0b3IgfSBmcm9tICcuLi8uLi9hY3Rpb25zL3Nob3ctZXJyb3JzL3Nob3ctZXJyb3JzLmFjdGlvbi5jbGFzcyc7XG5pbXBvcnQgeyBYcHNBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4veHBzLWFwaS94cHMtYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgRmllbGRBc3luY1ZhbGlkYXRpb24gfSBmcm9tICcuL2ZpZWxkLWFzeW5jLXZhbGlkYXRpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IEVuY3J5cHRDcmVkaXRDYXJkU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2VuY3J5cHQtY3JlZGl0LWNhcmQvZW5jcnlwdC1jcmVkaXQtY2FyZC5zZXJ2aWNlJztcbmltcG9ydCB7IFN5bmNSZXF1ZXN0IH0gZnJvbSAnLi9yZXF1ZXN0L3N5bmMtcmVxdWVzdC5jbGFzcyc7XG5pbXBvcnQgeyBYcHNSZXNwb25zZUVycm9yc01hcHBpbmdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vZXJyb3JzLW1hcHBpbmcveHBzLXJlc3BvbnNlLWVycm9ycy1tYXBwaW5nLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXNlckJlaGF2aW91ckFuYWx5dGljc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi91c2VyLWJlaGF2aW91ci1hbmFseXRpY3MvdXNlci1iZWhhdmlvdXItYW5hbHl0aWNzLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXNlckJlaGF2aW91ckV2ZW50TmFtZSB9IGZyb20gJy4uLy4uLy4uL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy91c2VyLWJlaGF2aW91ci1ldmVudC1uYW1lLmVudW0nO1xuaW1wb3J0IHsgdXNlckJlaGF2aW91ckV2ZW50VHlwZXMgfSBmcm9tICcuLi8uLi8uLi91c2VyLWJlaGF2aW91ci1hbmFseXRpY3MvdXNlci1iZWhhdmlvdXItZXZlbnQvdXNlci1iZWhhdmlvdXItZXZlbnQtdHlwZXMnO1xuaW1wb3J0IHsgUGF5bWVudENvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi8uLi9wYXltZW50LWNvbmZpZ3VyYXRpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IFBheW1lbnRTZXR0aW5nc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9wYXltZW50LXNldHRpbmdzL3BheW1lbnQtc2V0dGluZ3Muc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTeW5jU2VydmljZSBleHRlbmRzIEVtaXREYXRhU2VydmljZTxYcHNSZXNwb25zZT4ge1xuICBwcml2YXRlIHByZXZGaWVsZFN5bmNTdGF0ZXM6IHsgW2ZpZWxkTmFtZTogc3RyaW5nXTogRmllbGRTeW5jU3RhdGUgfSA9IHt9O1xuICBwcml2YXRlIGZvcm06IFVudHlwZWRGb3JtR3JvdXAgPSBuZXcgVW50eXBlZEZvcm1Hcm91cCh7fSk7XG4gIHByaXZhdGUgcGF5bWVudENvbmZpZ3VyYXRpb246IFBheW1lbnRDb25maWd1cmF0aW9uIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgZmllbGRzOiBGaWVsZFtdID0gW107XG4gIHByaXZhdGUgZmllbGRTeW5jVGltZXJzOiB7IFtmaWVsZE5hbWU6IHN0cmluZ106IG51bWJlciB9ID0ge307XG4gIHByaXZhdGUgcmVhZG9ubHkgZmllbGRBc3luY1ZhbGlkYXRpb24gPSBuZXcgU3ViamVjdDxGaWVsZEFzeW5jVmFsaWRhdGlvbj4oKTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChzeW5jUmVxdWVzdEZhY3RvcnlUb2tlbilcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlcXVlc3RGYWN0b3J5OiBTeW5jUmVxdWVzdEZhY3RvcnksXG4gICAgQEluamVjdChzeW5jUmVzcG9uc2VGYWN0b3J5VG9rZW4pXG4gICAgcHJpdmF0ZSByZWFkb25seSByZXNwb25zZUZhY3Rvcnk6IFN5bmNSZXNwb25zZUZhY3RvcnksXG4gICAgcHJpdmF0ZSByZWFkb25seSB4cHNBcGlTZXJ2aWNlOiBYcHNBcGlTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbmV4dEFjdGlvblNlcnZpY2U6IE5leHRBY3Rpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2V0dGluZ3NTZXJ2aWNlOiBTZXR0aW5nc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB4cHNSZXNwb25zZUVycm9yc01hcHBpbmdTZXJ2aWNlOiBYcHNSZXNwb25zZUVycm9yc01hcHBpbmdTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZW5jcnlwdENyZWRpdENhcmRTZXJ2aWNlOiBFbmNyeXB0Q3JlZGl0Q2FyZFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzaG93RXJyb3JzQWN0aW9uQ3JlYXRvcjogU2hvd0Vycm9yc0FjdGlvbkNyZWF0b3IsXG4gICAgcHJpdmF0ZSByZWFkb25seSB1c2VyQmVoYXZpb3VyQW5hbHl0aWNzU2VydmljZTogVXNlckJlaGF2aW91ckFuYWx5dGljc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwYXltZW50U2V0dGluZ3NTZXJ2aWNlOiBQYXltZW50U2V0dGluZ3NTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGZpZWxkQXN5bmNWYWxpZGF0aW9uJCgpOiBPYnNlcnZhYmxlPEZpZWxkQXN5bmNWYWxpZGF0aW9uPiB7XG4gICAgcmV0dXJuIHRoaXMuZmllbGRBc3luY1ZhbGlkYXRpb24uYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0dXAoXG4gICAgZm9ybTogVW50eXBlZEZvcm1Hcm91cCxcbiAgICBmaWVsZHM6IEZpZWxkW10sXG4gICAgY29uZmlnOiBQYXltZW50Q29uZmlndXJhdGlvblxuICApOiB2b2lkIHtcbiAgICB0aGlzLnJlc2V0KCk7XG5cbiAgICB0aGlzLmZvcm0gPSBmb3JtO1xuICAgIHRoaXMuZmllbGRzID0gZmllbGRzO1xuICAgIHRoaXMucGF5bWVudENvbmZpZ3VyYXRpb24gPSBjb25maWc7XG4gIH1cblxuICBwdWJsaWMgcmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy5wcmV2RmllbGRTeW5jU3RhdGVzID0ge307XG4gICAgdGhpcy5mb3JtID0gbmV3IFVudHlwZWRGb3JtR3JvdXAoe30pO1xuICAgIHRoaXMuZmllbGRzID0gW107XG4gICAgdGhpcy5wYXltZW50Q29uZmlndXJhdGlvbiA9IG51bGw7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgdmFsaWRhdGUoXG4gICAgZmllbGQ6IEZpZWxkLFxuICAgIGRlbGF5ID0gTnVtYmVyKCc3NTAnKVxuICApOiBQcm9taXNlPFZhbGlkYXRpb25FcnJvcnMgfCBudWxsPiB7XG4gICAgaWYgKCF0aGlzLmlzUmVhZHlGaWVsZChmaWVsZCkpIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUobnVsbCk7XG4gICAgfVxuXG4gICAgY29uc3QgY29udHJvbCA9IHRoaXMuZm9ybS5nZXQoZmllbGQubmFtZSk7XG4gICAgY29uc3QgdmFsdWUgPSBjb250cm9sPy52YWx1ZTtcbiAgICBjb25zdCBwcmV2RmllbGRTdGF0ZSA9IHRoaXMuZ2V0UHJldkZpZWxkU3luY1N0YXRlKGZpZWxkKTtcblxuICAgIGNvbnN0IGlzSW5pdGlhbFZhbHVlID0gdmFsdWUgPT09IGZpZWxkLnZhbHVlICYmICFwcmV2RmllbGRTdGF0ZTtcblxuICAgIGlmIChpc0luaXRpYWxWYWx1ZSkge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsKTtcbiAgICB9XG5cbiAgICBpZiAocHJldkZpZWxkU3RhdGUgJiYgdmFsdWUgPT09IHByZXZGaWVsZFN0YXRlLnZhbHVlKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHByZXZGaWVsZFN0YXRlLnJlc3VsdCkudGhlbigocmVzcG9uc2UpID0+IHtcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlPy5lcnJvciA/PyBudWxsO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29uc3QgdXBkYXRlRmllbGRTdGF0ZSA9IGFzeW5jICgpOiBQcm9taXNlPFxuICAgICAgc3RyaW5nIHwgVmFsaWRhdGlvbkVycm9ycyB8IG51bGxcbiAgICA+ID0+IHtcbiAgICAgIGNvbnN0IHJlcXVlc3RQcm9taXNlID0gdGhpcy5yZXF1ZXN0KGZpZWxkKTtcblxuICAgICAgdGhpcy5zZXRQcmV2RmllbGRTeW5jU3RhdGUoZmllbGQsIHZhbHVlLCByZXF1ZXN0UHJvbWlzZSk7XG5cbiAgICAgIHJldHVybiByZXF1ZXN0UHJvbWlzZS50aGVuKChyZXNwb25zZTogU3luY1Jlc3BvbnNlKSA9PiB7XG4gICAgICAgIHRoaXMuZmllbGRBc3luY1ZhbGlkYXRpb24ubmV4dCh7XG4gICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgZmllbGQsXG4gICAgICAgICAgcmVzcG9uc2UsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiByZXNwb25zZS5lcnJvciA/PyBudWxsO1xuICAgICAgfSk7XG4gICAgfTtcblxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgaWYgKGRlbGF5KSB7XG4gICAgICAgIGNvbnN0IHRpbWVySWQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICBpZiAodmFsdWUgIT09IGNvbnRyb2w/LnZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm4gcmVzb2x2ZShudWxsKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB2b2lkIHVwZGF0ZUZpZWxkU3RhdGUoKS50aGVuKFxuICAgICAgICAgICAgKGVycm9yczogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgfCBzdHJpbmcpID0+XG4gICAgICAgICAgICAgIHJlc29sdmUoZXJyb3JzIGFzIFZhbGlkYXRpb25FcnJvcnMpXG4gICAgICAgICAgKTtcbiAgICAgICAgfSwgZGVsYXkpO1xuXG4gICAgICAgIHRoaXMucmVzZXRGaWVsZFN5bmNUaW1lcihmaWVsZCwgTnVtYmVyKHRpbWVySWQpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHZvaWQgdXBkYXRlRmllbGRTdGF0ZSgpLnRoZW4oXG4gICAgICAgICAgKGVycm9yczogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgfCBzdHJpbmcpID0+XG4gICAgICAgICAgICByZXNvbHZlKGVycm9ycyBhcyBWYWxpZGF0aW9uRXJyb3JzKVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGZvcmNlVmFsaWRhdGUoZmllbGQ6IEZpZWxkKTogUHJvbWlzZTxTeW5jUmVzcG9uc2UgfCBudWxsPiB7XG4gICAgY29uc3QgY29udHJvbDogQWJzdHJhY3RDb250cm9sIHwgbnVsbCA9IHRoaXMuZm9ybS5nZXQoZmllbGQubmFtZSk7XG4gICAgY29uc3QgdmFsdWUgPSBjb250cm9sPy52YWx1ZTtcblxuICAgIGNvbnN0IGlzSGF2ZUZpZWxkID0gdGhpcy5maWVsZHMuc29tZShcbiAgICAgIChzYXZlZEZpZWxkcykgPT4gc2F2ZWRGaWVsZHMubmFtZSA9PT0gZmllbGQubmFtZVxuICAgICk7XG5cbiAgICBpZiAoIWlzSGF2ZUZpZWxkKSB7XG4gICAgICB0aGlzLmZpZWxkcy5wdXNoKGZpZWxkKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5yZXF1ZXN0KGZpZWxkKS50aGVuKChzeW5jUmVzcG9uc2UpID0+IHtcbiAgICAgIHRoaXMuc2V0UHJldkZpZWxkU3luY1N0YXRlKGZpZWxkLCB2YWx1ZSwgUHJvbWlzZS5yZXNvbHZlKHN5bmNSZXNwb25zZSkpO1xuICAgICAgdGhpcy5maWVsZEFzeW5jVmFsaWRhdGlvbi5uZXh0KHtcbiAgICAgICAgdmFsdWUsXG4gICAgICAgIGZpZWxkLFxuICAgICAgICByZXNwb25zZTogc3luY1Jlc3BvbnNlLFxuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiBzeW5jUmVzcG9uc2U7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlRmllbGQoZmllbGROYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmZpZWxkcyA9IHRoaXMuZmllbGRzLmZpbHRlcigoZmllbGQpID0+IGZpZWxkLm5hbWUgIT09IGZpZWxkTmFtZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0U3luY1ZhbGlkYXRpb25FcnJvcnMoZmllbGQ6IEZpZWxkKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmZvcm0uZ2V0KGZpZWxkLm5hbWUpO1xuICAgIHJldHVybiBjb250cm9sPy5lcnJvcnMgPz8gbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyByZXF1ZXN0KFxuICAgIGZpZWxkOiBGaWVsZCxcbiAgICBmaWVsZHM/OiBGaWVsZFtdLFxuICAgIGZvcm0/OiBVbnR5cGVkRm9ybUdyb3VwXG4gICk6IFByb21pc2U8U3luY1Jlc3BvbnNlPiB7XG4gICAgY29uc3QgcGF5bWVudFNldHRpbmdzUGFyYW1zID1cbiAgICAgIHRoaXMucGF5bWVudFNldHRpbmdzU2VydmljZS5nZXRQYXltZW50U2V0dGluZ3NQYXJhbXMoXG4gICAgICAgIHRoaXMucGF5bWVudENvbmZpZ3VyYXRpb25cbiAgICAgICk7XG4gICAgY29uc3QgcmVxdWVzdFBhcmFtcyA9IHRoaXMucmVxdWVzdEZhY3Rvcnkoe1xuICAgICAgdG9rZW46IHRoaXMuc2V0dGluZ3NTZXJ2aWNlLnRva2VuLFxuICAgICAgY2hhbmdlZEZpZWxkOiBmaWVsZCxcbiAgICAgIGZpZWxkczogZmllbGRzID8/IHRoaXMuZmllbGRzLFxuICAgICAgZm9ybTogZm9ybSA/PyB0aGlzLmZvcm0sXG4gICAgICAuLi5wYXltZW50U2V0dGluZ3NQYXJhbXMsXG4gICAgfSk7XG5cbiAgICBjb25zdCBlbmNyeXB0ZWRSZXF1ZXN0ID1cbiAgICAgIHRoaXMuZW5jcnlwdENyZWRpdENhcmRTZXJ2aWNlLmVuY3J5cHRDcmVkaXRDYXJkPFN5bmNSZXF1ZXN0PihcbiAgICAgICAgcmVxdWVzdFBhcmFtc1xuICAgICAgKTtcblxuICAgIHJldHVybiB0aGlzLnhwc0FwaVNlcnZpY2VcbiAgICAgIC5kaXJlY3RQYXltZW50UmVxdWVzdChlbmNyeXB0ZWRSZXF1ZXN0KVxuICAgICAgLnRoZW4oKHhwc1Jlc3BvbnNlOiBYcHNSZXNwb25zZSkgPT4ge1xuICAgICAgICBjb25zdCByZXNwb25zZSA9XG4gICAgICAgICAgdGhpcy54cHNSZXNwb25zZUVycm9yc01hcHBpbmdTZXJ2aWNlLm1hcEVycm9ycyh4cHNSZXNwb25zZSk7XG5cbiAgICAgICAgdGhpcy5lbWl0Rm9ybUVycm9ycyhyZXNwb25zZSk7XG4gICAgICAgIHRoaXMuZW1pdChyZXNwb25zZSk7XG4gICAgICAgIHJldHVybiB0aGlzLnJlc3BvbnNlRmFjdG9yeShmaWVsZCwgcmVzcG9uc2UpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGlzUmVhZHlGaWVsZChmaWVsZDogRmllbGQpOiBib29sZWFuIHtcbiAgICBjb25zdCBpc1N5bmNFbmFibGVkID0gISFmaWVsZC5qYXZhc2NyaXB0Py5jaGFuZ2U7XG4gICAgY29uc3QgaXNFeGlzdHNJbkZvcm0gPSAhIXRoaXMuZm9ybT8uZ2V0KGZpZWxkLm5hbWUpO1xuXG4gICAgcmV0dXJuIGlzU3luY0VuYWJsZWQgJiYgaXNFeGlzdHNJbkZvcm07XG4gIH1cblxuICBwcml2YXRlIGdldFByZXZGaWVsZFN5bmNTdGF0ZShmaWVsZDogRmllbGQpOiBGaWVsZFN5bmNTdGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMucHJldkZpZWxkU3luY1N0YXRlc1tmaWVsZC5uYW1lXTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0UHJldkZpZWxkU3luY1N0YXRlKFxuICAgIGZpZWxkOiBGaWVsZCxcbiAgICB2YWx1ZTogdW5rbm93bixcbiAgICByZXN1bHQ6IFByb21pc2U8U3luY1Jlc3BvbnNlPlxuICApOiB2b2lkIHtcbiAgICB0aGlzLnByZXZGaWVsZFN5bmNTdGF0ZXNbZmllbGQubmFtZV0gPSB7IHZhbHVlLCByZXN1bHQgfTtcbiAgfVxuXG4gIHByaXZhdGUgZW1pdEZvcm1FcnJvcnMocmVzcG9uc2U6IFhwc1Jlc3BvbnNlKTogdm9pZCB7XG4gICAgaWYgKHJlc3BvbnNlLmVycm9ycykge1xuICAgICAgY29uc3QgbG9nRXJyb3IgPSAoZXJyb3I6IHsgY29kZTogbnVtYmVyOyBtZXNzYWdlOiBzdHJpbmcgfSk6IHZvaWQgPT4ge1xuICAgICAgICB0aGlzLnVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlLnNlbmQoXG4gICAgICAgICAgVXNlckJlaGF2aW91ckV2ZW50TmFtZS5zaG93RXJyb3JNZXNzYWdlLFxuICAgICAgICAgIHVzZXJCZWhhdmlvdXJFdmVudFR5cGVzLm1hbnVhbCxcbiAgICAgICAgICB7IHZhbHVlOiBTdHJpbmcoZXJyb3IuY29kZSksIGV4dHJhVmFsdWU6IGVycm9yLm1lc3NhZ2UgfVxuICAgICAgICApO1xuICAgICAgfTtcblxuICAgICAgcmVzcG9uc2UuZXJyb3JzLmZvckVhY2gobG9nRXJyb3IpO1xuICAgIH1cblxuICAgIGNvbnN0IGZvcm1FcnJvcnMgPSByZXNwb25zZS5lcnJvcnM/LmZpbHRlcigoZXJyb3IpID0+ICFlcnJvci5lbGVtZW50X25hbWUpO1xuXG4gICAgaWYgKGZvcm1FcnJvcnM/Lmxlbmd0aCkge1xuICAgICAgdGhpcy5uZXh0QWN0aW9uU2VydmljZS5lbWl0Rmxvd1VwZGF0ZXMoXG4gICAgICAgIHRoaXMuc2hvd0Vycm9yc0FjdGlvbkNyZWF0b3IuZ2V0QWN0aW9uRGF0YShmb3JtRXJyb3JzKVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlc2V0RmllbGRTeW5jVGltZXIoZmllbGQ6IEZpZWxkLCB0aW1lcklkOiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCBwcmV2VGltZXJJZDogbnVtYmVyID0gdGhpcy5maWVsZFN5bmNUaW1lcnNbZmllbGQubmFtZV07XG5cbiAgICBpZiAocHJldlRpbWVySWQpIHtcbiAgICAgIGNsZWFyVGltZW91dChwcmV2VGltZXJJZCk7XG4gICAgfVxuXG4gICAgdGhpcy5maWVsZFN5bmNUaW1lcnNbZmllbGQubmFtZV0gPSB0aW1lcklkO1xuICB9XG59XG4iXX0=
@@ -2,7 +2,7 @@ import { Inject, Injectable } from '@angular/core';
2
2
  import { ResponseError } from '../../../exceptions-handling/errors/response-error.class';
3
3
  import { checkStatusRequestFactoryToken, } from './request/check-status-request.token';
4
4
  import { checkStatusResponseFactoryToken, } from './response/check-status-response.token';
5
- import { XpsApiPart } from '../../xps-api-part.abstract';
5
+ import { XpsApiPart } from '../../xps-api/xps-api-part.abstract';
6
6
  import * as i0 from "@angular/core";
7
7
  import * as i1 from "../../xps-api/xps-api.service";
8
8
  import * as i2 from "../../../settings/settings.service";
@@ -51,4 +51,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
51
51
  type: Inject,
52
52
  args: [checkStatusResponseFactoryToken]
53
53
  }] }] });
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2stc3RhdHVzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L3N0YXR1cy9jaGVjay1zdGF0dXMvY2hlY2stc3RhdHVzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ3pGLE9BQU8sRUFFTCw4QkFBOEIsR0FDL0IsTUFBTSxzQ0FBc0MsQ0FBQztBQUM5QyxPQUFPLEVBRUwsK0JBQStCLEdBQ2hDLE1BQU0sd0NBQXdDLENBQUM7QUFDaEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7OztBQVF6RCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsVUFBK0I7SUFHckUsWUFDbUIsYUFBNEIsRUFDNUIsZUFBZ0MsRUFDaEMsK0JBQWdFLEVBRWhFLGNBQXlDLEVBRXpDLGVBQTJDO1FBRTVELEtBQUssRUFBRSxDQUFDO1FBUlMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLG9DQUErQixHQUEvQiwrQkFBK0IsQ0FBaUM7UUFFaEUsbUJBQWMsR0FBZCxjQUFjLENBQTJCO1FBRXpDLG9CQUFlLEdBQWYsZUFBZSxDQUE0QjtJQUc5RCxDQUFDO0lBRU0sZ0JBQWdCLENBQUMsT0FBZTtRQUNyQyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUN6QixDQUFDO0lBRU0sT0FBTztRQUNaLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQ3ZDLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUMxQixJQUFJLENBQUMsT0FBTyxDQUNiLENBQUM7UUFFRixJQUFJLENBQUMsYUFBYTthQUNmLG9CQUFvQixDQUFDLGFBQWEsQ0FBQzthQUNuQyxJQUFJLENBQUMsQ0FBQyxXQUF3QixFQUFFLEVBQUU7WUFDakMsTUFBTSxRQUFRLEdBQ1osSUFBSSxDQUFDLCtCQUErQixDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUM5RCxNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7Z0JBQy9DLE1BQU0sRUFBRSxRQUFRLENBQUMsTUFBb0I7Z0JBQ3JDLEtBQUssRUFBRSxRQUFRLENBQUMsS0FBSztnQkFDckIsd0JBQXdCLEVBQUUsUUFBUSxDQUFDLDJCQUEyQjthQUMvRCxDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsWUFBWSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDekMsQ0FBQyxDQUFDO2FBQ0QsS0FBSyxDQUFDLENBQUMsS0FBWSxFQUFFLEVBQUU7WUFDdEIsTUFBTSxJQUFJLGFBQWEsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDekMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzhHQXpDVSxrQkFBa0IsNkhBT25CLDhCQUE4QixhQUU5QiwrQkFBK0I7a0hBVDlCLGtCQUFrQixjQUZqQixNQUFNOzsyRkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFRSSxNQUFNOzJCQUFDLDhCQUE4Qjs7MEJBRXJDLE1BQU07MkJBQUMsK0JBQStCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTZXR0aW5nc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXR0aW5ncy9zZXR0aW5ncy5zZXJ2aWNlJztcbmltcG9ydCB7IFhwc1Jlc3BvbnNlIH0gZnJvbSAnLi4vLi4veHBzLXJlc3BvbnNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTdGF0dXNFbnVtIH0gZnJvbSAnLi4vc3RhdHVzLmVudW0nO1xuaW1wb3J0IHsgUmVzcG9uc2VFcnJvciB9IGZyb20gJy4uLy4uLy4uL2V4Y2VwdGlvbnMtaGFuZGxpbmcvZXJyb3JzL3Jlc3BvbnNlLWVycm9yLmNsYXNzJztcbmltcG9ydCB7XG4gIENoZWNrU3RhdHVzUmVxdWVzdEZhY3RvcnksXG4gIGNoZWNrU3RhdHVzUmVxdWVzdEZhY3RvcnlUb2tlbixcbn0gZnJvbSAnLi9yZXF1ZXN0L2NoZWNrLXN0YXR1cy1yZXF1ZXN0LnRva2VuJztcbmltcG9ydCB7XG4gIENoZWNrU3RhdHVzUmVzcG9uc2VGYWN0b3J5LFxuICBjaGVja1N0YXR1c1Jlc3BvbnNlRmFjdG9yeVRva2VuLFxufSBmcm9tICcuL3Jlc3BvbnNlL2NoZWNrLXN0YXR1cy1yZXNwb25zZS50b2tlbic7XG5pbXBvcnQgeyBYcHNBcGlQYXJ0IH0gZnJvbSAnLi4vLi4veHBzLWFwaS1wYXJ0LmFic3RyYWN0JztcbmltcG9ydCB7IFhwc0FwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi94cHMtYXBpL3hwcy1hcGkuc2VydmljZSc7XG5pbXBvcnQgeyBDaGVja1N0YXR1c1Jlc3BvbnNlIH0gZnJvbSAnLi9yZXNwb25zZS9jaGVjay1zdGF0dXMtcmVzcG9uc2UuY2xhc3MnO1xuaW1wb3J0IHsgWHBzUmVzcG9uc2VFcnJvcnNNYXBwaW5nU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2Vycm9ycy1tYXBwaW5nL3hwcy1yZXNwb25zZS1lcnJvcnMtbWFwcGluZy5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIENoZWNrU3RhdHVzU2VydmljZSBleHRlbmRzIFhwc0FwaVBhcnQ8Q2hlY2tTdGF0dXNSZXNwb25zZT4ge1xuICBwcml2YXRlIGludm9pY2UhOiBudW1iZXI7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgeHBzQXBpU2VydmljZTogWHBzQXBpU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNldHRpbmdzU2VydmljZTogU2V0dGluZ3NTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgeHBzUmVzcG9uc2VFcnJvcnNNYXBwaW5nU2VydmljZTogWHBzUmVzcG9uc2VFcnJvcnNNYXBwaW5nU2VydmljZSxcbiAgICBASW5qZWN0KGNoZWNrU3RhdHVzUmVxdWVzdEZhY3RvcnlUb2tlbilcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlcXVlc3RGYWN0b3J5OiBDaGVja1N0YXR1c1JlcXVlc3RGYWN0b3J5LFxuICAgIEBJbmplY3QoY2hlY2tTdGF0dXNSZXNwb25zZUZhY3RvcnlUb2tlbilcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlc3BvbnNlRmFjdG9yeTogQ2hlY2tTdGF0dXNSZXNwb25zZUZhY3RvcnlcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRSZXF1ZXN0UGFyYW1zKGludm9pY2U6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuaW52b2ljZSA9IGludm9pY2U7XG4gIH1cblxuICBwdWJsaWMgcmVxdWVzdCgpOiB2b2lkIHtcbiAgICBjb25zdCByZXF1ZXN0UGFyYW1zID0gdGhpcy5yZXF1ZXN0RmFjdG9yeShcbiAgICAgIHRoaXMuc2V0dGluZ3NTZXJ2aWNlLnRva2VuLFxuICAgICAgdGhpcy5pbnZvaWNlXG4gICAgKTtcblxuICAgIHRoaXMueHBzQXBpU2VydmljZVxuICAgICAgLmRpcmVjdFBheW1lbnRSZXF1ZXN0KHJlcXVlc3RQYXJhbXMpXG4gICAgICAudGhlbigoeHBzUmVzcG9uc2U6IFhwc1Jlc3BvbnNlKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID1cbiAgICAgICAgICB0aGlzLnhwc1Jlc3BvbnNlRXJyb3JzTWFwcGluZ1NlcnZpY2UubWFwRXJyb3JzKHhwc1Jlc3BvbnNlKTtcbiAgICAgICAgY29uc3QgY2hlY2tTdGF0dXNSZXNwb25zZSA9IHRoaXMucmVzcG9uc2VGYWN0b3J5KHtcbiAgICAgICAgICBzdGF0dXM6IHJlc3BvbnNlLnN0YXR1cyBhcyBTdGF0dXNFbnVtLFxuICAgICAgICAgIGZpbmFsOiByZXNwb25zZS5maW5hbCxcbiAgICAgICAgICBpc1BheW1lbnRBY2NvdW50QXR0YWNoZWQ6IHJlc3BvbnNlLmlzX3BheW1lbnRfYWNjb3VudF9hdHRhY2hlZCxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5lbWl0UmVzcG9uc2UoY2hlY2tTdGF0dXNSZXNwb25zZSk7XG4gICAgICB9KVxuICAgICAgLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IHtcbiAgICAgICAgdGhyb3cgbmV3IFJlc3BvbnNlRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICB9KTtcbiAgfVxufVxuIl19
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2stc3RhdHVzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L3N0YXR1cy9jaGVjay1zdGF0dXMvY2hlY2stc3RhdHVzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ3pGLE9BQU8sRUFFTCw4QkFBOEIsR0FDL0IsTUFBTSxzQ0FBc0MsQ0FBQztBQUM5QyxPQUFPLEVBRUwsK0JBQStCLEdBQ2hDLE1BQU0sd0NBQXdDLENBQUM7QUFDaEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7OztBQVFqRSxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsVUFBK0I7SUFHckUsWUFDbUIsYUFBNEIsRUFDNUIsZUFBZ0MsRUFDaEMsK0JBQWdFLEVBRWhFLGNBQXlDLEVBRXpDLGVBQTJDO1FBRTVELEtBQUssRUFBRSxDQUFDO1FBUlMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLG9DQUErQixHQUEvQiwrQkFBK0IsQ0FBaUM7UUFFaEUsbUJBQWMsR0FBZCxjQUFjLENBQTJCO1FBRXpDLG9CQUFlLEdBQWYsZUFBZSxDQUE0QjtJQUc5RCxDQUFDO0lBRU0sZ0JBQWdCLENBQUMsT0FBZTtRQUNyQyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUN6QixDQUFDO0lBRU0sT0FBTztRQUNaLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQ3ZDLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUMxQixJQUFJLENBQUMsT0FBTyxDQUNiLENBQUM7UUFFRixJQUFJLENBQUMsYUFBYTthQUNmLG9CQUFvQixDQUFDLGFBQWEsQ0FBQzthQUNuQyxJQUFJLENBQUMsQ0FBQyxXQUF3QixFQUFFLEVBQUU7WUFDakMsTUFBTSxRQUFRLEdBQ1osSUFBSSxDQUFDLCtCQUErQixDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUM5RCxNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7Z0JBQy9DLE1BQU0sRUFBRSxRQUFRLENBQUMsTUFBb0I7Z0JBQ3JDLEtBQUssRUFBRSxRQUFRLENBQUMsS0FBSztnQkFDckIsd0JBQXdCLEVBQUUsUUFBUSxDQUFDLDJCQUEyQjthQUMvRCxDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsWUFBWSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDekMsQ0FBQyxDQUFDO2FBQ0QsS0FBSyxDQUFDLENBQUMsS0FBWSxFQUFFLEVBQUU7WUFDdEIsTUFBTSxJQUFJLGFBQWEsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDekMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzhHQXpDVSxrQkFBa0IsNkhBT25CLDhCQUE4QixhQUU5QiwrQkFBK0I7a0hBVDlCLGtCQUFrQixjQUZqQixNQUFNOzsyRkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFRSSxNQUFNOzJCQUFDLDhCQUE4Qjs7MEJBRXJDLE1BQU07MkJBQUMsK0JBQStCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTZXR0aW5nc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXR0aW5ncy9zZXR0aW5ncy5zZXJ2aWNlJztcbmltcG9ydCB7IFhwc1Jlc3BvbnNlIH0gZnJvbSAnLi4vLi4veHBzLXJlc3BvbnNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTdGF0dXNFbnVtIH0gZnJvbSAnLi4vc3RhdHVzLmVudW0nO1xuaW1wb3J0IHsgUmVzcG9uc2VFcnJvciB9IGZyb20gJy4uLy4uLy4uL2V4Y2VwdGlvbnMtaGFuZGxpbmcvZXJyb3JzL3Jlc3BvbnNlLWVycm9yLmNsYXNzJztcbmltcG9ydCB7XG4gIENoZWNrU3RhdHVzUmVxdWVzdEZhY3RvcnksXG4gIGNoZWNrU3RhdHVzUmVxdWVzdEZhY3RvcnlUb2tlbixcbn0gZnJvbSAnLi9yZXF1ZXN0L2NoZWNrLXN0YXR1cy1yZXF1ZXN0LnRva2VuJztcbmltcG9ydCB7XG4gIENoZWNrU3RhdHVzUmVzcG9uc2VGYWN0b3J5LFxuICBjaGVja1N0YXR1c1Jlc3BvbnNlRmFjdG9yeVRva2VuLFxufSBmcm9tICcuL3Jlc3BvbnNlL2NoZWNrLXN0YXR1cy1yZXNwb25zZS50b2tlbic7XG5pbXBvcnQgeyBYcHNBcGlQYXJ0IH0gZnJvbSAnLi4vLi4veHBzLWFwaS94cHMtYXBpLXBhcnQuYWJzdHJhY3QnO1xuaW1wb3J0IHsgWHBzQXBpU2VydmljZSB9IGZyb20gJy4uLy4uL3hwcy1hcGkveHBzLWFwaS5zZXJ2aWNlJztcbmltcG9ydCB7IENoZWNrU3RhdHVzUmVzcG9uc2UgfSBmcm9tICcuL3Jlc3BvbnNlL2NoZWNrLXN0YXR1cy1yZXNwb25zZS5jbGFzcyc7XG5pbXBvcnQgeyBYcHNSZXNwb25zZUVycm9yc01hcHBpbmdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vZXJyb3JzLW1hcHBpbmcveHBzLXJlc3BvbnNlLWVycm9ycy1tYXBwaW5nLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQ2hlY2tTdGF0dXNTZXJ2aWNlIGV4dGVuZHMgWHBzQXBpUGFydDxDaGVja1N0YXR1c1Jlc3BvbnNlPiB7XG4gIHByaXZhdGUgaW52b2ljZSE6IG51bWJlcjtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSB4cHNBcGlTZXJ2aWNlOiBYcHNBcGlTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2V0dGluZ3NTZXJ2aWNlOiBTZXR0aW5nc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB4cHNSZXNwb25zZUVycm9yc01hcHBpbmdTZXJ2aWNlOiBYcHNSZXNwb25zZUVycm9yc01hcHBpbmdTZXJ2aWNlLFxuICAgIEBJbmplY3QoY2hlY2tTdGF0dXNSZXF1ZXN0RmFjdG9yeVRva2VuKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVxdWVzdEZhY3Rvcnk6IENoZWNrU3RhdHVzUmVxdWVzdEZhY3RvcnksXG4gICAgQEluamVjdChjaGVja1N0YXR1c1Jlc3BvbnNlRmFjdG9yeVRva2VuKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVzcG9uc2VGYWN0b3J5OiBDaGVja1N0YXR1c1Jlc3BvbnNlRmFjdG9yeVxuICApIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIHNldFJlcXVlc3RQYXJhbXMoaW52b2ljZTogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5pbnZvaWNlID0gaW52b2ljZTtcbiAgfVxuXG4gIHB1YmxpYyByZXF1ZXN0KCk6IHZvaWQge1xuICAgIGNvbnN0IHJlcXVlc3RQYXJhbXMgPSB0aGlzLnJlcXVlc3RGYWN0b3J5KFxuICAgICAgdGhpcy5zZXR0aW5nc1NlcnZpY2UudG9rZW4sXG4gICAgICB0aGlzLmludm9pY2VcbiAgICApO1xuXG4gICAgdGhpcy54cHNBcGlTZXJ2aWNlXG4gICAgICAuZGlyZWN0UGF5bWVudFJlcXVlc3QocmVxdWVzdFBhcmFtcylcbiAgICAgIC50aGVuKCh4cHNSZXNwb25zZTogWHBzUmVzcG9uc2UpID0+IHtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPVxuICAgICAgICAgIHRoaXMueHBzUmVzcG9uc2VFcnJvcnNNYXBwaW5nU2VydmljZS5tYXBFcnJvcnMoeHBzUmVzcG9uc2UpO1xuICAgICAgICBjb25zdCBjaGVja1N0YXR1c1Jlc3BvbnNlID0gdGhpcy5yZXNwb25zZUZhY3Rvcnkoe1xuICAgICAgICAgIHN0YXR1czogcmVzcG9uc2Uuc3RhdHVzIGFzIFN0YXR1c0VudW0sXG4gICAgICAgICAgZmluYWw6IHJlc3BvbnNlLmZpbmFsLFxuICAgICAgICAgIGlzUGF5bWVudEFjY291bnRBdHRhY2hlZDogcmVzcG9uc2UuaXNfcGF5bWVudF9hY2NvdW50X2F0dGFjaGVkLFxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmVtaXRSZXNwb25zZShjaGVja1N0YXR1c1Jlc3BvbnNlKTtcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4ge1xuICAgICAgICB0aHJvdyBuZXcgUmVzcG9uc2VFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgIH0pO1xuICB9XG59XG4iXX0=