@xsolla/payment-client-core 0.2.21 → 0.2.23

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 (448) hide show
  1. package/{esm2020 → esm2022}/lib/core/combined-payment-methods/combined-payment-methods.service.mjs +5 -5
  2. package/{esm2020 → esm2022}/lib/core/countries-api/countries-api.service.mjs +5 -5
  3. package/{esm2020 → esm2022}/lib/core/country/country.service.mjs +5 -5
  4. package/{esm2020 → esm2022}/lib/core/credit-card/credit-card.service.mjs +4 -4
  5. package/esm2022/lib/core/device-finger-print/device-finger-print.service.mjs +67 -0
  6. package/{esm2020 → esm2022}/lib/core/edit-saved-methods/edit-saved-methods.service.mjs +5 -5
  7. package/esm2022/lib/core/encrypt-credit-card/encrypt-credit-card.service.mjs +73 -0
  8. package/esm2022/lib/core/errors-mapping/xps-response-errors-mapping.service.mjs +52 -0
  9. package/esm2022/lib/core/exceptions-handling/elk/elk-logger.service.mjs +120 -0
  10. package/esm2022/lib/core/exceptions-handling/errors/http-error.class.mjs +40 -0
  11. package/esm2022/lib/core/exceptions-handling/errors/tagged-error.class.mjs +16 -0
  12. package/{esm2020 → esm2022}/lib/core/exceptions-handling/http-interceptor/http-exceptions.interceptor.mjs +5 -5
  13. package/esm2022/lib/core/http/secure-api/secure-api.service.mjs +55 -0
  14. package/{esm2020 → esm2022}/lib/core/legal/disclaimer.service.mjs +4 -4
  15. package/{esm2020 → esm2022}/lib/core/legal/legal.service.mjs +5 -5
  16. package/esm2022/lib/core/legal/refund-policy.service.mjs +30 -0
  17. package/esm2022/lib/core/legal/secure-connection.service.mjs +31 -0
  18. package/{esm2020 → esm2022}/lib/core/payment/actions/check-status/check-status.action.class.mjs +4 -4
  19. package/esm2022/lib/core/payment/actions/next-action.service.mjs +61 -0
  20. package/esm2022/lib/core/payment/actions/redirect/redirect.action.class.mjs +60 -0
  21. package/{esm2020 → esm2022}/lib/core/payment/actions/show-errors/show-errors.action.class.mjs +4 -4
  22. package/{esm2020 → esm2022}/lib/core/payment/actions/show-fields/show-fields.action.class.mjs +4 -4
  23. package/{esm2020 → esm2022}/lib/core/payment/actions/show-mobile-payment-screen/show-mobile-payment-screen.action.class.mjs +4 -4
  24. package/esm2022/lib/core/payment/actions/show-qr-code/show-qr-code.action.class.mjs +27 -0
  25. package/{esm2020 → esm2022}/lib/core/payment/actions/show-qr-code/show-qr-code.action.type.mjs +1 -1
  26. package/{esm2020 → esm2022}/lib/core/payment/actions/special-button/special-button.action.class.mjs +4 -4
  27. package/esm2022/lib/core/payment/actions/status-updated/status-updated.action.class.mjs +38 -0
  28. package/{esm2020 → esm2022}/lib/core/payment/actions/three-ds/three-ds.action.class.mjs +4 -4
  29. package/esm2022/lib/core/payment/config/config.service.mjs +37 -0
  30. package/{esm2020 → esm2022}/lib/core/payment/credit-card-state/credit-card-state.service.mjs +4 -4
  31. package/esm2022/lib/core/payment/finance-details/finance-details.service.mjs +38 -0
  32. package/{esm2020 → esm2022}/lib/core/payment/finance-details/status/status-finance-details-adapter.service.mjs +5 -5
  33. package/esm2022/lib/core/payment/finance-details/summary/summary-finance-details-adapter.service.mjs +264 -0
  34. package/esm2022/lib/core/payment/form/controls/control-config.service.mjs +46 -0
  35. package/{esm2020 → esm2022}/lib/core/payment/form/converters/birth-date/birth-date.converter.mjs +5 -5
  36. package/{esm2020 → esm2022}/lib/core/payment/form/converters/card-month/card-month.converter.mjs +5 -5
  37. package/{esm2020 → esm2022}/lib/core/payment/form/converters/card-number/card-number.converter.mjs +5 -5
  38. package/{esm2020 → esm2022}/lib/core/payment/form/converters/card-year/card-year.converter.mjs +5 -5
  39. package/{esm2020 → esm2022}/lib/core/payment/form/converters/cardholder-name/cardholder-name.converter.mjs +5 -5
  40. package/esm2022/lib/core/payment/form/converters/checkbox/checkbox.converter.mjs +33 -0
  41. package/esm2022/lib/core/payment/form/converters/converter.abstract.mjs +76 -0
  42. package/{esm2020 → esm2022}/lib/core/payment/form/converters/coupon/coupon.converter.mjs +5 -5
  43. package/{esm2020 → esm2022}/lib/core/payment/form/converters/cpf-name/cpf-name.converter.mjs +5 -5
  44. package/{esm2020 → esm2022}/lib/core/payment/form/converters/cpf-number/cpf-number.converter.mjs +5 -5
  45. package/esm2022/lib/core/payment/form/converters/cvv/cvv.converter.mjs +72 -0
  46. package/{esm2020 → esm2022}/lib/core/payment/form/converters/email/email.converter.mjs +5 -5
  47. package/{esm2020 → esm2022}/lib/core/payment/form/converters/phone.converter.mjs +5 -5
  48. package/{esm2020 → esm2022}/lib/core/payment/form/converters/pin/pin.converter.mjs +5 -5
  49. package/{esm2020 → esm2022}/lib/core/payment/form/converters/pricepoint/pricepoint.converter.mjs +5 -5
  50. package/{esm2020 → esm2022}/lib/core/payment/form/converters/radio-group/radio-group.converter.mjs +5 -5
  51. package/{esm2020 → esm2022}/lib/core/payment/form/converters/select/select.converter.mjs +5 -5
  52. package/esm2022/lib/core/payment/form/converters/street-number/street-number.converter.mjs +28 -0
  53. package/{esm2020 → esm2022}/lib/core/payment/form/converters/text/text.converter.mjs +5 -5
  54. package/esm2022/lib/core/payment/form/converters/zip/zip.converter.mjs +64 -0
  55. package/{esm2020 → esm2022}/lib/core/payment/form/form.module.mjs +33 -33
  56. package/esm2022/lib/core/payment/form/form.service.mjs +49 -0
  57. package/esm2022/lib/core/payment/form/validators/birth-date/birth-date.validator.mjs +37 -0
  58. package/esm2022/lib/core/payment/form/validators/card-month/card-month.validator.mjs +37 -0
  59. package/esm2022/lib/core/payment/form/validators/card-year/card-year.validator.mjs +34 -0
  60. package/esm2022/lib/core/payment/form/validators/convert.function.mjs +15 -0
  61. package/esm2022/lib/core/payment/form/validators/credit-card-length/credit-card-min-length.validator.mjs +32 -0
  62. package/esm2022/lib/core/payment/form/validators/luhn-formula-validator/luhn-formula.validator.mjs +40 -0
  63. package/{esm2020 → esm2022}/lib/core/payment/form/validators/validators.module.mjs +5 -5
  64. package/{esm2020 → esm2022}/lib/core/payment/form-messages/form-messages.service.mjs +5 -5
  65. package/esm2022/lib/core/payment/initialize/initialize.service.mjs +85 -0
  66. package/esm2022/lib/core/payment/initialize/response/initialize-response.class.mjs +43 -0
  67. package/esm2022/lib/core/payment/payment.service.mjs +369 -0
  68. package/{esm2020 → esm2022}/lib/core/payment/status/check-status/check-status.service.mjs +6 -6
  69. package/{esm2020 → esm2022}/lib/core/payment/status/check-status/request/check-status-request.class.mjs +1 -1
  70. package/esm2022/lib/core/payment/status/listen-status/listen-status.service.mjs +124 -0
  71. package/{esm2020 → esm2022}/lib/core/payment/status/save-payment-method-status/api/saved-payment-account-changes.service.mjs +5 -5
  72. package/esm2022/lib/core/payment/status/save-payment-method-status/save-payment-method-status.service.mjs +121 -0
  73. package/esm2022/lib/core/payment/status/status-request/request/status-request.class.mjs +22 -0
  74. package/esm2022/lib/core/payment/status/status-request/response/status-response.class.mjs +98 -0
  75. package/{esm2020 → esm2022}/lib/core/payment/status/status-request/status-request.service.mjs +6 -6
  76. package/esm2022/lib/core/payment/status/status.service.mjs +75 -0
  77. package/esm2022/lib/core/payment/status/websocket-status/websocket-status.service.mjs +76 -0
  78. package/esm2022/lib/core/payment/submit/request/submit-request.class.mjs +24 -0
  79. package/esm2022/lib/core/payment/submit/response/submit-response.class.mjs +31 -0
  80. package/esm2022/lib/core/payment/submit/submit.service.mjs +78 -0
  81. package/esm2022/lib/core/payment/sync/request/sync-request.class.mjs +31 -0
  82. package/esm2022/lib/core/payment/sync/response/sync-response.class.mjs +17 -0
  83. package/esm2022/lib/core/payment/sync/sync.service.mjs +157 -0
  84. package/esm2022/lib/core/payment/three-ds/api/notify-dfp-status/notify-dfp-status.service.mjs +49 -0
  85. package/esm2022/lib/core/payment/three-ds/api/status-three-ds/status-three-ds.service.mjs +60 -0
  86. package/esm2022/lib/core/payment/three-ds/dfp-collect/dfp-collect.service.mjs +105 -0
  87. package/esm2022/lib/core/payment/three-ds/reinsurance-check/reinsurance-check.service.mjs +41 -0
  88. package/esm2022/lib/core/payment/three-ds/three-ds-20/three-ds20.service.mjs +109 -0
  89. package/esm2022/lib/core/payment/three-ds/three-ds.service.mjs +42 -0
  90. package/esm2022/lib/core/payment/xps-api/xps-api.service.mjs +85 -0
  91. package/esm2022/lib/core/payment/xps-api-part-request.abstract.mjs +8 -0
  92. package/esm2022/lib/core/payment-methods/payment-methods.service.mjs +75 -0
  93. package/esm2022/lib/core/performance/performance.service.mjs +111 -0
  94. package/esm2022/lib/core/performance/xhr-action.service.mjs +114 -0
  95. package/esm2022/lib/core/saved-methods/saved-methods.service.mjs +54 -0
  96. package/esm2022/lib/core/sdk-payment-systems/apple-pay/apple-pay.service.mjs +268 -0
  97. package/esm2022/lib/core/sdk-payment-systems/google-pay/google-pay.service.mjs +177 -0
  98. package/esm2022/lib/core/sdk-payment-systems/payment-systems/payment-system-processing.service.mjs +84 -0
  99. package/esm2022/lib/core/session/session.service.mjs +57 -0
  100. package/esm2022/lib/core/settings/settings.service.mjs +92 -0
  101. package/esm2022/lib/core/url/url.service.mjs +34 -0
  102. package/esm2022/lib/core/user-agent/user-agent.service.mjs +211 -0
  103. package/esm2022/lib/core/user-balance/user-balance.service.mjs +53 -0
  104. package/esm2022/lib/core/user-behaviour-analytics/event-builder/event-builder.service.mjs +144 -0
  105. package/esm2022/lib/core/user-behaviour-analytics/user-behaviour-analytics.service.mjs +158 -0
  106. package/esm2022/lib/core/web-socket/centrifugo-web-socket.service.mjs +200 -0
  107. package/esm2022/lib/core/web-socket/nchan-web-socket.service.mjs +116 -0
  108. package/esm2022/lib/core/web-socket/web-socket.factory.mjs +28 -0
  109. package/esm2022/lib/core-library.module.mjs +92 -0
  110. package/{esm2020 → esm2022}/lib/core-library.service.mjs +5 -5
  111. package/{esm2020 → esm2022}/lib/shared/pipes/pipes.module.mjs +5 -5
  112. package/esm2022/lib/shared/pipes/unescape-html/unescape-html.pipe.mjs +23 -0
  113. package/{fesm2020 → fesm2022}/xsolla-payment-client-core.mjs +458 -455
  114. package/fesm2022/xsolla-payment-client-core.mjs.map +1 -0
  115. package/lib/core/payment/actions/show-qr-code/show-qr-code.action.type.d.ts +2 -0
  116. package/package.json +10 -16
  117. package/xsolla-payment-client-core-0.2.23.tgz +0 -0
  118. package/esm2020/lib/core/device-finger-print/device-finger-print.service.mjs +0 -67
  119. package/esm2020/lib/core/encrypt-credit-card/encrypt-credit-card.service.mjs +0 -72
  120. package/esm2020/lib/core/errors-mapping/xps-response-errors-mapping.service.mjs +0 -52
  121. package/esm2020/lib/core/exceptions-handling/elk/elk-logger.service.mjs +0 -120
  122. package/esm2020/lib/core/exceptions-handling/errors/http-error.class.mjs +0 -40
  123. package/esm2020/lib/core/exceptions-handling/errors/tagged-error.class.mjs +0 -16
  124. package/esm2020/lib/core/http/secure-api/secure-api.service.mjs +0 -55
  125. package/esm2020/lib/core/legal/refund-policy.service.mjs +0 -30
  126. package/esm2020/lib/core/legal/secure-connection.service.mjs +0 -31
  127. package/esm2020/lib/core/payment/actions/next-action.service.mjs +0 -61
  128. package/esm2020/lib/core/payment/actions/redirect/redirect.action.class.mjs +0 -60
  129. package/esm2020/lib/core/payment/actions/show-qr-code/show-qr-code.action.class.mjs +0 -25
  130. package/esm2020/lib/core/payment/actions/status-updated/status-updated.action.class.mjs +0 -38
  131. package/esm2020/lib/core/payment/config/config.service.mjs +0 -37
  132. package/esm2020/lib/core/payment/finance-details/finance-details.service.mjs +0 -38
  133. package/esm2020/lib/core/payment/finance-details/summary/summary-finance-details-adapter.service.mjs +0 -264
  134. package/esm2020/lib/core/payment/form/controls/control-config.service.mjs +0 -46
  135. package/esm2020/lib/core/payment/form/converters/checkbox/checkbox.converter.mjs +0 -33
  136. package/esm2020/lib/core/payment/form/converters/converter.abstract.mjs +0 -76
  137. package/esm2020/lib/core/payment/form/converters/cvv/cvv.converter.mjs +0 -72
  138. package/esm2020/lib/core/payment/form/converters/street-number/street-number.converter.mjs +0 -28
  139. package/esm2020/lib/core/payment/form/converters/zip/zip.converter.mjs +0 -64
  140. package/esm2020/lib/core/payment/form/form.service.mjs +0 -49
  141. package/esm2020/lib/core/payment/form/validators/birth-date/birth-date.validator.mjs +0 -37
  142. package/esm2020/lib/core/payment/form/validators/card-month/card-month.validator.mjs +0 -37
  143. package/esm2020/lib/core/payment/form/validators/card-year/card-year.validator.mjs +0 -34
  144. package/esm2020/lib/core/payment/form/validators/convert.function.mjs +0 -15
  145. package/esm2020/lib/core/payment/form/validators/credit-card-length/credit-card-min-length.validator.mjs +0 -32
  146. package/esm2020/lib/core/payment/form/validators/luhn-formula-validator/luhn-formula.validator.mjs +0 -40
  147. package/esm2020/lib/core/payment/initialize/initialize.service.mjs +0 -85
  148. package/esm2020/lib/core/payment/initialize/response/initialize-response.class.mjs +0 -43
  149. package/esm2020/lib/core/payment/payment.service.mjs +0 -369
  150. package/esm2020/lib/core/payment/status/listen-status/listen-status.service.mjs +0 -124
  151. package/esm2020/lib/core/payment/status/save-payment-method-status/save-payment-method-status.service.mjs +0 -121
  152. package/esm2020/lib/core/payment/status/status-request/request/status-request.class.mjs +0 -22
  153. package/esm2020/lib/core/payment/status/status-request/response/status-response.class.mjs +0 -98
  154. package/esm2020/lib/core/payment/status/status.service.mjs +0 -75
  155. package/esm2020/lib/core/payment/status/websocket-status/websocket-status.service.mjs +0 -76
  156. package/esm2020/lib/core/payment/submit/request/submit-request.class.mjs +0 -24
  157. package/esm2020/lib/core/payment/submit/response/submit-response.class.mjs +0 -31
  158. package/esm2020/lib/core/payment/submit/submit.service.mjs +0 -78
  159. package/esm2020/lib/core/payment/sync/request/sync-request.class.mjs +0 -31
  160. package/esm2020/lib/core/payment/sync/response/sync-response.class.mjs +0 -17
  161. package/esm2020/lib/core/payment/sync/sync.service.mjs +0 -157
  162. package/esm2020/lib/core/payment/three-ds/api/notify-dfp-status/notify-dfp-status.service.mjs +0 -49
  163. package/esm2020/lib/core/payment/three-ds/api/status-three-ds/status-three-ds.service.mjs +0 -60
  164. package/esm2020/lib/core/payment/three-ds/dfp-collect/dfp-collect.service.mjs +0 -105
  165. package/esm2020/lib/core/payment/three-ds/reinsurance-check/reinsurance-check.service.mjs +0 -41
  166. package/esm2020/lib/core/payment/three-ds/three-ds-20/three-ds20.service.mjs +0 -109
  167. package/esm2020/lib/core/payment/three-ds/three-ds.service.mjs +0 -42
  168. package/esm2020/lib/core/payment/xps-api/xps-api.service.mjs +0 -85
  169. package/esm2020/lib/core/payment/xps-api-part-request.abstract.mjs +0 -8
  170. package/esm2020/lib/core/payment-methods/payment-methods.service.mjs +0 -75
  171. package/esm2020/lib/core/performance/performance.service.mjs +0 -111
  172. package/esm2020/lib/core/performance/xhr-action.service.mjs +0 -114
  173. package/esm2020/lib/core/saved-methods/saved-methods.service.mjs +0 -54
  174. package/esm2020/lib/core/sdk-payment-systems/apple-pay/apple-pay.service.mjs +0 -268
  175. package/esm2020/lib/core/sdk-payment-systems/google-pay/google-pay.service.mjs +0 -177
  176. package/esm2020/lib/core/sdk-payment-systems/payment-systems/payment-system-processing.service.mjs +0 -84
  177. package/esm2020/lib/core/session/session.service.mjs +0 -57
  178. package/esm2020/lib/core/settings/settings.service.mjs +0 -92
  179. package/esm2020/lib/core/url/url.service.mjs +0 -34
  180. package/esm2020/lib/core/user-agent/user-agent.service.mjs +0 -211
  181. package/esm2020/lib/core/user-balance/user-balance.service.mjs +0 -53
  182. package/esm2020/lib/core/user-behaviour-analytics/event-builder/event-builder.service.mjs +0 -144
  183. package/esm2020/lib/core/user-behaviour-analytics/user-behaviour-analytics.service.mjs +0 -158
  184. package/esm2020/lib/core/web-socket/centrifugo-web-socket.service.mjs +0 -200
  185. package/esm2020/lib/core/web-socket/nchan-web-socket.service.mjs +0 -116
  186. package/esm2020/lib/core/web-socket/web-socket.factory.mjs +0 -28
  187. package/esm2020/lib/core-library.module.mjs +0 -92
  188. package/esm2020/lib/shared/pipes/unescape-html/unescape-html.pipe.mjs +0 -23
  189. package/fesm2015/xsolla-payment-client-core.mjs +0 -8138
  190. package/fesm2015/xsolla-payment-client-core.mjs.map +0 -1
  191. package/fesm2020/xsolla-payment-client-core.mjs.map +0 -1
  192. package/xsolla-payment-client-core-0.2.21.tgz +0 -0
  193. /package/{esm2020 → esm2022}/lib/core/agreementsGroup.const.mjs +0 -0
  194. /package/{esm2020 → esm2022}/lib/core/boolean-number.enum.mjs +0 -0
  195. /package/{esm2020 → esm2022}/lib/core/combined-payment-methods/combined-payment-methods.interface.mjs +0 -0
  196. /package/{esm2020 → esm2022}/lib/core/countries-api/country-response.interface.mjs +0 -0
  197. /package/{esm2020 → esm2022}/lib/core/countries-api/country.interface.mjs +0 -0
  198. /package/{esm2020 → esm2022}/lib/core/country/country-iso-code.enum.mjs +0 -0
  199. /package/{esm2020 → esm2022}/lib/core/credit-card/credit-card-settings.interface.mjs +0 -0
  200. /package/{esm2020 → esm2022}/lib/core/credit-card/credit-card-types.enum.mjs +0 -0
  201. /package/{esm2020 → esm2022}/lib/core/credit-card/credit-card.interface.mjs +0 -0
  202. /package/{esm2020 → esm2022}/lib/core/credit-card/credit-cards-map.const.mjs +0 -0
  203. /package/{esm2020 → esm2022}/lib/core/credit-card/default-mask.const.mjs +0 -0
  204. /package/{esm2020 → esm2022}/lib/core/credit-card/four-block-mask.const.mjs +0 -0
  205. /package/{esm2020 → esm2022}/lib/core/credit-card/ordered-cards-settings.const.mjs +0 -0
  206. /package/{esm2020 → esm2022}/lib/core/credit-card/types/american-express.mjs +0 -0
  207. /package/{esm2020 → esm2022}/lib/core/credit-card/types/aura.mjs +0 -0
  208. /package/{esm2020 → esm2022}/lib/core/credit-card/types/china-union-pay.mjs +0 -0
  209. /package/{esm2020 → esm2022}/lib/core/credit-card/types/dankort.mjs +0 -0
  210. /package/{esm2020 → esm2022}/lib/core/credit-card/types/default-card.mjs +0 -0
  211. /package/{esm2020 → esm2022}/lib/core/credit-card/types/diners-clubs.mjs +0 -0
  212. /package/{esm2020 → esm2022}/lib/core/credit-card/types/discover.mjs +0 -0
  213. /package/{esm2020 → esm2022}/lib/core/credit-card/types/elo.mjs +0 -0
  214. /package/{esm2020 → esm2022}/lib/core/credit-card/types/hipercard.mjs +0 -0
  215. /package/{esm2020 → esm2022}/lib/core/credit-card/types/jcb.mjs +0 -0
  216. /package/{esm2020 → esm2022}/lib/core/credit-card/types/maestro.mjs +0 -0
  217. /package/{esm2020 → esm2022}/lib/core/credit-card/types/mastercard.mjs +0 -0
  218. /package/{esm2020 → esm2022}/lib/core/credit-card/types/mir.mjs +0 -0
  219. /package/{esm2020 → esm2022}/lib/core/credit-card/types/naranja.mjs +0 -0
  220. /package/{esm2020 → esm2022}/lib/core/credit-card/types/postepay.mjs +0 -0
  221. /package/{esm2020 → esm2022}/lib/core/credit-card/types/visa.mjs +0 -0
  222. /package/{esm2020 → esm2022}/lib/core/deep-readonly.type.mjs +0 -0
  223. /package/{esm2020 → esm2022}/lib/core/device-finger-print/hash.type.mjs +0 -0
  224. /package/{esm2020 → esm2022}/lib/core/edit-saved-methods/delete-method-response.interface.mjs +0 -0
  225. /package/{esm2020 → esm2022}/lib/core/encrypt-credit-card/encrypted-card.interface.mjs +0 -0
  226. /package/{esm2020 → esm2022}/lib/core/encrypt-credit-card/open-card.interface.mjs +0 -0
  227. /package/{esm2020 → esm2022}/lib/core/errors-mapping/card-number-sanction-error-codes.const.mjs +0 -0
  228. /package/{esm2020 → esm2022}/lib/core/errors-mapping/field-special-errors-map.const.mjs +0 -0
  229. /package/{esm2020 → esm2022}/lib/core/exceptions-handling/elk/additional-info.interface.mjs +0 -0
  230. /package/{esm2020 → esm2022}/lib/core/exceptions-handling/elk/error-without-meta-fields.interface.mjs +0 -0
  231. /package/{esm2020 → esm2022}/lib/core/exceptions-handling/elk/log-message.interface.mjs +0 -0
  232. /package/{esm2020 → esm2022}/lib/core/exceptions-handling/errors/api-error.interface.mjs +0 -0
  233. /package/{esm2020 → esm2022}/lib/core/exceptions-handling/errors/app-error.class.mjs +0 -0
  234. /package/{esm2020 → esm2022}/lib/core/exceptions-handling/errors/elk-error-types.enum.mjs +0 -0
  235. /package/{esm2020 → esm2022}/lib/core/exceptions-handling/errors/encrypt-card-error.mjs +0 -0
  236. /package/{esm2020 → esm2022}/lib/core/exceptions-handling/errors/response-error.class.mjs +0 -0
  237. /package/{esm2020 → esm2022}/lib/core/exceptions-handling/errors/terminal-error.class.mjs +0 -0
  238. /package/{esm2020 → esm2022}/lib/core/exceptions-handling/errors/token-error.class.mjs +0 -0
  239. /package/{esm2020 → esm2022}/lib/core/exceptions-handling/errors/ws-error.class.mjs +0 -0
  240. /package/{esm2020 → esm2022}/lib/core/exceptions-handling/http-interceptor/http-error-data.interface.mjs +0 -0
  241. /package/{esm2020 → esm2022}/lib/core/exceptions-handling/http-interceptor/http-error-response-data.interface.mjs +0 -0
  242. /package/{esm2020 → esm2022}/lib/core/extended-window.interface.mjs +0 -0
  243. /package/{esm2020 → esm2022}/lib/core/http/secure-api/api-url.const.mjs +0 -0
  244. /package/{esm2020 → esm2022}/lib/core/http/secure-api/options.interface.mjs +0 -0
  245. /package/{esm2020 → esm2022}/lib/core/legal/legal.component.config.mjs +0 -0
  246. /package/{esm2020 → esm2022}/lib/core/payment/actions/action.interface.mjs +0 -0
  247. /package/{esm2020 → esm2022}/lib/core/payment/actions/check-status/check-status.action.type.mjs +0 -0
  248. /package/{esm2020 → esm2022}/lib/core/payment/actions/next-action.interface.mjs +0 -0
  249. /package/{esm2020 → esm2022}/lib/core/payment/actions/next-actions.mjs +0 -0
  250. /package/{esm2020 → esm2022}/lib/core/payment/actions/redirect/pay-station4-url.const.mjs +0 -0
  251. /package/{esm2020 → esm2022}/lib/core/payment/actions/redirect/ps4-pages/pages-payment-methods-id.const.mjs +0 -0
  252. /package/{esm2020 → esm2022}/lib/core/payment/actions/redirect/ps4-pages/pages-routes.const.mjs +0 -0
  253. /package/{esm2020 → esm2022}/lib/core/payment/actions/redirect/redirect.action.type.mjs +0 -0
  254. /package/{esm2020 → esm2022}/lib/core/payment/actions/show-errors/show-errors.action.type.mjs +0 -0
  255. /package/{esm2020 → esm2022}/lib/core/payment/actions/show-fields/show-fields.action.type.mjs +0 -0
  256. /package/{esm2020 → esm2022}/lib/core/payment/actions/show-mobile-payment-screen/show-mobile-payment-screen.action.type.mjs +0 -0
  257. /package/{esm2020 → esm2022}/lib/core/payment/actions/special-button/special-button.action.type.mjs +0 -0
  258. /package/{esm2020 → esm2022}/lib/core/payment/actions/status-updated/status-updated.action.type.mjs +0 -0
  259. /package/{esm2020 → esm2022}/lib/core/payment/actions/three-ds/three-ds.action.type.mjs +0 -0
  260. /package/{esm2020 → esm2022}/lib/core/payment/checkout-item.interface.mjs +0 -0
  261. /package/{esm2020 → esm2022}/lib/core/payment/credit-card-payment-methods-id.variable.mjs +0 -0
  262. /package/{esm2020 → esm2022}/lib/core/payment/credit-card-state/credit-card-state.interface.mjs +0 -0
  263. /package/{esm2020 → esm2022}/lib/core/payment/emit-data.service.abstract.mjs +0 -0
  264. /package/{esm2020 → esm2022}/lib/core/payment/field-names.enum.mjs +0 -0
  265. /package/{esm2020 → esm2022}/lib/core/payment/field.interface.mjs +0 -0
  266. /package/{esm2020 → esm2022}/lib/core/payment/finance-details/cart-item.interface.mjs +0 -0
  267. /package/{esm2020 → esm2022}/lib/core/payment/finance-details/cart-line.interface.mjs +0 -0
  268. /package/{esm2020 → esm2022}/lib/core/payment/finance-details/cart-summary.interface.mjs +0 -0
  269. /package/{esm2020 → esm2022}/lib/core/payment/finance-details/finance-details.interface.mjs +0 -0
  270. /package/{esm2020 → esm2022}/lib/core/payment/finance-details/price.helpers.mjs +0 -0
  271. /package/{esm2020 → esm2022}/lib/core/payment/finance-details/price.interface.mjs +0 -0
  272. /package/{esm2020 → esm2022}/lib/core/payment/finance-details/status/field-with-amount-and-currency.interface.mjs +0 -0
  273. /package/{esm2020 → esm2022}/lib/core/payment/finance-details/status/fields-with-currency.mjs +0 -0
  274. /package/{esm2020 → esm2022}/lib/core/payment/finance-details/status/finance-info.interface.mjs +0 -0
  275. /package/{esm2020 → esm2022}/lib/core/payment/finance-details/summary/default-image-patterns.const.mjs +0 -0
  276. /package/{esm2020 → esm2022}/lib/core/payment/finance-details/summary/sales-tax-details-key.enum.mjs +0 -0
  277. /package/{esm2020 → esm2022}/lib/core/payment/finance-details/vat-details-key.enum.mjs +0 -0
  278. /package/{esm2020 → esm2022}/lib/core/payment/form/common-control-config.interface.mjs +0 -0
  279. /package/{esm2020 → esm2022}/lib/core/payment/form/control-status.interface.mjs +0 -0
  280. /package/{esm2020 → esm2022}/lib/core/payment/form/controls/card-number/card-number-control.config.mjs +0 -0
  281. /package/{esm2020 → esm2022}/lib/core/payment/form/controls/checkbox/checkbox-control.config.mjs +0 -0
  282. /package/{esm2020 → esm2022}/lib/core/payment/form/controls/control-config.mjs +0 -0
  283. /package/{esm2020 → esm2022}/lib/core/payment/form/controls/control-type.type.mjs +0 -0
  284. /package/{esm2020 → esm2022}/lib/core/payment/form/controls/coupon/coupon-control.config.mjs +0 -0
  285. /package/{esm2020 → esm2022}/lib/core/payment/form/controls/phone-control.config.mjs +0 -0
  286. /package/{esm2020 → esm2022}/lib/core/payment/form/controls/radio-control/radio-control.config.mjs +0 -0
  287. /package/{esm2020 → esm2022}/lib/core/payment/form/controls/radio-control/radio-option.interface.mjs +0 -0
  288. /package/{esm2020 → esm2022}/lib/core/payment/form/controls/search-select/search-select-option.interface.mjs +0 -0
  289. /package/{esm2020 → esm2022}/lib/core/payment/form/controls/search-select/select-control.config.mjs +0 -0
  290. /package/{esm2020 → esm2022}/lib/core/payment/form/controls/search-select/select-option.interface.mjs +0 -0
  291. /package/{esm2020 → esm2022}/lib/core/payment/form/controls/text-control.config.mjs +0 -0
  292. /package/{esm2020 → esm2022}/lib/core/payment/form/converters/converters-map.interface.mjs +0 -0
  293. /package/{esm2020 → esm2022}/lib/core/payment/form/converters/converters-map.mjs +0 -0
  294. /package/{esm2020 → esm2022}/lib/core/payment/form/converters/cpf-name/cpf-name-regex.variable.mjs +0 -0
  295. /package/{esm2020 → esm2022}/lib/core/payment/form/converters/cvv/cvv-form-state.interface.mjs +0 -0
  296. /package/{esm2020 → esm2022}/lib/core/payment/form/converters/street-number/street-number-from-state.interface.mjs +0 -0
  297. /package/{esm2020 → esm2022}/lib/core/payment/form/field-form-states.interface.mjs +0 -0
  298. /package/{esm2020 → esm2022}/lib/core/payment/form/field-status.interface.mjs +0 -0
  299. /package/{esm2020 → esm2022}/lib/core/payment/form/form-fields-status.interface.mjs +0 -0
  300. /package/{esm2020 → esm2022}/lib/core/payment/form/form-state.interface.mjs +0 -0
  301. /package/{esm2020 → esm2022}/lib/core/payment/form/input-event.enum.mjs +0 -0
  302. /package/{esm2020 → esm2022}/lib/core/payment/form/validators/async-validator-fn.type.mjs +0 -0
  303. /package/{esm2020 → esm2022}/lib/core/payment/form/validators/coupon/coupon-validator.mjs +0 -0
  304. /package/{esm2020 → esm2022}/lib/core/payment/form/validators/email/email-validator.mjs +0 -0
  305. /package/{esm2020 → esm2022}/lib/core/payment/form/validators/is-empty-input-value.function.mjs +0 -0
  306. /package/{esm2020 → esm2022}/lib/core/payment/form/validators/max-length-validator.mjs +0 -0
  307. /package/{esm2020 → esm2022}/lib/core/payment/form/validators/min-length-validator.mjs +0 -0
  308. /package/{esm2020 → esm2022}/lib/core/payment/form/validators/phone-validator.mjs +0 -0
  309. /package/{esm2020 → esm2022}/lib/core/payment/form/validators/required/required.validator.mjs +0 -0
  310. /package/{esm2020 → esm2022}/lib/core/payment/form/validators/restricted-value/restricted-value.validator.mjs +0 -0
  311. /package/{esm2020 → esm2022}/lib/core/payment/form/validators/validation-error.interface.mjs +0 -0
  312. /package/{esm2020 → esm2022}/lib/core/payment/form/validators/validation-errors.interface.mjs +0 -0
  313. /package/{esm2020 → esm2022}/lib/core/payment/form/validators/validator-fn.type.mjs +0 -0
  314. /package/{esm2020 → esm2022}/lib/core/payment/form-response.interface.mjs +0 -0
  315. /package/{esm2020 → esm2022}/lib/core/payment/initialize/initialize-request-params.interface.mjs +0 -0
  316. /package/{esm2020 → esm2022}/lib/core/payment/initialize/response/initialize-response.token.mjs +0 -0
  317. /package/{esm2020 → esm2022}/lib/core/payment/invoice.interface.mjs +0 -0
  318. /package/{esm2020 → esm2022}/lib/core/payment/payment-config.interface.mjs +0 -0
  319. /package/{esm2020 → esm2022}/lib/core/payment/payment-form.interface.mjs +0 -0
  320. /package/{esm2020 → esm2022}/lib/core/payment/payment.interface.mjs +0 -0
  321. /package/{esm2020 → esm2022}/lib/core/payment/status/check-status/request/check-status-request.token.mjs +0 -0
  322. /package/{esm2020 → esm2022}/lib/core/payment/status/check-status/response/check-status-response.class.mjs +0 -0
  323. /package/{esm2020 → esm2022}/lib/core/payment/status/check-status/response/check-status-response.token.mjs +0 -0
  324. /package/{esm2020 → esm2022}/lib/core/payment/status/finance-info-field.interface.mjs +0 -0
  325. /package/{esm2020 → esm2022}/lib/core/payment/status/line-item.interface.mjs +0 -0
  326. /package/{esm2020 → esm2022}/lib/core/payment/status/save-payment-method-status/api/saved-payment-account-changes.interface.mjs +0 -0
  327. /package/{esm2020 → esm2022}/lib/core/payment/status/save-payment-method-status/api/saved-payment-account.interface.mjs +0 -0
  328. /package/{esm2020 → esm2022}/lib/core/payment/status/save-payment-method-status/save-payment-method-status.enum.mjs +0 -0
  329. /package/{esm2020 → esm2022}/lib/core/payment/status/status-finance-info.interface.mjs +0 -0
  330. /package/{esm2020 → esm2022}/lib/core/payment/status/status-groups.mjs +0 -0
  331. /package/{esm2020 → esm2022}/lib/core/payment/status/status-order.interface.mjs +0 -0
  332. /package/{esm2020 → esm2022}/lib/core/payment/status/status-request/request/status-request.token.mjs +0 -0
  333. /package/{esm2020 → esm2022}/lib/core/payment/status/status-request/required-status-search-params.const.mjs +0 -0
  334. /package/{esm2020 → esm2022}/lib/core/payment/status/status-request/response/status-response.token.mjs +0 -0
  335. /package/{esm2020 → esm2022}/lib/core/payment/status/status-request/status-request-params.interface.mjs +0 -0
  336. /package/{esm2020 → esm2022}/lib/core/payment/status/status-request/status-search-param.enum.mjs +0 -0
  337. /package/{esm2020 → esm2022}/lib/core/payment/status/status-request/status-search-params.map.mjs +0 -0
  338. /package/{esm2020 → esm2022}/lib/core/payment/status/status-settings.interface.mjs +0 -0
  339. /package/{esm2020 → esm2022}/lib/core/payment/status/status-updated.interface.mjs +0 -0
  340. /package/{esm2020 → esm2022}/lib/core/payment/status/status.enum.mjs +0 -0
  341. /package/{esm2020 → esm2022}/lib/core/payment/status/status.interface.mjs +0 -0
  342. /package/{esm2020 → esm2022}/lib/core/payment/status/title-class.enum.mjs +0 -0
  343. /package/{esm2020 → esm2022}/lib/core/payment/status/web-socket-client-type.enum.mjs +0 -0
  344. /package/{esm2020 → esm2022}/lib/core/payment/status/websocket-status/websocket-status.enum.mjs +0 -0
  345. /package/{esm2020 → esm2022}/lib/core/payment/submit/request/submit-request.token.mjs +0 -0
  346. /package/{esm2020 → esm2022}/lib/core/payment/submit/response/is-submit-response.function.mjs +0 -0
  347. /package/{esm2020 → esm2022}/lib/core/payment/submit/response/submit-response.token.mjs +0 -0
  348. /package/{esm2020 → esm2022}/lib/core/payment/sync/field-async-validation.interface.mjs +0 -0
  349. /package/{esm2020 → esm2022}/lib/core/payment/sync/field-sync-state.interface.mjs +0 -0
  350. /package/{esm2020 → esm2022}/lib/core/payment/sync/request/sync-request.token.mjs +0 -0
  351. /package/{esm2020 → esm2022}/lib/core/payment/sync/response/sync-response.token.mjs +0 -0
  352. /package/{esm2020 → esm2022}/lib/core/payment/three-ds/api/notify-dfp-status/request/notify-dfp-status-request.class.mjs +0 -0
  353. /package/{esm2020 → esm2022}/lib/core/payment/three-ds/api/notify-dfp-status/request/notify-dfp-status-request.token.mjs +0 -0
  354. /package/{esm2020 → esm2022}/lib/core/payment/three-ds/api/status-three-ds/request/status-three-ds-request.class.mjs +0 -0
  355. /package/{esm2020 → esm2022}/lib/core/payment/three-ds/api/status-three-ds/request/status-three-ds-request.token.mjs +0 -0
  356. /package/{esm2020 → esm2022}/lib/core/payment/three-ds/api/status-three-ds/response/status-three-ds-response.class.mjs +0 -0
  357. /package/{esm2020 → esm2022}/lib/core/payment/three-ds/api/status-three-ds/response/status-three-ds-response.token.mjs +0 -0
  358. /package/{esm2020 → esm2022}/lib/core/payment/three-ds/api/status-three-ds/status-three-ds-response.interface.mjs +0 -0
  359. /package/{esm2020 → esm2022}/lib/core/payment/three-ds/api/status-three-ds/status-types.enum.mjs +0 -0
  360. /package/{esm2020 → esm2022}/lib/core/payment/three-ds/api/status-three-ds/three-ds-checkout-form.interface.mjs +0 -0
  361. /package/{esm2020 → esm2022}/lib/core/payment/three-ds/reinsurance-check/timer.interface.mjs +0 -0
  362. /package/{esm2020 → esm2022}/lib/core/payment/three-ds/three-ds-20/status-update.interface.mjs +0 -0
  363. /package/{esm2020 → esm2022}/lib/core/payment/three-ds/three-ds-form.interface.mjs +0 -0
  364. /package/{esm2020 → esm2022}/lib/core/payment/three-ds/three-ds-status-websocket-types.enum.mjs +0 -0
  365. /package/{esm2020 → esm2022}/lib/core/payment/virtual-currency.interface.mjs +0 -0
  366. /package/{esm2020 → esm2022}/lib/core/payment/xps-api-part.abstract.mjs +0 -0
  367. /package/{esm2020 → esm2022}/lib/core/payment/xps-checkout.mjs +0 -0
  368. /package/{esm2020 → esm2022}/lib/core/payment/xps-comand.enum.mjs +0 -0
  369. /package/{esm2020 → esm2022}/lib/core/payment/xps-error.interface.mjs +0 -0
  370. /package/{esm2020 → esm2022}/lib/core/payment/xps-finance.interface.mjs +0 -0
  371. /package/{esm2020 → esm2022}/lib/core/payment/xps-message.interface.mjs +0 -0
  372. /package/{esm2020 → esm2022}/lib/core/payment/xps-purchase.interface.mjs +0 -0
  373. /package/{esm2020 → esm2022}/lib/core/payment/xps-request-params.interface.mjs +0 -0
  374. /package/{esm2020 → esm2022}/lib/core/payment/xps-request.interface.mjs +0 -0
  375. /package/{esm2020 → esm2022}/lib/core/payment/xps-response.error.mjs +0 -0
  376. /package/{esm2020 → esm2022}/lib/core/payment/xps-response.interface.mjs +0 -0
  377. /package/{esm2020 → esm2022}/lib/core/payment/xps-summary.interface.mjs +0 -0
  378. /package/{esm2020 → esm2022}/lib/core/payment-methods/payment-method-api.interface.mjs +0 -0
  379. /package/{esm2020 → esm2022}/lib/core/payment-methods/payment-method.interface.mjs +0 -0
  380. /package/{esm2020 → esm2022}/lib/core/payment-methods/payment-methods-api.interface.mjs +0 -0
  381. /package/{esm2020 → esm2022}/lib/core/payment-methods/payment-methods-request-params.interface.mjs +0 -0
  382. /package/{esm2020 → esm2022}/lib/core/payment-methods/payment-methods-response.class.mjs +0 -0
  383. /package/{esm2020 → esm2022}/lib/core/payment-methods/payment-methods-response.interface.mjs +0 -0
  384. /package/{esm2020 → esm2022}/lib/core/payment-methods/payment-methods-response.token.mjs +0 -0
  385. /package/{esm2020 → esm2022}/lib/core/performance/xhr-action.interface.mjs +0 -0
  386. /package/{esm2020 → esm2022}/lib/core/properties.type.mjs +0 -0
  387. /package/{esm2020 → esm2022}/lib/core/saved-methods/saved-method-api.interface.mjs +0 -0
  388. /package/{esm2020 → esm2022}/lib/core/saved-methods/saved-method.interface.mjs +0 -0
  389. /package/{esm2020 → esm2022}/lib/core/saved-methods/saved-methods-request-params.interface.mjs +0 -0
  390. /package/{esm2020 → esm2022}/lib/core/saved-methods/saved-methods-response.class.mjs +0 -0
  391. /package/{esm2020 → esm2022}/lib/core/saved-methods/saved-methods-response.interface.mjs +0 -0
  392. /package/{esm2020 → esm2022}/lib/core/saved-methods/saved-methods-response.token.mjs +0 -0
  393. /package/{esm2020 → esm2022}/lib/core/sdk-payment-systems/apple-pay/apple-pay-integration.type.mjs +0 -0
  394. /package/{esm2020 → esm2022}/lib/core/sdk-payment-systems/apple-pay/apple-pay-params.interface.mjs +0 -0
  395. /package/{esm2020 → esm2022}/lib/core/sdk-payment-systems/apple-pay/apple-pay.const.mjs +0 -0
  396. /package/{esm2020 → esm2022}/lib/core/sdk-payment-systems/apple-pay/apple-pay.errors.enum.mjs +0 -0
  397. /package/{esm2020 → esm2022}/lib/core/sdk-payment-systems/apple-pay/checkout-params.interface.mjs +0 -0
  398. /package/{esm2020 → esm2022}/lib/core/sdk-payment-systems/google-pay/google-pay-button-color.type.mjs +0 -0
  399. /package/{esm2020 → esm2022}/lib/core/sdk-payment-systems/google-pay/google-pay-checkout.interface.mjs +0 -0
  400. /package/{esm2020 → esm2022}/lib/core/sdk-payment-systems/google-pay/google-pay-init-params.interface.mjs +0 -0
  401. /package/{esm2020 → esm2022}/lib/core/sdk-payment-systems/google-pay/google-pay-library.interface.mjs +0 -0
  402. /package/{esm2020 → esm2022}/lib/core/sdk-payment-systems/sdk-payment-methods.const.mjs +0 -0
  403. /package/{esm2020 → esm2022}/lib/core/sdk-payment-systems/sdk-payment-systems-initial-data.interface.mjs +0 -0
  404. /package/{esm2020 → esm2022}/lib/core/sdk-payment-systems/sdk-payment-systems.interface.mjs +0 -0
  405. /package/{esm2020 → esm2022}/lib/core/settings/auto-redirect-on-status.mjs +0 -0
  406. /package/{esm2020 → esm2022}/lib/core/settings/balance.interface.mjs +0 -0
  407. /package/{esm2020 → esm2022}/lib/core/settings/bonus.interface.mjs +0 -0
  408. /package/{esm2020 → esm2022}/lib/core/settings/configuration.interface.mjs +0 -0
  409. /package/{esm2020 → esm2022}/lib/core/settings/empty-utils-response.error.mjs +0 -0
  410. /package/{esm2020 → esm2022}/lib/core/settings/header-type.enum.mjs +0 -0
  411. /package/{esm2020 → esm2022}/lib/core/settings/offer.interface.mjs +0 -0
  412. /package/{esm2020 → esm2022}/lib/core/settings/project.interface.mjs +0 -0
  413. /package/{esm2020 → esm2022}/lib/core/settings/purchase.interface.mjs +0 -0
  414. /package/{esm2020 → esm2022}/lib/core/settings/settings-mode.enum.mjs +0 -0
  415. /package/{esm2020 → esm2022}/lib/core/settings/settings.interface.mjs +0 -0
  416. /package/{esm2020 → esm2022}/lib/core/settings/status-back-show.mjs +0 -0
  417. /package/{esm2020 → esm2022}/lib/core/settings/tracking-info.interface.mjs +0 -0
  418. /package/{esm2020 → esm2022}/lib/core/settings/user.interface.mjs +0 -0
  419. /package/{esm2020 → esm2022}/lib/core/settings/utils-response.interface.mjs +0 -0
  420. /package/{esm2020 → esm2022}/lib/core/type-guards/is-null.function.mjs +0 -0
  421. /package/{esm2020 → esm2022}/lib/core/type-guards/is-string.function.mjs +0 -0
  422. /package/{esm2020 → esm2022}/lib/core/type-guards/is-undefined.function.mjs +0 -0
  423. /package/{esm2020 → esm2022}/lib/core/url/search-params.interface.mjs +0 -0
  424. /package/{esm2020 → esm2022}/lib/core/user-agent/browserInfo.interface.mjs +0 -0
  425. /package/{esm2020 → esm2022}/lib/core/user-agent/browsers.mjs +0 -0
  426. /package/{esm2020 → esm2022}/lib/core/user-agent/device.enum.mjs +0 -0
  427. /package/{esm2020 → esm2022}/lib/core/user-agent/os.mjs +0 -0
  428. /package/{esm2020 → esm2022}/lib/core/user-agent/user-agent-data.interface.mjs +0 -0
  429. /package/{esm2020 → esm2022}/lib/core/user-balance/user-balance-api.interface.mjs +0 -0
  430. /package/{esm2020 → esm2022}/lib/core/user-balance/user-balance-request-params.interface.mjs +0 -0
  431. /package/{esm2020 → esm2022}/lib/core/user-balance/user-balance-response.class.mjs +0 -0
  432. /package/{esm2020 → esm2022}/lib/core/user-balance/user-balance-response.token.mjs +0 -0
  433. /package/{esm2020 → esm2022}/lib/core/user-behaviour-analytics/event-builder/event-parameter-types.mjs +0 -0
  434. /package/{esm2020 → esm2022}/lib/core/user-behaviour-analytics/event-builder/invoice.interface.mjs +0 -0
  435. /package/{esm2020 → esm2022}/lib/core/user-behaviour-analytics/event-builder/purchase.type.mjs +0 -0
  436. /package/{esm2020 → esm2022}/lib/core/user-behaviour-analytics/event-builder/user-behaviour-event.interface.mjs +0 -0
  437. /package/{esm2020 → esm2022}/lib/core/user-behaviour-analytics/one-time-analytics-events.const.mjs +0 -0
  438. /package/{esm2020 → esm2022}/lib/core/user-behaviour-analytics/user-behaviour-analytics.interface.mjs +0 -0
  439. /package/{esm2020 → esm2022}/lib/core/user-behaviour-analytics/user-behaviour-event/user-behaviour-event-categories.mjs +0 -0
  440. /package/{esm2020 → esm2022}/lib/core/user-behaviour-analytics/user-behaviour-event/user-behaviour-event-types.mjs +0 -0
  441. /package/{esm2020 → esm2022}/lib/core/user-behaviour-analytics/user-behaviour-event-name.enum.mjs +0 -0
  442. /package/{esm2020 → esm2022}/lib/core/user-behaviour-analytics/user-session-options.mjs +0 -0
  443. /package/{esm2020 → esm2022}/lib/core/web-socket/web-socket-client-type.enum.mjs +0 -0
  444. /package/{esm2020 → esm2022}/lib/core/web-socket/web-socket.interface.mjs +0 -0
  445. /package/{esm2020 → esm2022}/lib/core/window.token.mjs +0 -0
  446. /package/{esm2020 → esm2022}/lib/core/xps-boolean.enum.mjs +0 -0
  447. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
  448. /package/{esm2020 → esm2022}/xsolla-payment-client-core.mjs +0 -0
@@ -1,114 +0,0 @@
1
- import { Inject, Injectable } from '@angular/core';
2
- import { interval, of, Subject } from 'rxjs';
3
- import { debounce, filter, map } from 'rxjs/operators';
4
- import { windowToken } from '../window.token';
5
- import { defaultApiUrl, sandboxApiUrl } from '../http/secure-api/api-url.const';
6
- import * as i0 from "@angular/core";
7
- export class XhrActionService {
8
- constructor(window) {
9
- this.window = window;
10
- this.pauseTime = 1000;
11
- this.userInputEventNames = ['click', 'change'];
12
- this.isXhrActionStarted = false;
13
- this.apiRequestEntries = [];
14
- this.cdnRequestEntries = [];
15
- this.entriesSubject = new Subject();
16
- }
17
- getXhrAction() {
18
- if (!this.window.performance || !this.window.PerformanceObserver) {
19
- return of();
20
- }
21
- this.getUserInput().subscribe(() => this.window.performance.mark('userInput'));
22
- this.getPerformance().subscribe((entry) => this.processEntry(entry));
23
- return this.getPauseEvent().pipe(map(() => {
24
- const event = {
25
- name: this.getApiRequestName(),
26
- duration: this.getDuration([
27
- ...this.apiRequestEntries,
28
- ...this.cdnRequestEntries,
29
- ]),
30
- apiRequestCount: this.apiRequestEntries.length,
31
- apiRequestDuration: this.getDuration(this.apiRequestEntries),
32
- cdnRequestCount: this.cdnRequestEntries.length,
33
- cdnRequestDuration: this.getDuration(this.cdnRequestEntries),
34
- };
35
- this.stopXhrAction();
36
- return event;
37
- }));
38
- }
39
- processEntry(entry) {
40
- const isApiRequest = entry.name.includes(defaultApiUrl || sandboxApiUrl);
41
- const cdnUrl = '';
42
- const isCdnRequest = !isApiRequest && entry.name.startsWith(cdnUrl);
43
- if (this.isXhrActionStarted && isApiRequest) {
44
- this.apiRequestEntries.push(entry);
45
- }
46
- if (this.isXhrActionStarted && isCdnRequest) {
47
- this.cdnRequestEntries.push(entry);
48
- }
49
- if (isApiRequest && !this.isXhrActionStarted) {
50
- const userInputEntries = this.window.performance.getEntriesByName('userInput', 'mark');
51
- const userInputEntry = userInputEntries[userInputEntries.length - 1];
52
- if (userInputEntry) {
53
- this.startXhrAction(entry);
54
- }
55
- }
56
- if (isApiRequest || isCdnRequest) {
57
- this.entriesSubject.next(entry);
58
- }
59
- }
60
- startXhrAction(xhrEntry) {
61
- this.isXhrActionStarted = true;
62
- this.apiRequestEntries.push(xhrEntry);
63
- }
64
- stopXhrAction() {
65
- this.isXhrActionStarted = false;
66
- this.apiRequestEntries = [];
67
- this.cdnRequestEntries = [];
68
- }
69
- getUserInput() {
70
- const userInputSubject = new Subject();
71
- this.userInputEventNames.forEach((eventName) => {
72
- this.window.addEventListener(eventName, () => userInputSubject.next());
73
- });
74
- return userInputSubject;
75
- }
76
- getPerformance() {
77
- const performanceSubject = new Subject();
78
- if (this.window.PerformanceObserver) {
79
- const observer = new this.window.PerformanceObserver((list) => {
80
- list.getEntries().forEach((entry) => {
81
- return performanceSubject.next(entry);
82
- });
83
- });
84
- observer.observe({ entryTypes: ['resource'] });
85
- }
86
- return performanceSubject;
87
- }
88
- getApiRequestName() {
89
- return this.apiRequestEntries[0].name.split(defaultApiUrl)[1].split('?')[0];
90
- }
91
- getDuration(entries) {
92
- if (!entries.length) {
93
- return 0;
94
- }
95
- const firstApiRequestEntry = entries.reduce((prev, current) => (prev.startTime < current.startTime ? prev : current));
96
- const lastApiRequestEntry = entries.reduce((prev, current) => prev.responseEnd > current.responseEnd ? prev : current);
97
- return Math.round(lastApiRequestEntry.responseEnd - firstApiRequestEntry.startTime);
98
- }
99
- getPauseEvent() {
100
- return this.entriesSubject.pipe(debounce(() => interval(this.pauseTime)), filter(() => this.isXhrActionStarted));
101
- }
102
- }
103
- XhrActionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: XhrActionService, deps: [{ token: windowToken }], target: i0.ɵɵFactoryTarget.Injectable });
104
- XhrActionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: XhrActionService, providedIn: 'root' });
105
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: XhrActionService, decorators: [{
106
- type: Injectable,
107
- args: [{
108
- providedIn: 'root',
109
- }]
110
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
111
- type: Inject,
112
- args: [windowToken]
113
- }] }]; } });
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieGhyLWFjdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGVyZm9ybWFuY2UveGhyLWFjdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxRQUFRLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN6RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUd2RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7QUFLaEYsTUFBTSxPQUFPLGdCQUFnQjtJQVEzQixZQUVtQixNQUFzQjtRQUF0QixXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQVR4QixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLHdCQUFtQixHQUFhLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzdELHVCQUFrQixHQUFHLEtBQUssQ0FBQztRQUMzQixzQkFBaUIsR0FBZ0MsRUFBRSxDQUFDO1FBQ3BELHNCQUFpQixHQUFnQyxFQUFFLENBQUM7UUFDM0MsbUJBQWMsR0FBRyxJQUFJLE9BQU8sRUFBNkIsQ0FBQztJQUt4RSxDQUFDO0lBRUcsWUFBWTtRQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLG1CQUFtQixFQUFFO1lBQ2hFLE9BQU8sRUFBRSxFQUFFLENBQUM7U0FDYjtRQUVELElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxTQUFTLENB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O1lBQ25CLE9BQU8sQ0FBQyxDQUFDO1NBQ1Y7UUFFRCxNQUFNLG9CQUFvQixHQUE4QixPQUFPLENBQUMsTUFBTSxDQUNwRSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUN6RSxDQUFDO1FBQ0YsTUFBTSxtQkFBbUIsR0FBOEIsT0FBTyxDQUFDLE1BQU0sQ0FDbkUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FDaEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FDMUQsQ0FBQztRQUVGLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FDZixtQkFBbUIsQ0FBQyxXQUFXLEdBQUcsb0JBQW9CLENBQUMsU0FBUyxDQUNqRSxDQUFDO0lBQ0osQ0FBQztJQUVPLGFBQWE7UUFDbkIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FDN0IsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFDeEMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUN0QyxDQUFDO0lBQ0osQ0FBQzs7NkdBbkpVLGdCQUFnQixrQkFTakIsV0FBVztpSEFUVixnQkFBZ0IsY0FGZixNQUFNOzJGQUVQLGdCQUFnQjtrQkFINUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQVVJLE1BQU07MkJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaW50ZXJ2YWwsIE9ic2VydmFibGUsIG9mLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZSwgZmlsdGVyLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBYaHJBY3Rpb24gfSBmcm9tICcuL3hoci1hY3Rpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IEV4dGVuZGVkV2luZG93IH0gZnJvbSAnLi4vZXh0ZW5kZWQtd2luZG93LmludGVyZmFjZSc7XG5pbXBvcnQgeyB3aW5kb3dUb2tlbiB9IGZyb20gJy4uL3dpbmRvdy50b2tlbic7XG5pbXBvcnQgeyBkZWZhdWx0QXBpVXJsLCBzYW5kYm94QXBpVXJsIH0gZnJvbSAnLi4vaHR0cC9zZWN1cmUtYXBpL2FwaS11cmwuY29uc3QnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgWGhyQWN0aW9uU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgcGF1c2VUaW1lID0gMTAwMDtcbiAgcHJpdmF0ZSByZWFkb25seSB1c2VySW5wdXRFdmVudE5hbWVzOiBzdHJpbmdbXSA9IFsnY2xpY2snLCAnY2hhbmdlJ107XG4gIHByaXZhdGUgaXNYaHJBY3Rpb25TdGFydGVkID0gZmFsc2U7XG4gIHByaXZhdGUgYXBpUmVxdWVzdEVudHJpZXM6IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmdbXSA9IFtdO1xuICBwcml2YXRlIGNkblJlcXVlc3RFbnRyaWVzOiBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nW10gPSBbXTtcbiAgcHJpdmF0ZSByZWFkb25seSBlbnRyaWVzU3ViamVjdCA9IG5ldyBTdWJqZWN0PFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc+KCk7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3Qod2luZG93VG9rZW4pXG4gICAgcHJpdmF0ZSByZWFkb25seSB3aW5kb3c6IEV4dGVuZGVkV2luZG93XG4gICkge31cblxuICBwdWJsaWMgZ2V0WGhyQWN0aW9uKCk6IE9ic2VydmFibGU8WGhyQWN0aW9uPiB7XG4gICAgaWYgKCF0aGlzLndpbmRvdy5wZXJmb3JtYW5jZSB8fCAhdGhpcy53aW5kb3cuUGVyZm9ybWFuY2VPYnNlcnZlcikge1xuICAgICAgcmV0dXJuIG9mKCk7XG4gICAgfVxuXG4gICAgdGhpcy5nZXRVc2VySW5wdXQoKS5zdWJzY3JpYmUoKCkgPT5cbiAgICAgIHRoaXMud2luZG93LnBlcmZvcm1hbmNlLm1hcmsoJ3VzZXJJbnB1dCcpXG4gICAgKTtcblxuICAgIHRoaXMuZ2V0UGVyZm9ybWFuY2UoKS5zdWJzY3JpYmUoKGVudHJ5OiBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nKSA9PlxuICAgICAgdGhpcy5wcm9jZXNzRW50cnkoZW50cnkpXG4gICAgKTtcblxuICAgIHJldHVybiB0aGlzLmdldFBhdXNlRXZlbnQoKS5waXBlKFxuICAgICAgbWFwPFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcsIFhockFjdGlvbj4oKCkgPT4ge1xuICAgICAgICBjb25zdCBldmVudDogWGhyQWN0aW9uID0ge1xuICAgICAgICAgIG5hbWU6IHRoaXMuZ2V0QXBpUmVxdWVzdE5hbWUoKSxcbiAgICAgICAgICBkdXJhdGlvbjogdGhpcy5nZXREdXJhdGlvbihbXG4gICAgICAgICAgICAuLi50aGlzLmFwaVJlcXVlc3RFbnRyaWVzLFxuICAgICAgICAgICAgLi4udGhpcy5jZG5SZXF1ZXN0RW50cmllcyxcbiAgICAgICAgICBdKSxcbiAgICAgICAgICBhcGlSZXF1ZXN0Q291bnQ6IHRoaXMuYXBpUmVxdWVzdEVudHJpZXMubGVuZ3RoLFxuICAgICAgICAgIGFwaVJlcXVlc3REdXJhdGlvbjogdGhpcy5nZXREdXJhdGlvbih0aGlzLmFwaVJlcXVlc3RFbnRyaWVzKSxcbiAgICAgICAgICBjZG5SZXF1ZXN0Q291bnQ6IHRoaXMuY2RuUmVxdWVzdEVudHJpZXMubGVuZ3RoLFxuICAgICAgICAgIGNkblJlcXVlc3REdXJhdGlvbjogdGhpcy5nZXREdXJhdGlvbih0aGlzLmNkblJlcXVlc3RFbnRyaWVzKSxcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLnN0b3BYaHJBY3Rpb24oKTtcblxuICAgICAgICByZXR1cm4gZXZlbnQ7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHByb2Nlc3NFbnRyeShlbnRyeTogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyk6IHZvaWQge1xuICAgIGNvbnN0IGlzQXBpUmVxdWVzdDogYm9vbGVhbiA9IGVudHJ5Lm5hbWUuaW5jbHVkZXMoXG4gICAgICBkZWZhdWx0QXBpVXJsIHx8IHNhbmRib3hBcGlVcmxcbiAgICApO1xuXG4gICAgY29uc3QgY2RuVXJsID0gJyc7XG4gICAgY29uc3QgaXNDZG5SZXF1ZXN0OiBib29sZWFuID1cbiAgICAgICFpc0FwaVJlcXVlc3QgJiYgZW50cnkubmFtZS5zdGFydHNXaXRoKGNkblVybCk7XG5cbiAgICBpZiAodGhpcy5pc1hockFjdGlvblN0YXJ0ZWQgJiYgaXNBcGlSZXF1ZXN0KSB7XG4gICAgICB0aGlzLmFwaVJlcXVlc3RFbnRyaWVzLnB1c2goZW50cnkpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmlzWGhyQWN0aW9uU3RhcnRlZCAmJiBpc0NkblJlcXVlc3QpIHtcbiAgICAgIHRoaXMuY2RuUmVxdWVzdEVudHJpZXMucHVzaChlbnRyeSk7XG4gICAgfVxuXG4gICAgaWYgKGlzQXBpUmVxdWVzdCAmJiAhdGhpcy5pc1hockFjdGlvblN0YXJ0ZWQpIHtcbiAgICAgIGNvbnN0IHVzZXJJbnB1dEVudHJpZXM6IFBlcmZvcm1hbmNlRW50cnlbXSA9XG4gICAgICAgIHRoaXMud2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoJ3VzZXJJbnB1dCcsICdtYXJrJyk7XG4gICAgICBjb25zdCB1c2VySW5wdXRFbnRyeTogUGVyZm9ybWFuY2VFbnRyeSA9XG4gICAgICAgIHVzZXJJbnB1dEVudHJpZXNbdXNlcklucHV0RW50cmllcy5sZW5ndGggLSAxXTtcblxuICAgICAgaWYgKHVzZXJJbnB1dEVudHJ5KSB7XG4gICAgICAgIHRoaXMuc3RhcnRYaHJBY3Rpb24oZW50cnkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChpc0FwaVJlcXVlc3QgfHwgaXNDZG5SZXF1ZXN0KSB7XG4gICAgICB0aGlzLmVudHJpZXNTdWJqZWN0Lm5leHQoZW50cnkpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc3RhcnRYaHJBY3Rpb24oeGhyRW50cnk6IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcpOiB2b2lkIHtcbiAgICB0aGlzLmlzWGhyQWN0aW9uU3RhcnRlZCA9IHRydWU7XG4gICAgdGhpcy5hcGlSZXF1ZXN0RW50cmllcy5wdXNoKHhockVudHJ5KTtcbiAgfVxuXG4gIHByaXZhdGUgc3RvcFhockFjdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLmlzWGhyQWN0aW9uU3RhcnRlZCA9IGZhbHNlO1xuICAgIHRoaXMuYXBpUmVxdWVzdEVudHJpZXMgPSBbXTtcbiAgICB0aGlzLmNkblJlcXVlc3RFbnRyaWVzID0gW107XG4gIH1cblxuICBwcml2YXRlIGdldFVzZXJJbnB1dCgpOiBTdWJqZWN0PHZvaWQ+IHtcbiAgICBjb25zdCB1c2VySW5wdXRTdWJqZWN0OiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcblxuICAgIHRoaXMudXNlcklucHV0RXZlbnROYW1lcy5mb3JFYWNoKChldmVudE5hbWU6IHN0cmluZykgPT4ge1xuICAgICAgdGhpcy53aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihldmVudE5hbWUsICgpID0+IHVzZXJJbnB1dFN1YmplY3QubmV4dCgpKTtcbiAgICB9KTtcblxuICAgIHJldHVybiB1c2VySW5wdXRTdWJqZWN0O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQZXJmb3JtYW5jZSgpOiBTdWJqZWN0PFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc+IHtcbiAgICBjb25zdCBwZXJmb3JtYW5jZVN1YmplY3Q6IFN1YmplY3Q8UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZz4gPVxuICAgICAgbmV3IFN1YmplY3QoKTtcblxuICAgIGlmICh0aGlzLndpbmRvdy5QZXJmb3JtYW5jZU9ic2VydmVyKSB7XG4gICAgICBjb25zdCBvYnNlcnZlciA9IG5ldyB0aGlzLndpbmRvdy5QZXJmb3JtYW5jZU9ic2VydmVyKFxuICAgICAgICAobGlzdDogUGVyZm9ybWFuY2VPYnNlcnZlckVudHJ5TGlzdCkgPT4ge1xuICAgICAgICAgIGxpc3QuZ2V0RW50cmllcygpLmZvckVhY2goKGVudHJ5OiBQZXJmb3JtYW5jZUVudHJ5KTogdm9pZCA9PiB7XG4gICAgICAgICAgICByZXR1cm4gcGVyZm9ybWFuY2VTdWJqZWN0Lm5leHQoZW50cnkgYXMgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICk7XG5cbiAgICAgIG9ic2VydmVyLm9ic2VydmUoeyBlbnRyeVR5cGVzOiBbJ3Jlc291cmNlJ10gfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBlcmZvcm1hbmNlU3ViamVjdDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QXBpUmVxdWVzdE5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5hcGlSZXF1ZXN0RW50cmllc1swXS5uYW1lLnNwbGl0KGRlZmF1bHRBcGlVcmwpWzFdLnNwbGl0KCc/JylbMF07XG4gIH1cblxuICBwcml2YXRlIGdldER1cmF0aW9uKGVudHJpZXM6IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmdbXSk6IG51bWJlciB7XG4gICAgaWYgKCFlbnRyaWVzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuXG4gICAgY29uc3QgZmlyc3RBcGlSZXF1ZXN0RW50cnk6IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcgPSBlbnRyaWVzLnJlZHVjZShcbiAgICAgIChwcmV2LCBjdXJyZW50KSA9PiAocHJldi5zdGFydFRpbWUgPCBjdXJyZW50LnN0YXJ0VGltZSA/IHByZXYgOiBjdXJyZW50KVxuICAgICk7XG4gICAgY29uc3QgbGFzdEFwaVJlcXVlc3RFbnRyeTogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyA9IGVudHJpZXMucmVkdWNlKFxuICAgICAgKHByZXYsIGN1cnJlbnQpID0+XG4gICAgICAgIHByZXYucmVzcG9uc2VFbmQgPiBjdXJyZW50LnJlc3BvbnNlRW5kID8gcHJldiA6IGN1cnJlbnRcbiAgICApO1xuXG4gICAgcmV0dXJuIE1hdGgucm91bmQoXG4gICAgICBsYXN0QXBpUmVxdWVzdEVudHJ5LnJlc3BvbnNlRW5kIC0gZmlyc3RBcGlSZXF1ZXN0RW50cnkuc3RhcnRUaW1lXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UGF1c2VFdmVudCgpOiBPYnNlcnZhYmxlPFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc+IHtcbiAgICByZXR1cm4gdGhpcy5lbnRyaWVzU3ViamVjdC5waXBlKFxuICAgICAgZGVib3VuY2UoKCkgPT4gaW50ZXJ2YWwodGhpcy5wYXVzZVRpbWUpKSxcbiAgICAgIGZpbHRlcigoKSA9PiB0aGlzLmlzWGhyQWN0aW9uU3RhcnRlZClcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -1,54 +0,0 @@
1
- import { HttpHeaders } from '@angular/common/http';
2
- import { Inject, Injectable } from '@angular/core';
3
- import { lastValueFrom, map } from 'rxjs';
4
- import { ResponseError } from '../exceptions-handling/errors/response-error.class';
5
- import { savedMethodsResponseFactoryToken, } from './saved-methods-response.token';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "../settings/settings.service";
8
- import * as i2 from "../http/secure-api/secure-api.service";
9
- export class SavedMethodsService {
10
- constructor(responseFactory, settingsService, secureApi) {
11
- this.responseFactory = responseFactory;
12
- this.settingsService = settingsService;
13
- this.secureApi = secureApi;
14
- this.apiRoute = 'savedmethods';
15
- this.cache = new Map();
16
- }
17
- async getList(needResetCache = false) {
18
- if (needResetCache) {
19
- this.cache.clear();
20
- }
21
- const response = await this.request();
22
- return response.list;
23
- }
24
- async request() {
25
- const requestParams = {
26
- access_token: this.settingsService.token,
27
- };
28
- const cacheKey = JSON.stringify(requestParams);
29
- if (!this.cache.has(cacheKey)) {
30
- this.cache.set(cacheKey, lastValueFrom(this.secureApi
31
- .post(this.apiRoute, new URLSearchParams({ ...requestParams }), {
32
- headers: new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded; charset=utf-8'),
33
- responseType: 'json',
34
- })
35
- .pipe(map((response) => this.responseFactory(response)))).catch((error) => {
36
- throw new ResponseError(error.message);
37
- }));
38
- }
39
- // @ts-expect-error the map already has the cache with key
40
- return this.cache.get(cacheKey);
41
- }
42
- }
43
- SavedMethodsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: SavedMethodsService, deps: [{ token: savedMethodsResponseFactoryToken }, { token: i1.SettingsService }, { token: i2.SecureApiClient }], target: i0.ɵɵFactoryTarget.Injectable });
44
- SavedMethodsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: SavedMethodsService, providedIn: 'root' });
45
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: SavedMethodsService, decorators: [{
46
- type: Injectable,
47
- args: [{
48
- providedIn: 'root',
49
- }]
50
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
51
- type: Inject,
52
- args: [savedMethodsResponseFactoryToken]
53
- }] }, { type: i1.SettingsService }, { type: i2.SecureApiClient }]; } });
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2ZWQtbWV0aG9kcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvc2F2ZWQtbWV0aG9kcy9zYXZlZC1tZXRob2RzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUtuRixPQUFPLEVBRUwsZ0NBQWdDLEdBQ2pDLE1BQU0sZ0NBQWdDLENBQUM7Ozs7QUFPeEMsTUFBTSxPQUFPLG1CQUFtQjtJQUs5QixZQUVtQixlQUE0QyxFQUM1QyxlQUFnQyxFQUNoQyxTQUEwQjtRQUYxQixvQkFBZSxHQUFmLGVBQWUsQ0FBNkI7UUFDNUMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLGNBQVMsR0FBVCxTQUFTLENBQWlCO1FBUjVCLGFBQVEsR0FBRyxjQUFjLENBQUM7UUFFMUIsVUFBSyxHQUFHLElBQUksR0FBRyxFQUF5QyxDQUFDO0lBT3ZFLENBQUM7SUFFRyxLQUFLLENBQUMsT0FBTyxDQUFDLGNBQWMsR0FBRyxLQUFLO1FBQ3pDLElBQUksY0FBYyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDcEI7UUFFRCxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN0QyxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUM7SUFDdkIsQ0FBQztJQUVPLEtBQUssQ0FBQyxPQUFPO1FBQ25CLE1BQU0sYUFBYSxHQUE4QjtZQUMvQyxZQUFZLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLO1NBQ3pDLENBQUM7UUFDRixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRS9DLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUM3QixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FDWixRQUFRLEVBQ1IsYUFBYSxDQUNYLElBQUksQ0FBQyxTQUFTO2lCQUNYLElBQUksQ0FDSCxJQUFJLENBQUMsUUFBUSxFQUNiLElBQUksZUFBZSxDQUFDLEVBQUUsR0FBRyxhQUFhLEVBQUUsQ0FBQyxFQUN6QztnQkFDRSxPQUFPLEVBQUUsSUFBSSxXQUFXLEVBQUUsQ0FBQyxHQUFHLENBQzVCLGNBQWMsRUFDZCxrREFBa0QsQ0FDbkQ7Z0JBQ0QsWUFBWSxFQUFFLE1BQU07YUFDckIsQ0FDRjtpQkFDQSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FDM0QsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFZLEVBQUUsRUFBRTtnQkFDdkIsTUFBTSxJQUFJLGFBQWEsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDekMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztTQUNIO1FBRUQsMERBQTBEO1FBQzFELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEMsQ0FBQzs7Z0hBcERVLG1CQUFtQixrQkFNcEIsZ0NBQWdDO29IQU4vQixtQkFBbUIsY0FGbEIsTUFBTTsyRkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFPSSxNQUFNOzJCQUFDLGdDQUFnQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBsYXN0VmFsdWVGcm9tLCBtYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFJlc3BvbnNlRXJyb3IgfSBmcm9tICcuLi9leGNlcHRpb25zLWhhbmRsaW5nL2Vycm9ycy9yZXNwb25zZS1lcnJvci5jbGFzcyc7XG5pbXBvcnQgeyBTZWN1cmVBcGlDbGllbnQgfSBmcm9tICcuLi9odHRwL3NlY3VyZS1hcGkvc2VjdXJlLWFwaS5zZXJ2aWNlJztcbmltcG9ydCB7IFNldHRpbmdzU2VydmljZSB9IGZyb20gJy4uL3NldHRpbmdzL3NldHRpbmdzLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2F2ZWRNZXRob2RzUmVxdWVzdFBhcmFtcyB9IGZyb20gJy4vc2F2ZWQtbWV0aG9kcy1yZXF1ZXN0LXBhcmFtcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU2F2ZWRNZXRob2RzUmVzcG9uc2VBcGkgfSBmcm9tICcuL3NhdmVkLW1ldGhvZHMtcmVzcG9uc2UuaW50ZXJmYWNlJztcbmltcG9ydCB7XG4gIFNhdmVkTWV0aG9kc1Jlc3BvbnNlRmFjdG9yeSxcbiAgc2F2ZWRNZXRob2RzUmVzcG9uc2VGYWN0b3J5VG9rZW4sXG59IGZyb20gJy4vc2F2ZWQtbWV0aG9kcy1yZXNwb25zZS50b2tlbic7XG5pbXBvcnQgeyBTYXZlZE1ldGhvZHNSZXNwb25zZSB9IGZyb20gJy4vc2F2ZWQtbWV0aG9kcy1yZXNwb25zZS5jbGFzcyc7XG5pbXBvcnQgeyBTYXZlZE1ldGhvZCB9IGZyb20gJy4vc2F2ZWQtbWV0aG9kLmludGVyZmFjZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTYXZlZE1ldGhvZHNTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBhcGlSb3V0ZSA9ICdzYXZlZG1ldGhvZHMnO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgY2FjaGUgPSBuZXcgTWFwPHN0cmluZywgUHJvbWlzZTxTYXZlZE1ldGhvZHNSZXNwb25zZT4+KCk7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3Qoc2F2ZWRNZXRob2RzUmVzcG9uc2VGYWN0b3J5VG9rZW4pXG4gICAgcHJpdmF0ZSByZWFkb25seSByZXNwb25zZUZhY3Rvcnk6IFNhdmVkTWV0aG9kc1Jlc3BvbnNlRmFjdG9yeSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNldHRpbmdzU2VydmljZTogU2V0dGluZ3NTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2VjdXJlQXBpOiBTZWN1cmVBcGlDbGllbnRcbiAgKSB7fVxuXG4gIHB1YmxpYyBhc3luYyBnZXRMaXN0KG5lZWRSZXNldENhY2hlID0gZmFsc2UpOiBQcm9taXNlPFNhdmVkTWV0aG9kW10+IHtcbiAgICBpZiAobmVlZFJlc2V0Q2FjaGUpIHtcbiAgICAgIHRoaXMuY2FjaGUuY2xlYXIoKTtcbiAgICB9XG5cbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMucmVxdWVzdCgpO1xuICAgIHJldHVybiByZXNwb25zZS5saXN0O1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyByZXF1ZXN0KCk6IFByb21pc2U8U2F2ZWRNZXRob2RzUmVzcG9uc2U+IHtcbiAgICBjb25zdCByZXF1ZXN0UGFyYW1zOiBTYXZlZE1ldGhvZHNSZXF1ZXN0UGFyYW1zID0ge1xuICAgICAgYWNjZXNzX3Rva2VuOiB0aGlzLnNldHRpbmdzU2VydmljZS50b2tlbixcbiAgICB9O1xuICAgIGNvbnN0IGNhY2hlS2V5ID0gSlNPTi5zdHJpbmdpZnkocmVxdWVzdFBhcmFtcyk7XG5cbiAgICBpZiAoIXRoaXMuY2FjaGUuaGFzKGNhY2hlS2V5KSkge1xuICAgICAgdGhpcy5jYWNoZS5zZXQoXG4gICAgICAgIGNhY2hlS2V5LFxuICAgICAgICBsYXN0VmFsdWVGcm9tKFxuICAgICAgICAgIHRoaXMuc2VjdXJlQXBpXG4gICAgICAgICAgICAucG9zdDxTYXZlZE1ldGhvZHNSZXNwb25zZUFwaT4oXG4gICAgICAgICAgICAgIHRoaXMuYXBpUm91dGUsXG4gICAgICAgICAgICAgIG5ldyBVUkxTZWFyY2hQYXJhbXMoeyAuLi5yZXF1ZXN0UGFyYW1zIH0pLFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKCkuc2V0KFxuICAgICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScsXG4gICAgICAgICAgICAgICAgICAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkOyBjaGFyc2V0PXV0Zi04J1xuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgcmVzcG9uc2VUeXBlOiAnanNvbicsXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKG1hcCgocmVzcG9uc2UpID0+IHRoaXMucmVzcG9uc2VGYWN0b3J5KHJlc3BvbnNlKSkpXG4gICAgICAgICkuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4ge1xuICAgICAgICAgIHRocm93IG5ldyBSZXNwb25zZUVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yIHRoZSBtYXAgYWxyZWFkeSBoYXMgdGhlIGNhY2hlIHdpdGgga2V5XG4gICAgcmV0dXJuIHRoaXMuY2FjaGUuZ2V0KGNhY2hlS2V5KTtcbiAgfVxufVxuIl19
@@ -1,268 +0,0 @@
1
- import { Subject } from 'rxjs';
2
- import { Inject, Injectable } from '@angular/core';
3
- import { applePayVersion, safariVersionForIframeIntegration, } from './apple-pay.const';
4
- import { agreementsGroup } from '../../agreementsGroup.const';
5
- import { windowToken } from '../../window.token';
6
- import { FieldNames } from '../../payment/field-names.enum';
7
- import { ApplePayErrors } from './apple-pay.errors.enum';
8
- import { pagesRoutes } from '../../payment/actions/redirect/ps4-pages/pages-routes.const';
9
- import { applePayId } from '../../payment/actions/redirect/ps4-pages/pages-payment-methods-id.const';
10
- import { payStation4Url, sandboxPayStationUrl, } from '../../payment/actions/redirect/pay-station4-url.const';
11
- import * as i0 from "@angular/core";
12
- import * as i1 from "../../user-agent/user-agent.service";
13
- import * as i2 from "../../payment/finance-details/summary/summary-finance-details-adapter.service";
14
- export class ApplePayService {
15
- get paymentParameters() {
16
- return this.applePayParams;
17
- }
18
- get payment$() {
19
- return this.payment.asObservable();
20
- }
21
- get error$() {
22
- return this.error.asObservable();
23
- }
24
- get integrationType$() {
25
- return this.integrationType.asObservable();
26
- }
27
- constructor(window, userAgentService, summaryFinanceDetailsAdapterService) {
28
- this.window = window;
29
- this.userAgentService = userAgentService;
30
- this.summaryFinanceDetailsAdapterService = summaryFinanceDetailsAdapterService;
31
- this.agreementFieldsNames = agreementsGroup;
32
- this.payment = new Subject();
33
- this.error = new Subject();
34
- this.integrationType = new Subject();
35
- this.paymentClient = null;
36
- this.applePayParams = null;
37
- this.order = null;
38
- this.api = this.loadBraintree();
39
- }
40
- setApplePayParams(data) {
41
- const formFields = data?.paymentForm?.fields;
42
- const summary = data?.paymentForm?.summary;
43
- if (!formFields || !summary) {
44
- return;
45
- }
46
- const fields = formFields.reduce((acc, field) => {
47
- if (this.agreementFieldsNames.includes(field.name) &&
48
- field.isVisible === '1') {
49
- acc[field.name] = field.title;
50
- }
51
- else {
52
- acc[field.name] = field.value;
53
- }
54
- return acc;
55
- }, {});
56
- const agreements = this.agreementFieldsNames
57
- .map((fieldName) => fields[fieldName])
58
- .filter(Boolean);
59
- this.applePayParams = {
60
- tokenKey: this.getAppleToken(formFields),
61
- totalLabel: fields['label_applePay'] ?? '',
62
- totalAmount: this.getTotalAmount(summary),
63
- currencyCode: this.getTotalCurrency(summary),
64
- countryCode: fields['countryCode'] ?? '',
65
- merchantCapabilities: this.getJsonValueFromField(fields, 'merchantCapabilities'),
66
- supportedNetworks: this.getJsonValueFromField(fields, 'supportedNetworks'),
67
- agreements: agreements,
68
- };
69
- }
70
- async initLibrary(tokenKey) {
71
- try {
72
- const api = await this.api;
73
- const clientInstance = await api.client.create({
74
- authorization: tokenKey,
75
- });
76
- this.paymentClient = await api.applePay.create({
77
- client: clientInstance,
78
- });
79
- }
80
- catch (error) {
81
- console.error('apple pay: initialize failed', error);
82
- }
83
- this.emitIntegrationType();
84
- if (!this.paymentClient || !this.isDeviceCapable()) {
85
- this.emitError(ApplePayErrors.deviceIsNotCapableError);
86
- }
87
- }
88
- redirectToPaymentPage(parameters, token, isSandbox) {
89
- const route = pagesRoutes.get(applePayId);
90
- if (!route) {
91
- return;
92
- }
93
- const query = new URLSearchParams({
94
- ...parameters,
95
- merchantCapabilities: JSON.stringify(parameters.merchantCapabilities),
96
- supportedNetworks: JSON.stringify(parameters.supportedNetworks),
97
- token,
98
- agreements: JSON.stringify(parameters.agreements),
99
- });
100
- if (this.order) {
101
- query.append('order', this.order);
102
- }
103
- const payStationUrl = isSandbox ? sandboxPayStationUrl : payStation4Url;
104
- return `${payStationUrl}/en${route}?${query.toString()}`;
105
- }
106
- setOrder(data) {
107
- const summary = data?.paymentForm?.summary;
108
- if (!summary) {
109
- return;
110
- }
111
- const financeDetails = this.summaryFinanceDetailsAdapterService.getFinanceDetails(summary);
112
- if (financeDetails?.purchase && financeDetails?.finance) {
113
- const cartItems = financeDetails.cartItems;
114
- this.order = cartItems?.reduce((curr, item) => {
115
- if (curr) {
116
- return curr + `; ${item.title}`;
117
- }
118
- return curr + item.title;
119
- }, '');
120
- }
121
- }
122
- proceedCheckout(parameters) {
123
- if (!parameters) {
124
- return;
125
- }
126
- if (!this.paymentClient || !this.isDeviceCapable()) {
127
- console.warn('apple pay: device is not capable', this.paymentClient);
128
- this.emitError(ApplePayErrors.deviceIsNotCapableError);
129
- return;
130
- }
131
- try {
132
- const paymentRequest = this.paymentClient.createPaymentRequest({
133
- total: {
134
- label: parameters.totalLabel,
135
- amount: parameters.totalAmount,
136
- },
137
- currencyCode: parameters.currencyCode,
138
- countryCode: parameters.countryCode,
139
- merchantCapabilities: parameters.merchantCapabilities,
140
- supportedNetworks: parameters.supportedNetworks,
141
- });
142
- const session = new this.window.ApplePaySession(applePayVersion, paymentRequest);
143
- session.onvalidatemerchant = (event) => {
144
- console.info('apple pay: merchant validation', event);
145
- this.paymentClient
146
- ?.performValidation({
147
- validationURL: event.validationURL,
148
- displayName: parameters?.totalLabel,
149
- })
150
- .then((merchantSession) => {
151
- session.completeMerchantValidation(merchantSession);
152
- })
153
- .catch((error) => {
154
- console.error('apple pay: merchant validation error', error);
155
- this.emitError(ApplePayErrors.paymentError);
156
- session.abort();
157
- });
158
- };
159
- session.onpaymentauthorized = (event) => {
160
- console.info('apple pay: payment authorization', event);
161
- this.paymentClient
162
- ?.tokenize({
163
- token: event.payment.token,
164
- })
165
- .then((authorizationResponse) => {
166
- this.payment.next(authorizationResponse?.nonce ?? '');
167
- session.completePayment(this.window.ApplePaySession.STATUS_SUCCESS);
168
- })
169
- .catch((error) => {
170
- console.error('apple pay: payment authorization error', error);
171
- this.emitError(ApplePayErrors.paymentError);
172
- session.completePayment(this.window.ApplePaySession.STATUS_FAILURE);
173
- });
174
- };
175
- session.oncancel = (event) => {
176
- this.emitError(ApplePayErrors.paymentError);
177
- console.error('apple pay: user cancel payment', event);
178
- };
179
- session.begin();
180
- }
181
- catch (error) {
182
- console.error('apple pay: checkout error', error);
183
- this.emitError(ApplePayErrors.paymentError);
184
- }
185
- }
186
- isDeviceCapable() {
187
- try {
188
- return Boolean(this.window.ApplePaySession?.supportsVersion(applePayVersion) &&
189
- this.window.ApplePaySession?.canMakePayments());
190
- }
191
- catch (error) {
192
- return false;
193
- }
194
- }
195
- getTokenNonceFieldData(tokenNonce) {
196
- const name = FieldNames.tokenApplePay;
197
- const value = btoa(tokenNonce);
198
- return { name, value };
199
- }
200
- updateApplePayParams(data) {
201
- const summary = data?.summary;
202
- if (!this.applePayParams || !summary) {
203
- return;
204
- }
205
- this.applePayParams.totalAmount = this.getTotalAmount(summary);
206
- this.applePayParams.currencyCode = this.getTotalCurrency(summary);
207
- }
208
- async loadBraintree() {
209
- const api = await import('braintree-web');
210
- return api;
211
- }
212
- getAppleToken(formFields) {
213
- const appleTokenField = formFields.find((field) => {
214
- return field.name === 'token_key';
215
- });
216
- if (!appleTokenField) {
217
- return '';
218
- }
219
- return appleTokenField.value;
220
- }
221
- getTotalAmount(summary) {
222
- const finance = summary?.finance;
223
- const total = finance?.grand_total?.amount ?? finance?.total.amount;
224
- return total?.toString() ?? '';
225
- }
226
- getTotalCurrency(summary) {
227
- const finance = summary?.finance;
228
- return finance?.grand_total?.currency ?? finance?.total?.currency ?? '';
229
- }
230
- getJsonValueFromField(fields, fieldName) {
231
- const field = fields[fieldName];
232
- try {
233
- return field ? JSON.parse(field) : undefined;
234
- }
235
- catch (error) {
236
- return undefined;
237
- }
238
- }
239
- emitError(error) {
240
- this.error.next(error);
241
- }
242
- emitIntegrationType() {
243
- let integrationType;
244
- if (this.paymentClient && this.isDeviceCapable()) {
245
- integrationType = 'redirect';
246
- }
247
- else {
248
- integrationType = 'none';
249
- }
250
- this.integrationType.next(integrationType);
251
- }
252
- canUseSdk() {
253
- return !!(this.userAgentService.safariVersion &&
254
- this.userAgentService.safariVersion >= safariVersionForIframeIntegration);
255
- }
256
- }
257
- ApplePayService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ApplePayService, deps: [{ token: windowToken }, { token: i1.UserAgentService }, { token: i2.SummaryFinanceDetailsAdapterService }], target: i0.ɵɵFactoryTarget.Injectable });
258
- ApplePayService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ApplePayService, providedIn: 'root' });
259
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ApplePayService, decorators: [{
260
- type: Injectable,
261
- args: [{
262
- providedIn: 'root',
263
- }]
264
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
265
- type: Inject,
266
- args: [windowToken]
267
- }] }, { type: i1.UserAgentService }, { type: i2.SummaryFinanceDetailsAdapterService }]; } });
268
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGUtcGF5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9zZGstcGF5bWVudC1zeXN0ZW1zL2FwcGxlLXBheS9hcHBsZS1wYXkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFDTCxlQUFlLEVBQ2YsaUNBQWlDLEdBQ2xDLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBSTlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDNUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBR3pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUMxRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUVBQXlFLENBQUM7QUFHckcsT0FBTyxFQUNMLGNBQWMsRUFDZCxvQkFBb0IsR0FDckIsTUFBTSx1REFBdUQsQ0FBQzs7OztBQUsvRCxNQUFNLE9BQU8sZUFBZTtJQWdCMUIsSUFBVyxpQkFBaUI7UUFDMUIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDbkMsQ0FBQztJ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QyxlQUFlLEVBQUUsRUFBRTtZQUNoRCxlQUFlLEdBQUcsVUFBVSxDQUFDO1NBQzlCO2FBQU07WUFDTCxlQUFlLEdBQUcsTUFBTSxDQUFDO1NBQzFCO1FBRUQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVPLFNBQVM7UUFDZixPQUFPLENBQUMsQ0FBQyxDQUNQLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhO1lBQ25DLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLElBQUksaUNBQWlDLENBQ3pFLENBQUM7SUFDSixDQUFDOzs0R0FyVVUsZUFBZSxrQkFpQ2hCLFdBQVc7Z0hBakNWLGVBQWUsY0FGZCxNQUFNOzJGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFrQ0ksTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXBwbGVQYXksIGFwcGxlUGF5LCBjbGllbnQgfSBmcm9tICdicmFpbnRyZWUtd2ViJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgYXBwbGVQYXlWZXJzaW9uLFxuICBzYWZhcmlWZXJzaW9uRm9ySWZyYW1lSW50ZWdyYXRpb24sXG59IGZyb20gJy4vYXBwbGUtcGF5LmNvbnN0JztcbmltcG9ydCB7IGFncmVlbWVudHNHcm91cCB9IGZyb20gJy4uLy4uL2FncmVlbWVudHNHcm91cC5jb25zdCc7XG5pbXBvcnQgeyBBcHBsZVBheVBhcmFtcyB9IGZyb20gJy4vYXBwbGUtcGF5LXBhcmFtcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRmllbGQgfSBmcm9tICcuLi8uLi9wYXltZW50L2ZpZWxkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBFeHRlbmRlZFdpbmRvdyB9IGZyb20gJy4uLy4uL2V4dGVuZGVkLXdpbmRvdy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgd2luZG93VG9rZW4gfSBmcm9tICcuLi8uLi93aW5kb3cudG9rZW4nO1xuaW1wb3J0IHsgWHBzUmVzcG9uc2UgfSBmcm9tICcuLi8uLi9wYXltZW50L3hwcy1yZXNwb25zZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRmllbGROYW1lcyB9IGZyb20gJy4uLy4uL3BheW1lbnQvZmllbGQtbmFtZXMuZW51bSc7XG5pbXBvcnQgeyBBcHBsZVBheUVycm9ycyB9IGZyb20gJy4vYXBwbGUtcGF5LmVycm9ycy5lbnVtJztcbmltcG9ydCB7IFVzZXJBZ2VudFNlcnZpY2UgfSBmcm9tICcuLi8uLi91c2VyLWFnZW50L3VzZXItYWdlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBBcHBsZVBheUludGVncmF0aW9uIH0gZnJvbSAnLi9hcHBsZS1wYXktaW50ZWdyYXRpb24udHlwZSc7XG5pbXBvcnQgeyBwYWdlc1JvdXRlcyB9IGZyb20gJy4uLy4uL3BheW1lbnQvYWN0aW9ucy9yZWRpcmVjdC9wczQtcGFnZXMvcGFnZXMtcm91dGVzLmNvbnN0JztcbmltcG9ydCB7IGFwcGxlUGF5SWQgfSBmcm9tICcuLi8uLi9wYXltZW50L2FjdGlvbnMvcmVkaXJlY3QvcHM0LXBhZ2VzL3BhZ2VzLXBheW1lbnQtbWV0aG9kcy1pZC5jb25zdCc7XG5pbXBvcnQgeyBJbml0aWFsaXplUmVzcG9uc2UgfSBmcm9tICcuLi8uLi9wYXltZW50L2luaXRpYWxpemUvcmVzcG9uc2UvaW5pdGlhbGl6ZS1yZXNwb25zZS5jbGFzcyc7XG5pbXBvcnQgeyBTdW1tYXJ5RmluYW5jZURldGFpbHNBZGFwdGVyU2VydmljZSB9IGZyb20gJy4uLy4uL3BheW1lbnQvZmluYW5jZS1kZXRhaWxzL3N1bW1hcnkvc3VtbWFyeS1maW5hbmNlLWRldGFpbHMtYWRhcHRlci5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIHBheVN0YXRpb240VXJsLFxuICBzYW5kYm94UGF5U3RhdGlvblVybCxcbn0gZnJvbSAnLi4vLi4vcGF5bWVudC9hY3Rpb25zL3JlZGlyZWN0L3BheS1zdGF0aW9uNC11cmwuY29uc3QnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQXBwbGVQYXlTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBhZ3JlZW1lbnRGaWVsZHNOYW1lczogc3RyaW5nW10gPSBhZ3JlZW1lbnRzR3JvdXA7XG4gIHByaXZhdGUgcmVhZG9ubHkgcGF5bWVudDogU3ViamVjdDxzdHJpbmc+ID0gbmV3IFN1YmplY3QoKTtcbiAgcHJpdmF0ZSByZWFkb25seSBlcnJvcjogU3ViamVjdDxBcHBsZVBheUVycm9ycz4gPSBuZXcgU3ViamVjdCgpO1xuICBwcml2YXRlIHJlYWRvbmx5IGludGVncmF0aW9uVHlwZTogU3ViamVjdDxBcHBsZVBheUludGVncmF0aW9uPiA9XG4gICAgbmV3IFN1YmplY3QoKTtcblxuICBwcml2YXRlIHBheW1lbnRDbGllbnQ6IEFwcGxlUGF5IHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBhcGk6IFByb21pc2U8e1xuICAgIGFwcGxlUGF5OiB0eXBlb2YgYXBwbGVQYXk7XG4gICAgY2xpZW50OiB0eXBlb2YgY2xpZW50O1xuICB9PjtcbiAgcHJpdmF0ZSBhcHBsZVBheVBhcmFtczogQXBwbGVQYXlQYXJhbXMgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBvcmRlcj86IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gIHB1YmxpYyBnZXQgcGF5bWVudFBhcmFtZXRlcnMoKTogQXBwbGVQYXlQYXJhbXMgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5hcHBsZVBheVBhcmFtcztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcGF5bWVudCQoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5wYXltZW50LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBlcnJvciQoKTogT2JzZXJ2YWJsZTxBcHBsZVBheUVycm9ycz4ge1xuICAgIHJldHVybiB0aGlzLmVycm9yLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBpbnRlZ3JhdGlvblR5cGUkKCk6IE9ic2VydmFibGU8QXBwbGVQYXlJbnRlZ3JhdGlvbj4ge1xuICAgIHJldHVybiB0aGlzLmludGVncmF0aW9uVHlwZS5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KHdpbmRvd1Rva2VuKSBwcml2YXRlIHJlYWRvbmx5IHdpbmRvdzogRXh0ZW5kZWRXaW5kb3csXG4gICAgcHJpdmF0ZSByZWFkb25seSB1c2VyQWdlbnRTZXJ2aWNlOiBVc2VyQWdlbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3VtbWFyeUZpbmFuY2VEZXRhaWxzQWRhcHRlclNlcnZpY2U6IFN1bW1hcnlGaW5hbmNlRGV0YWlsc0FkYXB0ZXJTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuYXBpID0gdGhpcy5sb2FkQnJhaW50cmVlKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0QXBwbGVQYXlQYXJhbXMoZGF0YTogdW5rbm93bik6IHZvaWQge1xuICAgIGNvbnN0IGZvcm1GaWVsZHMgPSAoZGF0YSBhcyBJbml0aWFsaXplUmVzcG9uc2UpPy5wYXltZW50Rm9ybT8uZmllbGRzO1xuICAgIGNvbnN0IHN1bW1hcnkgPSAoZGF0YSBhcyBJbml0aWFsaXplUmVzcG9uc2UpPy5wYXltZW50Rm9ybT8uc3VtbWFyeTtcblxuICAgIGlmICghZm9ybUZpZWxkcyB8fCAhc3VtbWFyeSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBmaWVsZHMgPSBmb3JtRmllbGRzLnJlZHVjZShcbiAgICAgIChhY2M6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0sIGZpZWxkKSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICB0aGlzLmFncmVlbWVudEZpZWxkc05hbWVzLmluY2x1ZGVzKGZpZWxkLm5hbWUpICYmXG4gICAgICAgICAgZmllbGQuaXNWaXNpYmxlID09PSAnMSdcbiAgICAgICAgKSB7XG4gICAgICAgICAgYWNjW2ZpZWxkLm5hbWVdID0gZmllbGQudGl0bGU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYWNjW2ZpZWxkLm5hbWVdID0gZmllbGQudmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfSxcbiAgICAgIHt9XG4gICAgKTtcblxuICAgIGNvbnN0IGFncmVlbWVudHMgPSB0aGlzLmFncmVlbWVudEZpZWxkc05hbWVzXG4gICAgICAubWFwKChmaWVsZE5hbWUpID0+IGZpZWxkc1tmaWVsZE5hbWUgYXMga2V5b2YgdHlwZW9mIGZpZWxkc10gYXMgc3RyaW5nKVxuICAgICAgLmZpbHRlcihCb29sZWFuKTtcblxuICAgIHRoaXMuYXBwbGVQYXlQYXJhbXMgPSB7XG4gICAgICB0b2tlbktleTogdGhpcy5nZXRBcHBsZVRva2VuKGZvcm1GaWVsZHMpLFxuICAgICAgdG90YWxMYWJlbDogZmllbGRzWydsYWJlbF9hcHBsZVBheSddID8/ICcnLFxuICAgICAgdG90YWxBbW91bnQ6IHRoaXMuZ2V0VG90YWxBbW91bnQoc3VtbWFyeSksXG4gICAgICBjdXJyZW5jeUNvZGU6IHRoaXMuZ2V0VG90YWxDdXJyZW5jeShzdW1tYXJ5KSxcbiAgICAgIGNvdW50cnlDb2RlOiBmaWVsZHNbJ2NvdW50cnlDb2RlJ10gPz8gJycsXG4gICAgICBtZXJjaGFudENhcGFiaWxpdGllczogdGhpcy5nZXRKc29uVmFsdWVGcm9tRmllbGQoXG4gICAgICAgIGZpZWxkcyxcbiAgICAgICAgJ21lcmNoYW50Q2FwYWJpbGl0aWVzJ1xuICAgICAgKSxcbiAgICAgIHN1cHBvcnRlZE5ldHdvcmtzOiB0aGlzLmdldEpzb25WYWx1ZUZyb21GaWVsZChcbiAgICAgICAgZmllbGRzLFxuICAgICAgICAnc3VwcG9ydGVkTmV0d29ya3MnXG4gICAgICApLFxuICAgICAgYWdyZWVtZW50czogYWdyZWVtZW50cyxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGluaXRMaWJyYXJ5KHRva2VuS2V5OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgYXBpID0gYXdhaXQgdGhpcy5hcGk7XG4gICAgICBjb25zdCBjbGllbnRJbnN0YW5jZSA9IGF3YWl0IGFwaS5jbGllbnQuY3JlYXRlKHtcbiAgICAgICAgYXV0aG9yaXphdGlvbjogdG9rZW5LZXksXG4gICAgICB9KTtcblxuICAgICAgdGhpcy5wYXltZW50Q2xpZW50ID0gYXdhaXQgYXBpLmFwcGxlUGF5LmNyZWF0ZSh7XG4gICAgICAgIGNsaWVudDogY2xpZW50SW5zdGFuY2UsXG4gICAgICB9KTtcbiAgICB9IGNhdGNoIChlcnJvcjogdW5rbm93bikge1xuICAgICAgY29uc29sZS5lcnJvcignYXBwbGUgcGF5OiBpbml0aWFsaXplIGZhaWxlZCcsIGVycm9yKTtcbiAgICB9XG5cbiAgICB0aGlzLmVtaXRJbnRlZ3JhdGlvblR5cGUoKTtcblxuICAgIGlmICghdGhpcy5wYXltZW50Q2xpZW50IHx8ICF0aGlzLmlzRGV2aWNlQ2FwYWJsZSgpKSB7XG4gICAgICB0aGlzLmVtaXRFcnJvcihBcHBsZVBheUVycm9ycy5kZXZpY2VJc05vdENhcGFibGVFcnJvcik7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHJlZGlyZWN0VG9QYXltZW50UGFnZShcbiAgICBwYXJhbWV0ZXJzOiBBcHBsZVBheVBhcmFtcyxcbiAgICB0b2tlbjogc3RyaW5nLFxuICAgIGlzU2FuZGJveD86IGJvb2xlYW5cbiAgKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCByb3V0ZSA9IHBhZ2VzUm91dGVzLmdldChhcHBsZVBheUlkKTtcbiAgICBpZiAoIXJvdXRlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcXVlcnkgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHtcbiAgICAgIC4uLnBhcmFtZXRlcnMsXG4gICAgICBtZXJjaGFudENhcGFiaWxpdGllczogSlNPTi5zdHJpbmdpZnkocGFyYW1ldGVycy5tZXJjaGFudENhcGFiaWxpdGllcyksXG4gICAgICBzdXBwb3J0ZWROZXR3b3JrczogSlNPTi5zdHJpbmdpZnkocGFyYW1ldGVycy5zdXBwb3J0ZWROZXR3b3JrcyksXG4gICAgICB0b2tlbixcbiAgICAgIGFncmVlbWVudHM6IEpTT04uc3RyaW5naWZ5KHBhcmFtZXRlcnMuYWdyZWVtZW50cyksXG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy5vcmRlcikge1xuICAgICAgcXVlcnkuYXBwZW5kKCdvcmRlcicsIHRoaXMub3JkZXIpO1xuICAgIH1cblxuICAgIGNvbnN0IHBheVN0YXRpb25VcmwgPSBpc1NhbmRib3ggPyBzYW5kYm94UGF5U3RhdGlvblVybCA6IHBheVN0YXRpb240VXJsO1xuICAgIHJldHVybiBgJHtwYXlTdGF0aW9uVXJsfS9lbiR7cm91dGV9PyR7cXVlcnkudG9TdHJpbmcoKX1gO1xuICB9XG5cbiAgcHVibGljIHNldE9yZGVyKGRhdGE6IHVua25vd24pOiB2b2lkIHtcbiAgICBjb25zdCBzdW1tYXJ5ID0gKGRhdGEgYXMgSW5pdGlhbGl6ZVJlc3BvbnNlKT8ucGF5bWVudEZvcm0/LnN1bW1hcnk7XG4gICAgaWYgKCFzdW1tYXJ5KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGZpbmFuY2VEZXRhaWxzID1cbiAgICAgIHRoaXMuc3VtbWFyeUZpbmFuY2VEZXRhaWxzQWRhcHRlclNlcnZpY2UuZ2V0RmluYW5jZURldGFpbHMoc3VtbWFyeSk7XG5cbiAgICBpZiAoZmluYW5jZURldGFpbHM/LnB1cmNoYXNlICYmIGZpbmFuY2VEZXRhaWxzPy5maW5hbmNlKSB7XG4gICAgICBjb25zdCBjYXJ0SXRlbXMgPSBmaW5hbmNlRGV0YWlscy5jYXJ0SXRlbXM7XG4gICAgICB0aGlzLm9yZGVyID0gY2FydEl0ZW1zPy5yZWR1Y2UoKGN1cnIsIGl0ZW0pID0+IHtcbiAgICAgICAgaWYgKGN1cnIpIHtcbiAgICAgICAgICByZXR1cm4gY3VyciArIGA7ICR7aXRlbS50aXRsZX1gO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGN1cnIgKyBpdGVtLnRpdGxlO1xuICAgICAgfSwgJycpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBwcm9jZWVkQ2hlY2tvdXQocGFyYW1ldGVycz86IEFwcGxlUGF5UGFyYW1zKTogdm9pZCB7XG4gICAgaWYgKCFwYXJhbWV0ZXJzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLnBheW1lbnRDbGllbnQgfHwgIXRoaXMuaXNEZXZpY2VDYXBhYmxlKCkpIHtcbiAgICAgIGNvbnNvbGUud2FybignYXBwbGUgcGF5OiBkZXZpY2UgaXMgbm90IGNhcGFibGUnLCB0aGlzLnBheW1lbnRDbGllbnQpO1xuICAgICAgdGhpcy5lbWl0RXJyb3IoQXBwbGVQYXlFcnJvcnMuZGV2aWNlSXNOb3RDYXBhYmxlRXJyb3IpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBwYXltZW50UmVxdWVzdCA9IHRoaXMucGF5bWVudENsaWVudC5jcmVhdGVQYXltZW50UmVxdWVzdCh7XG4gICAgICAgIHRvdGFsOiB7XG4gICAgICAgICAgbGFiZWw6IHBhcmFtZXRlcnMudG90YWxMYWJlbCxcbiAgICAgICAgICBhbW91bnQ6IHBhcmFtZXRlcnMudG90YWxBbW91bnQsXG4gICAgICAgIH0sXG4gICAgICAgIGN1cnJlbmN5Q29kZTogcGFyYW1ldGVycy5jdXJyZW5jeUNvZGUsXG4gICAgICAgIGNvdW50cnlDb2RlOiBwYXJhbWV0ZXJzLmNvdW50cnlDb2RlLFxuICAgICAgICBtZXJjaGFudENhcGFiaWxpdGllczogcGFyYW1ldGVycy5tZXJjaGFudENhcGFiaWxpdGllcyxcbiAgICAgICAgc3VwcG9ydGVkTmV0d29ya3M6IHBhcmFtZXRlcnMuc3VwcG9ydGVkTmV0d29ya3MsXG4gICAgICB9KTtcblxuICAgICAgY29uc3Qgc2Vzc2lvbiA9IG5ldyB0aGlzLndpbmRvdy5BcHBsZVBheVNlc3Npb24oXG4gICAgICAgIGFwcGxlUGF5VmVyc2lvbixcbiAgICAgICAgcGF5bWVudFJlcXVlc3RcbiAgICAgICk7XG5cbiAgICAgIHNlc3Npb24ub252YWxpZGF0ZW1lcmNoYW50ID0gKGV2ZW50OiB7IHZhbGlkYXRpb25VUkw6IHN0cmluZyB9KSA9PiB7XG4gICAgICAgIGNvbnNvbGUuaW5mbygnYXBwbGUgcGF5OiBtZXJjaGFudCB2YWxpZGF0aW9uJywgZXZlbnQpO1xuICAgICAgICB0aGlzLnBheW1lbnRDbGllbnRcbiAgICAgICAgICA/LnBlcmZvcm1WYWxpZGF0aW9uKHtcbiAgICAgICAgICAgIHZhbGlkYXRpb25VUkw6IGV2ZW50LnZhbGlkYXRpb25VUkwsXG4gICAgICAgICAgICBkaXNwbGF5TmFtZTogcGFyYW1ldGVycz8udG90YWxMYWJlbCxcbiAgICAgICAgICB9KVxuICAgICAgICAgIC50aGVuKChtZXJjaGFudFNlc3Npb24pID0+IHtcbiAgICAgICAgICAgIHNlc3Npb24uY29tcGxldGVNZXJjaGFudFZhbGlkYXRpb24obWVyY2hhbnRTZXNzaW9uKTtcbiAgICAgICAgICB9KVxuICAgICAgICAgIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ2FwcGxlIHBheTogbWVyY2hhbnQgdmFsaWRhdGlvbiBlcnJvcicsIGVycm9yKTtcbiAgICAgICAgICAgIHRoaXMuZW1pdEVycm9yKEFwcGxlUGF5RXJyb3JzLnBheW1lbnRFcnJvcik7XG4gICAgICAgICAgICBzZXNzaW9uLmFib3J0KCk7XG4gICAgICAgICAgfSk7XG4gICAgICB9O1xuXG4gICAgICBzZXNzaW9uLm9ucGF5bWVudGF1dGhvcml6ZWQgPSAoZXZlbnQ6IHsgcGF5bWVudDogeyB0b2tlbjogc3RyaW5nIH0gfSkgPT4ge1xuICAgICAgICBjb25zb2xlLmluZm8oJ2FwcGxlIHBheTogcGF5bWVudCBhdXRob3JpemF0aW9uJywgZXZlbnQpO1xuICAgICAgICB0aGlzLnBheW1lbnRDbGllbnRcbiAgICAgICAgICA/LnRva2VuaXplKHtcbiAgICAgICAgICAgIHRva2VuOiBldmVudC5wYXltZW50LnRva2VuLFxuICAgICAgICAgIH0pXG4gICAgICAgICAgLnRoZW4oKGF1dGhvcml6YXRpb25SZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5wYXltZW50Lm5leHQoYXV0aG9yaXphdGlvblJlc3BvbnNlPy5ub25jZSA/PyAnJyk7XG4gICAgICAgICAgICBzZXNzaW9uLmNvbXBsZXRlUGF5bWVudCh0aGlzLndpbmRvdy5BcHBsZVBheVNlc3Npb24uU1RBVFVTX1NVQ0NFU1MpO1xuICAgICAgICAgIH0pXG4gICAgICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignYXBwbGUgcGF5OiBwYXltZW50IGF1dGhvcml6YXRpb24gZXJyb3InLCBlcnJvcik7XG4gICAgICAgICAgICB0aGlzLmVtaXRFcnJvcihBcHBsZVBheUVycm9ycy5wYXltZW50RXJyb3IpO1xuICAgICAgICAgICAgc2Vzc2lvbi5jb21wbGV0ZVBheW1lbnQodGhpcy53aW5kb3cuQXBwbGVQYXlTZXNzaW9uLlNUQVRVU19GQUlMVVJFKTtcbiAgICAgICAgICB9KTtcbiAgICAgIH07XG5cbiAgICAgIHNlc3Npb24ub25jYW5jZWwgPSAoZXZlbnQ6IHVua25vd24pID0+IHtcbiAgICAgICAgdGhpcy5lbWl0RXJyb3IoQXBwbGVQYXlFcnJvcnMucGF5bWVudEVycm9yKTtcbiAgICAgICAgY29uc29sZS5lcnJvcignYXBwbGUgcGF5OiB1c2VyIGNhbmNlbCBwYXltZW50JywgZXZlbnQpO1xuICAgICAgfTtcblxuICAgICAgc2Vzc2lvbi5iZWdpbigpO1xuICAgIH0gY2F0Y2ggKGVycm9yOiB1bmtub3duKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdhcHBsZSBwYXk6IGNoZWNrb3V0IGVycm9yJywgZXJyb3IpO1xuICAgICAgdGhpcy5lbWl0RXJyb3IoQXBwbGVQYXlFcnJvcnMucGF5bWVudEVycm9yKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaXNEZXZpY2VDYXBhYmxlKCk6IGJvb2xlYW4ge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gQm9vbGVhbihcbiAgICAgICAgdGhpcy53aW5kb3cuQXBwbGVQYXlTZXNzaW9uPy5zdXBwb3J0c1ZlcnNpb24oYXBwbGVQYXlWZXJzaW9uKSAmJlxuICAgICAgICAgIHRoaXMud2luZG93LkFwcGxlUGF5U2Vzc2lvbj8uY2FuTWFrZVBheW1lbnRzKClcbiAgICAgICk7XG4gICAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0VG9rZW5Ob25jZUZpZWxkRGF0YSh0b2tlbk5vbmNlOiBzdHJpbmcpOiB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHZhbHVlOiBzdHJpbmc7XG4gIH0ge1xuICAgIGNvbnN0IG5hbWUgPSBGaWVsZE5hbWVzLnRva2VuQXBwbGVQYXk7XG4gICAgY29uc3QgdmFsdWUgPSBidG9hKHRva2VuTm9uY2UpO1xuICAgIHJldHVybiB7IG5hbWUsIHZhbHVlIH07XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlQXBwbGVQYXlQYXJhbXMoZGF0YTogdW5rbm93bik6IHZvaWQge1xuICAgIGNvbnN0IHN1bW1hcnkgPSAoZGF0YSBhcyBYcHNSZXNwb25zZSk/LnN1bW1hcnk7XG4gICAgaWYgKCF0aGlzLmFwcGxlUGF5UGFyYW1zIHx8ICFzdW1tYXJ5KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5hcHBsZVBheVBhcmFtcy50b3RhbEFtb3VudCA9IHRoaXMuZ2V0VG90YWxBbW91bnQoc3VtbWFyeSk7XG4gICAgdGhpcy5hcHBsZVBheVBhcmFtcy5jdXJyZW5jeUNvZGUgPSB0aGlzLmdldFRvdGFsQ3VycmVuY3koc3VtbWFyeSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGxvYWRCcmFpbnRyZWUoKTogUHJvbWlzZTx7XG4gICAgYXBwbGVQYXk6IHR5cGVvZiBhcHBsZVBheTtcbiAgICBjbGllbnQ6IHR5cGVvZiBjbGllbnQ7XG4gIH0+IHtcbiAgICBjb25zdCBhcGkgPSBhd2FpdCBpbXBvcnQoJ2JyYWludHJlZS13ZWInKTtcblxuICAgIHJldHVybiBhcGk7XG4gIH1cblxuICBwcml2YXRlIGdldEFwcGxlVG9rZW4oZm9ybUZpZWxkczogRmllbGRbXSk6IHN0cmluZyB7XG4gICAgY29uc3QgYXBwbGVUb2tlbkZpZWxkID0gZm9ybUZpZWxkcy5maW5kKChmaWVsZCkgPT4ge1xuICAgICAgcmV0dXJuIGZpZWxkLm5hbWUgPT09ICd0b2tlbl9rZXknO1xuICAgIH0pO1xuXG4gICAgaWYgKCFhcHBsZVRva2VuRmllbGQpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICByZXR1cm4gYXBwbGVUb2tlbkZpZWxkLnZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRUb3RhbEFtb3VudChzdW1tYXJ5OiBYcHNSZXNwb25zZVsnc3VtbWFyeSddKTogc3RyaW5nIHtcbiAgICBjb25zdCBmaW5hbmNlID0gc3VtbWFyeT8uZmluYW5jZTtcbiAgICBjb25zdCB0b3RhbCA9IGZpbmFuY2U/LmdyYW5kX3RvdGFsPy5hbW91bnQgPz8gZmluYW5jZT8udG90YWwuYW1vdW50O1xuXG4gICAgcmV0dXJuIHRvdGFsPy50b1N0cmluZygpID8/ICcnO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRUb3RhbEN1cnJlbmN5KHN1bW1hcnk6IFhwc1Jlc3BvbnNlWydzdW1tYXJ5J10pOiBzdHJpbmcge1xuICAgIGNvbnN0IGZpbmFuY2UgPSBzdW1tYXJ5Py5maW5hbmNlO1xuICAgIHJldHVybiBmaW5hbmNlPy5ncmFuZF90b3RhbD8uY3VycmVuY3kgPz8gZmluYW5jZT8udG90YWw/LmN1cnJlbmN5ID8/ICcnO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRKc29uVmFsdWVGcm9tRmllbGQoXG4gICAgZmllbGRzOiB7XG4gICAgICBba2V5OiBzdHJpbmddOiBzdHJpbmc7XG4gICAgfSxcbiAgICBmaWVsZE5hbWU6IHN0cmluZ1xuICApOiBzdHJpbmdbXSB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgZmllbGQgPSBmaWVsZHNbZmllbGROYW1lXTtcblxuICAgIHRyeSB7XG4gICAgICByZXR1cm4gZmllbGQgPyAoSlNPTi5wYXJzZShmaWVsZCkgYXMgc3RyaW5nW10pIDogdW5kZWZpbmVkO1xuICAgIH0gY2F0Y2ggKGVycm9yOiB1bmtub3duKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZW1pdEVycm9yKGVycm9yOiBBcHBsZVBheUVycm9ycyk6IHZvaWQge1xuICAgIHRoaXMuZXJyb3IubmV4dChlcnJvcik7XG4gIH1cblxuICBwcml2YXRlIGVtaXRJbnRlZ3JhdGlvblR5cGUoKTogdm9pZCB7XG4gICAgbGV0IGludGVncmF0aW9uVHlwZTogQXBwbGVQYXlJbnRlZ3JhdGlvbjtcblxuICAgIGlmICh0aGlzLnBheW1lbnRDbGllbnQgJiYgdGhpcy5pc0RldmljZUNhcGFibGUoKSkge1xuICAgICAgaW50ZWdyYXRpb25UeXBlID0gJ3JlZGlyZWN0JztcbiAgICB9IGVsc2Uge1xuICAgICAgaW50ZWdyYXRpb25UeXBlID0gJ25vbmUnO1xuICAgIH1cblxuICAgIHRoaXMuaW50ZWdyYXRpb25UeXBlLm5leHQoaW50ZWdyYXRpb25UeXBlKTtcbiAgfVxuXG4gIHByaXZhdGUgY2FuVXNlU2RrKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIShcbiAgICAgIHRoaXMudXNlckFnZW50U2VydmljZS5zYWZhcmlWZXJzaW9uICYmXG4gICAgICB0aGlzLnVzZXJBZ2VudFNlcnZpY2Uuc2FmYXJpVmVyc2lvbiA+PSBzYWZhcmlWZXJzaW9uRm9ySWZyYW1lSW50ZWdyYXRpb25cbiAgICApO1xuICB9XG59XG4iXX0=