fintoc 1.1.2 → 1.2.0

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 (188) hide show
  1. package/README.md +75 -296
  2. package/build/main/index.d.ts +3 -0
  3. package/build/main/index.js +13 -2
  4. package/build/main/interfaces/client/constructorOptions.d.ts +1 -0
  5. package/build/main/interfaces/client/index.js +6 -2
  6. package/build/main/interfaces/client/requestOptions.d.ts +1 -0
  7. package/build/main/interfaces/mixins/index.js +6 -2
  8. package/build/main/interfaces/paginator/index.js +6 -2
  9. package/build/main/interfaces/paginator/paginationOptions.d.ts +1 -0
  10. package/build/main/lib/client.d.ts +6 -1
  11. package/build/main/lib/client.js +50 -24
  12. package/build/main/lib/core.d.ts +18 -2
  13. package/build/main/lib/core.js +23 -6
  14. package/build/main/lib/errors.d.ts +2 -0
  15. package/build/main/lib/errors.js +5 -2
  16. package/build/main/lib/jws.d.ts +25 -0
  17. package/build/main/lib/jws.js +130 -0
  18. package/build/main/lib/managers/accountsManager.d.ts +4 -0
  19. package/build/main/lib/managers/accountsManager.js +7 -2
  20. package/build/main/lib/managers/index.js +6 -2
  21. package/build/main/lib/managers/invoicesManager.js +2 -2
  22. package/build/main/lib/managers/linksManager.js +2 -2
  23. package/build/main/lib/managers/movementsManager.js +2 -2
  24. package/build/main/lib/managers/paymentIntentsManager.js +2 -2
  25. package/build/main/lib/managers/refreshIntentsManager.js +2 -2
  26. package/build/main/lib/managers/subscriptionsManager.js +2 -2
  27. package/build/main/lib/managers/taxReturnsManager.js +2 -2
  28. package/build/main/lib/managers/v2/accountNumbersManager.d.ts +6 -0
  29. package/build/main/lib/managers/v2/accountNumbersManager.js +10 -0
  30. package/build/main/lib/managers/v2/accountsManager.d.ts +6 -0
  31. package/build/main/lib/managers/v2/accountsManager.js +10 -0
  32. package/build/main/lib/managers/v2/index.d.ts +4 -0
  33. package/build/main/lib/managers/v2/index.js +21 -0
  34. package/build/main/lib/managers/v2/simulateManager.d.ts +8 -0
  35. package/build/main/lib/managers/v2/simulateManager.js +15 -0
  36. package/build/main/lib/managers/v2/transfersManager.d.ts +6 -0
  37. package/build/main/lib/managers/v2/transfersManager.js +10 -0
  38. package/build/main/lib/managers/webhookEndpointsManager.js +2 -2
  39. package/build/main/lib/mixins/index.js +6 -2
  40. package/build/main/lib/mixins/managerMixin.d.ts +21 -6
  41. package/build/main/lib/mixins/managerMixin.js +35 -19
  42. package/build/main/lib/mixins/resourceMixin.js +10 -11
  43. package/build/main/lib/paginator.d.ts +1 -1
  44. package/build/main/lib/paginator.js +16 -13
  45. package/build/main/lib/resourceHandlers.d.ts +1 -1
  46. package/build/main/lib/resourceHandlers.js +15 -14
  47. package/build/main/lib/resources/account.d.ts +4 -0
  48. package/build/main/lib/resources/account.js +7 -2
  49. package/build/main/lib/resources/link.d.ts +20 -0
  50. package/build/main/lib/resources/link.js +31 -6
  51. package/build/main/lib/resources/v2/account.d.ts +3 -0
  52. package/build/main/lib/resources/v2/account.js +8 -0
  53. package/build/main/lib/resources/v2/accountNumber.d.ts +3 -0
  54. package/build/main/lib/resources/v2/accountNumber.js +8 -0
  55. package/build/main/lib/resources/v2/index.d.ts +3 -0
  56. package/build/main/lib/resources/v2/index.js +20 -0
  57. package/build/main/lib/resources/v2/transfer.d.ts +3 -0
  58. package/build/main/lib/resources/v2/transfer.js +8 -0
  59. package/build/main/lib/utils.d.ts +3 -3
  60. package/build/main/lib/utils.js +36 -23
  61. package/build/main/lib/version.js +1 -1
  62. package/build/main/lib/webhook.d.ts +17 -0
  63. package/build/main/lib/webhook.js +109 -0
  64. package/build/main/spec/client/creationFunctionality.spec.js +11 -11
  65. package/build/main/spec/client/requestFunctionality.spec.js +36 -11
  66. package/build/main/spec/core.spec.js +2 -2
  67. package/build/main/spec/integration.spec.d.ts +1 -0
  68. package/build/main/spec/integration.spec.js +587 -0
  69. package/build/main/spec/jws.spec.d.ts +1 -0
  70. package/build/main/spec/jws.spec.js +185 -0
  71. package/build/main/spec/managers/linkManagers.spec.js +5 -5
  72. package/build/main/spec/mixins/managerMixin/creation.spec.js +9 -9
  73. package/build/main/spec/mixins/managerMixin/handlers.spec.js +10 -14
  74. package/build/main/spec/mixins/managerMixin/methods.spec.js +10 -10
  75. package/build/main/spec/mixins/managerMixin/mocks/complexMockManager.d.ts +1 -1
  76. package/build/main/spec/mixins/managerMixin/mocks/complexMockManager.js +4 -4
  77. package/build/main/spec/mixins/managerMixin/mocks/emptyMockManager.js +2 -2
  78. package/build/main/spec/mixins/resourceMixin/creation.spec.js +6 -6
  79. package/build/main/spec/mixins/resourceMixin/methods.spec.js +7 -7
  80. package/build/main/spec/mixins/resourceMixin/serialization.spec.js +5 -5
  81. package/build/main/spec/mocks/client/axiosInstance.js +6 -5
  82. package/build/main/spec/mocks/client/response.d.ts +3 -0
  83. package/build/main/spec/mocks/client/response.js +8 -3
  84. package/build/main/spec/mocks/initializers.d.ts +1 -1
  85. package/build/main/spec/mocks/initializers.js +4 -5
  86. package/build/main/spec/paginator/paginate.spec.js +7 -7
  87. package/build/main/spec/paginator/parseLink.spec.js +13 -13
  88. package/build/main/spec/paginator/parseLinkHeaders.spec.js +8 -8
  89. package/build/main/spec/paginator/request.spec.js +10 -8
  90. package/build/main/spec/resources/account.spec.js +2 -2
  91. package/build/main/spec/resources/link.spec.js +6 -6
  92. package/build/main/spec/shared/utils.js +3 -4
  93. package/build/main/spec/utils/canRaiseHTTPError.spec.js +4 -4
  94. package/build/main/spec/utils/getErrorClass.spec.js +5 -5
  95. package/build/main/spec/utils/getResourceClass.spec.js +13 -13
  96. package/build/main/spec/utils/isISODate.spec.js +5 -5
  97. package/build/main/spec/utils/objetize.spec.js +14 -14
  98. package/build/main/spec/utils/objetizeGenerator.spec.js +6 -6
  99. package/build/main/spec/utils/serialize.spec.js +14 -14
  100. package/build/main/spec/utils/shared/getGenerator.js +2 -3
  101. package/build/main/spec/utils/singularize.spec.js +7 -7
  102. package/build/main/spec/utils/snakeToPascal.spec.js +7 -7
  103. package/build/main/spec/webhook.spec.d.ts +1 -0
  104. package/build/main/spec/webhook.spec.js +120 -0
  105. package/build/main/types/genericFunction.d.ts +1 -1
  106. package/build/main/types/index.js +6 -2
  107. package/build/main/types/resourceArguments.d.ts +1 -1
  108. package/build/module/index.d.ts +3 -0
  109. package/build/module/index.js +4 -1
  110. package/build/module/interfaces/client/constructorOptions.d.ts +1 -0
  111. package/build/module/interfaces/client/requestOptions.d.ts +1 -0
  112. package/build/module/interfaces/paginator/paginationOptions.d.ts +1 -0
  113. package/build/module/lib/client.d.ts +6 -1
  114. package/build/module/lib/client.js +41 -14
  115. package/build/module/lib/core.d.ts +18 -2
  116. package/build/module/lib/core.js +35 -8
  117. package/build/module/lib/errors.d.ts +2 -0
  118. package/build/module/lib/errors.js +3 -1
  119. package/build/module/lib/jws.d.ts +25 -0
  120. package/build/module/lib/jws.js +94 -0
  121. package/build/module/lib/managers/accountsManager.d.ts +4 -0
  122. package/build/module/lib/managers/accountsManager.js +8 -2
  123. package/build/module/lib/managers/invoicesManager.js +2 -2
  124. package/build/module/lib/managers/linksManager.js +2 -2
  125. package/build/module/lib/managers/movementsManager.js +2 -2
  126. package/build/module/lib/managers/paymentIntentsManager.js +2 -2
  127. package/build/module/lib/managers/refreshIntentsManager.js +2 -2
  128. package/build/module/lib/managers/subscriptionsManager.js +2 -2
  129. package/build/module/lib/managers/taxReturnsManager.js +2 -2
  130. package/build/module/lib/managers/v2/accountNumbersManager.d.ts +6 -0
  131. package/build/module/lib/managers/v2/accountNumbersManager.js +6 -0
  132. package/build/module/lib/managers/v2/accountsManager.d.ts +6 -0
  133. package/build/module/lib/managers/v2/accountsManager.js +6 -0
  134. package/build/module/lib/managers/v2/index.d.ts +4 -0
  135. package/build/module/lib/managers/v2/index.js +5 -0
  136. package/build/module/lib/managers/v2/simulateManager.d.ts +8 -0
  137. package/build/module/lib/managers/v2/simulateManager.js +11 -0
  138. package/build/module/lib/managers/v2/transfersManager.d.ts +6 -0
  139. package/build/module/lib/managers/v2/transfersManager.js +6 -0
  140. package/build/module/lib/managers/webhookEndpointsManager.js +2 -2
  141. package/build/module/lib/mixins/managerMixin.d.ts +21 -6
  142. package/build/module/lib/mixins/managerMixin.js +32 -16
  143. package/build/module/lib/mixins/resourceMixin.js +2 -3
  144. package/build/module/lib/paginator.d.ts +1 -1
  145. package/build/module/lib/paginator.js +12 -8
  146. package/build/module/lib/resourceHandlers.d.ts +1 -1
  147. package/build/module/lib/resourceHandlers.js +5 -3
  148. package/build/module/lib/resources/account.d.ts +4 -0
  149. package/build/module/lib/resources/account.js +7 -2
  150. package/build/module/lib/resources/link.d.ts +20 -0
  151. package/build/module/lib/resources/link.js +31 -6
  152. package/build/module/lib/resources/v2/account.d.ts +3 -0
  153. package/build/module/lib/resources/v2/account.js +4 -0
  154. package/build/module/lib/resources/v2/accountNumber.d.ts +3 -0
  155. package/build/module/lib/resources/v2/accountNumber.js +4 -0
  156. package/build/module/lib/resources/v2/index.d.ts +3 -0
  157. package/build/module/lib/resources/v2/index.js +4 -0
  158. package/build/module/lib/resources/v2/transfer.d.ts +3 -0
  159. package/build/module/lib/resources/v2/transfer.js +4 -0
  160. package/build/module/lib/utils.d.ts +3 -3
  161. package/build/module/lib/utils.js +1 -1
  162. package/build/module/lib/version.js +1 -1
  163. package/build/module/lib/webhook.d.ts +17 -0
  164. package/build/module/lib/webhook.js +72 -0
  165. package/build/module/spec/client/creationFunctionality.spec.js +6 -6
  166. package/build/module/spec/client/requestFunctionality.spec.js +26 -1
  167. package/build/module/spec/integration.spec.d.ts +1 -0
  168. package/build/module/spec/integration.spec.js +582 -0
  169. package/build/module/spec/jws.spec.d.ts +1 -0
  170. package/build/module/spec/jws.spec.js +147 -0
  171. package/build/module/spec/mixins/managerMixin/handlers.spec.js +6 -10
  172. package/build/module/spec/mixins/managerMixin/methods.spec.js +1 -1
  173. package/build/module/spec/mixins/managerMixin/mocks/complexMockManager.d.ts +1 -1
  174. package/build/module/spec/mixins/managerMixin/mocks/complexMockManager.js +4 -4
  175. package/build/module/spec/mixins/managerMixin/mocks/emptyMockManager.js +2 -2
  176. package/build/module/spec/mocks/client/axiosInstance.js +4 -3
  177. package/build/module/spec/mocks/client/response.d.ts +3 -0
  178. package/build/module/spec/mocks/client/response.js +9 -3
  179. package/build/module/spec/mocks/initializers.d.ts +1 -1
  180. package/build/module/spec/paginator/paginate.spec.js +2 -2
  181. package/build/module/spec/paginator/request.spec.js +6 -4
  182. package/build/module/spec/utils/objetizeGenerator.spec.js +1 -1
  183. package/build/module/spec/utils/shared/getGenerator.js +1 -1
  184. package/build/module/spec/webhook.spec.d.ts +1 -0
  185. package/build/module/spec/webhook.spec.js +115 -0
  186. package/build/module/types/genericFunction.d.ts +1 -1
  187. package/build/module/types/resourceArguments.d.ts +1 -1
  188. package/package.json +7 -7
@@ -37,45 +37,70 @@ class Link extends resourceMixin_1.ResourceMixin {
37
37
  get _linkToken() {
38
38
  return __classPrivateFieldGet(this, _Link_linkToken, "f");
39
39
  }
40
+ /**
41
+ * @deprecated This method is deprecated and will be removed in a future version.
42
+ * Please use the Fintoc client directly to access accounts. See: https://github.com/fintoc-com/fintoc-node/pull/34
43
+ */
40
44
  get accounts() {
45
+ console.warn('Warning: Link.accounts is deprecated and will be removed in a future version. Please use the Fintoc client directly to access accounts. See: https://github.com/fintoc-com/fintoc-node/pull/34');
41
46
  if (__classPrivateFieldGet(this, _Link_accountsManager, "f") === undefined) {
42
- __classPrivateFieldSet(this, _Link_accountsManager, new managers_1.AccountsManager('/accounts', this._useClient()), "f");
47
+ __classPrivateFieldSet(this, _Link_accountsManager, new managers_1.AccountsManager('/v1/accounts', this._useClient()), "f");
43
48
  }
44
49
  return __classPrivateFieldGet(this, _Link_accountsManager, "f");
45
50
  }
46
51
  set accounts(newValue) {
47
52
  throw new ReferenceError('Attribute name corresponds to a manager');
48
53
  }
54
+ /**
55
+ * @deprecated This method is deprecated and will be removed in a future version.
56
+ * Please use the Fintoc client directly to access subscriptions. See: https://github.com/fintoc-com/fintoc-node/pull/34
57
+ */
49
58
  get subscriptions() {
59
+ console.warn('Warning: Link.subscriptions is deprecated and will be removed in a future version. Please use the Fintoc client directly to access subscriptions. See: https://github.com/fintoc-com/fintoc-node/pull/34');
50
60
  if (__classPrivateFieldGet(this, _Link_subscriptionsManager, "f") === undefined) {
51
- __classPrivateFieldSet(this, _Link_subscriptionsManager, new managers_1.SubscriptionsManager('/subscriptions', this._useClient()), "f");
61
+ __classPrivateFieldSet(this, _Link_subscriptionsManager, new managers_1.SubscriptionsManager('/v1/subscriptions', this._useClient()), "f");
52
62
  }
53
63
  return __classPrivateFieldGet(this, _Link_subscriptionsManager, "f");
54
64
  }
55
65
  set subscriptions(newValue) {
56
66
  throw new ReferenceError('Attribute name corresponds to a manager');
57
67
  }
68
+ /**
69
+ * @deprecated This method is deprecated and will be removed in a future version.
70
+ * Please use the Fintoc client directly to access taxReturns. See: https://github.com/fintoc-com/fintoc-node/pull/34
71
+ */
58
72
  get taxReturns() {
73
+ console.warn('Warning: Link.taxReturns is deprecated and will be removed in a future version. Please use the Fintoc client directly to access taxReturns. See: https://github.com/fintoc-com/fintoc-node/pull/34');
59
74
  if (__classPrivateFieldGet(this, _Link_taxReturnsManager, "f") === undefined) {
60
- __classPrivateFieldSet(this, _Link_taxReturnsManager, new managers_1.TaxReturnsManager('/tax_returns', this._useClient()), "f");
75
+ __classPrivateFieldSet(this, _Link_taxReturnsManager, new managers_1.TaxReturnsManager('/v1/tax_returns', this._useClient()), "f");
61
76
  }
62
77
  return __classPrivateFieldGet(this, _Link_taxReturnsManager, "f");
63
78
  }
64
79
  set taxReturns(newValue) {
65
80
  throw new ReferenceError('Attribute name corresponds to a manager');
66
81
  }
82
+ /**
83
+ * @deprecated This method is deprecated and will be removed in a future version.
84
+ * Please use the Fintoc client directly to access invoices. See: https://github.com/fintoc-com/fintoc-node/pull/34
85
+ */
67
86
  get invoices() {
87
+ console.warn('Warning: Link.invoices is deprecated and will be removed in a future version. Please use the Fintoc client directly to access invoices. See: https://github.com/fintoc-com/fintoc-node/pull/34');
68
88
  if (__classPrivateFieldGet(this, _Link_invoicesManager, "f") === undefined) {
69
- __classPrivateFieldSet(this, _Link_invoicesManager, new managers_1.InvoicesManager('/invoices', this._useClient()), "f");
89
+ __classPrivateFieldSet(this, _Link_invoicesManager, new managers_1.InvoicesManager('/v1/invoices', this._useClient()), "f");
70
90
  }
71
91
  return __classPrivateFieldGet(this, _Link_invoicesManager, "f");
72
92
  }
73
93
  set invoices(newValue) {
74
94
  throw new ReferenceError('Attribute name corresponds to a manager');
75
95
  }
96
+ /**
97
+ * @deprecated This method is deprecated and will be removed in a future version.
98
+ * Please use the Fintoc client directly to access refreshIntents. See: https://github.com/fintoc-com/fintoc-node/pull/34
99
+ */
76
100
  get refreshIntents() {
101
+ console.warn('Warning: Link.refreshIntents is deprecated and will be removed in a future version. Please use the Fintoc client directly to access refreshIntents. See: https://github.com/fintoc-com/fintoc-node/pull/34');
77
102
  if (__classPrivateFieldGet(this, _Link_refreshIntentsManager, "f") === undefined) {
78
- __classPrivateFieldSet(this, _Link_refreshIntentsManager, new managers_1.RefreshIntentsManager('/refresh_intents', this._useClient()), "f");
103
+ __classPrivateFieldSet(this, _Link_refreshIntentsManager, new managers_1.RefreshIntentsManager('/v1/refresh_intents', this._useClient()), "f");
79
104
  }
80
105
  return __classPrivateFieldGet(this, _Link_refreshIntentsManager, "f");
81
106
  }
@@ -86,4 +111,4 @@ class Link extends resourceMixin_1.ResourceMixin {
86
111
  exports.Link = Link;
87
112
  _Link_accountsManager = new WeakMap(), _Link_subscriptionsManager = new WeakMap(), _Link_taxReturnsManager = new WeakMap(), _Link_invoicesManager = new WeakMap(), _Link_refreshIntentsManager = new WeakMap(), _Link_linkToken = new WeakMap();
88
113
  Link.resourceIdentifier = '_linkToken';
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvcmVzb3VyY2VzL2xpbmsudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBRUEsMENBRXFCO0FBQ3JCLDJEQUF3RDtBQUV4RCxNQUFhLElBQUssU0FBUSw2QkFBbUI7SUFZM0MsWUFDRSxNQUFjLEVBQ2QsUUFBeUMsRUFDekMsT0FBaUIsRUFDakIsSUFBWSxFQUNaLE9BQTRCO1FBRTVCLEtBQUssQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFoQmxELHdDQUFtQztRQUNuQyw2Q0FBNkM7UUFDN0MsMENBQXVDO1FBQ3ZDLHdDQUFtQztRQUNuQyw4Q0FBK0M7UUFFL0MsK0NBQStDO1FBQy9DLGtDQUFvQjtRQVVsQix1QkFBQSxJQUFJLHlCQUFvQixTQUFTLE1BQUEsQ0FBQztRQUNsQyx1QkFBQSxJQUFJLDhCQUF5QixTQUFTLE1BQUEsQ0FBQztRQUN2Qyx1QkFBQSxJQUFJLDJCQUFzQixTQUFTLE1BQUEsQ0FBQztRQUNwQyx1QkFBQSxJQUFJLHlCQUFvQixTQUFTLE1BQUEsQ0FBQztRQUNsQyx1QkFBQSxJQUFJLCtCQUEwQixTQUFTLE1BQUEsQ0FBQztJQUMxQyxDQUFDO0lBRVMsYUFBYSxDQUFDLFlBQW9CO1FBQzFDLHVCQUFBLElBQUksbUJBQWMsWUFBWSxNQUFBLENBQUM7SUFDakMsQ0FBQztJQUVELElBQWMsVUFBVTtRQUN0QixPQUFPLHVCQUFBLElBQUksdUJBQVcsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsSUFBSSx1QkFBQSxJQUFJLDZCQUFpQixLQUFLLFNBQVMsRUFBRTtZQUN2Qyx1QkFBQSxJQUFJLHlCQUFvQixJQUFJLDBCQUFlLENBQ3pDLFdBQVcsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQy9CLE1BQUEsQ0FBQztTQUNIO1FBQ0QsT0FBTyx1QkFBQSxJQUFJLDZCQUFpQixDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFJLFFBQVEsQ0FBQyxRQUFRO1FBQ25CLE1BQU0sSUFBSSxjQUFjLENBQUMseUNBQXlDLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsSUFBSSx1QkFBQSxJQUFJLGtDQUFzQixLQUFLLFNBQVMsRUFBRTtZQUM1Qyx1QkFBQSxJQUFJLDhCQUF5QixJQUFJLCtCQUFvQixDQUNuRCxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQ3BDLE1BQUEsQ0FBQztTQUNIO1FBQ0QsT0FBTyx1QkFBQSxJQUFJLGtDQUFzQixDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUFJLGFBQWEsQ0FBQyxRQUFRO1FBQ3hCLE1BQU0sSUFBSSxjQUFjLENBQUMseUNBQXlDLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1osSUFBSSx1QkFBQSxJQUFJLCtCQUFtQixLQUFLLFNBQVMsRUFBRTtZQUN6Qyx1QkFBQSxJQUFJLDJCQUFzQixJQUFJLDRCQUFpQixDQUM3QyxjQUFjLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUNsQyxNQUFBLENBQUM7U0FDSDtRQUNELE9BQU8sdUJBQUEsSUFBSSwrQkFBbUIsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBSSxVQUFVLENBQUMsUUFBUTtRQUNyQixNQUFNLElBQUksY0FBYyxDQUFDLHlDQUF5QyxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLElBQUksdUJBQUEsSUFBSSw2QkFBaUIsS0FBSyxTQUFTLEVBQUU7WUFDdkMsdUJBQUEsSUFBSSx5QkFBb0IsSUFBSSwwQkFBZSxDQUN6QyxXQUFXLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUMvQixNQUFBLENBQUM7U0FDSDtRQUNELE9BQU8sdUJBQUEsSUFBSSw2QkFBaUIsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBSSxRQUFRLENBQUMsUUFBUTtRQUNuQixNQUFNLElBQUksY0FBYyxDQUFDLHlDQUF5QyxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVELElBQUksY0FBYztRQUNoQixJQUFJLHVCQUFBLElBQUksbUNBQXVCLEtBQUssU0FBUyxFQUFFO1lBQzdDLHVCQUFBLElBQUksK0JBQTBCLElBQUksZ0NBQXFCLENBQ3JELGtCQUFrQixFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FDdEMsTUFBQSxDQUFDO1NBQ0g7UUFDRCxPQUFPLHVCQUFBLElBQUksbUNBQXVCLENBQUM7SUFDckMsQ0FBQztJQUVELElBQUksY0FBYyxDQUFDLFFBQVE7UUFDekIsTUFBTSxJQUFJLGNBQWMsQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7O0FBbEdILG9CQW1HQzs7QUFsR1EsdUJBQWtCLEdBQUcsWUFBWSxDQUFDIn0=
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvcmVzb3VyY2VzL2xpbmsudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBRUEsMENBRXFCO0FBQ3JCLDJEQUF3RDtBQUV4RCxNQUFhLElBQUssU0FBUSw2QkFBbUI7SUFZM0MsWUFDRSxNQUFjLEVBQ2QsUUFBeUMsRUFDekMsT0FBaUIsRUFDakIsSUFBWSxFQUNaLE9BQTRCO1FBRTVCLEtBQUssQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFoQmxELHdDQUFtQztRQUNuQyw2Q0FBNkM7UUFDN0MsMENBQXVDO1FBQ3ZDLHdDQUFtQztRQUNuQyw4Q0FBK0M7UUFFL0MsK0NBQStDO1FBQy9DLGtDQUFvQjtRQVVsQix1QkFBQSxJQUFJLHlCQUFvQixTQUFTLE1BQUEsQ0FBQztRQUNsQyx1QkFBQSxJQUFJLDhCQUF5QixTQUFTLE1BQUEsQ0FBQztRQUN2Qyx1QkFBQSxJQUFJLDJCQUFzQixTQUFTLE1BQUEsQ0FBQztRQUNwQyx1QkFBQSxJQUFJLHlCQUFvQixTQUFTLE1BQUEsQ0FBQztRQUNsQyx1QkFBQSxJQUFJLCtCQUEwQixTQUFTLE1BQUEsQ0FBQztJQUMxQyxDQUFDO0lBRVMsYUFBYSxDQUFDLFlBQW9CO1FBQzFDLHVCQUFBLElBQUksbUJBQWMsWUFBWSxNQUFBLENBQUM7SUFDakMsQ0FBQztJQUVELElBQWMsVUFBVTtRQUN0QixPQUFPLHVCQUFBLElBQUksdUJBQVcsQ0FBQztJQUN6QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBSSxRQUFRO1FBQ1YsT0FBTyxDQUFDLElBQUksQ0FBQyxnTUFBZ00sQ0FBQyxDQUFDO1FBQy9NLElBQUksdUJBQUEsSUFBSSw2QkFBaUIsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN4Qyx1QkFBQSxJQUFJLHlCQUFvQixJQUFJLDBCQUFl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
@@ -0,0 +1,3 @@
1
+ import { ResourceMixin } from '../../mixins/resourceMixin';
2
+ export declare class Account extends ResourceMixin<Account> {
3
+ }
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Account = void 0;
4
+ const resourceMixin_1 = require("../../mixins/resourceMixin");
5
+ class Account extends resourceMixin_1.ResourceMixin {
6
+ }
7
+ exports.Account = Account;
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvcmVzb3VyY2VzL3YyL2FjY291bnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsOERBQTJEO0FBRTNELE1BQWEsT0FBUSxTQUFRLDZCQUFzQjtDQUNsRDtBQURELDBCQUNDIn0=
@@ -0,0 +1,3 @@
1
+ import { ResourceMixin } from '../../mixins/resourceMixin';
2
+ export declare class AccountNumber extends ResourceMixin<AccountNumber> {
3
+ }
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AccountNumber = void 0;
4
+ const resourceMixin_1 = require("../../mixins/resourceMixin");
5
+ class AccountNumber extends resourceMixin_1.ResourceMixin {
6
+ }
7
+ exports.AccountNumber = AccountNumber;
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudE51bWJlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvcmVzb3VyY2VzL3YyL2FjY291bnROdW1iZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsOERBQTJEO0FBRTNELE1BQWEsYUFBYyxTQUFRLDZCQUE0QjtDQUM5RDtBQURELHNDQUNDIn0=
@@ -0,0 +1,3 @@
1
+ export * from './transfer';
2
+ export * from './account';
3
+ export * from './accountNumber';
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./transfer"), exports);
18
+ __exportStar(require("./account"), exports);
19
+ __exportStar(require("./accountNumber"), exports);
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3Jlc291cmNlcy92Mi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNkNBQTJCO0FBQzNCLDRDQUEwQjtBQUMxQixrREFBZ0MifQ==
@@ -0,0 +1,3 @@
1
+ import { ResourceMixin } from '../../mixins/resourceMixin';
2
+ export declare class Transfer extends ResourceMixin<Transfer> {
3
+ }
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Transfer = void 0;
4
+ const resourceMixin_1 = require("../../mixins/resourceMixin");
5
+ class Transfer extends resourceMixin_1.ResourceMixin {
6
+ }
7
+ exports.Transfer = Transfer;
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3Jlc291cmNlcy92Mi90cmFuc2Zlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw4REFBMkQ7QUFFM0QsTUFBYSxRQUFTLFNBQVEsNkJBQXVCO0NBQ3BEO0FBREQsNEJBQ0MifQ==
@@ -72,9 +72,9 @@ export declare function getErrorClass(snakeErrorName: string): any;
72
72
  * ```
73
73
  */
74
74
  export declare function canRaiseHTTPError(_: unknown, __: string, descriptor: TypedPropertyDescriptor<any>): {
75
- enumerable?: boolean | undefined;
76
- configurable?: boolean | undefined;
77
- writable?: boolean | undefined;
75
+ enumerable?: boolean;
76
+ configurable?: boolean;
77
+ writable?: boolean;
78
78
  value?: any;
79
79
  get?: (() => any) | undefined;
80
80
  set?: ((value: any) => void) | undefined;
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -11,18 +15,39 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
11
15
  }) : function(o, v) {
12
16
  o["default"] = v;
13
17
  });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
21
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
22
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
23
37
  };
24
38
  Object.defineProperty(exports, "__esModule", { value: true });
25
- exports.objetizeGenerator = exports.objetize = exports.serialize = exports.canRaiseHTTPError = exports.getErrorClass = exports.getResourceClass = exports.getErrorsModule = exports.getResourcesModule = exports.isISODate = exports.singularize = exports.snakeToPascal = exports.toTitle = void 0;
39
+ exports.toTitle = toTitle;
40
+ exports.snakeToPascal = snakeToPascal;
41
+ exports.singularize = singularize;
42
+ exports.isISODate = isISODate;
43
+ exports.getResourcesModule = getResourcesModule;
44
+ exports.getErrorsModule = getErrorsModule;
45
+ exports.getResourceClass = getResourceClass;
46
+ exports.getErrorClass = getErrorClass;
47
+ exports.canRaiseHTTPError = canRaiseHTTPError;
48
+ exports.serialize = serialize;
49
+ exports.objetize = objetize;
50
+ exports.objetizeGenerator = objetizeGenerator;
26
51
  const axios_1 = __importDefault(require("axios"));
27
52
  const errors = __importStar(require("./errors"));
28
53
  const genericFintocResource_1 = require("./resources/genericFintocResource");
@@ -35,7 +60,6 @@ const genericFintocResource_1 = require("./resources/genericFintocResource");
35
60
  function toTitle(rawString) {
36
61
  return rawString[0].toUpperCase() + rawString.substr(1).toLowerCase();
37
62
  }
38
- exports.toTitle = toTitle;
39
63
  /**
40
64
  * Transforms a snake-cased string into a pascal-cased one.
41
65
  *
@@ -45,7 +69,6 @@ exports.toTitle = toTitle;
45
69
  function snakeToPascal(snakeString) {
46
70
  return snakeString.split('_').map(toTitle).join('');
47
71
  }
48
- exports.snakeToPascal = snakeToPascal;
49
72
  /**
50
73
  * Remove the last 's' from a string if exists.
51
74
  *
@@ -55,7 +78,6 @@ exports.snakeToPascal = snakeToPascal;
55
78
  function singularize(rawString) {
56
79
  return rawString.replace(/s$/, '');
57
80
  }
58
- exports.singularize = singularize;
59
81
  /**
60
82
  * Tries to parse an ISO formatted string to check if it is parseable as a Date object.
61
83
  *
@@ -65,7 +87,6 @@ exports.singularize = singularize;
65
87
  function isISODate(rawDate) {
66
88
  return !Number.isNaN(Date.parse(rawDate));
67
89
  }
68
- exports.isISODate = isISODate;
69
90
  /**
70
91
  * Gets and returns the resources module interfaced as an IModule.
71
92
  *
@@ -75,14 +96,13 @@ exports.isISODate = isISODate;
75
96
  async function getResourcesModule(resourceName) {
76
97
  const camelCaseName = resourceName.charAt(0).toLowerCase() + resourceName.slice(1);
77
98
  try {
78
- const resources = await Promise.resolve().then(() => __importStar(require(`./resources/${camelCaseName}`)));
99
+ const resources = await Promise.resolve(`${`./resources/${camelCaseName}`}`).then(s => __importStar(require(s)));
79
100
  return resources;
80
101
  }
81
102
  catch (_a) {
82
103
  return {};
83
104
  }
84
105
  }
85
- exports.getResourcesModule = getResourcesModule;
86
106
  /**
87
107
  * Gets and returns the errors module interfaced as an IModule.
88
108
  *
@@ -91,7 +111,6 @@ exports.getResourcesModule = getResourcesModule;
91
111
  function getErrorsModule() {
92
112
  return errors;
93
113
  }
94
- exports.getErrorsModule = getErrorsModule;
95
114
  /**
96
115
  * Get the class corresponding to the the resource name and value.
97
116
  *
@@ -111,7 +130,6 @@ async function getResourceClass(snakeResourceName, value = {}) {
111
130
  }
112
131
  return klass;
113
132
  }
114
- exports.getResourceClass = getResourceClass;
115
133
  /**
116
134
  * Get the error corresponding to the error name.
117
135
  *
@@ -123,7 +141,6 @@ function getErrorClass(snakeErrorName) {
123
141
  const errorName = snakeToPascal(snakeErrorName);
124
142
  return errorsModule[errorName] || errorsModule.FintocError;
125
143
  }
126
- exports.getErrorClass = getErrorClass;
127
144
  /**
128
145
  * Decorator designed for an instance method. It tries tp execute the function,
129
146
  * catches exceptions and re-rises the adequate Fintoc exception.
@@ -157,7 +174,6 @@ function canRaiseHTTPError(_, __, descriptor) {
157
174
  };
158
175
  return newDescriptor;
159
176
  }
160
- exports.canRaiseHTTPError = canRaiseHTTPError;
161
177
  /**
162
178
  * Serializes an object.
163
179
  *
@@ -173,7 +189,6 @@ function serialize(object) {
173
189
  }
174
190
  return object;
175
191
  }
176
- exports.serialize = serialize;
177
192
  /**
178
193
  * Wraps some data with a class.
179
194
  *
@@ -197,7 +212,6 @@ async function objetize(Klass, client, data, handlers = {}, methods = [], path =
197
212
  }
198
213
  return Klass._build(client, handlers, methods, path, data);
199
214
  }
200
- exports.objetize = objetize;
201
215
  /**
202
216
  * Wraps and yields some data (from a generator) with a class.
203
217
  *
@@ -214,5 +228,4 @@ async function* objetizeGenerator(generator, klass, client, handlers = {}, metho
214
228
  yield objetize(klass, client, element, handlers, methods, path);
215
229
  }
216
230
  }
217
- exports.objetizeGenerator = objetizeGenerator;
218
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxrREFBMEM7QUFNMUMsaURBQW1DO0FBQ25DLDZFQUEwRTtBQUUxRTs7Ozs7R0FLRztBQUNILFNBQWdCLE9BQU8sQ0FBQyxTQUFpQjtJQUN2QyxPQUFPLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO0FBQ3hFLENBQUM7QUFGRCwwQkFFQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBZ0IsYUFBYSxDQUFDLFdBQW1CO0lBQy9DLE9BQU8sV0FBVyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ3RELENBQUM7QUFGRCxzQ0FFQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBZ0IsV0FBVyxDQUFDLFNBQWlCO0lBQzNDLE9BQU8sU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDckMsQ0FBQztBQUZELGtDQUVDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxTQUFnQixTQUFTLENBQUMsT0FBZTtJQUN2QyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7QUFDNUMsQ0FBQztBQUZELDhCQUVDO0FBRUQ7Ozs7O0dBS0c7QUFDSSxLQUFLLFVBQVUsa0JBQWtCLENBQUMsWUFBb0I7SUFDM0QsTUFBTSxhQUFhLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FB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
231
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBZUEsMEJBRUM7QUFRRCxzQ0FFQztBQVFELGtDQUVDO0FBUUQsOEJBRUM7QUFRRCxnREFRQztBQU9ELDBDQUVDO0FBU0QsNENBV0M7QUFRRCxzQ0FJQztBQWdCRCw4Q0FvQkM7QUFRRCw4QkFRQztBQWFELDRCQWtCQztBQWFELDhDQVdDO0FBbk5ELGtEQUEwQztBQU0xQyxpREFBbUM7QUFDbkMsNkVBQTBFO0FBRTFFOzs7OztHQUtHO0FBQ0gsU0FBZ0IsT0FBTyxDQUFDLFNBQWlCO0lBQ3ZDLE9BQU8sU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7QUFDeEUsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBZ0IsYUFBYSxDQUFDLFdBQW1CO0lBQy9DLE9BQU8sV0FBVyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ3RELENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILFNBQWdCLFdBQVcsQ0FBQyxTQUFpQjtJQUMzQyxPQUFPLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ3JDLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILFNBQWdCLFNBQVMsQ0FBQyxPQUFlO0lBQ3ZDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztBQUM1QyxDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSSxLQUFLLFVBQVUsa0JBQWtCLENBQUMs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
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.version = exports.versionInfo = void 0;
4
- exports.versionInfo = [1, 1, 2];
4
+ exports.versionInfo = [1, 2, 0];
5
5
  exports.version = exports.versionInfo.join('.');
6
6
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBYSxRQUFBLFdBQVcsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFFeEIsUUFBQSxPQUFPLEdBQUcsbUJBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMifQ==
@@ -0,0 +1,17 @@
1
+ export declare class WebhookSignature {
2
+ /**
3
+ * Verifies the authenticity of incoming webhooks from Fintoc by validating the signature.
4
+ *
5
+ * @param payload - The raw request body as a string or Buffer
6
+ * @param header - The Fintoc-Signature header value
7
+ * @param secret - Your webhook secret key (found in your Fintoc dashboard)
8
+ * @param tolerance - Number of seconds to tolerate when checking timestamp (default: 300)
9
+ * @throws {WebhookSignatureError} If the signature is invalid or timestamp is outside
10
+ * tolerance window
11
+ */
12
+ static verifyHeader(payload: string | Buffer, header: string, secret: string, tolerance?: number): void;
13
+ private static parseHeader;
14
+ private static verifyTimestamp;
15
+ private static computeSignature;
16
+ private static secureCompare;
17
+ }
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.WebhookSignature = void 0;
37
+ const crypto = __importStar(require("crypto"));
38
+ const errors_1 = require("./errors");
39
+ const DEFAULT_TOLERANCE_SECONDS = 300;
40
+ class WebhookSignature {
41
+ /**
42
+ * Verifies the authenticity of incoming webhooks from Fintoc by validating the signature.
43
+ *
44
+ * @param payload - The raw request body as a string or Buffer
45
+ * @param header - The Fintoc-Signature header value
46
+ * @param secret - Your webhook secret key (found in your Fintoc dashboard)
47
+ * @param tolerance - Number of seconds to tolerate when checking timestamp (default: 300)
48
+ * @throws {WebhookSignatureError} If the signature is invalid or timestamp is outside
49
+ * tolerance window
50
+ */
51
+ static verifyHeader(payload, header, secret, tolerance = DEFAULT_TOLERANCE_SECONDS) {
52
+ if (!header) {
53
+ throw new errors_1.WebhookSignatureError('Missing Fintoc-Signature header.');
54
+ }
55
+ if (!secret) {
56
+ throw new errors_1.WebhookSignatureError('Webhook secret is required for verification.');
57
+ }
58
+ const { timestamp, signature } = WebhookSignature.parseHeader(header);
59
+ WebhookSignature.verifyTimestamp(timestamp, tolerance);
60
+ const expectedSignature = WebhookSignature.computeSignature(payload, timestamp, secret);
61
+ if (!WebhookSignature.secureCompare(signature, expectedSignature)) {
62
+ throw new errors_1.WebhookSignatureError('Signature mismatch. The webhook signature is not valid.');
63
+ }
64
+ }
65
+ static parseHeader(header) {
66
+ const parts = header.split(',');
67
+ let timestampStr;
68
+ let signature;
69
+ for (const part of parts) {
70
+ const [key, value] = part.split('=');
71
+ if (key === 't') {
72
+ timestampStr = value;
73
+ }
74
+ else if (key === 'v1') {
75
+ signature = value;
76
+ }
77
+ }
78
+ if (!timestampStr || !signature) {
79
+ throw new errors_1.WebhookSignatureError('Unable to extract timestamp and signatures from header');
80
+ }
81
+ const timestamp = parseInt(timestampStr, 10);
82
+ if (Number.isNaN(timestamp)) {
83
+ throw new errors_1.WebhookSignatureError('Unable to extract timestamp and signatures from header');
84
+ }
85
+ return { timestamp, signature };
86
+ }
87
+ static verifyTimestamp(timestamp, toleranceSeconds) {
88
+ const nowSeconds = Math.floor(Date.now() / 1000);
89
+ const timeDifference = Math.abs(nowSeconds - timestamp);
90
+ if (timeDifference > toleranceSeconds) {
91
+ throw new errors_1.WebhookSignatureError(`Timestamp outside the tolerance zone (${timestamp})`);
92
+ }
93
+ }
94
+ static computeSignature(payload, timestamp, secret) {
95
+ const signedPayload = `${timestamp}.${payload.toString('utf8')}`;
96
+ return crypto
97
+ .createHmac('sha256', secret)
98
+ .update(signedPayload)
99
+ .digest('hex');
100
+ }
101
+ static secureCompare(a, b) {
102
+ if (a.length !== b.length) {
103
+ return false;
104
+ }
105
+ return crypto.timingSafeEqual(Buffer.from(a), Buffer.from(b));
106
+ }
107
+ }
108
+ exports.WebhookSignature = WebhookSignature;
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViaG9vay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvd2ViaG9vay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FBaUM7QUFFakMscUNBQWlEO0FBRWpELE1BQU0seUJBQXlCLEdBQUcsR0FBRyxDQUFDO0FBRXRDLE1BQWEsZ0JBQWdCO0lBQzNCOzs7Ozs7Ozs7T0FTRztJQUNJLE1BQU0sQ0FBQyxZQUFZLENBQ3hCLE9BQXdCLEVBQ3hCLE1BQWMsRUFDZCxNQUFjLEVBQ2QsWUFBb0IseUJBQXlCO1FBRTdDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNaLE1BQU0sSUFBSSw4QkFBcUIsQ0FDN0Isa0NBQWtDLENBQ25DLENBQUM7UUFDSixDQUFDO1FBRUQsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ1osTUFBTSxJQUFJLDhCQUFxQixDQUM3Qiw4Q0FBOEMsQ0FDL0MsQ0FBQztRQUNKLENBQUM7UUFFRCxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUV0RSxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBRXZELE1BQU0saUJBQWlCLEdBQUcsZ0JBQWdCLENBQUMsZ0JBQWdCLENBQ3pELE9BQU8sRUFDUCxTQUFTLEVBQ1QsTUFBTSxDQUNQLENBQUM7UUFFRixJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLFNBQVMsRUFBRSxpQkFBaUIsQ0FBQyxFQUFFLENBQUM7WUFDbEUsTUFBTSxJQUFJLDhCQUFxQixDQUM3Qix5REFBeUQsQ0FDMUQsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRU8sTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFjO1FBQ3ZDLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDaEMsSUFBSSxZQUFnQyxDQUFDO1FBQ3JDLElBQUksU0FBNkIsQ0FBQztRQUVsQyxLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ3pCLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNyQyxJQUFJLEdBQUcsS0FBSyxHQUFHLEVBQUUsQ0FBQztnQkFDaEIsWUFBWSxHQUFHLEtBQUssQ0FBQztZQUN2QixDQUFDO2lCQUFNLElBQUksR0FBRyxLQUFLLElBQUksRUFBRSxDQUFDO2dCQUN4QixTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3BCLENBQUM7UUFDSCxDQUFDO1FBRUQsSUFBSSxDQUFDLFlBQVksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2hDLE1BQU0sSUFBSSw4QkFBcUIsQ0FDN0Isd0RBQXdELENBQ3pELENBQUM7UUFDSixDQUFDO1FBRUQsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM3QyxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUM1QixNQUFNLElBQUksOEJBQXFCLENBQzdCLHdEQUF3RCxDQUN6RCxDQUFDO1FBQ0osQ0FBQztRQUVELE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVPLE1BQU0sQ0FBQyxlQUFlLENBQUMsU0FBaUIsRUFBRSxnQkFBd0I7UUFDeEUsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDakQsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDLENBQUM7UUFFeEQsSUFBSSxjQUFjLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQztZQUN0QyxNQUFNLElBQUksOEJBQXFCLENBQzdCLHlDQUF5QyxTQUFTLEdBQUcsQ0FDdEQsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRU8sTUFBTSxDQUFDLGdCQUFnQixDQUM3QixPQUF3QixFQUN4QixTQUFpQixFQUNqQixNQUFjO1FBRWQsTUFBTSxhQUFhLEdBQUcsR0FBRyxTQUFTLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ2pFLE9BQU8sTUFBTTthQUNWLFVBQVUsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDO2FBQzVCLE1BQU0sQ0FBQyxhQUFhLENBQUM7YUFDckIsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25CLENBQUM7SUFFTyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQVMsRUFBRSxDQUFTO1FBQy9DLElBQUksQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDMUIsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7Q0FDRjtBQXpHRCw0Q0F5R0MifQ==
@@ -21,7 +21,7 @@ ava_1.default.beforeEach((t) => {
21
21
  }
22
22
  ctx.createClient = createClient;
23
23
  });
24
- ava_1.default('"Client" creation without parameters', (t) => {
24
+ (0, ava_1.default)('"Client" creation without parameters', (t) => {
25
25
  const ctx = t.context;
26
26
  const client = ctx.createClient();
27
27
  t.assert(client instanceof client_1.Client);
@@ -32,7 +32,7 @@ ava_1.default('"Client" creation without parameters', (t) => {
32
32
  && Object.keys(client.params).length === 0
33
33
  && client.params.constructor === Object);
34
34
  });
35
- ava_1.default('"Client" creation with parameters', (t) => {
35
+ (0, ava_1.default)('"Client" creation with parameters', (t) => {
36
36
  const ctx = t.context;
37
37
  const client = ctx.createClient(true);
38
38
  t.assert(client instanceof client_1.Client);
@@ -41,17 +41,17 @@ ava_1.default('"Client" creation with parameters', (t) => {
41
41
  t.assert(client.userAgent === ctx.userAgent);
42
42
  t.assert(client.params === ctx.params);
43
43
  });
44
- ava_1.default('"Client" headers', (t) => {
44
+ (0, ava_1.default)('"Client" headers', (t) => {
45
45
  const ctx = t.context;
46
46
  const client = ctx.createClient();
47
47
  t.assert(client instanceof client_1.Client);
48
- t.assert(Object.keys(client.headers).length === 2);
49
- t.assert('Authorization' in client.headers);
50
- t.assert('User-Agent' in client.headers);
51
- t.assert(client.headers.Authorization === ctx.apiKey);
52
- t.assert(client.headers['User-Agent'] === ctx.userAgent);
48
+ t.assert(Object.keys(client.staticHeaders).length === 3);
49
+ t.assert('Authorization' in client.staticHeaders);
50
+ t.assert('User-Agent' in client.staticHeaders);
51
+ t.assert(client.staticHeaders.Authorization === ctx.apiKey);
52
+ t.assert(client.staticHeaders['User-Agent'] === ctx.userAgent);
53
53
  });
54
- ava_1.default('"Client" extension', (t) => {
54
+ (0, ava_1.default)('"Client" extension', (t) => {
55
55
  const ctx = t.context;
56
56
  const client = ctx.createClient();
57
57
  t.assert(client instanceof client_1.Client);
@@ -61,7 +61,7 @@ ava_1.default('"Client" extension', (t) => {
61
61
  t.assert(newClient instanceof client_1.Client);
62
62
  t.assert(newClient !== client);
63
63
  });
64
- ava_1.default('"Client" params extension', (t) => {
64
+ (0, ava_1.default)('"Client" params extension', (t) => {
65
65
  const ctx = t.context;
66
66
  const client = ctx.createClient(true);
67
67
  t.assert(client instanceof client_1.Client);
@@ -70,4 +70,4 @@ ava_1.default('"Client" params extension', (t) => {
70
70
  t.assert(Object.keys(newClient.params).length === Object.keys(client.params).length + 1);
71
71
  t.assert(newClient.params.first_param !== client.params.first_param);
72
72
  });
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRpb25GdW5jdGlvbmFsaXR5LnNwZWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc3BlYy9jbGllbnQvY3JlYXRpb25GdW5jdGlvbmFsaXR5LnNwZWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw4Q0FBdUI7QUFFdkIsNkNBQTBDO0FBRTFDLGFBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtJQUNwQixNQUFNLEdBQUcsR0FBUSxDQUFDLENBQUMsT0FBTyxDQUFDO0lBQzNCLEdBQUcsQ0FBQyxPQUFPLEdBQUcsa0JBQWtCLENBQUM7SUFDakMsR0FBRyxDQUFDLE1BQU0sR0FBRyxzQkFBc0IsQ0FBQztJQUNwQyxHQUFHLENBQUMsU0FBUyxHQUFHLGtCQUFrQixDQUFDO0lBQ25DLEdBQUcsQ0FBQyxNQUFNLEdBQUcsRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsQ0FBQztJQUUxRSxTQUFTLFlBQVksQ0FBQyxNQUFNLEdBQUcsS0FBSztRQUNsQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1gsT0FBTyxJQUFJLGVBQU0sQ0FBQyxFQUFFLE9BQU8sRUFBRSxHQUFHLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztTQUMzRjtRQUNELE9BQU8sSUFBSSxlQUFNLENBQUM7WUFDaEIsT0FBTyxFQUFFLEdBQUcsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQyxNQUFNO1NBQ3ZGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxHQUFHLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztBQUNsQyxDQUFDLENBQUMsQ0FBQztBQUVI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
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRpb25GdW5jdGlvbmFsaXR5LnNwZWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc3BlYy9jbGllbnQvY3JlYXRpb25GdW5jdGlvbmFsaXR5LnNwZWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw4Q0FBdUI7QUFFdkIsNkNBQTBDO0FBRTFDLGFBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtJQUNwQixNQUFNLEdBQUcsR0FBUSxDQUFDLENBQUMsT0FBTyxDQUFDO0lBQzNCLEdBQUcsQ0FBQyxPQUFPLEdBQUcsa0JBQWtCLENBQUM7SUFDakMsR0FBRyxDQUFDLE1BQU0sR0FBRyxzQkFBc0IsQ0FBQztJQUNwQyxHQUFHLENBQUMsU0FBUyxHQUFHLGtCQUFrQixDQUFDO0lBQ25DLEdBQUcsQ0FBQyxNQUFNLEdBQUcsRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsQ0FBQztJQUUxRSxTQUFTLFlBQVksQ0FBQyxNQUFNLEdBQUcsS0FBSztRQUNsQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDWixPQUFPLElBQUksZUFBTSxDQUFDLEVBQUUsT0FBTyxFQUFFLEdBQUcsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQzVGLENBQUM7UUFDRCxPQUFPLElBQUksZUFBTSxDQUFDO1lBQ2hCLE9BQU8sRUFBRSxHQUFHLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUMsTUFBTTtTQUN2RixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsR0FBRyxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7QUFDbEMsQ0FBQyxDQUFD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