@esolve/ng-esolve-connect 0.6.1 → 0.7.3

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 (175) hide show
  1. package/{esm2015/esolve-ng-esolve-connect.js → esm2020/esolve-ng-esolve-connect.mjs} +0 -0
  2. package/esm2020/lib/account/esolve-account.service.mjs +161 -0
  3. package/esm2020/lib/account/esolve-address-record.mjs +2 -0
  4. package/esm2020/lib/account/esolve-address-response.mjs +2 -0
  5. package/esm2020/lib/account/esolve-address-result.mjs +11 -0
  6. package/esm2020/lib/account/esolve-address-set-data.mjs +2 -0
  7. package/esm2020/lib/account/esolve-address.mjs +19 -0
  8. package/esm2020/lib/account/esolve-geocode-result.mjs +2 -0
  9. package/esm2020/lib/account/esolve-registration-data.mjs +2 -0
  10. package/esm2020/lib/account/esolve-registration-post-response-item.mjs +2 -0
  11. package/esm2020/lib/account/esolve-registration-result.mjs +11 -0
  12. package/esm2020/lib/account/esolve-user-account-data.mjs +2 -0
  13. package/esm2020/lib/account/esolve-user-account-record.mjs +2 -0
  14. package/esm2020/lib/account/esolve-user-account-result.mjs +9 -0
  15. package/esm2020/lib/account/esolve-user-account.mjs +29 -0
  16. package/{esm2015/lib/auth/esolve-auth-interceptor.service.js → esm2020/lib/auth/esolve-auth-interceptor.service.mjs} +7 -7
  17. package/esm2020/lib/auth/esolve-auth.service.mjs +163 -0
  18. package/{esm2015/lib/banners/esolve-banner-image-hotspot-record.js → esm2020/lib/banners/esolve-banner-image-hotspot-record.mjs} +0 -0
  19. package/{esm2015/lib/banners/esolve-banner-image-hotspot.js → esm2020/lib/banners/esolve-banner-image-hotspot.mjs} +0 -0
  20. package/{esm2015/lib/banners/esolve-banner-image-record.js → esm2020/lib/banners/esolve-banner-image-record.mjs} +0 -0
  21. package/{esm2015/lib/banners/esolve-banner-image.js → esm2020/lib/banners/esolve-banner-image.mjs} +0 -0
  22. package/{esm2015/lib/banners/esolve-banner-record.js → esm2020/lib/banners/esolve-banner-record.mjs} +0 -0
  23. package/{esm2015/lib/banners/esolve-banner-type.js → esm2020/lib/banners/esolve-banner-type.mjs} +0 -0
  24. package/{esm2015/lib/banners/esolve-banner.js → esm2020/lib/banners/esolve-banner.mjs} +0 -0
  25. package/{esm2015/lib/banners/esolve-banner.service.js → esm2020/lib/banners/esolve-banner.service.mjs} +3 -3
  26. package/{esm2015/lib/cart/esolve-cart-item-record.js → esm2020/lib/cart/esolve-cart-item-record.mjs} +0 -0
  27. package/{esm2015/lib/cart/esolve-cart-item-response.js → esm2020/lib/cart/esolve-cart-item-response.mjs} +0 -0
  28. package/{esm2015/lib/cart/esolve-cart-item.js → esm2020/lib/cart/esolve-cart-item.mjs} +0 -0
  29. package/{esm2015/lib/cart/esolve-cart-stock-item.js → esm2020/lib/cart/esolve-cart-stock-item.mjs} +0 -0
  30. package/{esm2015/lib/cart/esolve-cart-totals-record.js → esm2020/lib/cart/esolve-cart-totals-record.mjs} +0 -0
  31. package/{esm2015/lib/cart/esolve-cart-totals.js → esm2020/lib/cart/esolve-cart-totals.mjs} +0 -0
  32. package/esm2020/lib/cart/esolve-cart.service.mjs +172 -0
  33. package/esm2020/lib/cart/esolve-checkout-result.mjs +9 -0
  34. package/{esm2015/lib/cart/esolve-checkout.js → esm2020/lib/cart/esolve-checkout.mjs} +0 -0
  35. package/{esm2015/lib/category-tree/esolve-category-tree-item-record.js → esm2020/lib/category-tree/esolve-category-tree-item-record.mjs} +0 -0
  36. package/{esm2015/lib/category-tree/esolve-category-tree-item.js → esm2020/lib/category-tree/esolve-category-tree-item.mjs} +0 -0
  37. package/{esm2015/lib/category-tree/esolve-category-tree.service.js → esm2020/lib/category-tree/esolve-category-tree.service.mjs} +3 -3
  38. package/{esm2015/lib/esolve-connect.config.js → esm2020/lib/esolve-connect.config.mjs} +0 -0
  39. package/esm2020/lib/locations/esolve-locations.service.mjs +53 -0
  40. package/esm2020/lib/locations/esolve-stock-location-record.mjs +2 -0
  41. package/esm2020/lib/locations/esolve-stock-location.mjs +76 -0
  42. package/{esm2015/lib/media/esolve-media-article.js → esm2020/lib/media/esolve-media-article.mjs} +0 -0
  43. package/{esm2015/lib/media/esolve-media-record.js → esm2020/lib/media/esolve-media-record.mjs} +0 -0
  44. package/{esm2015/lib/media/esolve-media.service.js → esm2020/lib/media/esolve-media.service.mjs} +3 -3
  45. package/{esm2015/lib/menu/esolve-menu-item.js → esm2020/lib/menu/esolve-menu-item.mjs} +0 -0
  46. package/{esm2015/lib/menu/esolve-menu-tree-record.js → esm2020/lib/menu/esolve-menu-tree-record.mjs} +0 -0
  47. package/{esm2015/lib/menu/esolve-menu.service.js → esm2020/lib/menu/esolve-menu.service.mjs} +3 -3
  48. package/{esm2015/lib/news/esolve-news-article-author-record.js → esm2020/lib/news/esolve-news-article-author-record.mjs} +0 -0
  49. package/{esm2015/lib/news/esolve-news-article-author.js → esm2020/lib/news/esolve-news-article-author.mjs} +0 -0
  50. package/{esm2015/lib/news/esolve-news-article-list.js → esm2020/lib/news/esolve-news-article-list.mjs} +0 -0
  51. package/{esm2015/lib/news/esolve-news-article-record.js → esm2020/lib/news/esolve-news-article-record.mjs} +0 -0
  52. package/{esm2015/lib/news/esolve-news-article.js → esm2020/lib/news/esolve-news-article.mjs} +0 -0
  53. package/{esm2015/lib/news/esolve-news-group-record.js → esm2020/lib/news/esolve-news-group-record.mjs} +0 -0
  54. package/{esm2015/lib/news/esolve-news-group.js → esm2020/lib/news/esolve-news-group.mjs} +0 -0
  55. package/{esm2015/lib/news/esolve-news-manufacturer-record.js → esm2020/lib/news/esolve-news-manufacturer-record.mjs} +0 -0
  56. package/{esm2015/lib/news/esolve-news-range-record.js → esm2020/lib/news/esolve-news-range-record.mjs} +0 -0
  57. package/{esm2015/lib/news/esolve-news.service.js → esm2020/lib/news/esolve-news.service.mjs} +3 -3
  58. package/esm2020/lib/ng-esolve-connect.module.mjs +45 -0
  59. package/esm2020/lib/payment/esolve-card-data.mjs +2 -0
  60. package/esm2020/lib/payment/esolve-payment-method-options.mjs +2 -0
  61. package/esm2020/lib/payment/esolve-payment-method-record.mjs +2 -0
  62. package/esm2020/lib/payment/esolve-payment-method.mjs +49 -0
  63. package/esm2020/lib/payment/esolve-payment-response.mjs +2 -0
  64. package/esm2020/lib/payment/esolve-payment-result.mjs +22 -0
  65. package/esm2020/lib/payment/esolve-payment.service.mjs +178 -0
  66. package/esm2020/lib/payment/esolve-vault-item-result.mjs +20 -0
  67. package/esm2020/lib/payment/esolve-vault-item.mjs +19 -0
  68. package/esm2020/lib/payment/esolve-vault-record.mjs +2 -0
  69. package/esm2020/lib/payment/esolve-vault-response.mjs +2 -0
  70. package/esm2020/lib/session/esolve-session.mjs +27 -0
  71. package/esm2020/lib/session/esolve-session.service.mjs +79 -0
  72. package/esm2020/lib/session/esolve-stored-session.mjs +2 -0
  73. package/esm2020/lib/shared/error-handler/esolve-error-handler.service.mjs +58 -0
  74. package/{esm2015/lib/shared/error-handler/esolve-http-error.js → esm2020/lib/shared/error-handler/esolve-http-error.mjs} +0 -0
  75. package/{esm2015/lib/shared/esolve-response.js → esm2020/lib/shared/esolve-response.mjs} +1 -1
  76. package/{esm2015/lib/shared/esolve-url-target.js → esm2020/lib/shared/esolve-url-target.mjs} +0 -0
  77. package/esm2020/lib/shared/response-handler/esolve-response-handler.service.mjs +32 -0
  78. package/esm2020/lib/shared/response-handler/esolve-response-result.mjs +9 -0
  79. package/{esm2015/lib/shared/seo/esolve-seo-info.js → esm2020/lib/shared/seo/esolve-seo-info.mjs} +0 -0
  80. package/{esm2015/lib/shared/seo/esolve-seo.service.js → esm2020/lib/shared/seo/esolve-seo.service.mjs} +3 -3
  81. package/esm2020/lib/shipping/esolve-shipping-cost-record.mjs +2 -0
  82. package/esm2020/lib/shipping/esolve-shipping-cost.mjs +18 -0
  83. package/esm2020/lib/shipping/esolve-shipping-method-options.mjs +2 -0
  84. package/esm2020/lib/shipping/esolve-shipping-method-record.mjs +2 -0
  85. package/esm2020/lib/shipping/esolve-shipping-method.mjs +33 -0
  86. package/esm2020/lib/shipping/esolve-shipping.service.mjs +108 -0
  87. package/{esm2015/lib/stock/esolve-stock-badge-record.js → esm2020/lib/stock/esolve-stock-badge-record.mjs} +0 -0
  88. package/{esm2015/lib/stock/esolve-stock-badge.js → esm2020/lib/stock/esolve-stock-badge.mjs} +0 -0
  89. package/{esm2015/lib/stock/esolve-stock-item-list.js → esm2020/lib/stock/esolve-stock-item-list.mjs} +0 -0
  90. package/{esm2015/lib/stock/esolve-stock-item-options.js → esm2020/lib/stock/esolve-stock-item-options.mjs} +0 -0
  91. package/{esm2015/lib/stock/esolve-stock-item.js → esm2020/lib/stock/esolve-stock-item.mjs} +0 -0
  92. package/{esm2015/lib/stock/esolve-stock-price.js → esm2020/lib/stock/esolve-stock-price.mjs} +0 -0
  93. package/{esm2015/lib/stock/esolve-stock-record.js → esm2020/lib/stock/esolve-stock-record.mjs} +0 -0
  94. package/{esm2015/lib/stock/esolve-stock.service.js → esm2020/lib/stock/esolve-stock.service.mjs} +5 -6
  95. package/{esm2015/lib/tags/esolve-tag-record.js → esm2020/lib/tags/esolve-tag-record.mjs} +0 -0
  96. package/{esm2015/lib/tags/esolve-tag.js → esm2020/lib/tags/esolve-tag.mjs} +0 -0
  97. package/{esm2015/lib/topics/esolve-topic-record.js → esm2020/lib/topics/esolve-topic-record.mjs} +0 -0
  98. package/{esm2015/lib/topics/esolve-topic.js → esm2020/lib/topics/esolve-topic.mjs} +0 -0
  99. package/{esm2015/lib/topics/esolve-topic.service.js → esm2020/lib/topics/esolve-topic.service.mjs} +3 -3
  100. package/esm2020/public-api.mjs +78 -0
  101. package/fesm2015/esolve-ng-esolve-connect.mjs +2651 -0
  102. package/fesm2015/esolve-ng-esolve-connect.mjs.map +1 -0
  103. package/{fesm2015/esolve-ng-esolve-connect.js → fesm2020/esolve-ng-esolve-connect.mjs} +838 -461
  104. package/fesm2020/esolve-ng-esolve-connect.mjs.map +1 -0
  105. package/lib/account/esolve-account.service.d.ts +35 -0
  106. package/lib/{auth → account}/esolve-address-record.d.ts +0 -0
  107. package/lib/account/esolve-address-response.d.ts +8 -0
  108. package/lib/account/esolve-address-result.d.ts +10 -0
  109. package/lib/account/esolve-address-set-data.d.ts +17 -0
  110. package/lib/{auth → account}/esolve-address.d.ts +0 -0
  111. package/lib/account/esolve-geocode-result.d.ts +16 -0
  112. package/lib/{auth → account}/esolve-registration-data.d.ts +0 -0
  113. package/lib/account/esolve-registration-post-response-item.d.ts +7 -0
  114. package/lib/account/esolve-registration-result.d.ts +9 -0
  115. package/lib/account/esolve-user-account-data.d.ts +17 -0
  116. package/lib/account/esolve-user-account-record.d.ts +21 -0
  117. package/lib/account/esolve-user-account-result.d.ts +6 -0
  118. package/lib/account/esolve-user-account.d.ts +29 -0
  119. package/lib/auth/esolve-auth-interceptor.service.d.ts +1 -1
  120. package/lib/auth/esolve-auth.service.d.ts +5 -3
  121. package/lib/cart/esolve-cart.service.d.ts +6 -55
  122. package/lib/cart/esolve-checkout-result.d.ts +6 -0
  123. package/lib/locations/esolve-locations.service.d.ts +23 -0
  124. package/lib/{cart → locations}/esolve-stock-location-record.d.ts +0 -0
  125. package/lib/{cart → locations}/esolve-stock-location.d.ts +0 -0
  126. package/lib/payment/esolve-card-data.d.ts +7 -0
  127. package/lib/payment/esolve-payment-method-options.d.ts +5 -0
  128. package/lib/{cart → payment}/esolve-payment-method-record.d.ts +0 -5
  129. package/lib/{cart → payment}/esolve-payment-method.d.ts +2 -2
  130. package/lib/payment/esolve-payment-response.d.ts +13 -0
  131. package/lib/payment/esolve-payment-result.d.ts +10 -0
  132. package/lib/payment/esolve-payment.service.d.ts +61 -0
  133. package/lib/payment/esolve-vault-item-result.d.ts +10 -0
  134. package/lib/payment/esolve-vault-item.d.ts +10 -0
  135. package/lib/payment/esolve-vault-record.d.ts +11 -0
  136. package/lib/payment/esolve-vault-response.d.ts +9 -0
  137. package/lib/{auth → session}/esolve-session.d.ts +0 -0
  138. package/lib/{auth → session}/esolve-session.service.d.ts +0 -0
  139. package/lib/{auth → session}/esolve-stored-session.d.ts +0 -0
  140. package/lib/shared/error-handler/esolve-error-handler.service.d.ts +1 -1
  141. package/lib/shared/esolve-response.d.ts +5 -5
  142. package/lib/shared/response-handler/esolve-response-handler.service.d.ts +15 -0
  143. package/lib/shared/response-handler/esolve-response-result.d.ts +6 -0
  144. package/lib/{cart → shipping}/esolve-shipping-cost-record.d.ts +0 -5
  145. package/lib/{cart → shipping}/esolve-shipping-cost.d.ts +0 -0
  146. package/lib/shipping/esolve-shipping-method-options.d.ts +4 -0
  147. package/lib/{cart → shipping}/esolve-shipping-method-record.d.ts +0 -4
  148. package/lib/{cart → shipping}/esolve-shipping-method.d.ts +0 -0
  149. package/lib/shipping/esolve-shipping.service.d.ts +37 -0
  150. package/package.json +22 -8
  151. package/public-api.d.ts +24 -9
  152. package/bundles/esolve-ng-esolve-connect.umd.js +0 -3064
  153. package/bundles/esolve-ng-esolve-connect.umd.js.map +0 -1
  154. package/esm2015/lib/auth/esolve-account.service.js +0 -103
  155. package/esm2015/lib/auth/esolve-address-record.js +0 -2
  156. package/esm2015/lib/auth/esolve-address.js +0 -19
  157. package/esm2015/lib/auth/esolve-auth.service.js +0 -163
  158. package/esm2015/lib/auth/esolve-registration-data.js +0 -2
  159. package/esm2015/lib/auth/esolve-session.js +0 -27
  160. package/esm2015/lib/auth/esolve-session.service.js +0 -79
  161. package/esm2015/lib/auth/esolve-stored-session.js +0 -2
  162. package/esm2015/lib/cart/esolve-cart.service.js +0 -326
  163. package/esm2015/lib/cart/esolve-payment-method-record.js +0 -2
  164. package/esm2015/lib/cart/esolve-payment-method.js +0 -49
  165. package/esm2015/lib/cart/esolve-shipping-cost-record.js +0 -2
  166. package/esm2015/lib/cart/esolve-shipping-cost.js +0 -18
  167. package/esm2015/lib/cart/esolve-shipping-method-record.js +0 -2
  168. package/esm2015/lib/cart/esolve-shipping-method.js +0 -33
  169. package/esm2015/lib/cart/esolve-stock-location-record.js +0 -2
  170. package/esm2015/lib/cart/esolve-stock-location.js +0 -76
  171. package/esm2015/lib/ng-esolve-connect.module.js +0 -43
  172. package/esm2015/lib/shared/error-handler/esolve-error-handler.service.js +0 -58
  173. package/esm2015/public-api.js +0 -58
  174. package/fesm2015/esolve-ng-esolve-connect.js.map +0 -1
  175. package/lib/auth/esolve-account.service.d.ts +0 -23
@@ -0,0 +1,49 @@
1
+ export class EsolvePaymentMethod {
2
+ constructor(record) {
3
+ this.id = +record.id;
4
+ this.location_id = +record.location_id;
5
+ this.paymethod_name = record.paymethod_name;
6
+ this.description = record.description;
7
+ this.display_banking_details = record.display_banking_details;
8
+ this.currency_code = record.currency_code;
9
+ this.terminal_id = record.terminal_id;
10
+ this.terminal_id_secondary = record.terminal_id_secondary;
11
+ this.merchant_id = record.merchant_id;
12
+ this.application_id = record.application_id;
13
+ this.api_username = record.api_username;
14
+ this.api_password = record.api_password;
15
+ this.api_signature = record.api_signature;
16
+ this.is_gateway = record.is_gateway;
17
+ this.must_store_card_details = record.must_store_card_details;
18
+ this.allow_budget = record.allow_budget;
19
+ this.integration_type = record.integration_type;
20
+ this.bank_gateway_id = record.bank_gateway_id;
21
+ this.accepted_card_types = record.accepted_card_types;
22
+ this.post_transactions_to_gateway = record.post_transactions_to_gateway;
23
+ this.three_d_secure_url = record.three_d_secure_url;
24
+ this.gateway_url = record.gateway_url;
25
+ this.generate_token_url = record.generate_token_url;
26
+ this.widget_url = record.widget_url;
27
+ this.successful_url = record.successful_url;
28
+ this.failed_url = record.failed_url;
29
+ this.enable_callback = record.enable_callback;
30
+ this.live = record.live;
31
+ this.default_module_id = +record.default_module_id;
32
+ this.service_provider = record.service_provider;
33
+ this.on_account = record.on_account;
34
+ this.sort_priority = +record.sort_priority;
35
+ this.image_url = record.image_url;
36
+ this.banking_details = new EsolveBankingDetails(record.bank_name, record.account_holder, record.account, record.account_type, record.swift_number, record.branch_code);
37
+ }
38
+ }
39
+ export class EsolveBankingDetails {
40
+ constructor(bank_name, account_holder, account, account_type, swift_number, branch_code) {
41
+ this.bank_name = bank_name;
42
+ this.account_holder = account_holder;
43
+ this.account = account;
44
+ this.account_type = account_type;
45
+ this.swift_number = swift_number;
46
+ this.branch_code = branch_code;
47
+ }
48
+ }
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXBheW1lbnQtbWV0aG9kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9wYXltZW50L2Vzb2x2ZS1wYXltZW50LW1ldGhvZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sbUJBQW1CO0lBcUM1QixZQUFZLE1BQWlDO1FBQ3pDLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQztRQUM1QyxJQUFJLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUM7UUFDdEMsSUFBSSxDQUFDLHVCQUF1QixHQUFHLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQztRQUM5RCxJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUM7UUFDMUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUM7UUFDMUQsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQztRQUM1QyxJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUM7UUFDeEMsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQztRQUMxQyxJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUM7UUFDcEMsSUFBSSxDQUFDLHVCQUF1QixHQUFHLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQztRQUM5RCxJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUM7UUFDeEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztRQUNoRCxJQUFJLENBQUMsZUFBZSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUM7UUFDOUMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQztRQUN0RCxJQUFJLENBQUMsNEJBQTRCLEdBQUcsTUFBTSxDQUFDLDRCQUE0QixDQUFDO1FBQ3hFLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUM7UUFDcEQsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUM7UUFDcEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQztRQUM1QyxJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUM7UUFDcEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDO1FBQzlDLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztRQUN4QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUM7UUFDbkQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztRQUNoRCxJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUM7UUFDcEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUM7UUFDM0MsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDO1FBRWxDLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxvQkFBb0IsQ0FDM0MsTUFBTSxDQUFDLFNBQVMsRUFDaEIsTUFBTSxDQUFDLGNBQWMsRUFDckIsTUFBTSxDQUFDLE9BQU8sRUFDZCxNQUFNLENBQUMsWUFBWSxFQUNuQixNQUFNLENBQUMsWUFBWSxFQUNuQixNQUFNLENBQUMsV0FBVyxDQUNyQixDQUFDO0lBQ04sQ0FBQztDQUNKO0FBRUQsTUFBTSxPQUFPLG9CQUFvQjtJQUM3QixZQUNXLFNBQWlCLEVBQ2pCLGNBQXNCLEVBQ3RCLE9BQWUsRUFDZixZQUFvQixFQUNwQixZQUFvQixFQUNwQixXQUFtQjtRQUxuQixjQUFTLEdBQVQsU0FBUyxDQUFRO1FBQ2pCLG1CQUFjLEdBQWQsY0FBYyxDQUFRO1FBQ3RCLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDZixpQkFBWSxHQUFaLFlBQVksQ0FBUTtRQUNwQixpQkFBWSxHQUFaLFlBQVksQ0FBUTtRQUNwQixnQkFBVyxHQUFYLFdBQVcsQ0FBUTtJQUMxQixDQUFDO0NBQ1IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFc29sdmVJbnRlZ3JhdGlvblR5cGUsIEVzb2x2ZVBheW1lbnRNZXRob2RSZWNvcmQgfSBmcm9tICcuL2Vzb2x2ZS1wYXltZW50LW1ldGhvZC1yZWNvcmQnO1xyXG5cclxuZXhwb3J0IGNsYXNzIEVzb2x2ZVBheW1lbnRNZXRob2Qge1xyXG4gICAgcHVibGljIGlkOiBudW1iZXI7XHJcbiAgICBwdWJsaWMgbG9jYXRpb25faWQ6IG51bWJlcjtcclxuICAgIHB1YmxpYyBwYXltZXRob2RfbmFtZTogc3RyaW5nO1xyXG4gICAgcHVibGljIGRlc2NyaXB0aW9uOiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgZGlzcGxheV9iYW5raW5nX2RldGFpbHM6IGJvb2xlYW47XHJcbiAgICBwdWJsaWMgY3VycmVuY3lfY29kZTogc3RyaW5nO1xyXG4gICAgcHVibGljIHRlcm1pbmFsX2lkOiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgdGVybWluYWxfaWRfc2Vjb25kYXJ5OiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgbWVyY2hhbnRfaWQ6IHN0cmluZztcclxuICAgIHB1YmxpYyBhcHBsaWNhdGlvbl9pZDogc3RyaW5nO1xyXG4gICAgcHVibGljIGFwaV91c2VybmFtZTogc3RyaW5nO1xyXG4gICAgcHVibGljIGFwaV9wYXNzd29yZDogc3RyaW5nO1xyXG4gICAgcHVibGljIGFwaV9zaWduYXR1cmU6IHN0cmluZztcclxuICAgIHB1YmxpYyBpc19nYXRld2F5OiBib29sZWFuO1xyXG4gICAgcHVibGljIG11c3Rfc3RvcmVfY2FyZF9kZXRhaWxzOiBib29sZWFuO1xyXG4gICAgcHVibGljIGFsbG93X2J1ZGdldDogYm9vbGVhbjtcclxuICAgIHB1YmxpYyBpbnRlZ3JhdGlvbl90eXBlOiBFc29sdmVJbnRlZ3JhdGlvblR5cGU7XHJcbiAgICBwdWJsaWMgYmFua19nYXRld2F5X2lkOiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgYWNjZXB0ZWRfY2FyZF90eXBlczogc3RyaW5nW107XHJcbiAgICBwdWJsaWMgcG9zdF90cmFuc2FjdGlvbnNfdG9fZ2F0ZXdheTogYm9vbGVhbjtcclxuICAgIHB1YmxpYyB0aHJlZV9kX3NlY3VyZV91cmw6IHN0cmluZztcclxuICAgIHB1YmxpYyBnYXRld2F5X3VybDogc3RyaW5nO1xyXG4gICAgcHVibGljIGdlbmVyYXRlX3Rva2VuX3VybDogc3RyaW5nO1xyXG4gICAgcHVibGljIHdpZGdldF91cmw6IHN0cmluZztcclxuICAgIHB1YmxpYyBzdWNjZXNzZnVsX3VybDogc3RyaW5nO1xyXG4gICAgcHVibGljIGZhaWxlZF91cmw6IHN0cmluZztcclxuICAgIHB1YmxpYyBlbmFibGVfY2FsbGJhY2s6IGJvb2xlYW47XHJcbiAgICBwdWJsaWMgbGl2ZTogYm9vbGVhbjtcclxuICAgIHB1YmxpYyBkZWZhdWx0X21vZHVsZV9pZDogbnVtYmVyO1xyXG4gICAgcHVibGljIHNlcnZpY2VfcHJvdmlkZXI6IHN0cmluZztcclxuICAgIHB1YmxpYyBvbl9hY2NvdW50OiBib29sZWFuO1xyXG4gICAgcHVibGljIHNvcnRfcHJpb3JpdHk6IG51bWJlcjtcclxuICAgIHB1YmxpYyBpbWFnZV91cmw6IHN0cmluZztcclxuXHJcbiAgICBwdWJsaWMgYmFua2luZ19kZXRhaWxzOiBFc29sdmVCYW5raW5nRGV0YWlscztcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihyZWNvcmQ6IEVzb2x2ZVBheW1lbnRNZXRob2RSZWNvcmQpIHtcclxuICAgICAgICB0aGlzLmlkID0gK3JlY29yZC5pZDtcclxuICAgICAgICB0aGlzLmxvY2F0aW9uX2lkID0gK3JlY29yZC5sb2NhdGlvbl9pZDtcclxuICAgICAgICB0aGlzLnBheW1ldGhvZF9uYW1lID0gcmVjb3JkLnBheW1ldGhvZF9uYW1lO1xyXG4gICAgICAgIHRoaXMuZGVzY3JpcHRpb24gPSByZWNvcmQuZGVzY3JpcHRpb247XHJcbiAgICAgICAgdGhpcy5kaXNwbGF5X2JhbmtpbmdfZGV0YWlscyA9IHJlY29yZC5kaXNwbGF5X2JhbmtpbmdfZGV0YWlscztcclxuICAgICAgICB0aGlzLmN1cnJlbmN5X2NvZGUgPSByZWNvcmQuY3VycmVuY3lfY29kZTtcclxuICAgICAgICB0aGlzLnRlcm1pbmFsX2lkID0gcmVjb3JkLnRlcm1pbmFsX2lkO1xyXG4gICAgICAgIHRoaXMudGVybWluYWxfaWRfc2Vjb25kYXJ5ID0gcmVjb3JkLnRlcm1pbmFsX2lkX3NlY29uZGFyeTtcclxuICAgICAgICB0aGlzLm1lcmNoYW50X2lkID0gcmVjb3JkLm1lcmNoYW50X2lkO1xyXG4gICAgICAgIHRoaXMuYXBwbGljYXRpb25faWQgPSByZWNvcmQuYXBwbGljYXRpb25faWQ7XHJcbiAgICAgICAgdGhpcy5hcGlfdXNlcm5hbWUgPSByZWNvcmQuYXBpX3VzZXJuYW1lO1xyXG4gICAgICAgIHRoaXMuYXBpX3Bhc3N3b3JkID0gcmVjb3JkLmFwaV9wYXNzd29yZDtcclxuICAgICAgICB0aGlzLmFwaV9zaWduYXR1cmUgPSByZWNvcmQuYXBpX3NpZ25hdHVyZTtcclxuICAgICAgICB0aGlzLmlzX2dhdGV3YXkgPSByZWNvcmQuaXNfZ2F0ZXdheTtcclxuICAgICAgICB0aGlzLm11c3Rfc3RvcmVfY2FyZF9kZXRhaWxzID0gcmVjb3JkLm11c3Rfc3RvcmVfY2FyZF9kZXRhaWxzO1xyXG4gICAgICAgIHRoaXMuYWxsb3dfYnVkZ2V0ID0gcmVjb3JkLmFsbG93X2J1ZGdldDtcclxuICAgICAgICB0aGlzLmludGVncmF0aW9uX3R5cGUgPSByZWNvcmQuaW50ZWdyYXRpb25fdHlwZTtcclxuICAgICAgICB0aGlzLmJhbmtfZ2F0ZXdheV9pZCA9IHJlY29yZC5iYW5rX2dhdGV3YXlfaWQ7XHJcbiAgICAgICAgdGhpcy5hY2NlcHRlZF9jYXJkX3R5cGVzID0gcmVjb3JkLmFjY2VwdGVkX2NhcmRfdHlwZXM7XHJcbiAgICAgICAgdGhpcy5wb3N0X3RyYW5zYWN0aW9uc190b19nYXRld2F5ID0gcmVjb3JkLnBvc3RfdHJhbnNhY3Rpb25zX3RvX2dhdGV3YXk7XHJcbiAgICAgICAgdGhpcy50aHJlZV9kX3NlY3VyZV91cmwgPSByZWNvcmQudGhyZWVfZF9zZWN1cmVfdXJsO1xyXG4gICAgICAgIHRoaXMuZ2F0ZXdheV91cmwgPSByZWNvcmQuZ2F0ZXdheV91cmw7XHJcbiAgICAgICAgdGhpcy5nZW5lcmF0ZV90b2tlbl91cmwgPSByZWNvcmQuZ2VuZXJhdGVfdG9rZW5fdXJsO1xyXG4gICAgICAgIHRoaXMud2lkZ2V0X3VybCA9IHJlY29yZC53aWRnZXRfdXJsO1xyXG4gICAgICAgIHRoaXMuc3VjY2Vzc2Z1bF91cmwgPSByZWNvcmQuc3VjY2Vzc2Z1bF91cmw7XHJcbiAgICAgICAgdGhpcy5mYWlsZWRfdXJsID0gcmVjb3JkLmZhaWxlZF91cmw7XHJcbiAgICAgICAgdGhpcy5lbmFibGVfY2FsbGJhY2sgPSByZWNvcmQuZW5hYmxlX2NhbGxiYWNrO1xyXG4gICAgICAgIHRoaXMubGl2ZSA9IHJlY29yZC5saXZlO1xyXG4gICAgICAgIHRoaXMuZGVmYXVsdF9tb2R1bGVfaWQgPSArcmVjb3JkLmRlZmF1bHRfbW9kdWxlX2lkO1xyXG4gICAgICAgIHRoaXMuc2VydmljZV9wcm92aWRlciA9IHJlY29yZC5zZXJ2aWNlX3Byb3ZpZGVyO1xyXG4gICAgICAgIHRoaXMub25fYWNjb3VudCA9IHJlY29yZC5vbl9hY2NvdW50O1xyXG4gICAgICAgIHRoaXMuc29ydF9wcmlvcml0eSA9ICtyZWNvcmQuc29ydF9wcmlvcml0eTtcclxuICAgICAgICB0aGlzLmltYWdlX3VybCA9IHJlY29yZC5pbWFnZV91cmw7XHJcblxyXG4gICAgICAgIHRoaXMuYmFua2luZ19kZXRhaWxzID0gbmV3IEVzb2x2ZUJhbmtpbmdEZXRhaWxzKFxyXG4gICAgICAgICAgICByZWNvcmQuYmFua19uYW1lLFxyXG4gICAgICAgICAgICByZWNvcmQuYWNjb3VudF9ob2xkZXIsXHJcbiAgICAgICAgICAgIHJlY29yZC5hY2NvdW50LFxyXG4gICAgICAgICAgICByZWNvcmQuYWNjb3VudF90eXBlLFxyXG4gICAgICAgICAgICByZWNvcmQuc3dpZnRfbnVtYmVyLFxyXG4gICAgICAgICAgICByZWNvcmQuYnJhbmNoX2NvZGVcclxuICAgICAgICApO1xyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgRXNvbHZlQmFua2luZ0RldGFpbHMge1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHVibGljIGJhbmtfbmFtZTogc3RyaW5nLFxyXG4gICAgICAgIHB1YmxpYyBhY2NvdW50X2hvbGRlcjogc3RyaW5nLFxyXG4gICAgICAgIHB1YmxpYyBhY2NvdW50OiBzdHJpbmcsXHJcbiAgICAgICAgcHVibGljIGFjY291bnRfdHlwZTogc3RyaW5nLFxyXG4gICAgICAgIHB1YmxpYyBzd2lmdF9udW1iZXI6IHN0cmluZyxcclxuICAgICAgICBwdWJsaWMgYnJhbmNoX2NvZGU6IHN0cmluZ1xyXG4gICAgKSB7IH1cclxufVxyXG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXBheW1lbnQtcmVzcG9uc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL3BheW1lbnQvZXNvbHZlLXBheW1lbnQtcmVzcG9uc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVzb2x2ZVBvc3RSZXNwb25zZUl0ZW0gfSBmcm9tICcuLi9zaGFyZWQvZXNvbHZlLXJlc3BvbnNlJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRXNvbHZlUGF5bWVudFJlc3BvbnNlIGV4dGVuZHMgRXNvbHZlUG9zdFJlc3BvbnNlSXRlbSB7XHJcbiAgICBlc29sdmVfaWQ6IG51bWJlcjtcclxuICAgIGdhdGV3YXlfZXJyb3JfbWVzc2FnZT86IHN0cmluZztcclxuICAgIHRocmVlX2Rfc2VjdXJlPzogYm9vbGVhbjtcclxuICAgIHJlZGlyZWN0X3VybD86IHN0cmluZztcclxuICAgIGZvcm1faW5wdXRzPzogRXNvbHZlUGF5Z2F0ZUZvcm1JbnB1dFtdO1xyXG4gICAgZm9ybV9odG1sPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEVzb2x2ZVBheWdhdGVGb3JtSW5wdXQge1xyXG4gICAga2V5OiBzdHJpbmc7XHJcbiAgICB2YWx1ZTogc3RyaW5nO1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,22 @@
1
+ import { EsolveResponseResult } from '../shared/response-handler/esolve-response-result';
2
+ export class EsolvePaymentResult extends EsolveResponseResult {
3
+ constructor(response) {
4
+ super(response);
5
+ if (typeof response.gateway_error_message !== 'undefined') {
6
+ this.gateway_error_message = response.gateway_error_message;
7
+ }
8
+ if (typeof response.three_d_secure !== 'undefined') {
9
+ this.three_d_secure = response.three_d_secure;
10
+ }
11
+ if (typeof response.redirect_url !== 'undefined') {
12
+ this.redirect_url = response.redirect_url;
13
+ }
14
+ if (typeof response.form_inputs !== 'undefined') {
15
+ this.form_inputs = response.form_inputs;
16
+ }
17
+ if (typeof response.form_html !== 'undefined') {
18
+ this.form_html = response.form_html;
19
+ }
20
+ }
21
+ }
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXBheW1lbnQtcmVzdWx0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9wYXltZW50L2Vzb2x2ZS1wYXltZW50LXJlc3VsdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUd6RixNQUFNLE9BQU8sbUJBQW9CLFNBQVEsb0JBQW9CO0lBT3pELFlBQ0ksUUFBK0I7UUFFL0IsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRWhCLElBQUksT0FBTyxRQUFRLENBQUMscUJBQXFCLEtBQUssV0FBVyxFQUFFO1lBQ3ZELElBQUksQ0FBQyxxQkFBcUIsR0FBRyxRQUFRLENBQUMscUJBQXFCLENBQUM7U0FDL0Q7UUFFRCxJQUFJLE9BQU8sUUFBUSxDQUFDLGNBQWMsS0FBSyxXQUFXLEVBQUU7WUFDaEQsSUFBSSxDQUFDLGNBQWMsR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDO1NBQ2pEO1FBRUQsSUFBSSxPQUFPLFFBQVEsQ0FBQyxZQUFZLEtBQUssV0FBVyxFQUFFO1lBQzlDLElBQUksQ0FBQyxZQUFZLEdBQUcsUUFBUSxDQUFDLFlBQVksQ0FBQztTQUM3QztRQUVELElBQUksT0FBTyxRQUFRLENBQUMsV0FBVyxLQUFLLFdBQVcsRUFBRTtZQUM3QyxJQUFJLENBQUMsV0FBVyxHQUFHLFFBQVEsQ0FBQyxXQUFXLENBQUM7U0FDM0M7UUFFRCxJQUFJLE9BQU8sUUFBUSxDQUFDLFNBQVMsS0FBSyxXQUFXLEVBQUU7WUFDM0MsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDO1NBQ3ZDO0lBQ0wsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXNvbHZlUmVzcG9uc2VSZXN1bHQgfSBmcm9tICcuLi9zaGFyZWQvcmVzcG9uc2UtaGFuZGxlci9lc29sdmUtcmVzcG9uc2UtcmVzdWx0JztcclxuaW1wb3J0IHsgRXNvbHZlUGF5Z2F0ZUZvcm1JbnB1dCwgRXNvbHZlUGF5bWVudFJlc3BvbnNlIH0gZnJvbSAnLi9lc29sdmUtcGF5bWVudC1yZXNwb25zZSc7XHJcblxyXG5leHBvcnQgY2xhc3MgRXNvbHZlUGF5bWVudFJlc3VsdCBleHRlbmRzIEVzb2x2ZVJlc3BvbnNlUmVzdWx0IHtcclxuICAgIHB1YmxpYyBnYXRld2F5X2Vycm9yX21lc3NhZ2U/OiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgdGhyZWVfZF9zZWN1cmU/OiBib29sZWFuO1xyXG4gICAgcHVibGljIHJlZGlyZWN0X3VybD86IHN0cmluZztcclxuICAgIHB1YmxpYyBmb3JtX2lucHV0cz86IEVzb2x2ZVBheWdhdGVGb3JtSW5wdXRbXTtcclxuICAgIHB1YmxpYyBmb3JtX2h0bWw/OiBzdHJpbmc7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcmVzcG9uc2U6IEVzb2x2ZVBheW1lbnRSZXNwb25zZVxyXG4gICAgKSB7XHJcbiAgICAgICAgc3VwZXIocmVzcG9uc2UpO1xyXG5cclxuICAgICAgICBpZiAodHlwZW9mIHJlc3BvbnNlLmdhdGV3YXlfZXJyb3JfbWVzc2FnZSAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgICAgICAgdGhpcy5nYXRld2F5X2Vycm9yX21lc3NhZ2UgPSByZXNwb25zZS5nYXRld2F5X2Vycm9yX21lc3NhZ2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodHlwZW9mIHJlc3BvbnNlLnRocmVlX2Rfc2VjdXJlICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICAgICAgICB0aGlzLnRocmVlX2Rfc2VjdXJlID0gcmVzcG9uc2UudGhyZWVfZF9zZWN1cmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodHlwZW9mIHJlc3BvbnNlLnJlZGlyZWN0X3VybCAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgICAgICAgdGhpcy5yZWRpcmVjdF91cmwgPSByZXNwb25zZS5yZWRpcmVjdF91cmw7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodHlwZW9mIHJlc3BvbnNlLmZvcm1faW5wdXRzICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICAgICAgICB0aGlzLmZvcm1faW5wdXRzID0gcmVzcG9uc2UuZm9ybV9pbnB1dHM7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodHlwZW9mIHJlc3BvbnNlLmZvcm1faHRtbCAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgICAgICAgdGhpcy5mb3JtX2h0bWwgPSByZXNwb25zZS5mb3JtX2h0bWw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,178 @@
1
+ import { HttpParams } from '@angular/common/http';
2
+ import { Inject, Injectable } from '@angular/core';
3
+ import { catchError, map } from 'rxjs/operators';
4
+ import { ESOLVE_CONNECT_CONFIG } from '../esolve-connect.config';
5
+ import { EsolvePaymentMethod } from './esolve-payment-method';
6
+ import { EsolveVaultItem } from './esolve-vault-item';
7
+ import { EsolveVaultItemResult } from './esolve-vault-item-result';
8
+ import { EsolvePaymentResult } from './esolve-payment-result';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "@angular/common/http";
11
+ import * as i2 from "../shared/error-handler/esolve-error-handler.service";
12
+ import * as i3 from "../shared/response-handler/esolve-response-handler.service";
13
+ export class EsolvePaymentService {
14
+ constructor(config, http, errorHandler, responseHandler) {
15
+ this.config = config;
16
+ this.http = http;
17
+ this.errorHandler = errorHandler;
18
+ this.responseHandler = responseHandler;
19
+ }
20
+ /**
21
+ * Processes the eSolve payment method records.
22
+ * @param records Records to process
23
+ * @returns An array of processed payment methods.
24
+ */
25
+ processPaymentMethods(records) {
26
+ const payment_methods = [];
27
+ if (records) {
28
+ for (const record of records) {
29
+ const payment_method = new EsolvePaymentMethod(record);
30
+ payment_methods.push(payment_method);
31
+ }
32
+ }
33
+ return payment_methods;
34
+ }
35
+ /**
36
+ * Processes the eSolve vault records.
37
+ * @param records Records to process
38
+ * @returns An array of processed vault items (a.k.a. cards)
39
+ */
40
+ processVaultItems(records) {
41
+ const vault = [];
42
+ if (records) {
43
+ for (const record of records) {
44
+ const vault_item = new EsolveVaultItem(+record.id, record.last4, record.brand, record.expiry_timestamp);
45
+ vault.push(vault_item);
46
+ }
47
+ }
48
+ return vault;
49
+ }
50
+ generateExpiry(card_data) {
51
+ const month_string = card_data.expiry_month.padStart(2, '0');
52
+ const year_string = card_data.expiry_year.padStart(4, '0');
53
+ return `${month_string}${year_string}`;
54
+ }
55
+ /**
56
+ * Retrieves a list of payment methods.
57
+ * @param options Filter options
58
+ * @returns An `Observable` with an array of payment methods
59
+ */
60
+ getPaymentMethods(options) {
61
+ let params = new HttpParams();
62
+ params = params.set('ws_id', this.config.wsid);
63
+ if (options) {
64
+ if (typeof options.live !== 'undefined') {
65
+ params = params.set('live', options.live);
66
+ }
67
+ if (typeof options.location_id !== 'undefined') {
68
+ params = params.set('location_id', options.location_id);
69
+ }
70
+ if (typeof options.is_gateway !== 'undefined') {
71
+ params = params.set('is_gateway', options.is_gateway);
72
+ }
73
+ }
74
+ return this.http.get(`${this.config.api_url}/service/get-payment-methods.php`, { params }).pipe(map(response => {
75
+ if (response.records === undefined) {
76
+ throw response;
77
+ }
78
+ return this.processPaymentMethods(response.records);
79
+ }));
80
+ }
81
+ /**
82
+ * Retrieves a list of saved cards from the vault.
83
+ * @param payment_methods_id eSolve ID of a payment method
84
+ * @returns An `Observable` with an array of saved bank cards
85
+ */
86
+ getVault(payment_methods_id) {
87
+ let params = new HttpParams();
88
+ params = params.set('ws_id', this.config.wsid);
89
+ if (typeof payment_methods_id !== 'undefined') {
90
+ params = params.set('payment_methods_id', payment_methods_id);
91
+ }
92
+ return this.http.get(`${this.config.api_url}/service/get-vault.php`, { params }).pipe(map(response => {
93
+ if (response.records === undefined) {
94
+ throw response;
95
+ }
96
+ return this.processVaultItems(response.records);
97
+ }));
98
+ }
99
+ /**
100
+ * Sets a new card in the vault OR updates an existing one.
101
+ * @param payment_methods_id Selected payment method
102
+ * @param card_data Information of bank card
103
+ * @returns An `Observable` with the result of the vault set.
104
+ */
105
+ setVaultItem(payment_methods_id, card_data) {
106
+ const body = {
107
+ vault: {
108
+ payment_methods_id,
109
+ card_number: card_data.card_number,
110
+ card_name: card_data.name,
111
+ card_cvv: card_data.cvv,
112
+ card_expiry: this.generateExpiry(card_data)
113
+ }
114
+ };
115
+ return this.http.post(`${this.config.api_url}/service/set-vault.php`, body, {
116
+ headers: {
117
+ 'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8;'
118
+ },
119
+ params: {
120
+ ws_id: this.config.wsid
121
+ },
122
+ responseType: 'json',
123
+ observe: 'body'
124
+ }).pipe(map(http_response => this.responseHandler.validateSingleHttpResponse(http_response, (response) => new EsolveVaultItemResult(response))), catchError((errorRes) => {
125
+ return this.errorHandler.handleHttpPostError('set-vault', errorRes);
126
+ }));
127
+ }
128
+ /**
129
+ * Sets the payment for the specified transaction using selected payment method.
130
+ * @param transaction_id eSolve ID to the transaction
131
+ * @param payment_methods_id eSolve ID to the selected payment method
132
+ * @param card ID of selected card from the vault or information to a brand new card
133
+ * @returns An `Observable` with the result of the payment
134
+ */
135
+ setPayment(transaction_id, payment_methods_id, card) {
136
+ const body = {
137
+ payment: {
138
+ cart_id: transaction_id,
139
+ payment_methods_id
140
+ }
141
+ };
142
+ if (typeof card === 'number') {
143
+ body.payment.user_vault_id = card;
144
+ }
145
+ else {
146
+ body.card = {
147
+ card_number: card.card_number,
148
+ card_name: card.name,
149
+ card_cvv: card.cvv,
150
+ card_expiry: this.generateExpiry(card)
151
+ };
152
+ }
153
+ return this.http.post(`${this.config.api_url}/service/set-payment.php`, body, {
154
+ headers: {
155
+ 'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8;'
156
+ },
157
+ params: {
158
+ ws_id: this.config.wsid
159
+ },
160
+ responseType: 'json',
161
+ observe: 'body'
162
+ }).pipe(map(http_response => this.responseHandler.validateSingleHttpResponse(http_response, (response) => new EsolvePaymentResult(response))), catchError((errorRes) => {
163
+ return this.errorHandler.handleHttpPostError('set-payment', errorRes);
164
+ }));
165
+ }
166
+ }
167
+ EsolvePaymentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: EsolvePaymentService, deps: [{ token: ESOLVE_CONNECT_CONFIG }, { token: i1.HttpClient }, { token: i2.EsolveErrorHandlerService }, { token: i3.EsolveResponseHandlerService }], target: i0.ɵɵFactoryTarget.Injectable });
168
+ EsolvePaymentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: EsolvePaymentService, providedIn: 'root' });
169
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: EsolvePaymentService, decorators: [{
170
+ type: Injectable,
171
+ args: [{
172
+ providedIn: 'root'
173
+ }]
174
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
175
+ type: Inject,
176
+ args: [ESOLVE_CONNECT_CONFIG]
177
+ }] }, { type: i1.HttpClient }, { type: i2.EsolveErrorHandlerService }, { type: i3.EsolveResponseHandlerService }]; } });
178
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXBheW1lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvcGF5bWVudC9lc29sdmUtcGF5bWVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUMsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDakYsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRCxPQUFPLEVBQXVCLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFJdEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFLOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7OztBQW9COUQsTUFBTSxPQUFPLG9CQUFvQjtJQUU3QixZQUMyQyxNQUEyQixFQUMxRCxJQUFnQixFQUNoQixZQUF1QyxFQUN2QyxlQUE2QztRQUhkLFdBQU0sR0FBTixNQUFNLENBQXFCO1FBQzFELFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsaUJBQVksR0FBWixZQUFZLENBQTJCO1FBQ3ZDLG9CQUFlLEdBQWYsZUFBZSxDQUE4QjtJQUNyRCxDQUFDO0lBRUw7Ozs7T0FJRztJQUNLLHFCQUFxQixDQUFDLE9BQW9DO1FBQzlELE1BQU0sZUFBZSxHQUEwQixFQUFFLENBQUM7UUFFbEQsSUFBSSxPQUFPLEVBQUU7WUFDVCxLQUFLLE1BQU0sTUFBTSxJQUFJLE9BQU8sRUFBRTtnQkFDMUIsTUFBTSxjQUFjLEdB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LEdBQUcsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsMEJBQTBCLENBQ2hFLGFBQWEsRUFDYixDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsSUFBSSxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsQ0FDbEQsQ0FBQyxFQUNGLFVBQVUsQ0FBQyxDQUFDLFFBQWlDLEVBQUUsRUFBRTtZQUM3QyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsbUJBQW1CLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzFFLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDOztpSEF4TlEsb0JBQW9CLGtCQUdqQixxQkFBcUI7cUhBSHhCLG9CQUFvQixjQUZqQixNQUFNOzJGQUVULG9CQUFvQjtrQkFIaEMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckI7OzBCQUlRLE1BQU07MkJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEVycm9yUmVzcG9uc2UsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBFc29sdmVDb25uZWN0Q29uZmlnLCBFU09MVkVfQ09OTkVDVF9DT05GSUcgfSBmcm9tICcuLi9lc29sdmUtY29ubmVjdC5jb25maWcnO1xyXG5pbXBvcnQgeyBFc29sdmVHZXRSZXNwb25zZSwgRXNvbHZlU2V0UmVzcG9uc2UgfSBmcm9tICcuLi9zaGFyZWQvZXNvbHZlLXJlc3BvbnNlJztcclxuaW1wb3J0IHsgRXNvbHZlRXJyb3JIYW5kbGVyU2VydmljZSB9IGZyb20gJy4uL3NoYXJlZC9lcnJvci1oYW5kbGVyL2Vzb2x2ZS1lcnJvci1oYW5kbGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBFc29sdmVSZXNwb25zZUhhbmRsZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL3Jlc3BvbnNlLWhhbmRsZXIvZXNvbHZlLXJlc3BvbnNlLWhhbmRsZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IEVzb2x2ZVBheW1lbnRNZXRob2QgfSBmcm9tICcuL2Vzb2x2ZS1wYXltZW50LW1ldGhvZCc7XHJcbmltcG9ydCB7IEVzb2x2ZVBheW1lbnRNZXRob2RSZWNvcmQgfSBmcm9tICcuL2Vzb2x2ZS1wYXltZW50LW1ldGhvZC1yZWNvcmQnO1xyXG5pbXBvcnQgeyBFc29sdmVQYXltZW50TWV0aG9kT3B0aW9ucyB9IGZyb20gJy4vZXNvbHZlLXBheW1lbnQtbWV0aG9kLW9wdGlvbnMnO1xyXG5pbXBvcnQgeyBFc29sdmVDYXJkRGF0YSB9IGZyb20gJy4vZXNvbHZlLWNhcmQtZGF0YSc7XHJcbmltcG9ydCB7IEVzb2x2ZVZhdWx0UmVjb3JkIH0gZnJvbSAnLi9lc29sdmUtdmF1bHQtcmVjb3JkJztcclxuaW1wb3J0IHsgRXNvbHZlVmF1bHRJdGVtIH0gZnJvbSAnLi9lc29sdmUtdmF1bHQtaXRlbSc7XHJcbmltcG9ydCB7IEVzb2x2ZVZhdWx0UmVzcG9uc2UgfSBmcm9tICcuL2Vzb2x2ZS12YXVsdC1yZXNwb25zZSc7XHJcbmltcG9ydCB7IEVzb2x2ZVZhdWx0SXRlbVJlc3VsdCB9IGZyb20gJy4vZXNvbHZlLXZhdWx0LWl0ZW0tcmVzdWx0JztcclxuaW1wb3J0IHsgRXNvbHZlUGF5bWVudFJlc3VsdCB9IGZyb20gJy4vZXNvbHZlLXBheW1lbnQtcmVzdWx0JztcclxuaW1wb3J0IHsgRXNvbHZlUGF5bWVudFJlc3BvbnNlIH0gZnJvbSAnLi9lc29sdmUtcGF5bWVudC1yZXNwb25zZSc7XHJcblxyXG5pbnRlcmZhY2UgU2V0UGF5bWVudEJvZHkge1xyXG4gICAgcGF5bWVudDoge1xyXG4gICAgICAgIGNhcnRfaWQ6IG51bWJlcixcclxuICAgICAgICBwYXltZW50X21ldGhvZHNfaWQ6IG51bWJlcixcclxuICAgICAgICB1c2VyX3ZhdWx0X2lkPzogbnVtYmVyXHJcbiAgICB9O1xyXG4gICAgY2FyZD86IHtcclxuICAgICAgICBjYXJkX251bWJlcjogc3RyaW5nLFxyXG4gICAgICAgIGNhcmRfbmFtZTogc3RyaW5nLFxyXG4gICAgICAgIGNhcmRfY3Z2OiBzdHJpbmcsXHJcbiAgICAgICAgY2FyZF9leHBpcnk6IHN0cmluZ1xyXG4gICAgfTtcclxufVxyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFc29sdmVQYXltZW50U2VydmljZSB7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgQEluamVjdChFU09MVkVfQ09OTkVDVF9DT05GSUcpIHByaXZhdGUgY29uZmlnOiBFc29sdmVDb25uZWN0Q29uZmlnLFxyXG4gICAgICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcclxuICAgICAgICBwcml2YXRlIGVycm9ySGFuZGxlcjogRXNvbHZlRXJyb3JIYW5kbGVyU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIHJlc3BvbnNlSGFuZGxlcjogRXNvbHZlUmVzcG9uc2VIYW5kbGVyU2VydmljZVxyXG4gICAgKSB7IH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFByb2Nlc3NlcyB0aGUgZVNvbHZlIHBheW1lbnQgbWV0aG9kIHJlY29yZHMuXHJcbiAgICAgKiBAcGFyYW0gcmVjb3JkcyBSZWNvcmRzIHRvIHByb2Nlc3NcclxuICAgICAqIEByZXR1cm5zIEFuIGFycmF5IG9mIHByb2Nlc3NlZCBwYXltZW50IG1ldGhvZHMuXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgcHJvY2Vzc1BheW1lbnRNZXRob2RzKHJlY29yZHM6IEVzb2x2ZVBheW1lbnRNZXRob2RSZWNvcmRbXSk6IEVzb2x2ZVBheW1lbnRNZXRob2RbXSB7XHJcbiAgICAgICAgY29uc3QgcGF5bWVudF9tZXRob2RzOiBFc29sdmVQYXltZW50TWV0aG9kW10gPSBbXTtcclxuXHJcbiAgICAgICAgaWYgKHJlY29yZHMpIHtcclxuICAgICAgICAgICAgZm9yIChjb25zdCByZWNvcmQgb2YgcmVjb3Jkcykge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgcGF5bWVudF9tZXRob2QgPSBuZXcgRXNvbHZlUGF5bWVudE1ldGhvZChyZWNvcmQpO1xyXG5cclxuICAgICAgICAgICAgICAgIHBheW1lbnRfbWV0aG9kcy5wdXNoKHBheW1lbnRfbWV0aG9kKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHBheW1lbnRfbWV0aG9kcztcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFByb2Nlc3NlcyB0aGUgZVNvbHZlIHZhdWx0IHJlY29yZHMuXHJcbiAgICAgKiBAcGFyYW0gcmVjb3JkcyBSZWNvcmRzIHRvIHByb2Nlc3NcclxuICAgICAqIEByZXR1cm5zIEFuIGFycmF5IG9mIHByb2Nlc3NlZCB2YXVsdCBpdGVtcyAoYS5rLmEuIGNhcmRzKVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHByb2Nlc3NWYXVsdEl0ZW1zKHJlY29yZHM6IEVzb2x2ZVZhdWx0UmVjb3JkW10pOiBFc29sdmVWYXVsdEl0ZW1bXSB7XHJcbiAgICAgICAgY29uc3QgdmF1bHQ6IEVzb2x2ZVZhdWx0SXRlbVtdID0gW107XHJcblxyXG4gICAgICAgIGlmIChyZWNvcmRzKSB7XHJcbiAgICAgICAgICAgIGZvciAoY29uc3QgcmVjb3JkIG9mIHJlY29yZHMpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHZhdWx0X2l0ZW0gPSBuZXcgRXNvbHZlVmF1bHRJdGVtKFxyXG4gICAgICAgICAgICAgICAgICAgICtyZWNvcmQuaWQsXHJcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLmxhc3Q0LFxyXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZC5icmFuZCxcclxuICAgICAgICAgICAgICAgICAgICByZWNvcmQuZXhwaXJ5X3RpbWVzdGFtcFxyXG4gICAgICAgICAgICAgICAgKTtcclxuXHJcbiAgICAgICAgICAgICAgICB2YXVsdC5wdXNoKHZhdWx0X2l0ZW0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gdmF1bHQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZW5lcmF0ZUV4cGlyeShjYXJkX2RhdGE6IEVzb2x2ZUNhcmREYXRhKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCBtb250aF9zdHJpbmcgPSBjYXJkX2RhdGEuZXhwaXJ5X21vbnRoLnBhZFN0YXJ0KDIsICcwJyk7XHJcbiAgICAgICAgY29uc3QgeWVhcl9zdHJpbmcgPSBjYXJkX2RhdGEuZXhwaXJ5X3llYXIucGFkU3RhcnQoNCwgJzAnKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGAke21vbnRoX3N0cmluZ30ke3llYXJfc3RyaW5nfWA7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXRyaWV2ZXMgYSBsaXN0IG9mIHBheW1lbnQgbWV0aG9kcy5cclxuICAgICAqIEBwYXJhbSBvcHRpb25zIEZpbHRlciBvcHRpb25zXHJcbiAgICAgKiBAcmV0dXJucyBBbiBgT2JzZXJ2YWJsZWAgd2l0aCBhbiBhcnJheSBvZiBwYXltZW50IG1ldGhvZHNcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldFBheW1lbnRNZXRob2RzKG9wdGlvbnM/OiBFc29sdmVQYXltZW50TWV0aG9kT3B0aW9ucyk6IE9ic2VydmFibGU8RXNvbHZlUGF5bWVudE1ldGhvZFtdPiB7XHJcbiAgICAgICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XHJcbiAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnd3NfaWQnLCB0aGlzLmNvbmZpZy53c2lkKTtcclxuXHJcbiAgICAgICAgaWYgKG9wdGlvbnMpIHtcclxuICAgICAgICAgICAgaWYgKHR5cGVvZiBvcHRpb25zLmxpdmUgIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdsaXZlJywgb3B0aW9ucy5saXZlKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKHR5cGVvZiBvcHRpb25zLmxvY2F0aW9uX2lkICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnbG9jYXRpb25faWQnLCBvcHRpb25zLmxvY2F0aW9uX2lkKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKHR5cGVvZiBvcHRpb25zLmlzX2dhdGV3YXkgIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdpc19nYXRld2F5Jywgb3B0aW9ucy5pc19nYXRld2F5KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8RXNvbHZlR2V0UmVzcG9uc2U8RXNvbHZlUGF5bWVudE1ldGhvZFJlY29yZFtdPj4oXHJcbiAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L3NlcnZpY2UvZ2V0LXBheW1lbnQtbWV0aG9kcy5waHBgLFxyXG4gICAgICAgICAgICB7IHBhcmFtcyB9XHJcbiAgICAgICAgKS5waXBlKFxyXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLnJlY29yZHMgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRocm93IHJlc3BvbnNlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnByb2Nlc3NQYXltZW50TWV0aG9kcyhyZXNwb25zZS5yZWNvcmRzKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0cmlldmVzIGEgbGlzdCBvZiBzYXZlZCBjYXJkcyBmcm9tIHRoZSB2YXVsdC5cclxuICAgICAqIEBwYXJhbSBwYXltZW50X21ldGhvZHNfaWQgZVNvbHZlIElEIG9mIGEgcGF5bWVudCBtZXRob2RcclxuICAgICAqIEByZXR1cm5zIEFuIGBPYnNlcnZhYmxlYCB3aXRoIGFuIGFycmF5IG9mIHNhdmVkIGJhbmsgY2FyZHNcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldFZhdWx0KHBheW1lbnRfbWV0aG9kc19pZD86IG51bWJlcik6IE9ic2VydmFibGU8RXNvbHZlVmF1bHRJdGVtW10+IHtcclxuICAgICAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcclxuICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCd3c19pZCcsIHRoaXMuY29uZmlnLndzaWQpO1xyXG5cclxuICAgICAgICBpZiAodHlwZW9mIHBheW1lbnRfbWV0aG9kc19pZCAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgncGF5bWVudF9tZXRob2RzX2lkJywgcGF5bWVudF9tZXRob2RzX2lkKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEVzb2x2ZUdldFJlc3BvbnNlPEVzb2x2ZVZhdWx0UmVjb3JkW10+PihcclxuICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vc2VydmljZS9nZXQtdmF1bHQucGhwYCxcclxuICAgICAgICAgICAgeyBwYXJhbXMgfVxyXG4gICAgICAgICkucGlwZShcclxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5yZWNvcmRzID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aHJvdyByZXNwb25zZTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wcm9jZXNzVmF1bHRJdGVtcyhyZXNwb25zZS5yZWNvcmRzKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2V0cyBhIG5ldyBjYXJkIGluIHRoZSB2YXVsdCBPUiB1cGRhdGVzIGFuIGV4aXN0aW5nIG9uZS5cclxuICAgICAqIEBwYXJhbSBwYXltZW50X21ldGhvZHNfaWQgU2VsZWN0ZWQgcGF5bWVudCBtZXRob2RcclxuICAgICAqIEBwYXJhbSBjYXJkX2RhdGEgSW5mb3JtYXRpb24gb2YgYmFuayBjYXJkXHJcbiAgICAgKiBAcmV0dXJucyBBbiBgT2JzZXJ2YWJsZWAgd2l0aCB0aGUgcmVzdWx0IG9mIHRoZSB2YXVsdCBzZXQuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzZXRWYXVsdEl0ZW0ocGF5bWVudF9tZXRob2RzX2lkOiBudW1iZXIsIGNhcmRfZGF0YTogRXNvbHZlQ2FyZERhdGEpOiBPYnNlcnZhYmxlPEVzb2x2ZVZhdWx0SXRlbVJlc3VsdD4ge1xyXG4gICAgICAgIGNvbnN0IGJvZHkgPSB7XHJcbiAgICAgICAgICAgIHZhdWx0OiB7XHJcbiAgICAgICAgICAgICAgICBwYXltZW50X21ldGhvZHNfaWQsXHJcbiAgICAgICAgICAgICAgICBjYXJkX251bWJlcjogY2FyZF9kYXRhLmNhcmRfbnVtYmVyLFxyXG4gICAgICAgICAgICAgICAgY2FyZF9uYW1lOiBjYXJkX2RhdGEubmFtZSxcclxuICAgICAgICAgICAgICAgIGNhcmRfY3Z2OiBjYXJkX2RhdGEuY3Z2LFxyXG4gICAgICAgICAgICAgICAgY2FyZF9leHBpcnk6IHRoaXMuZ2VuZXJhdGVFeHBpcnkoY2FyZF9kYXRhKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEVzb2x2ZVNldFJlc3BvbnNlPEVzb2x2ZVZhdWx0UmVzcG9uc2U+PihcclxuICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vc2VydmljZS9zZXQtdmF1bHQucGhwYCxcclxuICAgICAgICAgICAgYm9keSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaGVhZGVyczoge1xyXG4gICAgICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkO2NoYXJzZXQ9dXRmLTg7J1xyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHBhcmFtczoge1xyXG4gICAgICAgICAgICAgICAgICAgIHdzX2lkOiB0aGlzLmNvbmZpZy53c2lkXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgcmVzcG9uc2VUeXBlOiAnanNvbicsXHJcbiAgICAgICAgICAgICAgICBvYnNlcnZlOiAnYm9keSdcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICkucGlwZShcclxuICAgICAgICAgICAgbWFwKGh0dHBfcmVzcG9uc2UgPT4gdGhpcy5yZXNwb25zZUhhbmRsZXIudmFsaWRhdGVTaW5nbGVIdHRwUmVzcG9uc2UoXHJcbiAgICAgICAgICAgICAgICBodHRwX3Jlc3BvbnNlLFxyXG4gICAgICAgICAgICAgICAgKHJlc3BvbnNlKSA9PiBuZXcgRXNvbHZlVmF1bHRJdGVtUmVzdWx0KHJlc3BvbnNlKVxyXG4gICAgICAgICAgICApKSxcclxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3JSZXM6IEh0dHBFcnJvclJlc3BvbnNlIHwgYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5lcnJvckhhbmRsZXIuaGFuZGxlSHR0cFBvc3RFcnJvcignc2V0LXZhdWx0JywgZXJyb3JSZXMpO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTZXRzIHRoZSBwYXltZW50IGZvciB0aGUgc3BlY2lmaWVkIHRyYW5zYWN0aW9uIHVzaW5nIHNlbGVjdGVkIHBheW1lbnQgbWV0aG9kLlxyXG4gICAgICogQHBhcmFtIHRyYW5zYWN0aW9uX2lkIGVTb2x2ZSBJRCB0byB0aGUgdHJhbnNhY3Rpb25cclxuICAgICAqIEBwYXJhbSBwYXltZW50X21ldGhvZHNfaWQgZVNvbHZlIElEIHRvIHRoZSBzZWxlY3RlZCBwYXltZW50IG1ldGhvZFxyXG4gICAgICogQHBhcmFtIGNhcmQgSUQgb2Ygc2VsZWN0ZWQgY2FyZCBmcm9tIHRoZSB2YXVsdCBvciBpbmZvcm1hdGlvbiB0byBhIGJyYW5kIG5ldyBjYXJkXHJcbiAgICAgKiBAcmV0dXJucyBBbiBgT2JzZXJ2YWJsZWAgd2l0aCB0aGUgcmVzdWx0IG9mIHRoZSBwYXltZW50XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzZXRQYXltZW50KFxyXG4gICAgICAgIHRyYW5zYWN0aW9uX2lkOiBudW1iZXIsXHJcbiAgICAgICAgcGF5bWVudF9tZXRob2RzX2lkOiBudW1iZXIsXHJcbiAgICAgICAgY2FyZDogRXNvbHZlQ2FyZERhdGEgfCBudW1iZXJcclxuICAgICk6IE9ic2VydmFibGU8RXNvbHZlUGF5bWVudFJlc3VsdD4ge1xyXG4gICAgICAgIGNvbnN0IGJvZHk6IFNldFBheW1lbnRCb2R5ID0ge1xyXG4gICAgICAgICAgICBwYXltZW50OiB7XHJcbiAgICAgICAgICAgICAgICBjYXJ0X2lkOiB0cmFuc2FjdGlvbl9pZCxcclxuICAgICAgICAgICAgICAgIHBheW1lbnRfbWV0aG9kc19pZFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgaWYgKHR5cGVvZiBjYXJkID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgICAgICBib2R5LnBheW1lbnQudXNlcl92YXVsdF9pZCA9IGNhcmQ7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgYm9keS5jYXJkID0ge1xyXG4gICAgICAgICAgICAgICAgY2FyZF9udW1iZXI6IGNhcmQuY2FyZF9udW1iZXIsXHJcbiAgICAgICAgICAgICAgICBjYXJkX25hbWU6IGNhcmQubmFtZSxcclxuICAgICAgICAgICAgICAgIGNhcmRfY3Z2OiBjYXJkLmN2dixcclxuICAgICAgICAgICAgICAgIGNhcmRfZXhwaXJ5OiB0aGlzLmdlbmVyYXRlRXhwaXJ5KGNhcmQpXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8RXNvbHZlU2V0UmVzcG9uc2U8RXNvbHZlUGF5bWVudFJlc3BvbnNlPj4oXHJcbiAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L3NlcnZpY2Uvc2V0LXBheW1lbnQucGhwYCxcclxuICAgICAgICAgICAgYm9keSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaGVhZGVyczoge1xyXG4gICAgICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkO2NoYXJzZXQ9dXRmLTg7J1xyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHBhcmFtczoge1xyXG4gICAgICAgICAgICAgICAgICAgIHdzX2lkOiB0aGlzLmNvbmZpZy53c2lkXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgcmVzcG9uc2VUeXBlOiAnanNvbicsXHJcbiAgICAgICAgICAgICAgICBvYnNlcnZlOiAnYm9keSdcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICkucGlwZShcclxuICAgICAgICAgICAgbWFwKGh0dHBfcmVzcG9uc2UgPT4gdGhpcy5yZXNwb25zZUhhbmRsZXIudmFsaWRhdGVTaW5nbGVIdHRwUmVzcG9uc2UoXHJcbiAgICAgICAgICAgICAgICBodHRwX3Jlc3BvbnNlLFxyXG4gICAgICAgICAgICAgICAgKHJlc3BvbnNlKSA9PiBuZXcgRXNvbHZlUGF5bWVudFJlc3VsdChyZXNwb25zZSlcclxuICAgICAgICAgICAgKSksXHJcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yUmVzOiBIdHRwRXJyb3JSZXNwb25zZSB8IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZXJyb3JIYW5kbGVyLmhhbmRsZUh0dHBQb3N0RXJyb3IoJ3NldC1wYXltZW50JywgZXJyb3JSZXMpO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -0,0 +1,20 @@
1
+ import { EsolveResponseResult } from '../shared/response-handler/esolve-response-result';
2
+ export class EsolveVaultItemResult extends EsolveResponseResult {
3
+ constructor(response) {
4
+ super(response);
5
+ this.id = +response.esolve_id;
6
+ if (typeof response.token !== 'undefined') {
7
+ this.token = response.token;
8
+ }
9
+ if (typeof response.card_valid !== 'undefined') {
10
+ this.card_valid = response.card_valid;
11
+ }
12
+ if (typeof response.card_details_validated !== 'undefined') {
13
+ this.card_details_validated = response.card_details_validated;
14
+ }
15
+ if (typeof response.gateway_error_message !== 'undefined') {
16
+ this.gateway_error_message = response.gateway_error_message;
17
+ }
18
+ }
19
+ }
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXZhdWx0LWl0ZW0tcmVzdWx0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9wYXltZW50L2Vzb2x2ZS12YXVsdC1pdGVtLXJlc3VsdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUd6RixNQUFNLE9BQU8scUJBQXNCLFNBQVEsb0JBQW9CO0lBTzNELFlBQ0ksUUFBNkI7UUFFN0IsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRWhCLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDO1FBRTlCLElBQUksT0FBTyxRQUFRLENBQUMsS0FBSyxLQUFNLFdBQVcsRUFBRTtZQUN4QyxJQUFJLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUM7U0FDL0I7UUFFRCxJQUFJLE9BQU8sUUFBUSxDQUFDLFVBQVUsS0FBTSxXQUFXLEVBQUU7WUFDN0MsSUFBSSxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUMsVUFBVSxDQUFDO1NBQ3pDO1FBRUQsSUFBSSxPQUFPLFFBQVEsQ0FBQyxzQkFBc0IsS0FBTSxXQUFXLEVBQUU7WUFDekQsSUFBSSxDQUFDLHNCQUFzQixHQUFHLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQztTQUNqRTtRQUVELElBQUksT0FBTyxRQUFRLENBQUMscUJBQXFCLEtBQU0sV0FBVyxFQUFFO1lBQ3hELElBQUksQ0FBQyxxQkFBcUIsR0FBRyxRQUFRLENBQUMscUJBQXFCLENBQUM7U0FDL0Q7SUFFTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFc29sdmVSZXNwb25zZVJlc3VsdCB9IGZyb20gJy4uL3NoYXJlZC9yZXNwb25zZS1oYW5kbGVyL2Vzb2x2ZS1yZXNwb25zZS1yZXN1bHQnO1xyXG5pbXBvcnQgeyBFc29sdmVWYXVsdFJlc3BvbnNlIH0gZnJvbSAnLi9lc29sdmUtdmF1bHQtcmVzcG9uc2UnO1xyXG5cclxuZXhwb3J0IGNsYXNzIEVzb2x2ZVZhdWx0SXRlbVJlc3VsdCBleHRlbmRzIEVzb2x2ZVJlc3BvbnNlUmVzdWx0IHtcclxuICAgIHB1YmxpYyBpZDogbnVtYmVyO1xyXG4gICAgcHVibGljIHRva2VuPzogc3RyaW5nO1xyXG4gICAgcHVibGljIGNhcmRfdmFsaWQ/OiBib29sZWFuO1xyXG4gICAgcHVibGljIGNhcmRfZGV0YWlsc192YWxpZGF0ZWQ/OiBib29sZWFuO1xyXG4gICAgcHVibGljIGdhdGV3YXlfZXJyb3JfbWVzc2FnZT86IHN0cmluZztcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICByZXNwb25zZTogRXNvbHZlVmF1bHRSZXNwb25zZVxyXG4gICAgKSB7XHJcbiAgICAgICAgc3VwZXIocmVzcG9uc2UpO1xyXG5cclxuICAgICAgICB0aGlzLmlkID0gK3Jlc3BvbnNlLmVzb2x2ZV9pZDtcclxuXHJcbiAgICAgICAgaWYgKHR5cGVvZiByZXNwb25zZS50b2tlbiAgIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgICAgICAgIHRoaXMudG9rZW4gPSByZXNwb25zZS50b2tlbjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0eXBlb2YgcmVzcG9uc2UuY2FyZF92YWxpZCAgIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY2FyZF92YWxpZCA9IHJlc3BvbnNlLmNhcmRfdmFsaWQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodHlwZW9mIHJlc3BvbnNlLmNhcmRfZGV0YWlsc192YWxpZGF0ZWQgICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICAgICAgICB0aGlzLmNhcmRfZGV0YWlsc192YWxpZGF0ZWQgPSByZXNwb25zZS5jYXJkX2RldGFpbHNfdmFsaWRhdGVkO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHR5cGVvZiByZXNwb25zZS5nYXRld2F5X2Vycm9yX21lc3NhZ2UgICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICAgICAgICB0aGlzLmdhdGV3YXlfZXJyb3JfbWVzc2FnZSA9IHJlc3BvbnNlLmdhdGV3YXlfZXJyb3JfbWVzc2FnZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,19 @@
1
+ export class EsolveVaultItem {
2
+ constructor(id, last4, brand, expiry_timestamp) {
3
+ this.id = id;
4
+ this.last4 = last4;
5
+ this.brand = brand;
6
+ this.expiry = new Date(expiry_timestamp * 1000);
7
+ }
8
+ get expiry_month() {
9
+ const month = this.expiry.getMonth() + 1;
10
+ return month.toString().padStart(2, '0');
11
+ }
12
+ get expiry_year() {
13
+ return this.expiry.getFullYear();
14
+ }
15
+ get masked_number() {
16
+ return this.last4.padStart(19, '**** ');
17
+ }
18
+ }
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXZhdWx0LWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL3BheW1lbnQvZXNvbHZlLXZhdWx0LWl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLGVBQWU7SUFpQnhCLFlBQ1csRUFBVSxFQUNWLEtBQWEsRUFDYixLQUFhLEVBQ3BCLGdCQUF3QjtRQUhqQixPQUFFLEdBQUYsRUFBRSxDQUFRO1FBQ1YsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQUNiLFVBQUssR0FBTCxLQUFLLENBQVE7UUFHcEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBckJELElBQVcsWUFBWTtRQUNuQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUV6QyxPQUFPLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxJQUFXLFdBQVc7UUFDbEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFXLGFBQWE7UUFDcEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDNUMsQ0FBQztDQVVKIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIEVzb2x2ZVZhdWx0SXRlbSB7XHJcbiAgICBwcml2YXRlIGV4cGlyeTogRGF0ZTtcclxuXHJcbiAgICBwdWJsaWMgZ2V0IGV4cGlyeV9tb250aCgpOiBzdHJpbmcge1xyXG4gICAgICAgIGNvbnN0IG1vbnRoID0gdGhpcy5leHBpcnkuZ2V0TW9udGgoKSArIDE7XHJcblxyXG4gICAgICAgIHJldHVybiBtb250aC50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCBleHBpcnlfeWVhcigpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmV4cGlyeS5nZXRGdWxsWWVhcigpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgbWFza2VkX251bWJlcigpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmxhc3Q0LnBhZFN0YXJ0KDE5LCAnKioqKiAnKTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwdWJsaWMgaWQ6IG51bWJlcixcclxuICAgICAgICBwdWJsaWMgbGFzdDQ6IHN0cmluZyxcclxuICAgICAgICBwdWJsaWMgYnJhbmQ6IHN0cmluZyxcclxuICAgICAgICBleHBpcnlfdGltZXN0YW1wOiBudW1iZXJcclxuICAgICkge1xyXG4gICAgICAgIHRoaXMuZXhwaXJ5ID0gbmV3IERhdGUoZXhwaXJ5X3RpbWVzdGFtcCAqIDEwMDApO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXZhdWx0LXJlY29yZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvcGF5bWVudC9lc29sdmUtdmF1bHQtcmVjb3JkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEVzb2x2ZVZhdWx0UmVjb3JkIHtcclxuICAgIGlkOiBudW1iZXI7XHJcbiAgICBwYXltZW50X21ldGhvZHNfaWQ6IG51bWJlcjtcclxuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XHJcbiAgICB0b2tlbjogc3RyaW5nO1xyXG4gICAgYnJhbmQ6IHN0cmluZztcclxuICAgIGxhc3Q0OiBzdHJpbmc7XHJcbiAgICBleHBpcnk6IHN0cmluZztcclxuICAgIGV4cGlyeV90aW1lc3RhbXA6IG51bWJlcjtcclxuICAgIGRlZmF1bHQ6IGJvb2xlYW47XHJcbn1cclxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXZhdWx0LXJlc3BvbnNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9wYXltZW50L2Vzb2x2ZS12YXVsdC1yZXNwb25zZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXNvbHZlUG9zdFJlc3BvbnNlSXRlbSB9IGZyb20gJy4uL3NoYXJlZC9lc29sdmUtcmVzcG9uc2UnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBFc29sdmVWYXVsdFJlc3BvbnNlIGV4dGVuZHMgRXNvbHZlUG9zdFJlc3BvbnNlSXRlbSB7XHJcbiAgICBlc29sdmVfaWQ6IG51bWJlcjtcclxuICAgIGNhcmRfdmFsaWQ/OiBib29sZWFuO1xyXG4gICAgY2FyZF9kZXRhaWxzX3ZhbGlkYXRlZD86IGJvb2xlYW47XHJcbiAgICBnYXRld2F5X2Vycm9yX21lc3NhZ2U/OiBzdHJpbmc7XHJcbiAgICB1c2VyX3ZhdWx0X2lkPzogbnVtYmVyO1xyXG4gICAgdG9rZW4/OiBzdHJpbmc7XHJcbn1cclxuIl19
@@ -0,0 +1,27 @@
1
+ export class EsolveSession {
2
+ constructor(id = -1, _key = '', _key_expiration_date) {
3
+ this.id = id;
4
+ this._key = _key;
5
+ this._key_expiration_date = _key_expiration_date;
6
+ }
7
+ get key() {
8
+ return this._key;
9
+ }
10
+ get expired() {
11
+ const current_date = new Date();
12
+ return ((this._key_expiration_date === undefined) ||
13
+ (current_date >= this._key_expiration_date));
14
+ }
15
+ get authenticated() {
16
+ return (this.id > 0);
17
+ }
18
+ get valid() {
19
+ return ((this._key !== '') &&
20
+ (this._key_expiration_date !== undefined) &&
21
+ (this.id >= 0));
22
+ }
23
+ updateUser(user_id) {
24
+ this.id = user_id;
25
+ }
26
+ }
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXNlc3Npb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL3Nlc3Npb24vZXNvbHZlLXNlc3Npb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLGFBQWE7SUFDdEIsWUFDVyxLQUFhLENBQUMsQ0FBQyxFQUNkLE9BQWUsRUFBRSxFQUNqQixvQkFBMkI7UUFGNUIsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUNkLFNBQUksR0FBSixJQUFJLENBQWE7UUFDakIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFPO0lBQ25DLENBQUM7SUFFTCxJQUFJLEdBQUc7UUFDSCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDckIsQ0FBQztJQUVELElBQUksT0FBTztRQUNQLE1BQU0sWUFBWSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFFaEMsT0FBTyxDQUNILENBQUMsSUFBSSxDQUFDLG9CQUFvQixLQUFLLFNBQVMsQ0FBQztZQUN6QyxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FDOUMsQ0FBQztJQUNOLENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDYixPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ0wsT0FBTyxDQUNILENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxFQUFFLENBQUM7WUFDbEIsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEtBQUssU0FBUyxDQUFDO1lBQ3pDLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FDakIsQ0FBQztJQUNOLENBQUM7SUFFRCxVQUFVLENBQUMsT0FBZTtRQUN0QixJQUFJLENBQUMsRUFBRSxHQUFHLE9BQU8sQ0FBQztJQUN0QixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgRXNvbHZlU2Vzc2lvbiB7XHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwdWJsaWMgaWQ6IG51bWJlciA9IC0xLFxyXG4gICAgICAgIHByaXZhdGUgX2tleTogc3RyaW5nID0gJycsXHJcbiAgICAgICAgcHJpdmF0ZSBfa2V5X2V4cGlyYXRpb25fZGF0ZT86IERhdGVcclxuICAgICkgeyB9XHJcblxyXG4gICAgZ2V0IGtleSgpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9rZXk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGV4cGlyZWQoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgY29uc3QgY3VycmVudF9kYXRlID0gbmV3IERhdGUoKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgKHRoaXMuX2tleV9leHBpcmF0aW9uX2RhdGUgPT09IHVuZGVmaW5lZCkgfHxcclxuICAgICAgICAgICAgKGN1cnJlbnRfZGF0ZSA+PSB0aGlzLl9rZXlfZXhwaXJhdGlvbl9kYXRlKVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGF1dGhlbnRpY2F0ZWQoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuICh0aGlzLmlkID4gMCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IHZhbGlkKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgICh0aGlzLl9rZXkgIT09ICcnKSAmJlxyXG4gICAgICAgICAgICAodGhpcy5fa2V5X2V4cGlyYXRpb25fZGF0ZSAhPT0gdW5kZWZpbmVkKSAmJlxyXG4gICAgICAgICAgICAodGhpcy5pZCA+PSAwKVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgdXBkYXRlVXNlcih1c2VyX2lkOiBudW1iZXIpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmlkID0gdXNlcl9pZDtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,79 @@
1
+ import { Inject, Injectable } from '@angular/core';
2
+ import { BehaviorSubject } from 'rxjs';
3
+ import { ESOLVE_CONNECT_CONFIG } from '../esolve-connect.config';
4
+ import { EsolveSession } from './esolve-session';
5
+ import * as i0 from "@angular/core";
6
+ export class EsolveSessionService {
7
+ constructor(config) {
8
+ this.config = config;
9
+ this.storage_key = 'ngEslvUserSession';
10
+ this.setStorageKey();
11
+ this._session = new BehaviorSubject(new EsolveSession(0, ''));
12
+ this.session = this._session.asObservable();
13
+ }
14
+ get currentSession() {
15
+ return this._session.value;
16
+ }
17
+ setStorageKey() {
18
+ if ((typeof this.config.user_session_storage_key === 'string') &&
19
+ (this.config.user_session_storage_key !== '')) {
20
+ this.storage_key = this.config.user_session_storage_key;
21
+ }
22
+ }
23
+ startTimer(callback, duration) {
24
+ this.key_expiration_timer = setTimeout(callback, duration);
25
+ }
26
+ clearTimer() {
27
+ if (this.key_expiration_timer) {
28
+ clearTimeout(this.key_expiration_timer);
29
+ }
30
+ }
31
+ restore(expirationCallback, invalidSessionCallback) {
32
+ if (!this.currentSession.valid) {
33
+ const stored_session_json = localStorage.getItem(this.storage_key);
34
+ const stored_session = (stored_session_json ? JSON.parse(stored_session_json) : null);
35
+ if (!stored_session) {
36
+ invalidSessionCallback();
37
+ return;
38
+ }
39
+ const expiration_date = new Date(stored_session._key_expiration_date);
40
+ const loaded_session = new EsolveSession(stored_session.id, stored_session._key, expiration_date);
41
+ if (!loaded_session.expired) {
42
+ this._session.next(loaded_session);
43
+ const expiration_duration = expiration_date.getTime() - new Date().getTime();
44
+ this.startTimer(expirationCallback, expiration_duration);
45
+ }
46
+ else {
47
+ expirationCallback(loaded_session);
48
+ }
49
+ }
50
+ }
51
+ handleSession(user_id, key, expiry_time, expires, expirationCallback) {
52
+ const expiration_date = new Date(expiry_time * 1000);
53
+ const session = new EsolveSession(user_id, key, expiration_date);
54
+ localStorage.setItem(this.storage_key, JSON.stringify(session));
55
+ this._session.next(session);
56
+ this.startTimer(expirationCallback, expires * 1000);
57
+ }
58
+ handleUpdateSession(user_id, callback) {
59
+ const current_session = this.currentSession;
60
+ current_session.updateUser(user_id);
61
+ localStorage.setItem(this.storage_key, JSON.stringify(current_session));
62
+ this._session.next(current_session);
63
+ if (typeof callback === 'function') {
64
+ callback();
65
+ }
66
+ }
67
+ }
68
+ EsolveSessionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: EsolveSessionService, deps: [{ token: ESOLVE_CONNECT_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
69
+ EsolveSessionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: EsolveSessionService, providedIn: 'root' });
70
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: EsolveSessionService, decorators: [{
71
+ type: Injectable,
72
+ args: [{
73
+ providedIn: 'root'
74
+ }]
75
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
76
+ type: Inject,
77
+ args: [ESOLVE_CONNECT_CONFIG]
78
+ }] }]; } });
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXNlc3Npb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvc2Vzc2lvbi9lc29sdmUtc2Vzc2lvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFFbkQsT0FBTyxFQUF1QixxQkFBcUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXRGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFLakQsTUFBTSxPQUFPLG9CQUFvQjtJQVc3QixZQUMyQyxNQUEyQjtRQUEzQixXQUFNLEdBQU4sTUFBTSxDQUFxQjtRQVY5RCxnQkFBVyxHQUFHLG1CQUFtQixDQUFDO1FBWXRDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksZUFBZSxDQUFnQixJQUFJLGFBQWEsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM3RSxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDaEQsQ0FBQztJQVZELElBQVcsY0FBYztRQUNyQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO0lBQy9CLENBQUM7SUFVTyxhQUFhO1FBQ2pCLElBQ0ksQ0FBQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsd0JBQXdCLEtBQUssUUFBUSxDQUFDO1lBQzFELENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyx3QkFBd0IsS0FBSyxFQUFFLENBQUMsRUFDL0M7WUFDRSxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsd0JB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LG9CQUFvQjtrQkFIaEMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckI7OzBCQWFRLE1BQU07MkJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IEVzb2x2ZUNvbm5lY3RDb25maWcsIEVTT0xWRV9DT05ORUNUX0NPTkZJRyB9IGZyb20gJy4uL2Vzb2x2ZS1jb25uZWN0LmNvbmZpZyc7XHJcbmltcG9ydCB7IEVzb2x2ZVN0b3JlZFNlc3Npb24gfSBmcm9tICcuL2Vzb2x2ZS1zdG9yZWQtc2Vzc2lvbic7XHJcbmltcG9ydCB7IEVzb2x2ZVNlc3Npb24gfSBmcm9tICcuL2Vzb2x2ZS1zZXNzaW9uJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRXNvbHZlU2Vzc2lvblNlcnZpY2Uge1xyXG4gICAgcHJpdmF0ZSBrZXlfZXhwaXJhdGlvbl90aW1lcjogYW55O1xyXG4gICAgcHJpdmF0ZSBzdG9yYWdlX2tleSA9ICduZ0VzbHZVc2VyU2Vzc2lvbic7XHJcblxyXG4gICAgcHJpdmF0ZSBfc2Vzc2lvbjogQmVoYXZpb3JTdWJqZWN0PEVzb2x2ZVNlc3Npb24+O1xyXG4gICAgcHVibGljIHNlc3Npb246IE9ic2VydmFibGU8RXNvbHZlU2Vzc2lvbj47XHJcblxyXG4gICAgcHVibGljIGdldCBjdXJyZW50U2Vzc2lvbigpOiBFc29sdmVTZXNzaW9uIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc2Vzc2lvbi52YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBASW5qZWN0KEVTT0xWRV9DT05ORUNUX0NPTkZJRykgcHJpdmF0ZSBjb25maWc6IEVzb2x2ZUNvbm5lY3RDb25maWdcclxuICAgICkge1xyXG4gICAgICAgIHRoaXMuc2V0U3RvcmFnZUtleSgpO1xyXG4gICAgICAgIHRoaXMuX3Nlc3Npb24gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEVzb2x2ZVNlc3Npb24+KG5ldyBFc29sdmVTZXNzaW9uKDAsICcnKSk7XHJcbiAgICAgICAgdGhpcy5zZXNzaW9uID0gdGhpcy5fc2Vzc2lvbi5hc09ic2VydmFibGUoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHNldFN0b3JhZ2VLZXkoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAodHlwZW9mIHRoaXMuY29uZmlnLnVzZXJfc2Vzc2lvbl9zdG9yYWdlX2tleSA9PT0gJ3N0cmluZycpICYmXHJcbiAgICAgICAgICAgICh0aGlzLmNvbmZpZy51c2VyX3Nlc3Npb25fc3RvcmFnZV9rZXkgIT09ICcnKVxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgICB0aGlzLnN0b3JhZ2Vfa2V5ID0gdGhpcy5jb25maWcudXNlcl9zZXNzaW9uX3N0b3JhZ2Vfa2V5O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHN0YXJ0VGltZXIoY2FsbGJhY2s6ICgpID0+IHZvaWQsIGR1cmF0aW9uOiBudW1iZXIpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmtleV9leHBpcmF0aW9uX3RpbWVyID0gc2V0VGltZW91dChjYWxsYmFjaywgZHVyYXRpb24pO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBjbGVhclRpbWVyKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmtleV9leHBpcmF0aW9uX3RpbWVyKSB7XHJcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLmtleV9leHBpcmF0aW9uX3RpbWVyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHJlc3RvcmUoXHJcbiAgICAgICAgZXhwaXJhdGlvbkNhbGxiYWNrOiAoc2Vzc2lvbj86IEVzb2x2ZVNlc3Npb24pID0+IHZvaWQsXHJcbiAgICAgICAgaW52YWxpZFNlc3Npb25DYWxsYmFjazogKCkgPT4gdm9pZFxyXG4gICAgKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmN1cnJlbnRTZXNzaW9uLnZhbGlkKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHN0b3JlZF9zZXNzaW9uX2pzb24gPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLnN0b3JhZ2Vfa2V5KTtcclxuICAgICAgICAgICAgY29uc3Qgc3RvcmVkX3Nlc3Npb246IEVzb2x2ZVN0b3JlZFNlc3Npb24gPSAoc3RvcmVkX3Nlc3Npb25fanNvbiA/IEpTT04ucGFyc2Uoc3RvcmVkX3Nlc3Npb25fanNvbikgOiBudWxsKTtcclxuXHJcbiAgICAgICAgICAgIGlmICghc3RvcmVkX3Nlc3Npb24pIHtcclxuICAgICAgICAgICAgICAgIGludmFsaWRTZXNzaW9uQ2FsbGJhY2soKTtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgY29uc3QgZXhwaXJhdGlvbl9kYXRlID0gbmV3IERhdGUoc3RvcmVkX3Nlc3Npb24uX2tleV9leHBpcmF0aW9uX2RhdGUpO1xyXG5cclxuICAgICAgICAgICAgY29uc3QgbG9hZGVkX3Nlc3Npb24gPSBuZXcgRXNvbHZlU2Vzc2lvbihcclxuICAgICAgICAgICAgICAgIHN0b3JlZF9zZXNzaW9uLmlkLFxyXG4gICAgICAgICAgICAgICAgc3RvcmVkX3Nlc3Npb24uX2tleSxcclxuICAgICAgICAgICAgICAgIGV4cGlyYXRpb25fZGF0ZVxyXG4gICAgICAgICAgICApO1xyXG5cclxuICAgICAgICAgICAgaWYgKCFsb2FkZWRfc2Vzc2lvbi5leHBpcmVkKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXNzaW9uLm5leHQobG9hZGVkX3Nlc3Npb24pO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZXhwaXJhdGlvbl9kdXJhdGlvbiA9IGV4cGlyYXRpb25fZGF0ZS5nZXRUaW1lKCkgLSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuc3RhcnRUaW1lcihleHBpcmF0aW9uQ2FsbGJhY2ssIGV4cGlyYXRpb25fZHVyYXRpb24pO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgZXhwaXJhdGlvbkNhbGxiYWNrKGxvYWRlZF9zZXNzaW9uKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaGFuZGxlU2Vzc2lvbihcclxuICAgICAgICB1c2VyX2lkOiBudW1iZXIsXHJcbiAgICAgICAga2V5OiBzdHJpbmcsXHJcbiAgICAgICAgZXhwaXJ5X3RpbWU6IG51bWJlcixcclxuICAgICAgICBleHBpcmVzOiBudW1iZXIsXHJcbiAgICAgICAgZXhwaXJhdGlvbkNhbGxiYWNrOiAoKSA9PiB2b2lkXHJcbiAgICApOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBleHBpcmF0aW9uX2RhdGUgPSBuZXcgRGF0ZShleHBpcnlfdGltZSAqIDEwMDApO1xyXG4gICAgICAgIGNvbnN0IHNlc3Npb24gPSBuZXcgRXNvbHZlU2Vzc2lvbih1c2VyX2lkLCBrZXksIGV4cGlyYXRpb25fZGF0ZSk7XHJcblxyXG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMuc3RvcmFnZV9rZXksIEpTT04uc3RyaW5naWZ5KHNlc3Npb24pKTtcclxuICAgICAgICB0aGlzLl9zZXNzaW9uLm5leHQoc2Vzc2lvbik7XHJcbiAgICAgICAgdGhpcy5zdGFydFRpbWVyKGV4cGlyYXRpb25DYWxsYmFjaywgZXhwaXJlcyAqIDEwMDApO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBoYW5kbGVVcGRhdGVTZXNzaW9uKHVzZXJfaWQ6IG51bWJlciwgY2FsbGJhY2s/OiAoKSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgY3VycmVudF9zZXNzaW9uID0gdGhpcy5jdXJyZW50U2Vzc2lvbjtcclxuICAgICAgICBjdXJyZW50X3Nlc3Npb24udXBkYXRlVXNlcih1c2VyX2lkKTtcclxuXHJcbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5zdG9yYWdlX2tleSwgSlNPTi5zdHJpbmdpZnkoY3VycmVudF9zZXNzaW9uKSk7XHJcbiAgICAgICAgdGhpcy5fc2Vzc2lvbi5uZXh0KGN1cnJlbnRfc2Vzc2lvbik7XHJcblxyXG4gICAgICAgIGlmICh0eXBlb2YgY2FsbGJhY2sgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICAgICAgY2FsbGJhY2soKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXN0b3JlZC1zZXNzaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9zZXNzaW9uL2Vzb2x2ZS1zdG9yZWQtc2Vzc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBFc29sdmVTdG9yZWRTZXNzaW9uIHtcclxuICAgIGlkOiBudW1iZXI7XHJcbiAgICBfa2V5OiBzdHJpbmc7XHJcbiAgICBfa2V5X2V4cGlyYXRpb25fZGF0ZTogc3RyaW5nO1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,58 @@
1
+ import { HttpErrorResponse } from '@angular/common/http';
2
+ import { Injectable } from '@angular/core';
3
+ import { throwError } from 'rxjs';
4
+ import { EsolveHttpError } from './esolve-http-error';
5
+ import * as i0 from "@angular/core";
6
+ export class EsolveErrorHandlerService {
7
+ constructor() { }
8
+ parseException(exception) {
9
+ const error = new EsolveHttpError('exception', exception.message || 'Unknown exception has occurred', exception.additional_data.exception_type || 'unknown');
10
+ return error;
11
+ }
12
+ parseErrors(response) {
13
+ const error = new EsolveHttpError('error', 'Unknown error has occurred', 'unknown');
14
+ if ((response.status.state === 'none') && (response.log.length > 0)) {
15
+ error.error_code = 'no_response';
16
+ error.message = 'Response was provided';
17
+ }
18
+ else if (response.status.state === 'error') {
19
+ const login_error_log = response.log[0];
20
+ error.error_code = login_error_log.message_code;
21
+ error.message = login_error_log.message;
22
+ }
23
+ return error;
24
+ }
25
+ handleHttpPostError(service_type, errorRes) {
26
+ if (errorRes instanceof HttpErrorResponse) {
27
+ if (errorRes.status === 500) {
28
+ const server_error = errorRes.error;
29
+ if ((server_error.service_type === service_type) ||
30
+ (server_error.type !== undefined) ||
31
+ (server_error.message !== undefined) ||
32
+ (server_error.additional_data !== undefined)) {
33
+ return throwError(this.parseException(server_error));
34
+ }
35
+ }
36
+ }
37
+ else {
38
+ if (errorRes.type !== undefined) {
39
+ if ((errorRes.type === 'exception') || (errorRes.type === 'error')) {
40
+ return throwError(this.parseException(errorRes));
41
+ }
42
+ }
43
+ else if (errorRes.transaction_type !== undefined) {
44
+ return throwError(this.parseErrors(errorRes));
45
+ }
46
+ }
47
+ return throwError(errorRes);
48
+ }
49
+ }
50
+ EsolveErrorHandlerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: EsolveErrorHandlerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
51
+ EsolveErrorHandlerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: EsolveErrorHandlerService, providedIn: 'root' });
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: EsolveErrorHandlerService, decorators: [{
53
+ type: Injectable,
54
+ args: [{
55
+ providedIn: 'root'
56
+ }]
57
+ }], ctorParameters: function () { return []; } });
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWVycm9yLWhhbmRsZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvc2hhcmVkL2Vycm9yLWhhbmRsZXIvZXNvbHZlLWVycm9yLWhhbmRsZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHOUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQUt0RCxNQUFNLE9BQU8seUJBQXlCO0lBRWxDLGdCQUFnQixDQUFDO0lBRVQsY0FBYyxDQUFDLFNBQTRCO1FBQy9DLE1BQU0sS0FBSyxHQUFHLElBQUksZUFBZSxDQUM3QixXQUFXLEVBQ1gsU0FBUyxDQUFDLE9BQU8sSUFBSSxnQ0FBZ0MsRUFDckQsU0FBUyxDQUFDLGVBQWUsQ0FBQyxjQUFjLElBQUksU0FBUyxDQUN4RCxDQUFDO1FBRUYsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVPLFdBQVcsQ0FBQyxRQUFnQztRQUNoRCxNQUFNLEtBQUssR0FBRyxJQUFJLGVBQWUsQ0FDN0IsT0FBTyxFQUNQLDRCQUE0QixFQUM1QixTQUFTLENBQ1osQ0FBQztRQUVGLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssS0FBSyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxFQUFFO1lBQ2pFLEtBQUssQ0FBQyxVQUFVLEdBQUcsYUFBYSxDQUFDO1lBQ2pDLEtBQUssQ0FBQyxPQUFPLEdBQUcsdUJBQXVCLENBQUM7U0FDM0M7YUFBTSxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxLQUFLLE9BQU8sRUFBRTtZQUMxQyxNQUFNLGVBQWUsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRXhDLEtBQUssQ0FBQyxVQUFVLEdBQUcsZUFBZSxDQUFDLFlBQVksQ0FBQztZQUNoRCxLQUFLLENBQUMsT0FBTyxHQUFHLGVBQWUsQ0FBQyxPQUFPLENBQUM7U0FDM0M7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRU0sbUJBQW1CLENBQUMsWUFBb0IsRUFBRSxRQUFpQztRQUM5RSxJQUFJLFFBQVEsWUFBWSxpQkFBaUIsRUFBRTtZQUN2QyxJQUFJLFFBQVEsQ0FBQyxNQUFNLEtBQUssR0FBRyxFQUFFO2dCQUN6QixNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDO2dCQUVwQyxJQUNJLENBQUMsWUFBWSxDQUFDLFlBQVksS0FBSyxZQUFZLENBQUM7b0JBQzVDLENBQUMsWUFBWSxDQUFDLElBQUksS0FBSyxTQUFTLENBQUM7b0JBQ2pDLENBQUMsWUFBWSxDQUFDLE9BQU8sS0FBSyxTQUFTLENBQUM7b0JBQ3BDLENBQUMsWUFBWSxDQUFDLGVBQWUsS0FBSyxTQUFTLENBQUMsRUFDOUM7b0JBQ0UsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO2lCQUN4RDthQUNKO1NBQ0o7YUFBTTtZQUNILElBQUksUUFBUSxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUU7Z0JBQzdCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxLQUFLLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxPQUFPLENBQUMsRUFBRTtvQkFDaEUsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO2lCQUNwRDthQUNKO2lCQUFNLElBQUksUUFBUSxDQUFDLGdCQUFnQixLQUFLLFNBQVMsRUFBRTtnQkFDaEQsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO2FBQ2pEO1NBQ0o7UUFFRCxPQUFPLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNoQyxDQUFDOztzSEEzRFEseUJBQXlCOzBIQUF6Qix5QkFBeUIsY0FGdEIsTUFBTTsyRkFFVCx5QkFBeUI7a0JBSHJDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IE9ic2VydmFibGUsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IEVzb2x2ZVBvc3RSZXNwb25zZUl0ZW0sIEVzb2x2ZVNldFJlc3BvbnNlIH0gZnJvbSAnLi4vZXNvbHZlLXJlc3BvbnNlJztcclxuaW1wb3J0IHsgRXNvbHZlSHR0cEVycm9yIH0gZnJvbSAnLi9lc29sdmUtaHR0cC1lcnJvcic7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEVzb2x2ZUVycm9ySGFuZGxlclNlcnZpY2Uge1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gICAgcHJpdmF0ZSBwYXJzZUV4Y2VwdGlvbihleGNlcHRpb246IEVzb2x2ZVNldFJlc3BvbnNlKTogRXNvbHZlSHR0cEVycm9yIHtcclxuICAgICAgICBjb25zdCBlcnJvciA9IG5ldyBFc29sdmVIdHRwRXJyb3IoXHJcbiAgICAgICAgICAgICdleGNlcHRpb24nLFxyXG4gICAgICAgICAgICBleGNlcHRpb24ubWVzc2FnZSB8fCAnVW5rbm93biBleGNlcHRpb24gaGFzIG9jY3VycmVkJyxcclxuICAgICAgICAgICAgZXhjZXB0aW9uLmFkZGl0aW9uYWxfZGF0YS5leGNlcHRpb25fdHlwZSB8fCAndW5rbm93bidcclxuICAgICAgICApO1xyXG5cclxuICAgICAgICByZXR1cm4gZXJyb3I7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBwYXJzZUVycm9ycyhyZXNwb25zZTogRXNvbHZlUG9zdFJlc3BvbnNlSXRlbSk6IEVzb2x2ZUh0dHBFcnJvciB7XHJcbiAgICAgICAgY29uc3QgZXJyb3IgPSBuZXcgRXNvbHZlSHR0cEVycm9yKFxyXG4gICAgICAgICAgICAnZXJyb3InLFxyXG4gICAgICAgICAgICAnVW5rbm93biBlcnJvciBoYXMgb2NjdXJyZWQnLFxyXG4gICAgICAgICAgICAndW5rbm93bidcclxuICAgICAgICApO1xyXG5cclxuICAgICAgICBpZiAoKHJlc3BvbnNlLnN0YXR1cy5zdGF0ZSA9PT0gJ25vbmUnKSAmJiAocmVzcG9uc2UubG9nLmxlbmd0aCA+IDApKSB7XHJcbiAgICAgICAgICAgIGVycm9yLmVycm9yX2NvZGUgPSAnbm9fcmVzcG9uc2UnO1xyXG4gICAgICAgICAgICBlcnJvci5tZXNzYWdlID0gJ1Jlc3BvbnNlIHdhcyBwcm92aWRlZCc7XHJcbiAgICAgICAgfSBlbHNlIGlmIChyZXNwb25zZS5zdGF0dXMuc3RhdGUgPT09ICdlcnJvcicpIHtcclxuICAgICAgICAgICAgY29uc3QgbG9naW5fZXJyb3JfbG9nID0gcmVzcG9uc2UubG9nWzBdO1xyXG5cclxuICAgICAgICAgICAgZXJyb3IuZXJyb3JfY29kZSA9IGxvZ2luX2Vycm9yX2xvZy5tZXNzYWdlX2NvZGU7XHJcbiAgICAgICAgICAgIGVycm9yLm1lc3NhZ2UgPSBsb2dpbl9lcnJvcl9sb2cubWVzc2FnZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBlcnJvcjtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaGFuZGxlSHR0cFBvc3RFcnJvcihzZXJ2aWNlX3R5cGU6IHN0cmluZywgZXJyb3JSZXM6IEh0dHBFcnJvclJlc3BvbnNlIHwgYW55KTogT2JzZXJ2YWJsZTxuZXZlcj4ge1xyXG4gICAgICAgIGlmIChlcnJvclJlcyBpbnN0YW5jZW9mIEh0dHBFcnJvclJlc3BvbnNlKSB7XHJcbiAgICAgICAgICAgIGlmIChlcnJvclJlcy5zdGF0dXMgPT09IDUwMCkge1xyXG4gICAgICAgICAgICAgICAgY29uc3Qgc2VydmVyX2Vycm9yID0gZXJyb3JSZXMuZXJyb3I7XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAgICAgICAgIChzZXJ2ZXJfZXJyb3Iuc2VydmljZV90eXBlID09PSBzZXJ2aWNlX3R5cGUpIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgKHNlcnZlcl9lcnJvci50eXBlICE9PSB1bmRlZmluZWQpIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgKHNlcnZlcl9lcnJvci5tZXNzYWdlICE9PSB1bmRlZmluZWQpIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgKHNlcnZlcl9lcnJvci5hZGRpdGlvbmFsX2RhdGEgIT09IHVuZGVmaW5lZClcclxuICAgICAgICAgICAgICAgICkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKHRoaXMucGFyc2VFeGNlcHRpb24oc2VydmVyX2Vycm9yKSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoZXJyb3JSZXMudHlwZSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoKGVycm9yUmVzLnR5cGUgPT09ICdleGNlcHRpb24nKSB8fCAoZXJyb3JSZXMudHlwZSA9PT0gJ2Vycm9yJykpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcih0aGlzLnBhcnNlRXhjZXB0aW9uKGVycm9yUmVzKSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoZXJyb3JSZXMudHJhbnNhY3Rpb25fdHlwZSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcih0aGlzLnBhcnNlRXJyb3JzKGVycm9yUmVzKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycm9yUmVzKTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXJlc3BvbnNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9zaGFyZWQvZXNvbHZlLXJlc3BvbnNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEVzb2x2ZUdldFJlc3BvbnNlPFQgPSBhbnk+IHtcclxuICAgIHNlcnZpY2VfdHlwZTogc3RyaW5nO1xyXG4gICAgdHlwZTogc3RyaW5nO1xyXG4gICAgbWVzc2FnZTogc3RyaW5nO1xyXG4gICAgYWRkaXRpb25hbF9kYXRhOiBhbnk7XHJcbiAgICBtZXRob2Q/OiBzdHJpbmc7XHJcbiAgICByZWNvcmRzPzogVDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBFc29sdmVTZXRSZXNwb25zZTxUID0gRXNvbHZlUG9zdFJlc3BvbnNlSXRlbT4ge1xyXG4gICAgc2VydmljZV90eXBlOiBzdHJpbmc7XHJcbiAgICB0eXBlOiBzdHJpbmc7XHJcbiAgICBtZXNzYWdlOiBzdHJpbmc7XHJcbiAgICBhZGRpdGlvbmFsX2RhdGE6IGFueTtcclxuICAgIG1ldGhvZD86IHN0cmluZztcclxuICAgIHJlc3BvbnNlcz86IFRbXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBFc29sdmVQb3N0UmVzcG9uc2VJdGVtIHtcclxuICAgIGlkOiBzdHJpbmcgfCBudW1iZXI7XHJcbiAgICBlc29sdmVfaWQ6IHN0cmluZyB8IG51bWJlcjtcclxuICAgIHRyYW5zYWN0aW9uX3R5cGU6IHN0cmluZztcclxuICAgIHN0YXR1czogRXNvbHZlUG9zdFJlc3BvbnNlU3RhdHVzO1xyXG4gICAgbG9nOiBFc29sdmVSZXNwb25zZUxvZ0l0ZW1bXTtcclxufVxyXG5cclxuaW50ZXJmYWNlIEVzb2x2ZVBvc3RSZXNwb25zZVN0YXR1cyB7XHJcbiAgICBzdGF0ZTogJ3dhcm5pbmcnIHwgJ3N1Y2Nlc3MnIHwgJ2Vycm9yJyB8ICdub25lJztcclxuICAgIGVycm9yczogbnVtYmVyO1xyXG4gICAgc3VjY2VzczogbnVtYmVyO1xyXG59XHJcblxyXG5pbnRlcmZhY2UgRXNvbHZlUmVzcG9uc2VMb2dJdGVtIHtcclxuICAgIHR5cGU6ICdzdWNjZXNzJyB8ICdlcnJvcic7XHJcbiAgICBtZXNzYWdlX2NvZGU6IHN0cmluZztcclxuICAgIG1lc3NhZ2U6IHN0cmluZztcclxufVxyXG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXJlc3BvbnNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9zaGFyZWQvZXNvbHZlLXJlc3BvbnNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEVzb2x2ZUdldFJlc3BvbnNlPFQgPSBhbnk+IHtcclxuICAgIHNlcnZpY2VfdHlwZTogc3RyaW5nO1xyXG4gICAgdHlwZTogc3RyaW5nO1xyXG4gICAgbWVzc2FnZTogc3RyaW5nO1xyXG4gICAgYWRkaXRpb25hbF9kYXRhOiBhbnk7XHJcbiAgICBtZXRob2Q/OiBzdHJpbmc7XHJcbiAgICByZWNvcmRzPzogVDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBFc29sdmVTZXRSZXNwb25zZTxUID0gRXNvbHZlUG9zdFJlc3BvbnNlSXRlbT4ge1xyXG4gICAgc2VydmljZV90eXBlOiBzdHJpbmc7XHJcbiAgICB0eXBlOiBzdHJpbmc7XHJcbiAgICBtZXNzYWdlOiBzdHJpbmc7XHJcbiAgICBhZGRpdGlvbmFsX2RhdGE6IGFueTtcclxuICAgIG1ldGhvZD86IHN0cmluZztcclxuICAgIHJlc3BvbnNlcz86IFRbXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBFc29sdmVQb3N0UmVzcG9uc2VJdGVtIHtcclxuICAgIGlkOiBzdHJpbmcgfCBudW1iZXI7XHJcbiAgICBlc29sdmVfaWQ6IHN0cmluZyB8IG51bWJlcjtcclxuICAgIHRyYW5zYWN0aW9uX3R5cGU6IHN0cmluZztcclxuICAgIHN0YXR1czogRXNvbHZlUG9zdFJlc3BvbnNlU3RhdHVzO1xyXG4gICAgbG9nOiBFc29sdmVSZXNwb25zZUxvZ0l0ZW1bXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBFc29sdmVSZXNwb25zZUxvZ0l0ZW0ge1xyXG4gICAgdHlwZTogJ3N1Y2Nlc3MnIHwgJ2Vycm9yJztcclxuICAgIG1lc3NhZ2VfY29kZTogc3RyaW5nO1xyXG4gICAgbWVzc2FnZTogc3RyaW5nO1xyXG59XHJcblxyXG5pbnRlcmZhY2UgRXNvbHZlUG9zdFJlc3BvbnNlU3RhdHVzIHtcclxuICAgIHN0YXRlOiAnd2FybmluZycgfCAnc3VjY2VzcycgfCAnZXJyb3InIHwgJ25vbmUnO1xyXG4gICAgZXJyb3JzOiBudW1iZXI7XHJcbiAgICBzdWNjZXNzOiBudW1iZXI7XHJcbn1cclxuXHJcbiJdfQ==