@xsolla/payment-client-core 0.2.21 → 0.2.22

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 (446) 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/{esm2020 → esm2022}/lib/core/payment/actions/show-qr-code/show-qr-code.action.class.mjs +4 -4
  25. package/{esm2020 → esm2022}/lib/core/payment/actions/special-button/special-button.action.class.mjs +4 -4
  26. package/esm2022/lib/core/payment/actions/status-updated/status-updated.action.class.mjs +38 -0
  27. package/{esm2020 → esm2022}/lib/core/payment/actions/three-ds/three-ds.action.class.mjs +4 -4
  28. package/esm2022/lib/core/payment/config/config.service.mjs +37 -0
  29. package/{esm2020 → esm2022}/lib/core/payment/credit-card-state/credit-card-state.service.mjs +4 -4
  30. package/esm2022/lib/core/payment/finance-details/finance-details.service.mjs +38 -0
  31. package/{esm2020 → esm2022}/lib/core/payment/finance-details/status/status-finance-details-adapter.service.mjs +5 -5
  32. package/esm2022/lib/core/payment/finance-details/summary/summary-finance-details-adapter.service.mjs +264 -0
  33. package/esm2022/lib/core/payment/form/controls/control-config.service.mjs +46 -0
  34. package/{esm2020 → esm2022}/lib/core/payment/form/converters/birth-date/birth-date.converter.mjs +5 -5
  35. package/{esm2020 → esm2022}/lib/core/payment/form/converters/card-month/card-month.converter.mjs +5 -5
  36. package/{esm2020 → esm2022}/lib/core/payment/form/converters/card-number/card-number.converter.mjs +5 -5
  37. package/{esm2020 → esm2022}/lib/core/payment/form/converters/card-year/card-year.converter.mjs +5 -5
  38. package/{esm2020 → esm2022}/lib/core/payment/form/converters/cardholder-name/cardholder-name.converter.mjs +5 -5
  39. package/esm2022/lib/core/payment/form/converters/checkbox/checkbox.converter.mjs +33 -0
  40. package/esm2022/lib/core/payment/form/converters/converter.abstract.mjs +76 -0
  41. package/{esm2020 → esm2022}/lib/core/payment/form/converters/coupon/coupon.converter.mjs +5 -5
  42. package/{esm2020 → esm2022}/lib/core/payment/form/converters/cpf-name/cpf-name.converter.mjs +5 -5
  43. package/{esm2020 → esm2022}/lib/core/payment/form/converters/cpf-number/cpf-number.converter.mjs +5 -5
  44. package/esm2022/lib/core/payment/form/converters/cvv/cvv.converter.mjs +72 -0
  45. package/{esm2020 → esm2022}/lib/core/payment/form/converters/email/email.converter.mjs +5 -5
  46. package/{esm2020 → esm2022}/lib/core/payment/form/converters/phone.converter.mjs +5 -5
  47. package/{esm2020 → esm2022}/lib/core/payment/form/converters/pin/pin.converter.mjs +5 -5
  48. package/{esm2020 → esm2022}/lib/core/payment/form/converters/pricepoint/pricepoint.converter.mjs +5 -5
  49. package/{esm2020 → esm2022}/lib/core/payment/form/converters/radio-group/radio-group.converter.mjs +5 -5
  50. package/{esm2020 → esm2022}/lib/core/payment/form/converters/select/select.converter.mjs +5 -5
  51. package/esm2022/lib/core/payment/form/converters/street-number/street-number.converter.mjs +28 -0
  52. package/{esm2020 → esm2022}/lib/core/payment/form/converters/text/text.converter.mjs +5 -5
  53. package/esm2022/lib/core/payment/form/converters/zip/zip.converter.mjs +64 -0
  54. package/{esm2020 → esm2022}/lib/core/payment/form/form.module.mjs +33 -33
  55. package/esm2022/lib/core/payment/form/form.service.mjs +49 -0
  56. package/esm2022/lib/core/payment/form/validators/birth-date/birth-date.validator.mjs +37 -0
  57. package/esm2022/lib/core/payment/form/validators/card-month/card-month.validator.mjs +37 -0
  58. package/esm2022/lib/core/payment/form/validators/card-year/card-year.validator.mjs +34 -0
  59. package/esm2022/lib/core/payment/form/validators/convert.function.mjs +15 -0
  60. package/esm2022/lib/core/payment/form/validators/credit-card-length/credit-card-min-length.validator.mjs +32 -0
  61. package/esm2022/lib/core/payment/form/validators/luhn-formula-validator/luhn-formula.validator.mjs +40 -0
  62. package/{esm2020 → esm2022}/lib/core/payment/form/validators/validators.module.mjs +5 -5
  63. package/{esm2020 → esm2022}/lib/core/payment/form-messages/form-messages.service.mjs +5 -5
  64. package/esm2022/lib/core/payment/initialize/initialize.service.mjs +85 -0
  65. package/esm2022/lib/core/payment/initialize/response/initialize-response.class.mjs +43 -0
  66. package/esm2022/lib/core/payment/payment.service.mjs +369 -0
  67. package/{esm2020 → esm2022}/lib/core/payment/status/check-status/check-status.service.mjs +6 -6
  68. package/{esm2020 → esm2022}/lib/core/payment/status/check-status/request/check-status-request.class.mjs +1 -1
  69. package/esm2022/lib/core/payment/status/listen-status/listen-status.service.mjs +124 -0
  70. package/{esm2020 → esm2022}/lib/core/payment/status/save-payment-method-status/api/saved-payment-account-changes.service.mjs +5 -5
  71. package/esm2022/lib/core/payment/status/save-payment-method-status/save-payment-method-status.service.mjs +121 -0
  72. package/esm2022/lib/core/payment/status/status-request/request/status-request.class.mjs +22 -0
  73. package/esm2022/lib/core/payment/status/status-request/response/status-response.class.mjs +98 -0
  74. package/{esm2020 → esm2022}/lib/core/payment/status/status-request/status-request.service.mjs +6 -6
  75. package/esm2022/lib/core/payment/status/status.service.mjs +75 -0
  76. package/esm2022/lib/core/payment/status/websocket-status/websocket-status.service.mjs +76 -0
  77. package/esm2022/lib/core/payment/submit/request/submit-request.class.mjs +24 -0
  78. package/esm2022/lib/core/payment/submit/response/submit-response.class.mjs +31 -0
  79. package/esm2022/lib/core/payment/submit/submit.service.mjs +78 -0
  80. package/esm2022/lib/core/payment/sync/request/sync-request.class.mjs +31 -0
  81. package/esm2022/lib/core/payment/sync/response/sync-response.class.mjs +17 -0
  82. package/esm2022/lib/core/payment/sync/sync.service.mjs +157 -0
  83. package/esm2022/lib/core/payment/three-ds/api/notify-dfp-status/notify-dfp-status.service.mjs +49 -0
  84. package/esm2022/lib/core/payment/three-ds/api/status-three-ds/status-three-ds.service.mjs +60 -0
  85. package/esm2022/lib/core/payment/three-ds/dfp-collect/dfp-collect.service.mjs +105 -0
  86. package/esm2022/lib/core/payment/three-ds/reinsurance-check/reinsurance-check.service.mjs +41 -0
  87. package/esm2022/lib/core/payment/three-ds/three-ds-20/three-ds20.service.mjs +109 -0
  88. package/esm2022/lib/core/payment/three-ds/three-ds.service.mjs +42 -0
  89. package/esm2022/lib/core/payment/xps-api/xps-api.service.mjs +85 -0
  90. package/esm2022/lib/core/payment/xps-api-part-request.abstract.mjs +8 -0
  91. package/esm2022/lib/core/payment-methods/payment-methods.service.mjs +75 -0
  92. package/esm2022/lib/core/performance/performance.service.mjs +111 -0
  93. package/esm2022/lib/core/performance/xhr-action.service.mjs +114 -0
  94. package/esm2022/lib/core/saved-methods/saved-methods.service.mjs +54 -0
  95. package/esm2022/lib/core/sdk-payment-systems/apple-pay/apple-pay.service.mjs +268 -0
  96. package/esm2022/lib/core/sdk-payment-systems/google-pay/google-pay.service.mjs +177 -0
  97. package/esm2022/lib/core/sdk-payment-systems/payment-systems/payment-system-processing.service.mjs +84 -0
  98. package/esm2022/lib/core/session/session.service.mjs +57 -0
  99. package/esm2022/lib/core/settings/settings.service.mjs +92 -0
  100. package/esm2022/lib/core/url/url.service.mjs +34 -0
  101. package/esm2022/lib/core/user-agent/user-agent.service.mjs +211 -0
  102. package/esm2022/lib/core/user-balance/user-balance.service.mjs +53 -0
  103. package/esm2022/lib/core/user-behaviour-analytics/event-builder/event-builder.service.mjs +144 -0
  104. package/esm2022/lib/core/user-behaviour-analytics/user-behaviour-analytics.service.mjs +158 -0
  105. package/esm2022/lib/core/web-socket/centrifugo-web-socket.service.mjs +200 -0
  106. package/esm2022/lib/core/web-socket/nchan-web-socket.service.mjs +116 -0
  107. package/esm2022/lib/core/web-socket/web-socket.factory.mjs +28 -0
  108. package/esm2022/lib/core-library.module.mjs +92 -0
  109. package/{esm2020 → esm2022}/lib/core-library.service.mjs +5 -5
  110. package/{esm2020 → esm2022}/lib/shared/pipes/pipes.module.mjs +5 -5
  111. package/esm2022/lib/shared/pipes/unescape-html/unescape-html.pipe.mjs +23 -0
  112. package/{fesm2020 → fesm2022}/xsolla-payment-client-core.mjs +456 -455
  113. package/fesm2022/xsolla-payment-client-core.mjs.map +1 -0
  114. package/package.json +10 -16
  115. package/xsolla-payment-client-core-0.2.22.tgz +0 -0
  116. package/esm2020/lib/core/device-finger-print/device-finger-print.service.mjs +0 -67
  117. package/esm2020/lib/core/encrypt-credit-card/encrypt-credit-card.service.mjs +0 -72
  118. package/esm2020/lib/core/errors-mapping/xps-response-errors-mapping.service.mjs +0 -52
  119. package/esm2020/lib/core/exceptions-handling/elk/elk-logger.service.mjs +0 -120
  120. package/esm2020/lib/core/exceptions-handling/errors/http-error.class.mjs +0 -40
  121. package/esm2020/lib/core/exceptions-handling/errors/tagged-error.class.mjs +0 -16
  122. package/esm2020/lib/core/http/secure-api/secure-api.service.mjs +0 -55
  123. package/esm2020/lib/core/legal/refund-policy.service.mjs +0 -30
  124. package/esm2020/lib/core/legal/secure-connection.service.mjs +0 -31
  125. package/esm2020/lib/core/payment/actions/next-action.service.mjs +0 -61
  126. package/esm2020/lib/core/payment/actions/redirect/redirect.action.class.mjs +0 -60
  127. package/esm2020/lib/core/payment/actions/status-updated/status-updated.action.class.mjs +0 -38
  128. package/esm2020/lib/core/payment/config/config.service.mjs +0 -37
  129. package/esm2020/lib/core/payment/finance-details/finance-details.service.mjs +0 -38
  130. package/esm2020/lib/core/payment/finance-details/summary/summary-finance-details-adapter.service.mjs +0 -264
  131. package/esm2020/lib/core/payment/form/controls/control-config.service.mjs +0 -46
  132. package/esm2020/lib/core/payment/form/converters/checkbox/checkbox.converter.mjs +0 -33
  133. package/esm2020/lib/core/payment/form/converters/converter.abstract.mjs +0 -76
  134. package/esm2020/lib/core/payment/form/converters/cvv/cvv.converter.mjs +0 -72
  135. package/esm2020/lib/core/payment/form/converters/street-number/street-number.converter.mjs +0 -28
  136. package/esm2020/lib/core/payment/form/converters/zip/zip.converter.mjs +0 -64
  137. package/esm2020/lib/core/payment/form/form.service.mjs +0 -49
  138. package/esm2020/lib/core/payment/form/validators/birth-date/birth-date.validator.mjs +0 -37
  139. package/esm2020/lib/core/payment/form/validators/card-month/card-month.validator.mjs +0 -37
  140. package/esm2020/lib/core/payment/form/validators/card-year/card-year.validator.mjs +0 -34
  141. package/esm2020/lib/core/payment/form/validators/convert.function.mjs +0 -15
  142. package/esm2020/lib/core/payment/form/validators/credit-card-length/credit-card-min-length.validator.mjs +0 -32
  143. package/esm2020/lib/core/payment/form/validators/luhn-formula-validator/luhn-formula.validator.mjs +0 -40
  144. package/esm2020/lib/core/payment/initialize/initialize.service.mjs +0 -85
  145. package/esm2020/lib/core/payment/initialize/response/initialize-response.class.mjs +0 -43
  146. package/esm2020/lib/core/payment/payment.service.mjs +0 -369
  147. package/esm2020/lib/core/payment/status/listen-status/listen-status.service.mjs +0 -124
  148. package/esm2020/lib/core/payment/status/save-payment-method-status/save-payment-method-status.service.mjs +0 -121
  149. package/esm2020/lib/core/payment/status/status-request/request/status-request.class.mjs +0 -22
  150. package/esm2020/lib/core/payment/status/status-request/response/status-response.class.mjs +0 -98
  151. package/esm2020/lib/core/payment/status/status.service.mjs +0 -75
  152. package/esm2020/lib/core/payment/status/websocket-status/websocket-status.service.mjs +0 -76
  153. package/esm2020/lib/core/payment/submit/request/submit-request.class.mjs +0 -24
  154. package/esm2020/lib/core/payment/submit/response/submit-response.class.mjs +0 -31
  155. package/esm2020/lib/core/payment/submit/submit.service.mjs +0 -78
  156. package/esm2020/lib/core/payment/sync/request/sync-request.class.mjs +0 -31
  157. package/esm2020/lib/core/payment/sync/response/sync-response.class.mjs +0 -17
  158. package/esm2020/lib/core/payment/sync/sync.service.mjs +0 -157
  159. package/esm2020/lib/core/payment/three-ds/api/notify-dfp-status/notify-dfp-status.service.mjs +0 -49
  160. package/esm2020/lib/core/payment/three-ds/api/status-three-ds/status-three-ds.service.mjs +0 -60
  161. package/esm2020/lib/core/payment/three-ds/dfp-collect/dfp-collect.service.mjs +0 -105
  162. package/esm2020/lib/core/payment/three-ds/reinsurance-check/reinsurance-check.service.mjs +0 -41
  163. package/esm2020/lib/core/payment/three-ds/three-ds-20/three-ds20.service.mjs +0 -109
  164. package/esm2020/lib/core/payment/three-ds/three-ds.service.mjs +0 -42
  165. package/esm2020/lib/core/payment/xps-api/xps-api.service.mjs +0 -85
  166. package/esm2020/lib/core/payment/xps-api-part-request.abstract.mjs +0 -8
  167. package/esm2020/lib/core/payment-methods/payment-methods.service.mjs +0 -75
  168. package/esm2020/lib/core/performance/performance.service.mjs +0 -111
  169. package/esm2020/lib/core/performance/xhr-action.service.mjs +0 -114
  170. package/esm2020/lib/core/saved-methods/saved-methods.service.mjs +0 -54
  171. package/esm2020/lib/core/sdk-payment-systems/apple-pay/apple-pay.service.mjs +0 -268
  172. package/esm2020/lib/core/sdk-payment-systems/google-pay/google-pay.service.mjs +0 -177
  173. package/esm2020/lib/core/sdk-payment-systems/payment-systems/payment-system-processing.service.mjs +0 -84
  174. package/esm2020/lib/core/session/session.service.mjs +0 -57
  175. package/esm2020/lib/core/settings/settings.service.mjs +0 -92
  176. package/esm2020/lib/core/url/url.service.mjs +0 -34
  177. package/esm2020/lib/core/user-agent/user-agent.service.mjs +0 -211
  178. package/esm2020/lib/core/user-balance/user-balance.service.mjs +0 -53
  179. package/esm2020/lib/core/user-behaviour-analytics/event-builder/event-builder.service.mjs +0 -144
  180. package/esm2020/lib/core/user-behaviour-analytics/user-behaviour-analytics.service.mjs +0 -158
  181. package/esm2020/lib/core/web-socket/centrifugo-web-socket.service.mjs +0 -200
  182. package/esm2020/lib/core/web-socket/nchan-web-socket.service.mjs +0 -116
  183. package/esm2020/lib/core/web-socket/web-socket.factory.mjs +0 -28
  184. package/esm2020/lib/core-library.module.mjs +0 -92
  185. package/esm2020/lib/shared/pipes/unescape-html/unescape-html.pipe.mjs +0 -23
  186. package/fesm2015/xsolla-payment-client-core.mjs +0 -8138
  187. package/fesm2015/xsolla-payment-client-core.mjs.map +0 -1
  188. package/fesm2020/xsolla-payment-client-core.mjs.map +0 -1
  189. package/xsolla-payment-client-core-0.2.21.tgz +0 -0
  190. /package/{esm2020 → esm2022}/lib/core/agreementsGroup.const.mjs +0 -0
  191. /package/{esm2020 → esm2022}/lib/core/boolean-number.enum.mjs +0 -0
  192. /package/{esm2020 → esm2022}/lib/core/combined-payment-methods/combined-payment-methods.interface.mjs +0 -0
  193. /package/{esm2020 → esm2022}/lib/core/countries-api/country-response.interface.mjs +0 -0
  194. /package/{esm2020 → esm2022}/lib/core/countries-api/country.interface.mjs +0 -0
  195. /package/{esm2020 → esm2022}/lib/core/country/country-iso-code.enum.mjs +0 -0
  196. /package/{esm2020 → esm2022}/lib/core/credit-card/credit-card-settings.interface.mjs +0 -0
  197. /package/{esm2020 → esm2022}/lib/core/credit-card/credit-card-types.enum.mjs +0 -0
  198. /package/{esm2020 → esm2022}/lib/core/credit-card/credit-card.interface.mjs +0 -0
  199. /package/{esm2020 → esm2022}/lib/core/credit-card/credit-cards-map.const.mjs +0 -0
  200. /package/{esm2020 → esm2022}/lib/core/credit-card/default-mask.const.mjs +0 -0
  201. /package/{esm2020 → esm2022}/lib/core/credit-card/four-block-mask.const.mjs +0 -0
  202. /package/{esm2020 → esm2022}/lib/core/credit-card/ordered-cards-settings.const.mjs +0 -0
  203. /package/{esm2020 → esm2022}/lib/core/credit-card/types/american-express.mjs +0 -0
  204. /package/{esm2020 → esm2022}/lib/core/credit-card/types/aura.mjs +0 -0
  205. /package/{esm2020 → esm2022}/lib/core/credit-card/types/china-union-pay.mjs +0 -0
  206. /package/{esm2020 → esm2022}/lib/core/credit-card/types/dankort.mjs +0 -0
  207. /package/{esm2020 → esm2022}/lib/core/credit-card/types/default-card.mjs +0 -0
  208. /package/{esm2020 → esm2022}/lib/core/credit-card/types/diners-clubs.mjs +0 -0
  209. /package/{esm2020 → esm2022}/lib/core/credit-card/types/discover.mjs +0 -0
  210. /package/{esm2020 → esm2022}/lib/core/credit-card/types/elo.mjs +0 -0
  211. /package/{esm2020 → esm2022}/lib/core/credit-card/types/hipercard.mjs +0 -0
  212. /package/{esm2020 → esm2022}/lib/core/credit-card/types/jcb.mjs +0 -0
  213. /package/{esm2020 → esm2022}/lib/core/credit-card/types/maestro.mjs +0 -0
  214. /package/{esm2020 → esm2022}/lib/core/credit-card/types/mastercard.mjs +0 -0
  215. /package/{esm2020 → esm2022}/lib/core/credit-card/types/mir.mjs +0 -0
  216. /package/{esm2020 → esm2022}/lib/core/credit-card/types/naranja.mjs +0 -0
  217. /package/{esm2020 → esm2022}/lib/core/credit-card/types/postepay.mjs +0 -0
  218. /package/{esm2020 → esm2022}/lib/core/credit-card/types/visa.mjs +0 -0
  219. /package/{esm2020 → esm2022}/lib/core/deep-readonly.type.mjs +0 -0
  220. /package/{esm2020 → esm2022}/lib/core/device-finger-print/hash.type.mjs +0 -0
  221. /package/{esm2020 → esm2022}/lib/core/edit-saved-methods/delete-method-response.interface.mjs +0 -0
  222. /package/{esm2020 → esm2022}/lib/core/encrypt-credit-card/encrypted-card.interface.mjs +0 -0
  223. /package/{esm2020 → esm2022}/lib/core/encrypt-credit-card/open-card.interface.mjs +0 -0
  224. /package/{esm2020 → esm2022}/lib/core/errors-mapping/card-number-sanction-error-codes.const.mjs +0 -0
  225. /package/{esm2020 → esm2022}/lib/core/errors-mapping/field-special-errors-map.const.mjs +0 -0
  226. /package/{esm2020 → esm2022}/lib/core/exceptions-handling/elk/additional-info.interface.mjs +0 -0
  227. /package/{esm2020 → esm2022}/lib/core/exceptions-handling/elk/error-without-meta-fields.interface.mjs +0 -0
  228. /package/{esm2020 → esm2022}/lib/core/exceptions-handling/elk/log-message.interface.mjs +0 -0
  229. /package/{esm2020 → esm2022}/lib/core/exceptions-handling/errors/api-error.interface.mjs +0 -0
  230. /package/{esm2020 → esm2022}/lib/core/exceptions-handling/errors/app-error.class.mjs +0 -0
  231. /package/{esm2020 → esm2022}/lib/core/exceptions-handling/errors/elk-error-types.enum.mjs +0 -0
  232. /package/{esm2020 → esm2022}/lib/core/exceptions-handling/errors/encrypt-card-error.mjs +0 -0
  233. /package/{esm2020 → esm2022}/lib/core/exceptions-handling/errors/response-error.class.mjs +0 -0
  234. /package/{esm2020 → esm2022}/lib/core/exceptions-handling/errors/terminal-error.class.mjs +0 -0
  235. /package/{esm2020 → esm2022}/lib/core/exceptions-handling/errors/token-error.class.mjs +0 -0
  236. /package/{esm2020 → esm2022}/lib/core/exceptions-handling/errors/ws-error.class.mjs +0 -0
  237. /package/{esm2020 → esm2022}/lib/core/exceptions-handling/http-interceptor/http-error-data.interface.mjs +0 -0
  238. /package/{esm2020 → esm2022}/lib/core/exceptions-handling/http-interceptor/http-error-response-data.interface.mjs +0 -0
  239. /package/{esm2020 → esm2022}/lib/core/extended-window.interface.mjs +0 -0
  240. /package/{esm2020 → esm2022}/lib/core/http/secure-api/api-url.const.mjs +0 -0
  241. /package/{esm2020 → esm2022}/lib/core/http/secure-api/options.interface.mjs +0 -0
  242. /package/{esm2020 → esm2022}/lib/core/legal/legal.component.config.mjs +0 -0
  243. /package/{esm2020 → esm2022}/lib/core/payment/actions/action.interface.mjs +0 -0
  244. /package/{esm2020 → esm2022}/lib/core/payment/actions/check-status/check-status.action.type.mjs +0 -0
  245. /package/{esm2020 → esm2022}/lib/core/payment/actions/next-action.interface.mjs +0 -0
  246. /package/{esm2020 → esm2022}/lib/core/payment/actions/next-actions.mjs +0 -0
  247. /package/{esm2020 → esm2022}/lib/core/payment/actions/redirect/pay-station4-url.const.mjs +0 -0
  248. /package/{esm2020 → esm2022}/lib/core/payment/actions/redirect/ps4-pages/pages-payment-methods-id.const.mjs +0 -0
  249. /package/{esm2020 → esm2022}/lib/core/payment/actions/redirect/ps4-pages/pages-routes.const.mjs +0 -0
  250. /package/{esm2020 → esm2022}/lib/core/payment/actions/redirect/redirect.action.type.mjs +0 -0
  251. /package/{esm2020 → esm2022}/lib/core/payment/actions/show-errors/show-errors.action.type.mjs +0 -0
  252. /package/{esm2020 → esm2022}/lib/core/payment/actions/show-fields/show-fields.action.type.mjs +0 -0
  253. /package/{esm2020 → esm2022}/lib/core/payment/actions/show-mobile-payment-screen/show-mobile-payment-screen.action.type.mjs +0 -0
  254. /package/{esm2020 → esm2022}/lib/core/payment/actions/show-qr-code/show-qr-code.action.type.mjs +0 -0
  255. /package/{esm2020 → esm2022}/lib/core/payment/actions/special-button/special-button.action.type.mjs +0 -0
  256. /package/{esm2020 → esm2022}/lib/core/payment/actions/status-updated/status-updated.action.type.mjs +0 -0
  257. /package/{esm2020 → esm2022}/lib/core/payment/actions/three-ds/three-ds.action.type.mjs +0 -0
  258. /package/{esm2020 → esm2022}/lib/core/payment/checkout-item.interface.mjs +0 -0
  259. /package/{esm2020 → esm2022}/lib/core/payment/credit-card-payment-methods-id.variable.mjs +0 -0
  260. /package/{esm2020 → esm2022}/lib/core/payment/credit-card-state/credit-card-state.interface.mjs +0 -0
  261. /package/{esm2020 → esm2022}/lib/core/payment/emit-data.service.abstract.mjs +0 -0
  262. /package/{esm2020 → esm2022}/lib/core/payment/field-names.enum.mjs +0 -0
  263. /package/{esm2020 → esm2022}/lib/core/payment/field.interface.mjs +0 -0
  264. /package/{esm2020 → esm2022}/lib/core/payment/finance-details/cart-item.interface.mjs +0 -0
  265. /package/{esm2020 → esm2022}/lib/core/payment/finance-details/cart-line.interface.mjs +0 -0
  266. /package/{esm2020 → esm2022}/lib/core/payment/finance-details/cart-summary.interface.mjs +0 -0
  267. /package/{esm2020 → esm2022}/lib/core/payment/finance-details/finance-details.interface.mjs +0 -0
  268. /package/{esm2020 → esm2022}/lib/core/payment/finance-details/price.helpers.mjs +0 -0
  269. /package/{esm2020 → esm2022}/lib/core/payment/finance-details/price.interface.mjs +0 -0
  270. /package/{esm2020 → esm2022}/lib/core/payment/finance-details/status/field-with-amount-and-currency.interface.mjs +0 -0
  271. /package/{esm2020 → esm2022}/lib/core/payment/finance-details/status/fields-with-currency.mjs +0 -0
  272. /package/{esm2020 → esm2022}/lib/core/payment/finance-details/status/finance-info.interface.mjs +0 -0
  273. /package/{esm2020 → esm2022}/lib/core/payment/finance-details/summary/default-image-patterns.const.mjs +0 -0
  274. /package/{esm2020 → esm2022}/lib/core/payment/finance-details/summary/sales-tax-details-key.enum.mjs +0 -0
  275. /package/{esm2020 → esm2022}/lib/core/payment/finance-details/vat-details-key.enum.mjs +0 -0
  276. /package/{esm2020 → esm2022}/lib/core/payment/form/common-control-config.interface.mjs +0 -0
  277. /package/{esm2020 → esm2022}/lib/core/payment/form/control-status.interface.mjs +0 -0
  278. /package/{esm2020 → esm2022}/lib/core/payment/form/controls/card-number/card-number-control.config.mjs +0 -0
  279. /package/{esm2020 → esm2022}/lib/core/payment/form/controls/checkbox/checkbox-control.config.mjs +0 -0
  280. /package/{esm2020 → esm2022}/lib/core/payment/form/controls/control-config.mjs +0 -0
  281. /package/{esm2020 → esm2022}/lib/core/payment/form/controls/control-type.type.mjs +0 -0
  282. /package/{esm2020 → esm2022}/lib/core/payment/form/controls/coupon/coupon-control.config.mjs +0 -0
  283. /package/{esm2020 → esm2022}/lib/core/payment/form/controls/phone-control.config.mjs +0 -0
  284. /package/{esm2020 → esm2022}/lib/core/payment/form/controls/radio-control/radio-control.config.mjs +0 -0
  285. /package/{esm2020 → esm2022}/lib/core/payment/form/controls/radio-control/radio-option.interface.mjs +0 -0
  286. /package/{esm2020 → esm2022}/lib/core/payment/form/controls/search-select/search-select-option.interface.mjs +0 -0
  287. /package/{esm2020 → esm2022}/lib/core/payment/form/controls/search-select/select-control.config.mjs +0 -0
  288. /package/{esm2020 → esm2022}/lib/core/payment/form/controls/search-select/select-option.interface.mjs +0 -0
  289. /package/{esm2020 → esm2022}/lib/core/payment/form/controls/text-control.config.mjs +0 -0
  290. /package/{esm2020 → esm2022}/lib/core/payment/form/converters/converters-map.interface.mjs +0 -0
  291. /package/{esm2020 → esm2022}/lib/core/payment/form/converters/converters-map.mjs +0 -0
  292. /package/{esm2020 → esm2022}/lib/core/payment/form/converters/cpf-name/cpf-name-regex.variable.mjs +0 -0
  293. /package/{esm2020 → esm2022}/lib/core/payment/form/converters/cvv/cvv-form-state.interface.mjs +0 -0
  294. /package/{esm2020 → esm2022}/lib/core/payment/form/converters/street-number/street-number-from-state.interface.mjs +0 -0
  295. /package/{esm2020 → esm2022}/lib/core/payment/form/field-form-states.interface.mjs +0 -0
  296. /package/{esm2020 → esm2022}/lib/core/payment/form/field-status.interface.mjs +0 -0
  297. /package/{esm2020 → esm2022}/lib/core/payment/form/form-fields-status.interface.mjs +0 -0
  298. /package/{esm2020 → esm2022}/lib/core/payment/form/form-state.interface.mjs +0 -0
  299. /package/{esm2020 → esm2022}/lib/core/payment/form/input-event.enum.mjs +0 -0
  300. /package/{esm2020 → esm2022}/lib/core/payment/form/validators/async-validator-fn.type.mjs +0 -0
  301. /package/{esm2020 → esm2022}/lib/core/payment/form/validators/coupon/coupon-validator.mjs +0 -0
  302. /package/{esm2020 → esm2022}/lib/core/payment/form/validators/email/email-validator.mjs +0 -0
  303. /package/{esm2020 → esm2022}/lib/core/payment/form/validators/is-empty-input-value.function.mjs +0 -0
  304. /package/{esm2020 → esm2022}/lib/core/payment/form/validators/max-length-validator.mjs +0 -0
  305. /package/{esm2020 → esm2022}/lib/core/payment/form/validators/min-length-validator.mjs +0 -0
  306. /package/{esm2020 → esm2022}/lib/core/payment/form/validators/phone-validator.mjs +0 -0
  307. /package/{esm2020 → esm2022}/lib/core/payment/form/validators/required/required.validator.mjs +0 -0
  308. /package/{esm2020 → esm2022}/lib/core/payment/form/validators/restricted-value/restricted-value.validator.mjs +0 -0
  309. /package/{esm2020 → esm2022}/lib/core/payment/form/validators/validation-error.interface.mjs +0 -0
  310. /package/{esm2020 → esm2022}/lib/core/payment/form/validators/validation-errors.interface.mjs +0 -0
  311. /package/{esm2020 → esm2022}/lib/core/payment/form/validators/validator-fn.type.mjs +0 -0
  312. /package/{esm2020 → esm2022}/lib/core/payment/form-response.interface.mjs +0 -0
  313. /package/{esm2020 → esm2022}/lib/core/payment/initialize/initialize-request-params.interface.mjs +0 -0
  314. /package/{esm2020 → esm2022}/lib/core/payment/initialize/response/initialize-response.token.mjs +0 -0
  315. /package/{esm2020 → esm2022}/lib/core/payment/invoice.interface.mjs +0 -0
  316. /package/{esm2020 → esm2022}/lib/core/payment/payment-config.interface.mjs +0 -0
  317. /package/{esm2020 → esm2022}/lib/core/payment/payment-form.interface.mjs +0 -0
  318. /package/{esm2020 → esm2022}/lib/core/payment/payment.interface.mjs +0 -0
  319. /package/{esm2020 → esm2022}/lib/core/payment/status/check-status/request/check-status-request.token.mjs +0 -0
  320. /package/{esm2020 → esm2022}/lib/core/payment/status/check-status/response/check-status-response.class.mjs +0 -0
  321. /package/{esm2020 → esm2022}/lib/core/payment/status/check-status/response/check-status-response.token.mjs +0 -0
  322. /package/{esm2020 → esm2022}/lib/core/payment/status/finance-info-field.interface.mjs +0 -0
  323. /package/{esm2020 → esm2022}/lib/core/payment/status/line-item.interface.mjs +0 -0
  324. /package/{esm2020 → esm2022}/lib/core/payment/status/save-payment-method-status/api/saved-payment-account-changes.interface.mjs +0 -0
  325. /package/{esm2020 → esm2022}/lib/core/payment/status/save-payment-method-status/api/saved-payment-account.interface.mjs +0 -0
  326. /package/{esm2020 → esm2022}/lib/core/payment/status/save-payment-method-status/save-payment-method-status.enum.mjs +0 -0
  327. /package/{esm2020 → esm2022}/lib/core/payment/status/status-finance-info.interface.mjs +0 -0
  328. /package/{esm2020 → esm2022}/lib/core/payment/status/status-groups.mjs +0 -0
  329. /package/{esm2020 → esm2022}/lib/core/payment/status/status-order.interface.mjs +0 -0
  330. /package/{esm2020 → esm2022}/lib/core/payment/status/status-request/request/status-request.token.mjs +0 -0
  331. /package/{esm2020 → esm2022}/lib/core/payment/status/status-request/required-status-search-params.const.mjs +0 -0
  332. /package/{esm2020 → esm2022}/lib/core/payment/status/status-request/response/status-response.token.mjs +0 -0
  333. /package/{esm2020 → esm2022}/lib/core/payment/status/status-request/status-request-params.interface.mjs +0 -0
  334. /package/{esm2020 → esm2022}/lib/core/payment/status/status-request/status-search-param.enum.mjs +0 -0
  335. /package/{esm2020 → esm2022}/lib/core/payment/status/status-request/status-search-params.map.mjs +0 -0
  336. /package/{esm2020 → esm2022}/lib/core/payment/status/status-settings.interface.mjs +0 -0
  337. /package/{esm2020 → esm2022}/lib/core/payment/status/status-updated.interface.mjs +0 -0
  338. /package/{esm2020 → esm2022}/lib/core/payment/status/status.enum.mjs +0 -0
  339. /package/{esm2020 → esm2022}/lib/core/payment/status/status.interface.mjs +0 -0
  340. /package/{esm2020 → esm2022}/lib/core/payment/status/title-class.enum.mjs +0 -0
  341. /package/{esm2020 → esm2022}/lib/core/payment/status/web-socket-client-type.enum.mjs +0 -0
  342. /package/{esm2020 → esm2022}/lib/core/payment/status/websocket-status/websocket-status.enum.mjs +0 -0
  343. /package/{esm2020 → esm2022}/lib/core/payment/submit/request/submit-request.token.mjs +0 -0
  344. /package/{esm2020 → esm2022}/lib/core/payment/submit/response/is-submit-response.function.mjs +0 -0
  345. /package/{esm2020 → esm2022}/lib/core/payment/submit/response/submit-response.token.mjs +0 -0
  346. /package/{esm2020 → esm2022}/lib/core/payment/sync/field-async-validation.interface.mjs +0 -0
  347. /package/{esm2020 → esm2022}/lib/core/payment/sync/field-sync-state.interface.mjs +0 -0
  348. /package/{esm2020 → esm2022}/lib/core/payment/sync/request/sync-request.token.mjs +0 -0
  349. /package/{esm2020 → esm2022}/lib/core/payment/sync/response/sync-response.token.mjs +0 -0
  350. /package/{esm2020 → esm2022}/lib/core/payment/three-ds/api/notify-dfp-status/request/notify-dfp-status-request.class.mjs +0 -0
  351. /package/{esm2020 → esm2022}/lib/core/payment/three-ds/api/notify-dfp-status/request/notify-dfp-status-request.token.mjs +0 -0
  352. /package/{esm2020 → esm2022}/lib/core/payment/three-ds/api/status-three-ds/request/status-three-ds-request.class.mjs +0 -0
  353. /package/{esm2020 → esm2022}/lib/core/payment/three-ds/api/status-three-ds/request/status-three-ds-request.token.mjs +0 -0
  354. /package/{esm2020 → esm2022}/lib/core/payment/three-ds/api/status-three-ds/response/status-three-ds-response.class.mjs +0 -0
  355. /package/{esm2020 → esm2022}/lib/core/payment/three-ds/api/status-three-ds/response/status-three-ds-response.token.mjs +0 -0
  356. /package/{esm2020 → esm2022}/lib/core/payment/three-ds/api/status-three-ds/status-three-ds-response.interface.mjs +0 -0
  357. /package/{esm2020 → esm2022}/lib/core/payment/three-ds/api/status-three-ds/status-types.enum.mjs +0 -0
  358. /package/{esm2020 → esm2022}/lib/core/payment/three-ds/api/status-three-ds/three-ds-checkout-form.interface.mjs +0 -0
  359. /package/{esm2020 → esm2022}/lib/core/payment/three-ds/reinsurance-check/timer.interface.mjs +0 -0
  360. /package/{esm2020 → esm2022}/lib/core/payment/three-ds/three-ds-20/status-update.interface.mjs +0 -0
  361. /package/{esm2020 → esm2022}/lib/core/payment/three-ds/three-ds-form.interface.mjs +0 -0
  362. /package/{esm2020 → esm2022}/lib/core/payment/three-ds/three-ds-status-websocket-types.enum.mjs +0 -0
  363. /package/{esm2020 → esm2022}/lib/core/payment/virtual-currency.interface.mjs +0 -0
  364. /package/{esm2020 → esm2022}/lib/core/payment/xps-api-part.abstract.mjs +0 -0
  365. /package/{esm2020 → esm2022}/lib/core/payment/xps-checkout.mjs +0 -0
  366. /package/{esm2020 → esm2022}/lib/core/payment/xps-comand.enum.mjs +0 -0
  367. /package/{esm2020 → esm2022}/lib/core/payment/xps-error.interface.mjs +0 -0
  368. /package/{esm2020 → esm2022}/lib/core/payment/xps-finance.interface.mjs +0 -0
  369. /package/{esm2020 → esm2022}/lib/core/payment/xps-message.interface.mjs +0 -0
  370. /package/{esm2020 → esm2022}/lib/core/payment/xps-purchase.interface.mjs +0 -0
  371. /package/{esm2020 → esm2022}/lib/core/payment/xps-request-params.interface.mjs +0 -0
  372. /package/{esm2020 → esm2022}/lib/core/payment/xps-request.interface.mjs +0 -0
  373. /package/{esm2020 → esm2022}/lib/core/payment/xps-response.error.mjs +0 -0
  374. /package/{esm2020 → esm2022}/lib/core/payment/xps-response.interface.mjs +0 -0
  375. /package/{esm2020 → esm2022}/lib/core/payment/xps-summary.interface.mjs +0 -0
  376. /package/{esm2020 → esm2022}/lib/core/payment-methods/payment-method-api.interface.mjs +0 -0
  377. /package/{esm2020 → esm2022}/lib/core/payment-methods/payment-method.interface.mjs +0 -0
  378. /package/{esm2020 → esm2022}/lib/core/payment-methods/payment-methods-api.interface.mjs +0 -0
  379. /package/{esm2020 → esm2022}/lib/core/payment-methods/payment-methods-request-params.interface.mjs +0 -0
  380. /package/{esm2020 → esm2022}/lib/core/payment-methods/payment-methods-response.class.mjs +0 -0
  381. /package/{esm2020 → esm2022}/lib/core/payment-methods/payment-methods-response.interface.mjs +0 -0
  382. /package/{esm2020 → esm2022}/lib/core/payment-methods/payment-methods-response.token.mjs +0 -0
  383. /package/{esm2020 → esm2022}/lib/core/performance/xhr-action.interface.mjs +0 -0
  384. /package/{esm2020 → esm2022}/lib/core/properties.type.mjs +0 -0
  385. /package/{esm2020 → esm2022}/lib/core/saved-methods/saved-method-api.interface.mjs +0 -0
  386. /package/{esm2020 → esm2022}/lib/core/saved-methods/saved-method.interface.mjs +0 -0
  387. /package/{esm2020 → esm2022}/lib/core/saved-methods/saved-methods-request-params.interface.mjs +0 -0
  388. /package/{esm2020 → esm2022}/lib/core/saved-methods/saved-methods-response.class.mjs +0 -0
  389. /package/{esm2020 → esm2022}/lib/core/saved-methods/saved-methods-response.interface.mjs +0 -0
  390. /package/{esm2020 → esm2022}/lib/core/saved-methods/saved-methods-response.token.mjs +0 -0
  391. /package/{esm2020 → esm2022}/lib/core/sdk-payment-systems/apple-pay/apple-pay-integration.type.mjs +0 -0
  392. /package/{esm2020 → esm2022}/lib/core/sdk-payment-systems/apple-pay/apple-pay-params.interface.mjs +0 -0
  393. /package/{esm2020 → esm2022}/lib/core/sdk-payment-systems/apple-pay/apple-pay.const.mjs +0 -0
  394. /package/{esm2020 → esm2022}/lib/core/sdk-payment-systems/apple-pay/apple-pay.errors.enum.mjs +0 -0
  395. /package/{esm2020 → esm2022}/lib/core/sdk-payment-systems/apple-pay/checkout-params.interface.mjs +0 -0
  396. /package/{esm2020 → esm2022}/lib/core/sdk-payment-systems/google-pay/google-pay-button-color.type.mjs +0 -0
  397. /package/{esm2020 → esm2022}/lib/core/sdk-payment-systems/google-pay/google-pay-checkout.interface.mjs +0 -0
  398. /package/{esm2020 → esm2022}/lib/core/sdk-payment-systems/google-pay/google-pay-init-params.interface.mjs +0 -0
  399. /package/{esm2020 → esm2022}/lib/core/sdk-payment-systems/google-pay/google-pay-library.interface.mjs +0 -0
  400. /package/{esm2020 → esm2022}/lib/core/sdk-payment-systems/sdk-payment-methods.const.mjs +0 -0
  401. /package/{esm2020 → esm2022}/lib/core/sdk-payment-systems/sdk-payment-systems-initial-data.interface.mjs +0 -0
  402. /package/{esm2020 → esm2022}/lib/core/sdk-payment-systems/sdk-payment-systems.interface.mjs +0 -0
  403. /package/{esm2020 → esm2022}/lib/core/settings/auto-redirect-on-status.mjs +0 -0
  404. /package/{esm2020 → esm2022}/lib/core/settings/balance.interface.mjs +0 -0
  405. /package/{esm2020 → esm2022}/lib/core/settings/bonus.interface.mjs +0 -0
  406. /package/{esm2020 → esm2022}/lib/core/settings/configuration.interface.mjs +0 -0
  407. /package/{esm2020 → esm2022}/lib/core/settings/empty-utils-response.error.mjs +0 -0
  408. /package/{esm2020 → esm2022}/lib/core/settings/header-type.enum.mjs +0 -0
  409. /package/{esm2020 → esm2022}/lib/core/settings/offer.interface.mjs +0 -0
  410. /package/{esm2020 → esm2022}/lib/core/settings/project.interface.mjs +0 -0
  411. /package/{esm2020 → esm2022}/lib/core/settings/purchase.interface.mjs +0 -0
  412. /package/{esm2020 → esm2022}/lib/core/settings/settings-mode.enum.mjs +0 -0
  413. /package/{esm2020 → esm2022}/lib/core/settings/settings.interface.mjs +0 -0
  414. /package/{esm2020 → esm2022}/lib/core/settings/status-back-show.mjs +0 -0
  415. /package/{esm2020 → esm2022}/lib/core/settings/tracking-info.interface.mjs +0 -0
  416. /package/{esm2020 → esm2022}/lib/core/settings/user.interface.mjs +0 -0
  417. /package/{esm2020 → esm2022}/lib/core/settings/utils-response.interface.mjs +0 -0
  418. /package/{esm2020 → esm2022}/lib/core/type-guards/is-null.function.mjs +0 -0
  419. /package/{esm2020 → esm2022}/lib/core/type-guards/is-string.function.mjs +0 -0
  420. /package/{esm2020 → esm2022}/lib/core/type-guards/is-undefined.function.mjs +0 -0
  421. /package/{esm2020 → esm2022}/lib/core/url/search-params.interface.mjs +0 -0
  422. /package/{esm2020 → esm2022}/lib/core/user-agent/browserInfo.interface.mjs +0 -0
  423. /package/{esm2020 → esm2022}/lib/core/user-agent/browsers.mjs +0 -0
  424. /package/{esm2020 → esm2022}/lib/core/user-agent/device.enum.mjs +0 -0
  425. /package/{esm2020 → esm2022}/lib/core/user-agent/os.mjs +0 -0
  426. /package/{esm2020 → esm2022}/lib/core/user-agent/user-agent-data.interface.mjs +0 -0
  427. /package/{esm2020 → esm2022}/lib/core/user-balance/user-balance-api.interface.mjs +0 -0
  428. /package/{esm2020 → esm2022}/lib/core/user-balance/user-balance-request-params.interface.mjs +0 -0
  429. /package/{esm2020 → esm2022}/lib/core/user-balance/user-balance-response.class.mjs +0 -0
  430. /package/{esm2020 → esm2022}/lib/core/user-balance/user-balance-response.token.mjs +0 -0
  431. /package/{esm2020 → esm2022}/lib/core/user-behaviour-analytics/event-builder/event-parameter-types.mjs +0 -0
  432. /package/{esm2020 → esm2022}/lib/core/user-behaviour-analytics/event-builder/invoice.interface.mjs +0 -0
  433. /package/{esm2020 → esm2022}/lib/core/user-behaviour-analytics/event-builder/purchase.type.mjs +0 -0
  434. /package/{esm2020 → esm2022}/lib/core/user-behaviour-analytics/event-builder/user-behaviour-event.interface.mjs +0 -0
  435. /package/{esm2020 → esm2022}/lib/core/user-behaviour-analytics/one-time-analytics-events.const.mjs +0 -0
  436. /package/{esm2020 → esm2022}/lib/core/user-behaviour-analytics/user-behaviour-analytics.interface.mjs +0 -0
  437. /package/{esm2020 → esm2022}/lib/core/user-behaviour-analytics/user-behaviour-event/user-behaviour-event-categories.mjs +0 -0
  438. /package/{esm2020 → esm2022}/lib/core/user-behaviour-analytics/user-behaviour-event/user-behaviour-event-types.mjs +0 -0
  439. /package/{esm2020 → esm2022}/lib/core/user-behaviour-analytics/user-behaviour-event-name.enum.mjs +0 -0
  440. /package/{esm2020 → esm2022}/lib/core/user-behaviour-analytics/user-session-options.mjs +0 -0
  441. /package/{esm2020 → esm2022}/lib/core/web-socket/web-socket-client-type.enum.mjs +0 -0
  442. /package/{esm2020 → esm2022}/lib/core/web-socket/web-socket.interface.mjs +0 -0
  443. /package/{esm2020 → esm2022}/lib/core/window.token.mjs +0 -0
  444. /package/{esm2020 → esm2022}/lib/core/xps-boolean.enum.mjs +0 -0
  445. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
  446. /package/{esm2020 → esm2022}/xsolla-payment-client-core.mjs +0 -0
@@ -0,0 +1,75 @@
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 { paymentMethodsResponseFactoryToken, } from './payment-methods-response.token';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../settings/settings.service";
8
+ import * as i2 from "../country/country.service";
9
+ import * as i3 from "../http/secure-api/secure-api.service";
10
+ export class PaymentMethodsService {
11
+ constructor(responseFactory, settingsService, countryService, secureApi) {
12
+ this.responseFactory = responseFactory;
13
+ this.settingsService = settingsService;
14
+ this.countryService = countryService;
15
+ this.secureApi = secureApi;
16
+ this.apiRoute = 'remained_payment_methods';
17
+ this.cache = new Map();
18
+ }
19
+ async getAllMethods() {
20
+ return this.request();
21
+ }
22
+ async getList(isSaveMethodMode) {
23
+ const response = await this.request(isSaveMethodMode);
24
+ if (this.isFixedPaymentMethod) {
25
+ return this.filterMethodsByFixedPaymentMethod(response.remained);
26
+ }
27
+ return response.remained;
28
+ }
29
+ async getQuickMethods() {
30
+ const response = await this.request();
31
+ return response.especial;
32
+ }
33
+ async request(isSaveMethodMode) {
34
+ const requestParams = {
35
+ access_token: this.settingsService.token,
36
+ country: this.countryService.getCountry(),
37
+ save_payment_account_only: isSaveMethodMode
38
+ ? "1" /* XpsBoolean.true */
39
+ : "0" /* XpsBoolean.false */,
40
+ };
41
+ const cacheKey = JSON.stringify(requestParams);
42
+ if (!this.cache.has(cacheKey)) {
43
+ this.cache.set(cacheKey, lastValueFrom(this.secureApi
44
+ .post(this.apiRoute, new URLSearchParams({ ...requestParams }), {
45
+ headers: new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded; charset=utf-8'),
46
+ responseType: 'json',
47
+ })
48
+ .pipe(map((response) => this.responseFactory(response.payment_methods)))).catch((error) => {
49
+ throw new ResponseError(error.message);
50
+ }));
51
+ }
52
+ // @ts-expect-error the map already has the cache with key
53
+ return this.cache.get(cacheKey);
54
+ }
55
+ filterMethodsByFixedPaymentMethod(methods) {
56
+ const fixedPid = this.settingsService.purchase?.payment_system?.id;
57
+ const paymentMethod = methods.find((method) => method.id === fixedPid);
58
+ return paymentMethod ? [paymentMethod] : [];
59
+ }
60
+ get isFixedPaymentMethod() {
61
+ return !!this.settingsService.purchase?.payment_system?.id;
62
+ }
63
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: PaymentMethodsService, deps: [{ token: paymentMethodsResponseFactoryToken }, { token: i1.SettingsService }, { token: i2.CountryService }, { token: i3.SecureApiClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
64
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: PaymentMethodsService, providedIn: 'root' }); }
65
+ }
66
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: PaymentMethodsService, decorators: [{
67
+ type: Injectable,
68
+ args: [{
69
+ providedIn: 'root',
70
+ }]
71
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
72
+ type: Inject,
73
+ args: [paymentMethodsResponseFactoryToken]
74
+ }] }, { type: i1.SettingsService }, { type: i2.CountryService }, { type: i3.SecureApiClient }] });
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC1tZXRob2RzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50LW1ldGhvZHMvcGF5bWVudC1tZXRob2RzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQU9uRixPQUFPLEVBRUwsa0NBQWtDLEdBQ25DLE1BQU0sa0NBQWtDLENBQUM7Ozs7O0FBTTFDLE1BQU0sT0FBTyxxQkFBcUI7SUFLaEMsWUFFbUIsZUFBOEMsRUFDOUMsZUFBZ0MsRUFDaEMsY0FBOEIsRUFDOUIsU0FBMEI7UUFIMUIsb0JBQWUsR0FBZixlQUFlLENBQStCO1FBQzlDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsY0FBUyxHQUFULFNBQVMsQ0FBaUI7UUFUNUIsYUFBUSxHQUFHLDBCQUEwQixDQUFDO1FBRXRDLFVBQUssR0FBRyxJQUFJLEdBQUcsRUFBMkMsQ0FBQztJQVF6RSxDQUFDO0lBRUcsS0FBSyxDQUFDLGFBQWE7UUFDeEIsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVNLEtBQUssQ0FBQyxPQUFPLENBQUMsZ0JBQTBCO1FBQzdDLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRXRELElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7WUFDOUIsT0FBTyxJQUFJLENBQUMsaUNBQWlDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ25FLENBQUM7UUFFRCxPQUFPLFFBQVEsQ0FBQyxRQUFRLENBQUM7SUFDM0IsQ0FBQztJQUVNLEtBQUssQ0FBQyxlQUFlO1FBQzFCLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3RDLE9BQU8sUUFBUSxDQUFDLFFBQVEsQ0FBQztJQUMzQixDQUFDO0lBRU8sS0FBSyxDQUFDLE9BQU8sQ0FDbkIsZ0JBQTBCO1FBRTFCLE1BQU0sYUFBYSxHQUFnQztZQUNqRCxZQUFZLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLO1lBQ3hDLE9BQU8sRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsRUFBRTtZQUN6Qyx5QkFBeUIsRUFBRSxnQkFBZ0I7Z0JBQ3pDLENBQUM7Z0JBQ0QsQ0FBQywyQkFBaUI7U0FDckIsQ0FBQztRQUNGLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFL0MsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQ1osUUFBUSxFQUNSLGFBQWEsQ0FDWCxJQUFJLENBQUMsU0FBUztpQkFDWCxJQUFJLENBQ0gsSUFBSSxDQUFDLFFBQVEsRUFDYixJQUFJLGVBQWUsQ0FBQyxFQUFFLEdBQUcsYUFBYSxFQUFFLENBQUMsRUFDekM7Z0JBQ0UsT0FBTyxFQUFFLElBQUksV0FBVyxFQUFFLENBQUMsR0FBRyxDQUM1QixjQUFjLEVBQ2Qsa0RBQWtELENBQ25EO2dCQUNELFlBQVksRUFBRSxNQUFNO2FBQ3JCLENBQ0Y7aUJBQ0EsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FDbEUsQ0FDSixDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQVksRUFBRSxFQUFFO2dCQUN2QixNQUFNLElBQUksYUFBYSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN6QyxDQUFDLENBQUMsQ0FDSCxDQUFDO1FBQ0osQ0FBQztRQUVELDBEQUEwRDtRQUMxRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFTyxpQ0FBaUMsQ0FDdkMsT0FBd0I7UUFFeEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsY0FBYyxFQUFFLEVBQUUsQ0FBQztRQUNuRSxNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxLQUFLLFFBQVEsQ0FBQyxDQUFDO1FBRXZFLE9BQU8sYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUVELElBQVksb0JBQW9CO1FBQzlCLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLGNBQWMsRUFBRSxFQUFFLENBQUM7SUFDN0QsQ0FBQzs4R0FwRlUscUJBQXFCLGtCQU10QixrQ0FBa0M7a0hBTmpDLHFCQUFxQixjQUZwQixNQUFNOzsyRkFFUCxxQkFBcUI7a0JBSGpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFPSSxNQUFNOzJCQUFDLGtDQUFrQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBsYXN0VmFsdWVGcm9tLCBtYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvdW50cnlTZXJ2aWNlIH0gZnJvbSAnLi4vY291bnRyeS9jb3VudHJ5LnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVzcG9uc2VFcnJvciB9IGZyb20gJy4uL2V4Y2VwdGlvbnMtaGFuZGxpbmcvZXJyb3JzL3Jlc3BvbnNlLWVycm9yLmNsYXNzJztcbmltcG9ydCB7IFNlY3VyZUFwaUNsaWVudCB9IGZyb20gJy4uL2h0dHAvc2VjdXJlLWFwaS9zZWN1cmUtYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSAnLi4vc2V0dGluZ3Mvc2V0dGluZ3Muc2VydmljZSc7XG5pbXBvcnQgeyBQYXltZW50TWV0aG9kIH0gZnJvbSAnLi9wYXltZW50LW1ldGhvZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUGF5bWVudE1ldGhvZHNSZXF1ZXN0UGFyYW1zIH0gZnJvbSAnLi9wYXltZW50LW1ldGhvZHMtcmVxdWVzdC1wYXJhbXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IFBheW1lbnRNZXRob2RzUmVzcG9uc2UgfSBmcm9tICcuL3BheW1lbnQtbWV0aG9kcy1yZXNwb25zZS5jbGFzcyc7XG5pbXBvcnQgeyBQYXltZW50TWV0aG9kc1Jlc3BvbnNlQXBpIH0gZnJvbSAnLi9wYXltZW50LW1ldGhvZHMtcmVzcG9uc2UuaW50ZXJmYWNlJztcbmltcG9ydCB7XG4gIFBheW1lbnRNZXRob2RzUmVzcG9uc2VGYWN0b3J5LFxuICBwYXltZW50TWV0aG9kc1Jlc3BvbnNlRmFjdG9yeVRva2VuLFxufSBmcm9tICcuL3BheW1lbnQtbWV0aG9kcy1yZXNwb25zZS50b2tlbic7XG5pbXBvcnQgeyBYcHNCb29sZWFuIH0gZnJvbSAnLi4veHBzLWJvb2xlYW4uZW51bSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBQYXltZW50TWV0aG9kc1NlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IGFwaVJvdXRlID0gJ3JlbWFpbmVkX3BheW1lbnRfbWV0aG9kcyc7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBjYWNoZSA9IG5ldyBNYXA8c3RyaW5nLCBQcm9taXNlPFBheW1lbnRNZXRob2RzUmVzcG9uc2U+PigpO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KHBheW1lbnRNZXRob2RzUmVzcG9uc2VGYWN0b3J5VG9rZW4pXG4gICAgcHJpdmF0ZSByZWFkb25seSByZXNwb25zZUZhY3Rvcnk6IFBheW1lbnRNZXRob2RzUmVzcG9uc2VGYWN0b3J5LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2V0dGluZ3NTZXJ2aWNlOiBTZXR0aW5nc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb3VudHJ5U2VydmljZTogQ291bnRyeVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzZWN1cmVBcGk6IFNlY3VyZUFwaUNsaWVudFxuICApIHt9XG5cbiAgcHVibGljIGFzeW5jIGdldEFsbE1ldGhvZHMoKTogUHJvbWlzZTxQYXltZW50TWV0aG9kc1Jlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMucmVxdWVzdCgpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldExpc3QoaXNTYXZlTWV0aG9kTW9kZT86IGJvb2xlYW4pOiBQcm9taXNlPFBheW1lbnRNZXRob2RbXT4ge1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5yZXF1ZXN0KGlzU2F2ZU1ldGhvZE1vZGUpO1xuXG4gICAgaWYgKHRoaXMuaXNGaXhlZFBheW1lbnRNZXRob2QpIHtcbiAgICAgIHJldHVybiB0aGlzLmZpbHRlck1ldGhvZHNCeUZpeGVkUGF5bWVudE1ldGhvZChyZXNwb25zZS5yZW1haW5lZCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3BvbnNlLnJlbWFpbmVkO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldFF1aWNrTWV0aG9kcygpOiBQcm9taXNlPFBheW1lbnRNZXRob2RbXT4ge1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5yZXF1ZXN0KCk7XG4gICAgcmV0dXJuIHJlc3BvbnNlLmVzcGVjaWFsO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyByZXF1ZXN0KFxuICAgIGlzU2F2ZU1ldGhvZE1vZGU/OiBib29sZWFuXG4gICk6IFByb21pc2U8UGF5bWVudE1ldGhvZHNSZXNwb25zZT4ge1xuICAgIGNvbnN0IHJlcXVlc3RQYXJhbXM6IFBheW1lbnRNZXRob2RzUmVxdWVzdFBhcmFtcyA9IHtcbiAgICAgIGFjY2Vzc190b2tlbjogdGhpcy5zZXR0aW5nc1NlcnZpY2UudG9rZW4sXG4gICAgICBjb3VudHJ5OiB0aGlzLmNvdW50cnlTZXJ2aWNlLmdldENvdW50cnkoKSxcbiAgICAgIHNhdmVfcGF5bWVudF9hY2NvdW50X29ubHk6IGlzU2F2ZU1ldGhvZE1vZGVcbiAgICAgICAgPyBYcHNCb29sZWFuLnRydWVcbiAgICAgICAgOiBYcHNCb29sZWFuLmZhbHNlLFxuICAgIH07XG4gICAgY29uc3QgY2FjaGVLZXkgPSBKU09OLnN0cmluZ2lmeShyZXF1ZXN0UGFyYW1zKTtcblxuICAgIGlmICghdGhpcy5jYWNoZS5oYXMoY2FjaGVLZXkpKSB7XG4gICAgICB0aGlzLmNhY2hlLnNldChcbiAgICAgICAgY2FjaGVLZXksXG4gICAgICAgIGxhc3RWYWx1ZUZyb20oXG4gICAgICAgICAgdGhpcy5zZWN1cmVBcGlcbiAgICAgICAgICAgIC5wb3N0PFBheW1lbnRNZXRob2RzUmVzcG9uc2VBcGk+KFxuICAgICAgICAgICAgICB0aGlzLmFwaVJvdXRlLFxuICAgICAgICAgICAgICBuZXcgVVJMU2VhcmNoUGFyYW1zKHsgLi4ucmVxdWVzdFBhcmFtcyB9KSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycygpLnNldChcbiAgICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnLFxuICAgICAgICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDsgY2hhcnNldD11dGYtOCdcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2pzb24nLFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgbWFwKChyZXNwb25zZSkgPT4gdGhpcy5yZXNwb25zZUZhY3RvcnkocmVzcG9uc2UucGF5bWVudF9tZXRob2RzKSlcbiAgICAgICAgICAgIClcbiAgICAgICAgKS5jYXRjaCgoZXJyb3I6IEVycm9yKSA9PiB7XG4gICAgICAgICAgdGhyb3cgbmV3IFJlc3BvbnNlRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH1cblxuICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgdGhlIG1hcCBhbHJlYWR5IGhhcyB0aGUgY2FjaGUgd2l0aCBrZXlcbiAgICByZXR1cm4gdGhpcy5jYWNoZS5nZXQoY2FjaGVLZXkpO1xuICB9XG5cbiAgcHJpdmF0ZSBmaWx0ZXJNZXRob2RzQnlGaXhlZFBheW1lbnRNZXRob2QoXG4gICAgbWV0aG9kczogUGF5bWVudE1ldGhvZFtdXG4gICk6IFBheW1lbnRNZXRob2RbXSB7XG4gICAgY29uc3QgZml4ZWRQaWQgPSB0aGlzLnNldHRpbmdzU2VydmljZS5wdXJjaGFzZT8ucGF5bWVudF9zeXN0ZW0/LmlkO1xuICAgIGNvbnN0IHBheW1lbnRNZXRob2QgPSBtZXRob2RzLmZpbmQoKG1ldGhvZCkgPT4gbWV0aG9kLmlkID09PSBmaXhlZFBpZCk7XG5cbiAgICByZXR1cm4gcGF5bWVudE1ldGhvZCA/IFtwYXltZW50TWV0aG9kXSA6IFtdO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgaXNGaXhlZFBheW1lbnRNZXRob2QoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5zZXR0aW5nc1NlcnZpY2UucHVyY2hhc2U/LnBheW1lbnRfc3lzdGVtPy5pZDtcbiAgfVxufVxuIl19
@@ -0,0 +1,111 @@
1
+ import { Inject, Injectable } from '@angular/core';
2
+ import { userBehaviourEventTypes } from '../user-behaviour-analytics/user-behaviour-event/user-behaviour-event-types';
3
+ import { eventCategories } from '../user-behaviour-analytics/user-behaviour-event/user-behaviour-event-categories';
4
+ import { windowToken } from '../window.token';
5
+ import { defaultApiUrl } from '../http/secure-api/api-url.const';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../user-behaviour-analytics/user-behaviour-analytics.service";
8
+ import * as i2 from "./xhr-action.service";
9
+ export class PerformanceService {
10
+ get network() {
11
+ return this.navigationPerformance?.responseEnd;
12
+ }
13
+ get runApp() {
14
+ const domComplete = this.navigationPerformance?.domComplete;
15
+ if (domComplete == null || this.network == null) {
16
+ return null;
17
+ }
18
+ return domComplete - this.network;
19
+ }
20
+ constructor(userBehaviourAnalyticsService, xhrActionService, window, zone) {
21
+ this.userBehaviourAnalyticsService = userBehaviourAnalyticsService;
22
+ this.xhrActionService = xhrActionService;
23
+ this.window = window;
24
+ this.zone = zone;
25
+ this.navigationPerformance = this.window.performance?.getEntriesByType('navigation')?.[0];
26
+ this.resourcesPerformance = this.window.performance?.getEntriesByType('resource');
27
+ }
28
+ init() {
29
+ if (!this.window?.performance) {
30
+ return;
31
+ }
32
+ this.zone.runOutsideAngular(() => {
33
+ this.measureInitialValues();
34
+ this.listenXhrActions();
35
+ });
36
+ }
37
+ getInitRequest() {
38
+ if (!this.navigationPerformance || !this.resourcesPerformance) {
39
+ return null;
40
+ }
41
+ const utilsTiming = this.resourcesPerformance.find((performance) => performance.name.includes(`${defaultApiUrl}utils`));
42
+ if (!utilsTiming) {
43
+ return null;
44
+ }
45
+ return {
46
+ duration: utilsTiming.fetchStart - utilsTiming.responseEnd,
47
+ timeReserve: this.navigationPerformance.domComplete - utilsTiming.responseEnd,
48
+ utilsDuration: utilsTiming.duration,
49
+ };
50
+ }
51
+ sendMeasurement(name, value, additional) {
52
+ if (value == null) {
53
+ return;
54
+ }
55
+ const eventOptions = {
56
+ value: value.toString(),
57
+ };
58
+ if (additional) {
59
+ Object.keys(additional).forEach((optionName) => {
60
+ const optionValue = additional[optionName];
61
+ if (optionValue != null) {
62
+ eventOptions[optionName] =
63
+ optionValue.toString();
64
+ }
65
+ });
66
+ }
67
+ void this.userBehaviourAnalyticsService.send(name, userBehaviourEventTypes.manual, eventOptions);
68
+ }
69
+ measureRunApp() {
70
+ const sendRunApp = () => void setTimeout(() => this.sendMeasurement('run-app', this.runApp));
71
+ if (document.readyState === 'complete') {
72
+ sendRunApp();
73
+ }
74
+ else {
75
+ this.window.addEventListener('load', () => sendRunApp());
76
+ }
77
+ }
78
+ measureInitialValues() {
79
+ const initRequest = this.getInitRequest();
80
+ if (initRequest) {
81
+ this.sendMeasurement('utils', initRequest.duration, {
82
+ extraValue: initRequest.timeReserve,
83
+ dimension1: initRequest.utilsDuration,
84
+ });
85
+ }
86
+ this.sendMeasurement('network', this.network);
87
+ this.measureRunApp();
88
+ }
89
+ listenXhrActions() {
90
+ const xhrAction = this.xhrActionService.getXhrAction();
91
+ xhrAction.subscribe((event) => {
92
+ void this.userBehaviourAnalyticsService.send(`xhr-action:${event.name}`, userBehaviourEventTypes.manual, {
93
+ value: event.duration.toString(),
94
+ eventCategory: eventCategories.withoutInvoice,
95
+ extraValue: JSON.stringify(event),
96
+ });
97
+ });
98
+ }
99
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: PerformanceService, deps: [{ token: i1.UserBehaviourAnalyticsService }, { token: i2.XhrActionService }, { token: windowToken }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable }); }
100
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: PerformanceService, providedIn: 'root' }); }
101
+ }
102
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: PerformanceService, decorators: [{
103
+ type: Injectable,
104
+ args: [{
105
+ providedIn: 'root',
106
+ }]
107
+ }], ctorParameters: () => [{ type: i1.UserBehaviourAnalyticsService }, { type: i2.XhrActionService }, { type: undefined, decorators: [{
108
+ type: Inject,
109
+ args: [windowToken]
110
+ }] }, { type: i0.NgZone }] });
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyZm9ybWFuY2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BlcmZvcm1hbmNlL3BlcmZvcm1hbmNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFJM0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkVBQTZFLENBQUM7QUFDdEgsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtGQUFrRixDQUFDO0FBR25ILE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7QUFNakUsTUFBTSxPQUFPLGtCQUFrQjtJQVc3QixJQUFZLE9BQU87UUFDakIsT0FBTyxJQUFJLENBQUMscUJBQXFCLEVBQUUsV0FBVyxDQUFDO0lBQ2pELENBQUM7SUFFRCxJQUFZLE1BQU07UUFDaEIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixFQUFFLFdBQVcsQ0FBQztRQUU1RCxJQUFJLFdBQVcsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNoRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFFRCxPQUFPLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxZQUNtQiw2QkFBNEQsRUFDNUQsZ0JBQWtDLEVBRWxDLE1BQXNCLEVBQ3RCLElBQVk7UUFKWixrQ0FBNkIsR0FBN0IsNkJBQTZCLENBQStCO1FBQzVELHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFFbEMsV0FBTSxHQUFOLE1BQU0sQ0FBZ0I7UUFDdEIsU0FBSSxHQUFKLElBQUksQ0FBUTtR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LEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzFDLElBQUksV0FBVyxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDLFFBQVEsRUFBRTtnQkFDbEQsVUFBVSxFQUFFLFdBQVcsQ0FBQyxXQUFXO2dCQUNuQyxVQUFVLEVBQUUsV0FBVyxDQUFDLGFBQWE7YUFDdEMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUNELElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVPLGdCQUFnQjtRQUN0QixNQUFNLFNBQVMsR0FDYixJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFdkMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQWdCLEVBQUUsRUFBRTtZQUN2QyxLQUFLLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxJQUFJLENBQzFDLGNBQWMsS0FBSyxDQUFDLElBQUksRUFBRSxFQUMxQix1QkFBdUIsQ0FBQyxNQUFNLEVBQzlCO2dCQUNFLEtBQUssRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRTtnQkFDaEMsYUFBYSxFQUFFLGVBQWUsQ0FBQyxjQUFjO2dCQUM3QyxVQUFVLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUM7YUFDbEMsQ0FDRixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzhHQS9JVSxrQkFBa0IsK0ZBNEJuQixXQUFXO2tIQTVCVixrQkFBa0IsY0FGakIsTUFBTTs7MkZBRVAsa0JBQWtCO2tCQUg5QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBNkJJLE1BQU07MkJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVc2VyQmVoYXZpb3VyQW5hbHl0aWNzU2VydmljZSB9IGZyb20gJy4uL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy91c2VyLWJlaGF2aW91ci1hbmFseXRpY3Muc2VydmljZSc7XG5pbXBvcnQgeyBYaHJBY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi94aHItYWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgWGhyQWN0aW9uIH0gZnJvbSAnLi94aHItYWN0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyB1c2VyQmVoYXZpb3VyRXZlbnRUeXBlcyB9IGZyb20gJy4uL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy91c2VyLWJlaGF2aW91ci1ldmVudC91c2VyLWJlaGF2aW91ci1ldmVudC10eXBlcyc7XG5pbXBvcnQgeyBldmVudENhdGVnb3JpZXMgfSBmcm9tICcuLi91c2VyLWJlaGF2aW91ci1hbmFseXRpY3MvdXNlci1iZWhhdmlvdXItZXZlbnQvdXNlci1iZWhhdmlvdXItZXZlbnQtY2F0ZWdvcmllcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBFeHRlbmRlZFdpbmRvdyB9IGZyb20gJy4uL2V4dGVuZGVkLXdpbmRvdy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgd2luZG93VG9rZW4gfSBmcm9tICcuLi93aW5kb3cudG9rZW4nO1xuaW1wb3J0IHsgZGVmYXVsdEFwaVVybCB9IGZyb20gJy4uL2h0dHAvc2VjdXJlLWFwaS9hcGktdXJsLmNvbnN0JztcbmltcG9ydCB7IFNlbmRFdmVudE1ldGhvZE9wdGlvbnNJbnRlcmZhY2UgfSBmcm9tICcuLi91c2VyLWJlaGF2aW91ci1hbmFseXRpY3MvdXNlci1iZWhhdmlvdXItYW5hbHl0aWNzLmludGVyZmFjZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBQZXJmb3JtYW5jZVNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IG5hdmlnYXRpb25QZXJmb3JtYW5jZSA9XG4gICAgdGhpcy53aW5kb3cucGVyZm9ybWFuY2U/LmdldEVudHJpZXNCeVR5cGUoJ25hdmlnYXRpb24nKT8uWzBdIGFzXG4gICAgICB8IFBlcmZvcm1hbmNlTmF2aWdhdGlvblRpbWluZ1xuICAgICAgfCB1bmRlZmluZWQ7XG5cbiAgcHJpdmF0ZSByZWFkb25seSByZXNvdXJjZXNQZXJmb3JtYW5jZSA9XG4gICAgdGhpcy53aW5kb3cucGVyZm9ybWFuY2U/LmdldEVudHJpZXNCeVR5cGUoJ3Jlc291cmNlJykgYXNcbiAgICAgIHwgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZ1tdXG4gICAgICB8IHVuZGVmaW5lZDtcblxuICBwcml2YXRlIGdldCBuZXR3b3JrKCk6IG51bWJlciB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMubmF2aWdhdGlvblBlcmZvcm1hbmNlPy5yZXNwb25zZUVuZDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IHJ1bkFwcCgpOiBudW1iZXIgfCBudWxsIHtcbiAgICBjb25zdCBkb21Db21wbGV0ZSA9IHRoaXMubmF2aWdhdGlvblBlcmZvcm1hbmNlPy5kb21Db21wbGV0ZTtcblxuICAgIGlmIChkb21Db21wbGV0ZSA9PSBudWxsIHx8IHRoaXMubmV0d29yayA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gZG9tQ29tcGxldGUgLSB0aGlzLm5ldHdvcms7XG4gIH1cblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSB1c2VyQmVoYXZpb3VyQW5hbHl0aWNzU2VydmljZTogVXNlckJlaGF2aW91ckFuYWx5dGljc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB4aHJBY3Rpb25TZXJ2aWNlOiBYaHJBY3Rpb25TZXJ2aWNlLFxuICAgIEBJbmplY3Qod2luZG93VG9rZW4pXG4gICAgcHJpdmF0ZSByZWFkb25seSB3aW5kb3c6IEV4dGVuZGVkV2luZG93LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgem9uZTogTmdab25lXG4gICkge31cblxuICBwdWJsaWMgaW5pdCgpOiB1bmRlZmluZWQgfCB2b2lkIHtcbiAgICBpZiAoIXRoaXMud2luZG93Py5wZXJmb3JtYW5jZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICB0aGlzLm1lYXN1cmVJbml0aWFsVmFsdWVzKCk7XG4gICAgICB0aGlzLmxpc3RlblhockFjdGlvbnMoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0SW5pdFJlcXVlc3QoKToge1xuICAgIGR1cmF0aW9uOiBudW1iZXI7XG4gICAgdGltZVJlc2VydmU6IG51bWJlcjtcbiAgICB1dGlsc0R1cmF0aW9uOiBudW1iZXI7XG4gIH0gfCBudWxsIHtcbiAgICBpZiAoIXRoaXMubmF2aWdhdGlvblBlcmZvcm1hbmNlIHx8ICF0aGlzLnJlc291cmNlc1BlcmZvcm1hbmNlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCB1dGlsc1RpbWluZzogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyB8IHVuZGVmaW5lZCA9XG4gICAgICB0aGlzLnJlc291cmNlc1BlcmZvcm1hbmNlLmZpbmQoKHBlcmZvcm1hbmNlOiBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nKSA9PlxuICAgICAgICBwZXJmb3JtYW5jZS5uYW1lLmluY2x1ZGVzKGAke2RlZmF1bHRBcGlVcmx9dXRpbHNgKVxuICAgICAgKTtcblxuICAgIGlmICghdXRpbHNUaW1pbmcpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBkdXJhdGlvbjogdXRpbHNUaW1pbmcuZmV0Y2hTdGFydCAtIHV0aWxzVGltaW5nLnJlc3BvbnNlRW5kLFxuICAgICAgdGltZVJlc2VydmU6XG4gICAgICAgIHRoaXMubmF2aWdhdGlvblBlcmZvcm1hbmNlLmRvbUNvbXBsZXRlIC0gdXRpbHNUaW1pbmcucmVzcG9uc2VFbmQsXG4gICAgICB1dGlsc0R1cmF0aW9uOiB1dGlsc1RpbWluZy5kdXJhdGlvbixcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBzZW5kTWVhc3VyZW1lbnQoXG4gICAgbmFtZTogc3RyaW5nLFxuICAgIHZhbHVlOiBudW1iZXIgfCBudWxsIHwgdW5kZWZpbmVkLFxuICAgIGFkZGl0aW9uYWw/OiB7XG4gICAgICBleHRyYVZhbHVlPzogbnVtYmVyIHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgICAgIGRpbWVuc2lvbjE/OiBudW1iZXIgfCBudWxsIHwgdW5kZWZpbmVkO1xuICAgICAgZGltZW5zaW9uMj86IG51bWJlciB8IG51bGwgfCB1bmRlZmluZWQ7XG4gICAgfVxuICApOiB2b2lkIHtcbiAgICBpZiAodmFsdWUgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGV2ZW50T3B0aW9uczogU2VuZEV2ZW50TWV0aG9kT3B0aW9uc0ludGVyZmFjZSA9IHtcbiAgICAgIHZhbHVlOiB2YWx1ZS50b1N0cmluZygpLFxuICAgIH07XG5cbiAgICBpZiAoYWRkaXRpb25hbCkge1xuICAgICAgT2JqZWN0LmtleXMoYWRkaXRpb25hbCkuZm9yRWFjaCgob3B0aW9uTmFtZTogc3RyaW5nKTogdm9pZCA9PiB7XG4gICAgICAgIGNvbnN0IG9wdGlvblZhbHVlOiBudW1iZXIgfCBudWxsIHwgdW5kZWZpbmVkID1cbiAgICAgICAgICBhZGRpdGlvbmFsW29wdGlvbk5hbWUgYXMga2V5b2YgdHlwZW9mIGFkZGl0aW9uYWxdO1xuICAgICAgICBpZiAob3B0aW9uVmFsdWUgIT0gbnVsbCkge1xuICAgICAgICAgIGV2ZW50T3B0aW9uc1tvcHRpb25OYW1lIGFzIGtleW9mIHR5cGVvZiBhZGRpdGlvbmFsXSA9XG4gICAgICAgICAgICBvcHRpb25WYWx1ZS50b1N0cmluZygpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB2b2lkIHRoaXMudXNlckJlaGF2aW91ckFuYWx5dGljc1NlcnZpY2Uuc2VuZChcbiAgICAgIG5hbWUsXG4gICAgICB1c2VyQmVoYXZpb3VyRXZlbnRUeXBlcy5tYW51YWwsXG4gICAgICBldmVudE9wdGlvbnNcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBtZWFzdXJlUnVuQXBwKCk6IHZvaWQge1xuICAgIGNvbnN0IHNlbmRSdW5BcHAgPSAoKTogdm9pZCA9PlxuICAgICAgdm9pZCBzZXRUaW1lb3V0KCgpID0+IHRoaXMuc2VuZE1lYXN1cmVtZW50KCdydW4tYXBwJywgdGhpcy5ydW5BcHApKTtcblxuICAgIGlmIChkb2N1bWVudC5yZWFkeVN0YXRlID09PSAnY29tcGxldGUnKSB7XG4gICAgICBzZW5kUnVuQXBwKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCAoKSA9PiBzZW5kUnVuQXBwKCkpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbWVhc3VyZUluaXRpYWxWYWx1ZXMoKTogdm9pZCB7XG4gICAgY29uc3QgaW5pdFJlcXVlc3QgPSB0aGlzLmdldEluaXRSZXF1ZXN0KCk7XG4gICAgaWYgKGluaXRSZXF1ZXN0KSB7XG4gICAgICB0aGlzLnNlbmRNZWFzdXJlbWVudCgndXRpbHMnLCBpbml0UmVxdWVzdC5kdXJhdGlvbiwge1xuICAgICAgICBleHRyYVZhbHVlOiBpbml0UmVxdWVzdC50aW1lUmVzZXJ2ZSxcbiAgICAgICAgZGltZW5zaW9uMTogaW5pdFJlcXVlc3QudXRpbHNEdXJhdGlvbixcbiAgICAgIH0pO1xuICAgIH1cbiAgICB0aGlzLnNlbmRNZWFzdXJlbWVudCgnbmV0d29yaycsIHRoaXMubmV0d29yayk7XG4gICAgdGhpcy5tZWFzdXJlUnVuQXBwKCk7XG4gIH1cblxuICBwcml2YXRlIGxpc3RlblhockFjdGlvbnMoKTogdm9pZCB7XG4gICAgY29uc3QgeGhyQWN0aW9uOiBPYnNlcnZhYmxlPFhockFjdGlvbj4gPVxuICAgICAgdGhpcy54aHJBY3Rpb25TZXJ2aWNlLmdldFhockFjdGlvbigpO1xuXG4gICAgeGhyQWN0aW9uLnN1YnNjcmliZSgoZXZlbnQ6IFhockFjdGlvbikgPT4ge1xuICAgICAgdm9pZCB0aGlzLnVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlLnNlbmQoXG4gICAgICAgIGB4aHItYWN0aW9uOiR7ZXZlbnQubmFtZX1gLFxuICAgICAgICB1c2VyQmVoYXZpb3VyRXZlbnRUeXBlcy5tYW51YWwsXG4gICAgICAgIHtcbiAgICAgICAgICB2YWx1ZTogZXZlbnQuZHVyYXRpb24udG9TdHJpbmcoKSxcbiAgICAgICAgICBldmVudENhdGVnb3J5OiBldmVudENhdGVnb3JpZXMud2l0aG91dEludm9pY2UsXG4gICAgICAgICAgZXh0cmFWYWx1ZTogSlNPTi5zdHJpbmdpZnkoZXZlbnQpLFxuICAgICAgICB9XG4gICAgICApO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,114 @@
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
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: XhrActionService, deps: [{ token: windowToken }], target: i0.ɵɵFactoryTarget.Injectable }); }
103
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: XhrActionService, providedIn: 'root' }); }
104
+ }
105
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: XhrActionService, decorators: [{
106
+ type: Injectable,
107
+ args: [{
108
+ providedIn: 'root',
109
+ }]
110
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
111
+ type: Inject,
112
+ args: [windowToken]
113
+ }] }] });
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieGhyLWFjdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGVyZm9ybWFuY2UveGhyLWFjdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxRQUFRLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN6RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUd2RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7QUFLaEYsTUFBTSxPQUFPLGdCQUFnQjtJQVEzQixZQUVtQixNQUFzQjtRQUF0QixXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQVR4QixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLHdCQUFtQixHQUFhLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzdELHVCQUFrQixHQUFHLEtBQUssQ0FBQztRQUMzQixzQkFBaUIsR0FBZ0MsRUFBRSxDQUFDO1FBQ3BELHNCQUFpQixHQUFnQyxFQUFFLENBQUM7UUFDM0MsbUJBQWMsR0FBRyxJQUFJLE9BQU8sRUFBNkIsQ0FBQztJQUt4RSxDQUFDO0lBRUcsWUFBWTtRQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDakUsT0FBTyxFQUFFLEVBQUUsQ0FBQztRQUNkLENBQUM7UUFFRCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUNqQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQzFDLENBQUM7UUFFRixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBZ0MsRUFBRSxFQUFFLENBQ25FLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQ3pCLENBQUM7UUFFRixPQUFPLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxJQUFJLENBQzlCLEdBQUcsQ0FBdUMsR0FBRyxFQUFFO1lBQzdDLE1BQU0sS0FBSyxHQUFjO2dCQUN2QixJQUFJLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixFQUFFO2dCQUM5QixRQUFRLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQztvQkFDekIsR0FBRyxJQUFJLENBQUMsaUJBQWlCO29CQUN6QixHQUFHLElBQUksQ0FBQyxpQkFBaUI7aUJBQzFCLENBQUM7Z0JBQ0YsZUFBZSxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNO2dCQUM5QyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztnQkFDNUQsZUFBZSxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNO2dCQUM5QyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQzthQUM3RCxDQUFDO1lBRUYsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBRXJCLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFTyxZQUFZLENBQUMsS0FBZ0M7UUFDbkQsTUFBTSxZQUFZLEdBQVksS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQy9DLGFBQWEsSUFBSSxhQUFhLENBQy9CLENBQUM7UUFFRixNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDbEIsTUFBTSxZQUFZLEdBQ2hCLENBQUMsWUFBWSxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRWpELElBQUksSUFBSSxDQUFDLGtCQUFrQixJQUFJLFlBQVksRUFBRSxDQUFDO1lBQzVDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckMsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLGtCQUFrQixJQUFJLFlBQVksRUFBRSxDQUFDO1lBQzVDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckMsQ0FBQztRQUVELElBQUksWUFBWSxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDN0MsTUFBTSxnQkFBZ0IsR0FDcEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ2hFLE1BQU0sY0FBYyxHQUNsQixnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFFaEQsSUFBSSxjQUFjLEVBQUUsQ0FBQztnQkFDbkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM3QixDQUFDO1FBQ0gsQ0FBQztRQUVELElBQUksWUFBWSxJQUFJLFlBQVksRUFBRSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLENBQUM7SUFDSCxDQUFDO0lBRU8sY0FBYyxDQUFDLFFBQW1DO1FBQ3hELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUM7UUFDL0IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRU8sYUFBYTtRQUNuQixJQUFJLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRU8sWUFBWTtRQUNsQixNQUFNLGdCQUFnQixHQUFrQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBRXRELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFpQixFQUFFLEVBQUU7WUFDckQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUN6RSxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sZ0JBQWdCLENBQUM7SUFDMUIsQ0FBQztJQUVPLGNBQWM7UUFDcEIsTUFBTSxrQkFBa0IsR0FDdEIsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUVoQixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUNwQyxNQUFNLFFBQVEsR0FBRyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQ2xELENBQUMsSUFBa0MsRUFBRSxFQUFFO2dCQUNyQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBdUIsRUFBUSxFQUFFO29CQUMxRCxPQUFPLGtCQUFrQixDQUFDLElBQUksQ0FBQyxLQUFrQyxDQUFDLENBQUM7Z0JBQ3JFLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUNGLENBQUM7WUFFRixRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2pELENBQUM7UUFFRCxPQUFPLGtCQUFrQixDQUFDO0lBQzVCLENBQUM7SUFFTyxpQkFBaUI7UUFDdkIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVPLFdBQVcsQ0FBQyxPQUFvQztRQUN0RCxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE9BQU8sQ0FBQyxDQUFDO1FBQ1gsQ0FBQztRQUVELE1BQU0sb0JBQW9CLEdBQThCLE9BQU8sQ0FBQyxNQUFNLENBQ3BFLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQ3pFLENBQUM7UUFDRixNQUFNLG1CQUFtQixHQUE4QixPQUFPLENBQUMsTUFBTSxDQUNuRSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUNoQixJQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUMxRCxDQUFDO1FBRUYsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUNmLG1CQUFtQixDQUFDLFdBQVcsR0FBRyxvQkFBb0IsQ0FBQyxTQUFTLENBQ2pFLENBQUM7SUFDSixDQUFDO0lBRU8sYUFBYTtRQUNuQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUM3QixRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUN4QyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQ3RDLENBQUM7SUFDSixDQUFDOzhHQW5KVSxnQkFBZ0Isa0JBU2pCLFdBQVc7a0hBVFYsZ0JBQWdCLGNBRmYsTUFBTTs7MkZBRVAsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBVUksTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpbnRlcnZhbCwgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlLCBmaWx0ZXIsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFhockFjdGlvbiB9IGZyb20gJy4veGhyLWFjdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRXh0ZW5kZWRXaW5kb3cgfSBmcm9tICcuLi9leHRlbmRlZC13aW5kb3cuaW50ZXJmYWNlJztcbmltcG9ydCB7IHdpbmRvd1Rva2VuIH0gZnJvbSAnLi4vd2luZG93LnRva2VuJztcbmltcG9ydCB7IGRlZmF1bHRBcGlVcmwsIHNhbmRib3hBcGlVcmwgfSBmcm9tICcuLi9odHRwL3NlY3VyZS1hcGkvYXBpLXVybC5jb25zdCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBYaHJBY3Rpb25TZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBwYXVzZVRpbWUgPSAxMDAwO1xuICBwcml2YXRlIHJlYWRvbmx5IHVzZXJJbnB1dEV2ZW50TmFtZXM6IHN0cmluZ1tdID0gWydjbGljaycsICdjaGFuZ2UnXTtcbiAgcHJpdmF0ZSBpc1hockFjdGlvblN0YXJ0ZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBhcGlSZXF1ZXN0RW50cmllczogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZ1tdID0gW107XG4gIHByaXZhdGUgY2RuUmVxdWVzdEVudHJpZXM6IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmdbXSA9IFtdO1xuICBwcml2YXRlIHJlYWRvbmx5IGVudHJpZXNTdWJqZWN0ID0gbmV3IFN1YmplY3Q8UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZz4oKTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgQEluamVjdCh3aW5kb3dUb2tlbilcbiAgICBwcml2YXRlIHJlYWRvbmx5IHdpbmRvdzogRXh0ZW5kZWRXaW5kb3dcbiAgKSB7fVxuXG4gIHB1YmxpYyBnZXRYaHJBY3Rpb24oKTogT2JzZXJ2YWJsZTxYaHJBY3Rpb24+IHtcbiAgICBpZiAoIXRoaXMud2luZG93LnBlcmZvcm1hbmNlIHx8ICF0aGlzLndpbmRvdy5QZXJmb3JtYW5jZU9ic2VydmVyKSB7XG4gICAgICByZXR1cm4gb2YoKTtcbiAgICB9XG5cbiAgICB0aGlzLmdldFVzZXJJbnB1dCgpLnN1YnNjcmliZSgoKSA9PlxuICAgICAgdGhpcy53aW5kb3cucGVyZm9ybWFuY2UubWFyaygndXNlcklucHV0JylcbiAgICApO1xuXG4gICAgdGhpcy5nZXRQZXJmb3JtYW5jZSgpLnN1YnNjcmliZSgoZW50cnk6IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcpID0+XG4gICAgICB0aGlzLnByb2Nlc3NFbnRyeShlbnRyeSlcbiAgICApO1xuXG4gICAgcmV0dXJuIHRoaXMuZ2V0UGF1c2VFdmVudCgpLnBpcGUoXG4gICAgICBtYXA8UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZywgWGhyQWN0aW9uPigoKSA9PiB7XG4gICAgICAgIGNvbnN0IGV2ZW50OiBYaHJBY3Rpb24gPSB7XG4gICAgICAgICAgbmFtZTogdGhpcy5nZXRBcGlSZXF1ZXN0TmFtZSgpLFxuICAgICAgICAgIGR1cmF0aW9uOiB0aGlzLmdldER1cmF0aW9uKFtcbiAgICAgICAgICAgIC4uLnRoaXMuYXBpUmVxdWVzdEVudHJpZXMsXG4gICAgICAgICAgICAuLi50aGlzLmNkblJlcXVlc3RFbnRyaWVzLFxuICAgICAgICAgIF0pLFxuICAgICAgICAgIGFwaVJlcXVlc3RDb3VudDogdGhpcy5hcGlSZXF1ZXN0RW50cmllcy5sZW5ndGgsXG4gICAgICAgICAgYXBpUmVxdWVzdER1cmF0aW9uOiB0aGlzLmdldER1cmF0aW9uKHRoaXMuYXBpUmVxdWVzdEVudHJpZXMpLFxuICAgICAgICAgIGNkblJlcXVlc3RDb3VudDogdGhpcy5jZG5SZXF1ZXN0RW50cmllcy5sZW5ndGgsXG4gICAgICAgICAgY2RuUmVxdWVzdER1cmF0aW9uOiB0aGlzLmdldER1cmF0aW9uKHRoaXMuY2RuUmVxdWVzdEVudHJpZXMpLFxuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMuc3RvcFhockFjdGlvbigpO1xuXG4gICAgICAgIHJldHVybiBldmVudDtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgcHJvY2Vzc0VudHJ5KGVudHJ5OiBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nKTogdm9pZCB7XG4gICAgY29uc3QgaXNBcGlSZXF1ZXN0OiBib29sZWFuID0gZW50cnkubmFtZS5pbmNsdWRlcyhcbiAgICAgIGRlZmF1bHRBcGlVcmwgfHwgc2FuZGJveEFwaVVybFxuICAgICk7XG5cbiAgICBjb25zdCBjZG5VcmwgPSAnJztcbiAgICBjb25zdCBpc0NkblJlcXVlc3Q6IGJvb2xlYW4gPVxuICAgICAgIWlzQXBpUmVxdWVzdCAmJiBlbnRyeS5uYW1lLnN0YXJ0c1dpdGgoY2RuVXJsKTtcblxuICAgIGlmICh0aGlzLmlzWGhyQWN0aW9uU3RhcnRlZCAmJiBpc0FwaVJlcXVlc3QpIHtcbiAgICAgIHRoaXMuYXBpUmVxdWVzdEVudHJpZXMucHVzaChlbnRyeSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaXNYaHJBY3Rpb25TdGFydGVkICYmIGlzQ2RuUmVxdWVzdCkge1xuICAgICAgdGhpcy5jZG5SZXF1ZXN0RW50cmllcy5wdXNoKGVudHJ5KTtcbiAgICB9XG5cbiAgICBpZiAoaXNBcGlSZXF1ZXN0ICYmICF0aGlzLmlzWGhyQWN0aW9uU3RhcnRlZCkge1xuICAgICAgY29uc3QgdXNlcklucHV0RW50cmllczogUGVyZm9ybWFuY2VFbnRyeVtdID1cbiAgICAgICAgdGhpcy53aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgndXNlcklucHV0JywgJ21hcmsnKTtcbiAgICAgIGNvbnN0IHVzZXJJbnB1dEVudHJ5OiBQZXJmb3JtYW5jZUVudHJ5ID1cbiAgICAgICAgdXNlcklucHV0RW50cmllc1t1c2VySW5wdXRFbnRyaWVzLmxlbmd0aCAtIDFdO1xuXG4gICAgICBpZiAodXNlcklucHV0RW50cnkpIHtcbiAgICAgICAgdGhpcy5zdGFydFhockFjdGlvbihlbnRyeSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGlzQXBpUmVxdWVzdCB8fCBpc0NkblJlcXVlc3QpIHtcbiAgICAgIHRoaXMuZW50cmllc1N1YmplY3QubmV4dChlbnRyeSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzdGFydFhockFjdGlvbih4aHJFbnRyeTogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyk6IHZvaWQge1xuICAgIHRoaXMuaXNYaHJBY3Rpb25TdGFydGVkID0gdHJ1ZTtcbiAgICB0aGlzLmFwaVJlcXVlc3RFbnRyaWVzLnB1c2goeGhyRW50cnkpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdG9wWGhyQWN0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuaXNYaHJBY3Rpb25TdGFydGVkID0gZmFsc2U7XG4gICAgdGhpcy5hcGlSZXF1ZXN0RW50cmllcyA9IFtdO1xuICAgIHRoaXMuY2RuUmVxdWVzdEVudHJpZXMgPSBbXTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VXNlcklucHV0KCk6IFN1YmplY3Q8dm9pZD4ge1xuICAgIGNvbnN0IHVzZXJJbnB1dFN1YmplY3Q6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xuXG4gICAgdGhpcy51c2VySW5wdXRFdmVudE5hbWVzLmZvckVhY2goKGV2ZW50TmFtZTogc3RyaW5nKSA9PiB7XG4gICAgICB0aGlzLndpbmRvdy5hZGRFdmVudExpc3RlbmVyKGV2ZW50TmFtZSwgKCkgPT4gdXNlcklucHV0U3ViamVjdC5uZXh0KCkpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHVzZXJJbnB1dFN1YmplY3Q7XG4gIH1cblxuICBwcml2YXRlIGdldFBlcmZvcm1hbmNlKCk6IFN1YmplY3Q8UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZz4ge1xuICAgIGNvbnN0IHBlcmZvcm1hbmNlU3ViamVjdDogU3ViamVjdDxQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nPiA9XG4gICAgICBuZXcgU3ViamVjdCgpO1xuXG4gICAgaWYgKHRoaXMud2luZG93LlBlcmZvcm1hbmNlT2JzZXJ2ZXIpIHtcbiAgICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IHRoaXMud2luZG93LlBlcmZvcm1hbmNlT2JzZXJ2ZXIoXG4gICAgICAgIChsaXN0OiBQZXJmb3JtYW5jZU9ic2VydmVyRW50cnlMaXN0KSA9PiB7XG4gICAgICAgICAgbGlzdC5nZXRFbnRyaWVzKCkuZm9yRWFjaCgoZW50cnk6IFBlcmZvcm1hbmNlRW50cnkpOiB2b2lkID0+IHtcbiAgICAgICAgICAgIHJldHVybiBwZXJmb3JtYW5jZVN1YmplY3QubmV4dChlbnRyeSBhcyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgKTtcblxuICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh7IGVudHJ5VHlwZXM6IFsncmVzb3VyY2UnXSB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gcGVyZm9ybWFuY2VTdWJqZWN0O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRBcGlSZXF1ZXN0TmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmFwaVJlcXVlc3RFbnRyaWVzWzBdLm5hbWUuc3BsaXQoZGVmYXVsdEFwaVVybClbMV0uc3BsaXQoJz8nKVswXTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RHVyYXRpb24oZW50cmllczogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZ1tdKTogbnVtYmVyIHtcbiAgICBpZiAoIWVudHJpZXMubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG5cbiAgICBjb25zdCBmaXJzdEFwaVJlcXVlc3RFbnRyeTogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyA9IGVudHJpZXMucmVkdWNlKFxuICAgICAgKHByZXYsIGN1cnJlbnQpID0+IChwcmV2LnN0YXJ0VGltZSA8IGN1cnJlbnQuc3RhcnRUaW1lID8gcHJldiA6IGN1cnJlbnQpXG4gICAgKTtcbiAgICBjb25zdCBsYXN0QXBpUmVxdWVzdEVudHJ5OiBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nID0gZW50cmllcy5yZWR1Y2UoXG4gICAgICAocHJldiwgY3VycmVudCkgPT5cbiAgICAgICAgcHJldi5yZXNwb25zZUVuZCA+IGN1cnJlbnQucmVzcG9uc2VFbmQgPyBwcmV2IDogY3VycmVudFxuICAgICk7XG5cbiAgICByZXR1cm4gTWF0aC5yb3VuZChcbiAgICAgIGxhc3RBcGlSZXF1ZXN0RW50cnkucmVzcG9uc2VFbmQgLSBmaXJzdEFwaVJlcXVlc3RFbnRyeS5zdGFydFRpbWVcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQYXVzZUV2ZW50KCk6IE9ic2VydmFibGU8UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZz4ge1xuICAgIHJldHVybiB0aGlzLmVudHJpZXNTdWJqZWN0LnBpcGUoXG4gICAgICBkZWJvdW5jZSgoKSA9PiBpbnRlcnZhbCh0aGlzLnBhdXNlVGltZSkpLFxuICAgICAgZmlsdGVyKCgpID0+IHRoaXMuaXNYaHJBY3Rpb25TdGFydGVkKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,54 @@
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
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: SavedMethodsService, deps: [{ token: savedMethodsResponseFactoryToken }, { token: i1.SettingsService }, { token: i2.SecureApiClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
43
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: SavedMethodsService, providedIn: 'root' }); }
44
+ }
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: SavedMethodsService, decorators: [{
46
+ type: Injectable,
47
+ args: [{
48
+ providedIn: 'root',
49
+ }]
50
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
51
+ type: Inject,
52
+ args: [savedMethodsResponseFactoryToken]
53
+ }] }, { type: i1.SettingsService }, { type: i2.SecureApiClient }] });
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2ZWQtbWV0aG9kcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvc2F2ZWQtbWV0aG9kcy9zYXZlZC1tZXRob2RzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUtuRixPQUFPLEVBRUwsZ0NBQWdDLEdBQ2pDLE1BQU0sZ0NBQWdDLENBQUM7Ozs7QUFPeEMsTUFBTSxPQUFPLG1CQUFtQjtJQUs5QixZQUVtQixlQUE0QyxFQUM1QyxlQUFnQyxFQUNoQyxTQUEwQjtRQUYxQixvQkFBZSxHQUFmLGVBQWUsQ0FBNkI7UUFDNUMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLGNBQVMsR0FBVCxTQUFTLENBQWlCO1FBUjVCLGFBQVEsR0FBRyxjQUFjLENBQUM7UUFFMUIsVUFBSyxHQUFHLElBQUksR0FBRyxFQUF5QyxDQUFDO0lBT3ZFLENBQUM7SUFFRyxLQUFLLENBQUMsT0FBTyxDQUFDLGNBQWMsR0FBRyxLQUFLO1FBQ3pDLElBQUksY0FBYyxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNyQixDQUFDO1FBRUQsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDdEMsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDO0lBQ3ZCLENBQUM7SUFFTyxLQUFLLENBQUMsT0FBTztRQUNuQixNQUFNLGFBQWEsR0FBOEI7WUFDL0MsWUFBWSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSztTQUN6QyxDQUFDO1FBQ0YsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUUvQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FDWixRQUFRLEVBQ1IsYUFBYSxDQUNYLElBQUksQ0FBQyxTQUFTO2lCQUNYLElBQUksQ0FDSCxJQUFJLENBQUMsUUFBUSxFQUNiLElBQUksZUFBZSxDQUFDLEVBQUUsR0FBRyxhQUFhLEVBQUUsQ0FBQyxFQUN6QztnQkFDRSxPQUFPLEVBQUUsSUFBSSxXQUFXLEVBQUUsQ0FBQyxHQUFHLENBQzVCLGNBQWMsRUFDZCxrREFBa0QsQ0FDbkQ7Z0JBQ0QsWUFBWSxFQUFFLE1BQU07YUFDckIsQ0FDRjtpQkFDQSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FDM0QsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFZLEVBQUUsRUFBRTtnQkFDdkIsTUFBTSxJQUFJLGFBQWEsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDekMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUNKLENBQUM7UUFFRCwwREFBMEQ7UUFDMUQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNsQyxDQUFDOzhHQXBEVSxtQkFBbUIsa0JBTXBCLGdDQUFnQztrSEFOL0IsbUJBQW1CLGNBRmxCLE1BQU07OzJGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQU9JLE1BQU07MkJBQUMsZ0NBQWdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGxhc3RWYWx1ZUZyb20sIG1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUmVzcG9uc2VFcnJvciB9IGZyb20gJy4uL2V4Y2VwdGlvbnMtaGFuZGxpbmcvZXJyb3JzL3Jlc3BvbnNlLWVycm9yLmNsYXNzJztcbmltcG9ydCB7IFNlY3VyZUFwaUNsaWVudCB9IGZyb20gJy4uL2h0dHAvc2VjdXJlLWFwaS9zZWN1cmUtYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSAnLi4vc2V0dGluZ3Mvc2V0dGluZ3Muc2VydmljZSc7XG5pbXBvcnQgeyBTYXZlZE1ldGhvZHNSZXF1ZXN0UGFyYW1zIH0gZnJvbSAnLi9zYXZlZC1tZXRob2RzLXJlcXVlc3QtcGFyYW1zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTYXZlZE1ldGhvZHNSZXNwb25zZUFwaSB9IGZyb20gJy4vc2F2ZWQtbWV0aG9kcy1yZXNwb25zZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHtcbiAgU2F2ZWRNZXRob2RzUmVzcG9uc2VGYWN0b3J5LFxuICBzYXZlZE1ldGhvZHNSZXNwb25zZUZhY3RvcnlUb2tlbixcbn0gZnJvbSAnLi9zYXZlZC1tZXRob2RzLXJlc3BvbnNlLnRva2VuJztcbmltcG9ydCB7IFNhdmVkTWV0aG9kc1Jlc3BvbnNlIH0gZnJvbSAnLi9zYXZlZC1tZXRob2RzLXJlc3BvbnNlLmNsYXNzJztcbmltcG9ydCB7IFNhdmVkTWV0aG9kIH0gZnJvbSAnLi9zYXZlZC1tZXRob2QuaW50ZXJmYWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFNhdmVkTWV0aG9kc1NlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IGFwaVJvdXRlID0gJ3NhdmVkbWV0aG9kcyc7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBjYWNoZSA9IG5ldyBNYXA8c3RyaW5nLCBQcm9taXNlPFNhdmVkTWV0aG9kc1Jlc3BvbnNlPj4oKTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChzYXZlZE1ldGhvZHNSZXNwb25zZUZhY3RvcnlUb2tlbilcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlc3BvbnNlRmFjdG9yeTogU2F2ZWRNZXRob2RzUmVzcG9uc2VGYWN0b3J5LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2V0dGluZ3NTZXJ2aWNlOiBTZXR0aW5nc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzZWN1cmVBcGk6IFNlY3VyZUFwaUNsaWVudFxuICApIHt9XG5cbiAgcHVibGljIGFzeW5jIGdldExpc3QobmVlZFJlc2V0Q2FjaGUgPSBmYWxzZSk6IFByb21pc2U8U2F2ZWRNZXRob2RbXT4ge1xuICAgIGlmIChuZWVkUmVzZXRDYWNoZSkge1xuICAgICAgdGhpcy5jYWNoZS5jbGVhcigpO1xuICAgIH1cblxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5yZXF1ZXN0KCk7XG4gICAgcmV0dXJuIHJlc3BvbnNlLmxpc3Q7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHJlcXVlc3QoKTogUHJvbWlzZTxTYXZlZE1ldGhvZHNSZXNwb25zZT4ge1xuICAgIGNvbnN0IHJlcXVlc3RQYXJhbXM6IFNhdmVkTWV0aG9kc1JlcXVlc3RQYXJhbXMgPSB7XG4gICAgICBhY2Nlc3NfdG9rZW46IHRoaXMuc2V0dGluZ3NTZXJ2aWNlLnRva2VuLFxuICAgIH07XG4gICAgY29uc3QgY2FjaGVLZXkgPSBKU09OLnN0cmluZ2lmeShyZXF1ZXN0UGFyYW1zKTtcblxuICAgIGlmICghdGhpcy5jYWNoZS5oYXMoY2FjaGVLZXkpKSB7XG4gICAgICB0aGlzLmNhY2hlLnNldChcbiAgICAgICAgY2FjaGVLZXksXG4gICAgICAgIGxhc3RWYWx1ZUZyb20oXG4gICAgICAgICAgdGhpcy5zZWN1cmVBcGlcbiAgICAgICAgICAgIC5wb3N0PFNhdmVkTWV0aG9kc1Jlc3BvbnNlQXBpPihcbiAgICAgICAgICAgICAgdGhpcy5hcGlSb3V0ZSxcbiAgICAgICAgICAgICAgbmV3IFVSTFNlYXJjaFBhcmFtcyh7IC4uLnJlcXVlc3RQYXJhbXMgfSksXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoXG4gICAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyxcbiAgICAgICAgICAgICAgICAgICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7IGNoYXJzZXQ9dXRmLTgnXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICByZXNwb25zZVR5cGU6ICdqc29uJyxcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnBpcGUobWFwKChyZXNwb25zZSkgPT4gdGhpcy5yZXNwb25zZUZhY3RvcnkocmVzcG9uc2UpKSlcbiAgICAgICAgKS5jYXRjaCgoZXJyb3I6IEVycm9yKSA9PiB7XG4gICAgICAgICAgdGhyb3cgbmV3IFJlc3BvbnNlRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH1cblxuICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgdGhlIG1hcCBhbHJlYWR5IGhhcyB0aGUgY2FjaGUgd2l0aCBrZXlcbiAgICByZXR1cm4gdGhpcy5jYWNoZS5nZXQoY2FjaGVLZXkpO1xuICB9XG59XG4iXX0=