@adtrackify/at-service-common 3.5.20 → 3.5.21

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 (403) hide show
  1. package/dist/cjs/__tests__/helpers/account-users-helper.spec.d.ts +1 -1
  2. package/dist/cjs/__tests__/helpers/account-users-helper.spec.js +200 -200
  3. package/dist/cjs/__tests__/identity-cache/identity-cache-db-service.spec.d.ts +1 -1
  4. package/dist/cjs/__tests__/identity-cache/identity-cache-db-service.spec.js +674 -674
  5. package/dist/cjs/__tests__/identity-cache/trait-merging-and-staleness.spec.d.ts +1 -1
  6. package/dist/cjs/__tests__/identity-cache/trait-merging-and-staleness.spec.js +586 -586
  7. package/dist/cjs/__tests__/libs/compress-decompress.spec.d.ts +1 -1
  8. package/dist/cjs/__tests__/libs/compress-decompress.spec.js +16 -16
  9. package/dist/cjs/__tests__/libs/currency.spec.d.ts +1 -1
  10. package/dist/cjs/__tests__/libs/currency.spec.js +220 -220
  11. package/dist/cjs/__tests__/libs/dates.spec.d.ts +1 -1
  12. package/dist/cjs/__tests__/libs/dates.spec.js +132 -132
  13. package/dist/cjs/__tests__/libs/domain.spec.d.ts +1 -1
  14. package/dist/cjs/__tests__/libs/domain.spec.js +107 -107
  15. package/dist/cjs/__tests__/libs/numbers.spec.d.ts +1 -1
  16. package/dist/cjs/__tests__/libs/numbers.spec.js +261 -261
  17. package/dist/cjs/__tests__/s3-client/s3-client.spec.d.ts +1 -1
  18. package/dist/cjs/__tests__/s3-client/s3-client.spec.js +26 -26
  19. package/dist/cjs/__tests__/shopify/shopify-graphql-transformer.spec.d.ts +1 -1
  20. package/dist/cjs/__tests__/shopify/shopify-graphql-transformer.spec.js +35 -35
  21. package/dist/cjs/clients/generic/cognito-client.d.ts +23 -23
  22. package/dist/cjs/clients/generic/cognito-client.js +209 -209
  23. package/dist/cjs/clients/generic/dynamodb-client.d.ts +17 -17
  24. package/dist/cjs/clients/generic/dynamodb-client.js +170 -170
  25. package/dist/cjs/clients/generic/eventbridge-client.d.ts +14 -14
  26. package/dist/cjs/clients/generic/eventbridge-client.js +49 -49
  27. package/dist/cjs/clients/generic/http-client.d.ts +14 -14
  28. package/dist/cjs/clients/generic/http-client.js +61 -61
  29. package/dist/cjs/clients/generic/index.d.ts +10 -10
  30. package/dist/cjs/clients/generic/index.js +26 -26
  31. package/dist/cjs/clients/generic/lambda-invoke-client.d.ts +10 -10
  32. package/dist/cjs/clients/generic/lambda-invoke-client.js +35 -35
  33. package/dist/cjs/clients/generic/location-client.d.ts +8 -8
  34. package/dist/cjs/clients/generic/location-client.js +31 -31
  35. package/dist/cjs/clients/generic/redis-client.d.ts +18 -18
  36. package/dist/cjs/clients/generic/redis-client.js +128 -128
  37. package/dist/cjs/clients/generic/s3-client.d.ts +23 -23
  38. package/dist/cjs/clients/generic/s3-client.js +198 -198
  39. package/dist/cjs/clients/generic/singlestore-db-client.d.ts +14 -14
  40. package/dist/cjs/clients/generic/singlestore-db-client.js +67 -67
  41. package/dist/cjs/clients/generic/sqs-client.d.ts +20 -20
  42. package/dist/cjs/clients/generic/sqs-client.js +36 -36
  43. package/dist/cjs/clients/index.d.ts +3 -3
  44. package/dist/cjs/clients/index.js +19 -19
  45. package/dist/cjs/clients/internal-api/accounts-client.d.ts +83 -83
  46. package/dist/cjs/clients/internal-api/accounts-client.js +107 -107
  47. package/dist/cjs/clients/internal-api/cache-lambda-client.d.ts +25 -25
  48. package/dist/cjs/clients/internal-api/cache-lambda-client.js +79 -79
  49. package/dist/cjs/clients/internal-api/db-management-client.d.ts +18 -18
  50. package/dist/cjs/clients/internal-api/db-management-client.js +36 -36
  51. package/dist/cjs/clients/internal-api/destinations-client.d.ts +27 -27
  52. package/dist/cjs/clients/internal-api/destinations-client.js +51 -51
  53. package/dist/cjs/clients/internal-api/event-collector-client.d.ts +20 -20
  54. package/dist/cjs/clients/internal-api/event-collector-client.js +36 -36
  55. package/dist/cjs/clients/internal-api/identity-client.d.ts +31 -31
  56. package/dist/cjs/clients/internal-api/identity-client.js +83 -83
  57. package/dist/cjs/clients/internal-api/index.d.ts +9 -9
  58. package/dist/cjs/clients/internal-api/index.js +25 -25
  59. package/dist/cjs/clients/internal-api/shopify-app-install-client.d.ts +36 -36
  60. package/dist/cjs/clients/internal-api/shopify-app-install-client.js +68 -68
  61. package/dist/cjs/clients/internal-api/subscriptions-client.d.ts +24 -23
  62. package/dist/cjs/clients/internal-api/subscriptions-client.js +63 -58
  63. package/dist/cjs/clients/internal-api/subscriptions-client.js.map +1 -1
  64. package/dist/cjs/clients/internal-api/users-auth-client.d.ts +35 -35
  65. package/dist/cjs/clients/internal-api/users-auth-client.js +110 -110
  66. package/dist/cjs/clients/third-party/emailable-client.d.ts +7 -7
  67. package/dist/cjs/clients/third-party/emailable-client.js +25 -25
  68. package/dist/cjs/clients/third-party/exchange-rate-api-client.d.ts +17 -17
  69. package/dist/cjs/clients/third-party/exchange-rate-api-client.js +19 -19
  70. package/dist/cjs/clients/third-party/index.d.ts +2 -2
  71. package/dist/cjs/clients/third-party/index.js +18 -18
  72. package/dist/cjs/clients/third-party/shopify/graphql-product-queries.d.ts +2 -2
  73. package/dist/cjs/clients/third-party/shopify/graphql-product-queries.js +180 -180
  74. package/dist/cjs/clients/third-party/shopify/shopify-graphql-client.d.ts +9 -9
  75. package/dist/cjs/clients/third-party/shopify/shopify-graphql-client.js +95 -95
  76. package/dist/cjs/clients/third-party/shopify-client.d.ts +29 -29
  77. package/dist/cjs/clients/third-party/shopify-client.js +144 -144
  78. package/dist/cjs/helpers/account-users-helper.d.ts +2 -2
  79. package/dist/cjs/helpers/account-users-helper.js +22 -22
  80. package/dist/cjs/helpers/identity-cache-helper.d.ts +21 -21
  81. package/dist/cjs/helpers/identity-cache-helper.js +157 -157
  82. package/dist/cjs/helpers/index.d.ts +6 -6
  83. package/dist/cjs/helpers/index.js +22 -22
  84. package/dist/cjs/helpers/input-validation-helper.d.ts +3 -3
  85. package/dist/cjs/helpers/input-validation-helper.js +22 -22
  86. package/dist/cjs/helpers/logging-helper.d.ts +16 -16
  87. package/dist/cjs/helpers/logging-helper.js +84 -84
  88. package/dist/cjs/helpers/response-helper.d.ts +18 -18
  89. package/dist/cjs/helpers/response-helper.js +43 -43
  90. package/dist/cjs/helpers/shopify-helper.d.ts +9 -9
  91. package/dist/cjs/helpers/shopify-helper.js +28 -28
  92. package/dist/cjs/index.d.ts +5 -5
  93. package/dist/cjs/index.js +21 -21
  94. package/dist/cjs/libs/click-id-parser.d.ts +23 -23
  95. package/dist/cjs/libs/click-id-parser.js +49 -49
  96. package/dist/cjs/libs/compression.d.ts +2 -2
  97. package/dist/cjs/libs/compression.js +33 -33
  98. package/dist/cjs/libs/cookie.d.ts +12 -12
  99. package/dist/cjs/libs/cookie.js +68 -68
  100. package/dist/cjs/libs/crypto.d.ts +3 -3
  101. package/dist/cjs/libs/crypto.js +20 -20
  102. package/dist/cjs/libs/csv.d.ts +2 -2
  103. package/dist/cjs/libs/csv.js +35 -35
  104. package/dist/cjs/libs/currency.d.ts +1 -1
  105. package/dist/cjs/libs/currency.js +24 -24
  106. package/dist/cjs/libs/dates.d.ts +12 -12
  107. package/dist/cjs/libs/dates.js +96 -96
  108. package/dist/cjs/libs/domain.d.ts +2 -2
  109. package/dist/cjs/libs/domain.js +38 -38
  110. package/dist/cjs/libs/emails.d.ts +6 -6
  111. package/dist/cjs/libs/emails.js +122 -122
  112. package/dist/cjs/libs/http-error.d.ts +21 -21
  113. package/dist/cjs/libs/http-error.js +59 -59
  114. package/dist/cjs/libs/http-status-codes.d.ts +58 -58
  115. package/dist/cjs/libs/http-status-codes.js +62 -62
  116. package/dist/cjs/libs/index.d.ts +17 -17
  117. package/dist/cjs/libs/index.js +33 -33
  118. package/dist/cjs/libs/numbers.d.ts +1 -1
  119. package/dist/cjs/libs/numbers.js +15 -15
  120. package/dist/cjs/libs/referrer-parser/index.d.ts +2 -2
  121. package/dist/cjs/libs/referrer-parser/index.js +18 -18
  122. package/dist/cjs/libs/referrer-parser/referrer-data.d.ts +9 -9
  123. package/dist/cjs/libs/referrer-parser/referrer-data.js +4712 -4712
  124. package/dist/cjs/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
  125. package/dist/cjs/libs/referrer-parser/referrer-parser-util.js +128 -128
  126. package/dist/cjs/libs/strings.d.ts +3 -3
  127. package/dist/cjs/libs/strings.js +46 -46
  128. package/dist/cjs/libs/traits.d.ts +6 -6
  129. package/dist/cjs/libs/traits.js +65 -65
  130. package/dist/cjs/libs/url.d.ts +1 -1
  131. package/dist/cjs/libs/url.js +13 -13
  132. package/dist/cjs/services/cache/generic-cached-object.d.ts +5 -5
  133. package/dist/cjs/services/cache/generic-cached-object.js +2 -2
  134. package/dist/cjs/services/cache/index.d.ts +1 -1
  135. package/dist/cjs/services/cache/index.js +17 -17
  136. package/dist/cjs/services/cache/product-cache-service.d.ts +21 -21
  137. package/dist/cjs/services/cache/product-cache-service.js +68 -68
  138. package/dist/cjs/services/currency-exchange-rate-lookup-service.d.ts +11 -11
  139. package/dist/cjs/services/currency-exchange-rate-lookup-service.js +50 -50
  140. package/dist/cjs/services/db/currency-exchange-rates-db-service.d.ts +21 -21
  141. package/dist/cjs/services/db/currency-exchange-rates-db-service.js +39 -39
  142. package/dist/cjs/services/db/destinations-db-service.d.ts +11 -11
  143. package/dist/cjs/services/db/destinations-db-service.js +64 -64
  144. package/dist/cjs/services/db/identity-cache-db-service.d.ts +28 -28
  145. package/dist/cjs/services/db/identity-cache-db-service.js +278 -278
  146. package/dist/cjs/services/db/index.d.ts +9 -9
  147. package/dist/cjs/services/db/index.js +25 -25
  148. package/dist/cjs/services/db/log-events-db-service.d.ts +11 -11
  149. package/dist/cjs/services/db/log-events-db-service.js +172 -172
  150. package/dist/cjs/services/db/purchasable-contacts-db-service.d.ts +9 -9
  151. package/dist/cjs/services/db/purchasable-contacts-db-service.js +43 -43
  152. package/dist/cjs/services/db/purchased-contacts-db-service.d.ts +17 -17
  153. package/dist/cjs/services/db/purchased-contacts-db-service.js +143 -143
  154. package/dist/cjs/services/db/shopify-app-installs-db-service.d.ts +7 -7
  155. package/dist/cjs/services/db/shopify-app-installs-db-service.js +47 -47
  156. package/dist/cjs/services/db/shopify-products-cache-db-service.d.ts +16 -16
  157. package/dist/cjs/services/db/shopify-products-cache-db-service.js +65 -65
  158. package/dist/cjs/services/db/tracking-events-db-service.d.ts +20 -20
  159. package/dist/cjs/services/db/tracking-events-db-service.js +162 -162
  160. package/dist/cjs/services/eventbridge-integration-service.d.ts +9 -9
  161. package/dist/cjs/services/eventbridge-integration-service.js +28 -28
  162. package/dist/cjs/services/events/index.d.ts +3 -3
  163. package/dist/cjs/services/events/index.js +19 -19
  164. package/dist/cjs/services/events/log-event-service.d.ts +9 -9
  165. package/dist/cjs/services/events/log-event-service.js +56 -56
  166. package/dist/cjs/services/events/metric-event-service.d.ts +9 -9
  167. package/dist/cjs/services/events/metric-event-service.js +49 -49
  168. package/dist/cjs/services/events/tracking-event-sqs-service.d.ts +8 -8
  169. package/dist/cjs/services/events/tracking-event-sqs-service.js +29 -29
  170. package/dist/cjs/services/generic-cache-service.d.ts +7 -7
  171. package/dist/cjs/services/generic-cache-service.js +33 -33
  172. package/dist/cjs/services/index.d.ts +8 -8
  173. package/dist/cjs/services/index.js +24 -24
  174. package/dist/cjs/services/ipdata-lookup-service.d.ts +19 -19
  175. package/dist/cjs/services/ipdata-lookup-service.js +77 -77
  176. package/dist/cjs/services/shopify/index.d.ts +3 -3
  177. package/dist/cjs/services/shopify/index.js +19 -19
  178. package/dist/cjs/services/shopify/products/index.d.ts +1 -1
  179. package/dist/cjs/services/shopify/products/index.js +17 -17
  180. package/dist/cjs/services/shopify/products/shopify-products-serviceV2.d.ts +17 -17
  181. package/dist/cjs/services/shopify/products/shopify-products-serviceV2.js +103 -103
  182. package/dist/cjs/services/shopify/shopify-graphql-transformer.d.ts +9 -9
  183. package/dist/cjs/services/shopify/shopify-graphql-transformer.js +137 -137
  184. package/dist/cjs/services/shopify/types/index.d.ts +1 -1
  185. package/dist/cjs/services/shopify/types/index.js +17 -17
  186. package/dist/cjs/services/shopify/types/product.d.ts +115 -115
  187. package/dist/cjs/services/shopify/types/product.js +9 -9
  188. package/dist/cjs/types/api-response.d.ts +6 -6
  189. package/dist/cjs/types/api-response.js +2 -2
  190. package/dist/cjs/types/index.d.ts +2 -2
  191. package/dist/cjs/types/index.js +18 -18
  192. package/dist/cjs/types/internal-events/event-detail-types.d.ts +20 -20
  193. package/dist/cjs/types/internal-events/event-detail-types.js +27 -27
  194. package/dist/cjs/types/internal-events/index.d.ts +1 -1
  195. package/dist/cjs/types/internal-events/index.js +17 -17
  196. package/dist/cjs/types/shopify-graphql-types/admin.generated.d.ts +105 -105
  197. package/dist/cjs/types/shopify-graphql-types/admin.generated.js +2 -2
  198. package/dist/cjs/types/shopify-graphql-types/admin.types.d.ts +26289 -26289
  199. package/dist/cjs/types/shopify-graphql-types/admin.types.js +5311 -5311
  200. package/dist/cjs/types/shopify-graphql-types/index.d.ts +2 -2
  201. package/dist/cjs/types/shopify-graphql-types/index.js +18 -18
  202. package/dist/esm/__tests__/helpers/account-users-helper.spec.d.ts +1 -1
  203. package/dist/esm/__tests__/helpers/account-users-helper.spec.js +198 -198
  204. package/dist/esm/__tests__/identity-cache/identity-cache-db-service.spec.d.ts +1 -1
  205. package/dist/esm/__tests__/identity-cache/identity-cache-db-service.spec.js +672 -672
  206. package/dist/esm/__tests__/identity-cache/trait-merging-and-staleness.spec.d.ts +1 -1
  207. package/dist/esm/__tests__/identity-cache/trait-merging-and-staleness.spec.js +584 -584
  208. package/dist/esm/__tests__/libs/compress-decompress.spec.d.ts +1 -1
  209. package/dist/esm/__tests__/libs/compress-decompress.spec.js +14 -14
  210. package/dist/esm/__tests__/libs/currency.spec.d.ts +1 -1
  211. package/dist/esm/__tests__/libs/currency.spec.js +218 -218
  212. package/dist/esm/__tests__/libs/dates.spec.d.ts +1 -1
  213. package/dist/esm/__tests__/libs/dates.spec.js +130 -130
  214. package/dist/esm/__tests__/libs/domain.spec.d.ts +1 -1
  215. package/dist/esm/__tests__/libs/domain.spec.js +105 -105
  216. package/dist/esm/__tests__/libs/numbers.spec.d.ts +1 -1
  217. package/dist/esm/__tests__/libs/numbers.spec.js +259 -259
  218. package/dist/esm/__tests__/s3-client/s3-client.spec.d.ts +1 -1
  219. package/dist/esm/__tests__/s3-client/s3-client.spec.js +24 -24
  220. package/dist/esm/__tests__/shopify/shopify-graphql-transformer.spec.d.ts +1 -1
  221. package/dist/esm/__tests__/shopify/shopify-graphql-transformer.spec.js +33 -33
  222. package/dist/esm/clients/generic/cognito-client.d.ts +23 -23
  223. package/dist/esm/clients/generic/cognito-client.js +204 -204
  224. package/dist/esm/clients/generic/dynamodb-client.d.ts +17 -17
  225. package/dist/esm/clients/generic/dynamodb-client.js +166 -166
  226. package/dist/esm/clients/generic/eventbridge-client.d.ts +14 -14
  227. package/dist/esm/clients/generic/eventbridge-client.js +45 -45
  228. package/dist/esm/clients/generic/http-client.d.ts +14 -14
  229. package/dist/esm/clients/generic/http-client.js +53 -53
  230. package/dist/esm/clients/generic/index.d.ts +10 -10
  231. package/dist/esm/clients/generic/index.js +10 -10
  232. package/dist/esm/clients/generic/lambda-invoke-client.d.ts +10 -10
  233. package/dist/esm/clients/generic/lambda-invoke-client.js +31 -31
  234. package/dist/esm/clients/generic/location-client.d.ts +8 -8
  235. package/dist/esm/clients/generic/location-client.js +27 -27
  236. package/dist/esm/clients/generic/redis-client.d.ts +18 -18
  237. package/dist/esm/clients/generic/redis-client.js +121 -121
  238. package/dist/esm/clients/generic/s3-client.d.ts +23 -23
  239. package/dist/esm/clients/generic/s3-client.js +191 -191
  240. package/dist/esm/clients/generic/singlestore-db-client.d.ts +14 -14
  241. package/dist/esm/clients/generic/singlestore-db-client.js +40 -40
  242. package/dist/esm/clients/generic/sqs-client.d.ts +20 -20
  243. package/dist/esm/clients/generic/sqs-client.js +32 -32
  244. package/dist/esm/clients/index.d.ts +3 -3
  245. package/dist/esm/clients/index.js +3 -3
  246. package/dist/esm/clients/internal-api/accounts-client.d.ts +83 -83
  247. package/dist/esm/clients/internal-api/accounts-client.js +103 -103
  248. package/dist/esm/clients/internal-api/cache-lambda-client.d.ts +25 -25
  249. package/dist/esm/clients/internal-api/cache-lambda-client.js +75 -75
  250. package/dist/esm/clients/internal-api/db-management-client.d.ts +18 -18
  251. package/dist/esm/clients/internal-api/db-management-client.js +32 -32
  252. package/dist/esm/clients/internal-api/destinations-client.d.ts +27 -27
  253. package/dist/esm/clients/internal-api/destinations-client.js +47 -47
  254. package/dist/esm/clients/internal-api/event-collector-client.d.ts +20 -20
  255. package/dist/esm/clients/internal-api/event-collector-client.js +32 -32
  256. package/dist/esm/clients/internal-api/identity-client.d.ts +31 -31
  257. package/dist/esm/clients/internal-api/identity-client.js +79 -79
  258. package/dist/esm/clients/internal-api/index.d.ts +9 -9
  259. package/dist/esm/clients/internal-api/index.js +9 -9
  260. package/dist/esm/clients/internal-api/shopify-app-install-client.d.ts +36 -36
  261. package/dist/esm/clients/internal-api/shopify-app-install-client.js +64 -64
  262. package/dist/esm/clients/internal-api/subscriptions-client.d.ts +24 -23
  263. package/dist/esm/clients/internal-api/subscriptions-client.js +59 -54
  264. package/dist/esm/clients/internal-api/subscriptions-client.js.map +1 -1
  265. package/dist/esm/clients/internal-api/users-auth-client.d.ts +35 -35
  266. package/dist/esm/clients/internal-api/users-auth-client.js +106 -106
  267. package/dist/esm/clients/third-party/emailable-client.d.ts +7 -7
  268. package/dist/esm/clients/third-party/emailable-client.js +21 -21
  269. package/dist/esm/clients/third-party/exchange-rate-api-client.d.ts +17 -17
  270. package/dist/esm/clients/third-party/exchange-rate-api-client.js +15 -15
  271. package/dist/esm/clients/third-party/index.d.ts +2 -2
  272. package/dist/esm/clients/third-party/index.js +2 -2
  273. package/dist/esm/clients/third-party/shopify/graphql-product-queries.d.ts +2 -2
  274. package/dist/esm/clients/third-party/shopify/graphql-product-queries.js +177 -177
  275. package/dist/esm/clients/third-party/shopify/shopify-graphql-client.d.ts +9 -9
  276. package/dist/esm/clients/third-party/shopify/shopify-graphql-client.js +91 -91
  277. package/dist/esm/clients/third-party/shopify-client.d.ts +29 -29
  278. package/dist/esm/clients/third-party/shopify-client.js +140 -140
  279. package/dist/esm/helpers/account-users-helper.d.ts +2 -2
  280. package/dist/esm/helpers/account-users-helper.js +18 -18
  281. package/dist/esm/helpers/identity-cache-helper.d.ts +21 -21
  282. package/dist/esm/helpers/identity-cache-helper.js +152 -152
  283. package/dist/esm/helpers/index.d.ts +6 -6
  284. package/dist/esm/helpers/index.js +6 -6
  285. package/dist/esm/helpers/input-validation-helper.d.ts +3 -3
  286. package/dist/esm/helpers/input-validation-helper.js +18 -18
  287. package/dist/esm/helpers/logging-helper.d.ts +16 -16
  288. package/dist/esm/helpers/logging-helper.js +56 -56
  289. package/dist/esm/helpers/response-helper.d.ts +18 -18
  290. package/dist/esm/helpers/response-helper.js +37 -37
  291. package/dist/esm/helpers/shopify-helper.d.ts +9 -9
  292. package/dist/esm/helpers/shopify-helper.js +23 -23
  293. package/dist/esm/index.d.ts +5 -5
  294. package/dist/esm/index.js +5 -5
  295. package/dist/esm/libs/click-id-parser.d.ts +23 -23
  296. package/dist/esm/libs/click-id-parser.js +45 -45
  297. package/dist/esm/libs/compression.d.ts +2 -2
  298. package/dist/esm/libs/compression.js +25 -25
  299. package/dist/esm/libs/cookie.d.ts +12 -12
  300. package/dist/esm/libs/cookie.js +62 -62
  301. package/dist/esm/libs/crypto.d.ts +3 -3
  302. package/dist/esm/libs/crypto.js +11 -11
  303. package/dist/esm/libs/csv.d.ts +2 -2
  304. package/dist/esm/libs/csv.js +30 -30
  305. package/dist/esm/libs/currency.d.ts +1 -1
  306. package/dist/esm/libs/currency.js +17 -17
  307. package/dist/esm/libs/dates.d.ts +12 -12
  308. package/dist/esm/libs/dates.js +83 -83
  309. package/dist/esm/libs/domain.d.ts +2 -2
  310. package/dist/esm/libs/domain.js +33 -33
  311. package/dist/esm/libs/emails.d.ts +6 -6
  312. package/dist/esm/libs/emails.js +115 -115
  313. package/dist/esm/libs/http-error.d.ts +21 -21
  314. package/dist/esm/libs/http-error.js +55 -55
  315. package/dist/esm/libs/http-status-codes.d.ts +58 -58
  316. package/dist/esm/libs/http-status-codes.js +59 -59
  317. package/dist/esm/libs/index.d.ts +17 -17
  318. package/dist/esm/libs/index.js +17 -17
  319. package/dist/esm/libs/numbers.d.ts +1 -1
  320. package/dist/esm/libs/numbers.js +11 -11
  321. package/dist/esm/libs/referrer-parser/index.d.ts +2 -2
  322. package/dist/esm/libs/referrer-parser/index.js +2 -2
  323. package/dist/esm/libs/referrer-parser/referrer-data.d.ts +9 -9
  324. package/dist/esm/libs/referrer-parser/referrer-data.js +4709 -4709
  325. package/dist/esm/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
  326. package/dist/esm/libs/referrer-parser/referrer-parser-util.js +121 -121
  327. package/dist/esm/libs/strings.d.ts +3 -3
  328. package/dist/esm/libs/strings.js +40 -40
  329. package/dist/esm/libs/traits.d.ts +6 -6
  330. package/dist/esm/libs/traits.js +54 -54
  331. package/dist/esm/libs/url.d.ts +1 -1
  332. package/dist/esm/libs/url.js +9 -9
  333. package/dist/esm/services/cache/generic-cached-object.d.ts +5 -5
  334. package/dist/esm/services/cache/generic-cached-object.js +1 -1
  335. package/dist/esm/services/cache/index.d.ts +1 -1
  336. package/dist/esm/services/cache/index.js +1 -1
  337. package/dist/esm/services/cache/product-cache-service.d.ts +21 -21
  338. package/dist/esm/services/cache/product-cache-service.js +60 -60
  339. package/dist/esm/services/currency-exchange-rate-lookup-service.d.ts +11 -11
  340. package/dist/esm/services/currency-exchange-rate-lookup-service.js +46 -46
  341. package/dist/esm/services/db/currency-exchange-rates-db-service.d.ts +21 -21
  342. package/dist/esm/services/db/currency-exchange-rates-db-service.js +35 -35
  343. package/dist/esm/services/db/destinations-db-service.d.ts +11 -11
  344. package/dist/esm/services/db/destinations-db-service.js +60 -60
  345. package/dist/esm/services/db/identity-cache-db-service.d.ts +28 -28
  346. package/dist/esm/services/db/identity-cache-db-service.js +271 -271
  347. package/dist/esm/services/db/index.d.ts +9 -9
  348. package/dist/esm/services/db/index.js +9 -9
  349. package/dist/esm/services/db/log-events-db-service.d.ts +11 -11
  350. package/dist/esm/services/db/log-events-db-service.js +168 -168
  351. package/dist/esm/services/db/purchasable-contacts-db-service.d.ts +9 -9
  352. package/dist/esm/services/db/purchasable-contacts-db-service.js +39 -39
  353. package/dist/esm/services/db/purchased-contacts-db-service.d.ts +17 -17
  354. package/dist/esm/services/db/purchased-contacts-db-service.js +139 -139
  355. package/dist/esm/services/db/shopify-app-installs-db-service.d.ts +7 -7
  356. package/dist/esm/services/db/shopify-app-installs-db-service.js +43 -43
  357. package/dist/esm/services/db/shopify-products-cache-db-service.d.ts +16 -16
  358. package/dist/esm/services/db/shopify-products-cache-db-service.js +58 -58
  359. package/dist/esm/services/db/tracking-events-db-service.d.ts +20 -20
  360. package/dist/esm/services/db/tracking-events-db-service.js +158 -158
  361. package/dist/esm/services/eventbridge-integration-service.d.ts +9 -9
  362. package/dist/esm/services/eventbridge-integration-service.js +24 -24
  363. package/dist/esm/services/events/index.d.ts +3 -3
  364. package/dist/esm/services/events/index.js +3 -3
  365. package/dist/esm/services/events/log-event-service.d.ts +9 -9
  366. package/dist/esm/services/events/log-event-service.js +52 -52
  367. package/dist/esm/services/events/metric-event-service.d.ts +9 -9
  368. package/dist/esm/services/events/metric-event-service.js +45 -45
  369. package/dist/esm/services/events/tracking-event-sqs-service.d.ts +8 -8
  370. package/dist/esm/services/events/tracking-event-sqs-service.js +25 -25
  371. package/dist/esm/services/generic-cache-service.d.ts +7 -7
  372. package/dist/esm/services/generic-cache-service.js +29 -29
  373. package/dist/esm/services/index.d.ts +8 -8
  374. package/dist/esm/services/index.js +8 -8
  375. package/dist/esm/services/ipdata-lookup-service.d.ts +19 -19
  376. package/dist/esm/services/ipdata-lookup-service.js +73 -73
  377. package/dist/esm/services/shopify/index.d.ts +3 -3
  378. package/dist/esm/services/shopify/index.js +3 -3
  379. package/dist/esm/services/shopify/products/index.d.ts +1 -1
  380. package/dist/esm/services/shopify/products/index.js +1 -1
  381. package/dist/esm/services/shopify/products/shopify-products-serviceV2.d.ts +17 -17
  382. package/dist/esm/services/shopify/products/shopify-products-serviceV2.js +99 -99
  383. package/dist/esm/services/shopify/shopify-graphql-transformer.d.ts +9 -9
  384. package/dist/esm/services/shopify/shopify-graphql-transformer.js +134 -134
  385. package/dist/esm/services/shopify/types/index.d.ts +1 -1
  386. package/dist/esm/services/shopify/types/index.js +1 -1
  387. package/dist/esm/services/shopify/types/product.d.ts +115 -115
  388. package/dist/esm/services/shopify/types/product.js +6 -6
  389. package/dist/esm/types/api-response.d.ts +6 -6
  390. package/dist/esm/types/api-response.js +1 -1
  391. package/dist/esm/types/index.d.ts +2 -2
  392. package/dist/esm/types/index.js +2 -2
  393. package/dist/esm/types/internal-events/event-detail-types.d.ts +20 -20
  394. package/dist/esm/types/internal-events/event-detail-types.js +24 -24
  395. package/dist/esm/types/internal-events/index.d.ts +1 -1
  396. package/dist/esm/types/internal-events/index.js +1 -1
  397. package/dist/esm/types/shopify-graphql-types/admin.generated.d.ts +105 -105
  398. package/dist/esm/types/shopify-graphql-types/admin.generated.js +1 -1
  399. package/dist/esm/types/shopify-graphql-types/admin.types.d.ts +26289 -26289
  400. package/dist/esm/types/shopify-graphql-types/admin.types.js +5299 -5299
  401. package/dist/esm/types/shopify-graphql-types/index.d.ts +2 -2
  402. package/dist/esm/types/shopify-graphql-types/index.js +2 -2
  403. package/package.json +130 -130
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1,17 +1,17 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const compression_1 = require("../../libs/compression");
4
- describe('compression, decompression unit tests', () => {
5
- afterEach(() => {
6
- jest.resetModules();
7
- });
8
- it('should compress json to string', () => {
9
- const compressed = (0, compression_1.compressJSON)({ key1: 'value1', key2: 'value2' });
10
- expect(compressed).toBe('eNqrVspOrTRUslIqS8wpTTVU0gHxjWB8I6VaAK3KCjs=');
11
- });
12
- it('should decompress string to json', () => {
13
- const decompressed = (0, compression_1.decompressJSON)('eNqrVspOrTRUslIqS8wpTTVU0gHxjWB8I6VaAK3KCjs=');
14
- expect(decompressed).toStrictEqual({ key1: 'value1', key2: 'value2' });
15
- });
16
- });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const compression_1 = require("../../libs/compression");
4
+ describe('compression, decompression unit tests', () => {
5
+ afterEach(() => {
6
+ jest.resetModules();
7
+ });
8
+ it('should compress json to string', () => {
9
+ const compressed = (0, compression_1.compressJSON)({ key1: 'value1', key2: 'value2' });
10
+ expect(compressed).toBe('eNqrVspOrTRUslIqS8wpTTVU0gHxjWB8I6VaAK3KCjs=');
11
+ });
12
+ it('should decompress string to json', () => {
13
+ const decompressed = (0, compression_1.decompressJSON)('eNqrVspOrTRUslIqS8wpTTVU0gHxjWB8I6VaAK3KCjs=');
14
+ expect(decompressed).toStrictEqual({ key1: 'value1', key2: 'value2' });
15
+ });
16
+ });
17
17
  //# sourceMappingURL=compress-decompress.spec.js.map
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1,221 +1,221 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const currency_1 = require("../../libs/currency");
4
- const helpers_1 = require("../../helpers");
5
- jest.mock('../../helpers', () => ({
6
- Logger: {
7
- error: jest.fn(),
8
- },
9
- }));
10
- describe('convertAmountBetweenCurrencies', () => {
11
- beforeEach(() => {
12
- jest.clearAllMocks();
13
- });
14
- describe('successful conversions', () => {
15
- it('should convert USD to EUR with exchange rate', () => {
16
- const amount = 100.00;
17
- const fromCurrency = 'USD';
18
- const toCurrency = 'EUR';
19
- const exchangeRate = 0.85;
20
- const result = (0, currency_1.convertAmountBetweenCurrencies)(fromCurrency, toCurrency, amount, exchangeRate);
21
- expect(result).toBe(85.00);
22
- });
23
- it('should convert EUR to USD with exchange rate', () => {
24
- const amount = 100.00;
25
- const fromCurrency = 'EUR';
26
- const toCurrency = 'USD';
27
- const exchangeRate = 1.18;
28
- const result = (0, currency_1.convertAmountBetweenCurrencies)(fromCurrency, toCurrency, amount, exchangeRate);
29
- expect(result).toBe(118.00);
30
- });
31
- it('should handle decimal amounts correctly', () => {
32
- const amount = 123.45;
33
- const fromCurrency = 'USD';
34
- const toCurrency = 'EUR';
35
- const exchangeRate = 0.92;
36
- const result = (0, currency_1.convertAmountBetweenCurrencies)(fromCurrency, toCurrency, amount, exchangeRate);
37
- expect(result).toBe(113.57);
38
- });
39
- it('should round result to 2 decimal places', () => {
40
- const amount = 100.00;
41
- const fromCurrency = 'USD';
42
- const toCurrency = 'EUR';
43
- const exchangeRate = 0.333333;
44
- const result = (0, currency_1.convertAmountBetweenCurrencies)(fromCurrency, toCurrency, amount, exchangeRate);
45
- expect(result).toBe(33.33);
46
- });
47
- it('should handle zero amount', () => {
48
- const amount = 0.00;
49
- const fromCurrency = 'USD';
50
- const toCurrency = 'EUR';
51
- const exchangeRate = 0.85;
52
- const result = (0, currency_1.convertAmountBetweenCurrencies)(fromCurrency, toCurrency, amount, exchangeRate);
53
- expect(result).toBe(0.00);
54
- });
55
- it('should handle exchange rate of 1', () => {
56
- const amount = 100.00;
57
- const fromCurrency = 'USD';
58
- const toCurrency = 'USD';
59
- const exchangeRate = 1.0;
60
- const result = (0, currency_1.convertAmountBetweenCurrencies)(fromCurrency, toCurrency, amount, exchangeRate);
61
- expect(result).toBe(100.00);
62
- });
63
- it('should handle very small amounts', () => {
64
- const amount = 0.01;
65
- const fromCurrency = 'USD';
66
- const toCurrency = 'EUR';
67
- const exchangeRate = 0.85;
68
- const result = (0, currency_1.convertAmountBetweenCurrencies)(fromCurrency, toCurrency, amount, exchangeRate);
69
- expect(result).toBe(0.01);
70
- });
71
- it('should handle large amounts', () => {
72
- const amount = 1000000.00;
73
- const fromCurrency = 'USD';
74
- const toCurrency = 'EUR';
75
- const exchangeRate = 0.85;
76
- const result = (0, currency_1.convertAmountBetweenCurrencies)(fromCurrency, toCurrency, amount, exchangeRate);
77
- expect(result).toBe(850000.00);
78
- });
79
- });
80
- describe('error handling', () => {
81
- it('should return undefined when exchange rate is invalid', () => {
82
- const amount = 100.00;
83
- const fromCurrency = 'USD';
84
- const toCurrency = 'EUR';
85
- const exchangeRate = NaN;
86
- const result = (0, currency_1.convertAmountBetweenCurrencies)(fromCurrency, toCurrency, amount, exchangeRate);
87
- expect(result).toBeUndefined();
88
- expect(helpers_1.Logger.error).toHaveBeenCalledWith('Amount and exchange rate must be valid numbers', {
89
- amount,
90
- fromCurrency,
91
- toCurrency,
92
- exchangeRate: NaN,
93
- });
94
- });
95
- it('should return undefined when exchange rate is Infinity', () => {
96
- const amount = 100.00;
97
- const fromCurrency = 'USD';
98
- const toCurrency = 'EUR';
99
- const exchangeRate = Infinity;
100
- const result = (0, currency_1.convertAmountBetweenCurrencies)(fromCurrency, toCurrency, amount, exchangeRate);
101
- expect(result).toBeUndefined();
102
- expect(helpers_1.Logger.error).toHaveBeenCalledWith('Amount and exchange rate must be valid numbers', {
103
- amount,
104
- fromCurrency,
105
- toCurrency,
106
- exchangeRate: Infinity,
107
- });
108
- });
109
- it('should return undefined when amount is empty', () => {
110
- const amount = '';
111
- const fromCurrency = 'USD';
112
- const toCurrency = 'EUR';
113
- const exchangeRate = 0.85;
114
- const result = (0, currency_1.convertAmountBetweenCurrencies)(fromCurrency, toCurrency, amount, exchangeRate);
115
- expect(result).toBeUndefined();
116
- expect(helpers_1.Logger.error).toHaveBeenCalledWith('Amount and exchange rate must be valid numbers', {
117
- amount,
118
- fromCurrency,
119
- toCurrency,
120
- exchangeRate: 0.85,
121
- });
122
- });
123
- it('should return undefined when amount is null', () => {
124
- const amount = null;
125
- const fromCurrency = 'USD';
126
- const toCurrency = 'EUR';
127
- const exchangeRate = null;
128
- const result = (0, currency_1.convertAmountBetweenCurrencies)(fromCurrency, toCurrency, amount, exchangeRate);
129
- expect(result).toBeUndefined();
130
- expect(helpers_1.Logger.error).toHaveBeenCalledWith('Amount and exchange rate must be valid numbers', {
131
- amount,
132
- fromCurrency,
133
- toCurrency,
134
- exchangeRate: null,
135
- });
136
- });
137
- it('should return undefined when amount is undefined', () => {
138
- const amount = undefined;
139
- const fromCurrency = 'USD';
140
- const toCurrency = 'EUR';
141
- const exchangeRate = 0.85;
142
- const result = (0, currency_1.convertAmountBetweenCurrencies)(fromCurrency, toCurrency, amount, exchangeRate);
143
- expect(result).toBeUndefined();
144
- expect(helpers_1.Logger.error).toHaveBeenCalledWith('Amount and exchange rate must be valid numbers', {
145
- amount,
146
- fromCurrency,
147
- toCurrency,
148
- exchangeRate: 0.85,
149
- });
150
- });
151
- });
152
- describe('edge cases', () => {
153
- it('should handle very small exchange rates', () => {
154
- const amount = 100.00;
155
- const fromCurrency = 'USD';
156
- const toCurrency = 'JPY';
157
- const exchangeRate = 0.001;
158
- const result = (0, currency_1.convertAmountBetweenCurrencies)(fromCurrency, toCurrency, amount, exchangeRate);
159
- expect(result).toBe(0.10);
160
- });
161
- it('should handle very large exchange rates', () => {
162
- const amount = 1.00;
163
- const fromCurrency = 'JPY';
164
- const toCurrency = 'USD';
165
- const exchangeRate = 1000;
166
- const result = (0, currency_1.convertAmountBetweenCurrencies)(fromCurrency, toCurrency, amount, exchangeRate);
167
- expect(result).toBe(1000.00);
168
- });
169
- it('should handle zero exchange rate', () => {
170
- const amount = 100.00;
171
- const fromCurrency = 'USD';
172
- const toCurrency = 'EUR';
173
- const exchangeRate = 0;
174
- const result = (0, currency_1.convertAmountBetweenCurrencies)(fromCurrency, toCurrency, amount, exchangeRate);
175
- expect(result).toBe(0.00);
176
- });
177
- it('should handle different currency codes', () => {
178
- const amount = 50.00;
179
- const fromCurrency = 'GBP';
180
- const toCurrency = 'CAD';
181
- const exchangeRate = 1.75;
182
- const result = (0, currency_1.convertAmountBetweenCurrencies)(fromCurrency, toCurrency, amount, exchangeRate);
183
- expect(result).toBe(87.50);
184
- });
185
- });
186
- describe('Big.js precision handling', () => {
187
- it('should handle Big.js precision correctly', () => {
188
- const amount = '0.333333333333333333';
189
- const fromCurrency = 'USD';
190
- const toCurrency = 'EUR';
191
- const exchangeRate = 0.85;
192
- const result = (0, currency_1.convertAmountBetweenCurrencies)(fromCurrency, toCurrency, amount, exchangeRate);
193
- expect(result).toBe(0.28);
194
- });
195
- it('should handle Big.js with high precision exchange rate', () => {
196
- const amount = '1931305.25';
197
- const fromCurrency = 'USD';
198
- const toCurrency = 'EUR';
199
- const exchangeRate = 1.165772907437631;
200
- const result = (0, currency_1.convertAmountBetweenCurrencies)(fromCurrency, toCurrency, amount, exchangeRate);
201
- expect(result).toBe(2251463.34);
202
- });
203
- it('should handle Big.js with high precision exchange rate', () => {
204
- const amount = '6809633.24';
205
- const fromCurrency = 'CAD';
206
- const toCurrency = 'USD';
207
- const exchangeRate = 0.7276431637924762;
208
- const result = (0, currency_1.convertAmountBetweenCurrencies)(fromCurrency, toCurrency, amount, exchangeRate);
209
- expect(result).toBe(4954983.08);
210
- });
211
- it('should handle Big.js with high precision exchange rate', () => {
212
- const amount = '81.1723990090352666861';
213
- const fromCurrency = 'CAD';
214
- const toCurrency = 'USD';
215
- const exchangeRate = 0.6520179956966812;
216
- const result = (0, currency_1.convertAmountBetweenCurrencies)(fromCurrency, toCurrency, amount, exchangeRate);
217
- expect(result).toBe(52.93);
218
- });
219
- });
220
- });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const currency_1 = require("../../libs/currency");
4
+ const helpers_1 = require("../../helpers");
5
+ jest.mock('../../helpers', () => ({
6
+ Logger: {
7
+ error: jest.fn(),
8
+ },
9
+ }));
10
+ describe('convertAmountBetweenCurrencies', () => {
11
+ beforeEach(() => {
12
+ jest.clearAllMocks();
13
+ });
14
+ describe('successful conversions', () => {
15
+ it('should convert USD to EUR with exchange rate', () => {
16
+ const amount = 100.00;
17
+ const fromCurrency = 'USD';
18
+ const toCurrency = 'EUR';
19
+ const exchangeRate = 0.85;
20
+ const result = (0, currency_1.convertAmountBetweenCurrencies)(fromCurrency, toCurrency, amount, exchangeRate);
21
+ expect(result).toBe(85.00);
22
+ });
23
+ it('should convert EUR to USD with exchange rate', () => {
24
+ const amount = 100.00;
25
+ const fromCurrency = 'EUR';
26
+ const toCurrency = 'USD';
27
+ const exchangeRate = 1.18;
28
+ const result = (0, currency_1.convertAmountBetweenCurrencies)(fromCurrency, toCurrency, amount, exchangeRate);
29
+ expect(result).toBe(118.00);
30
+ });
31
+ it('should handle decimal amounts correctly', () => {
32
+ const amount = 123.45;
33
+ const fromCurrency = 'USD';
34
+ const toCurrency = 'EUR';
35
+ const exchangeRate = 0.92;
36
+ const result = (0, currency_1.convertAmountBetweenCurrencies)(fromCurrency, toCurrency, amount, exchangeRate);
37
+ expect(result).toBe(113.57);
38
+ });
39
+ it('should round result to 2 decimal places', () => {
40
+ const amount = 100.00;
41
+ const fromCurrency = 'USD';
42
+ const toCurrency = 'EUR';
43
+ const exchangeRate = 0.333333;
44
+ const result = (0, currency_1.convertAmountBetweenCurrencies)(fromCurrency, toCurrency, amount, exchangeRate);
45
+ expect(result).toBe(33.33);
46
+ });
47
+ it('should handle zero amount', () => {
48
+ const amount = 0.00;
49
+ const fromCurrency = 'USD';
50
+ const toCurrency = 'EUR';
51
+ const exchangeRate = 0.85;
52
+ const result = (0, currency_1.convertAmountBetweenCurrencies)(fromCurrency, toCurrency, amount, exchangeRate);
53
+ expect(result).toBe(0.00);
54
+ });
55
+ it('should handle exchange rate of 1', () => {
56
+ const amount = 100.00;
57
+ const fromCurrency = 'USD';
58
+ const toCurrency = 'USD';
59
+ const exchangeRate = 1.0;
60
+ const result = (0, currency_1.convertAmountBetweenCurrencies)(fromCurrency, toCurrency, amount, exchangeRate);
61
+ expect(result).toBe(100.00);
62
+ });
63
+ it('should handle very small amounts', () => {
64
+ const amount = 0.01;
65
+ const fromCurrency = 'USD';
66
+ const toCurrency = 'EUR';
67
+ const exchangeRate = 0.85;
68
+ const result = (0, currency_1.convertAmountBetweenCurrencies)(fromCurrency, toCurrency, amount, exchangeRate);
69
+ expect(result).toBe(0.01);
70
+ });
71
+ it('should handle large amounts', () => {
72
+ const amount = 1000000.00;
73
+ const fromCurrency = 'USD';
74
+ const toCurrency = 'EUR';
75
+ const exchangeRate = 0.85;
76
+ const result = (0, currency_1.convertAmountBetweenCurrencies)(fromCurrency, toCurrency, amount, exchangeRate);
77
+ expect(result).toBe(850000.00);
78
+ });
79
+ });
80
+ describe('error handling', () => {
81
+ it('should return undefined when exchange rate is invalid', () => {
82
+ const amount = 100.00;
83
+ const fromCurrency = 'USD';
84
+ const toCurrency = 'EUR';
85
+ const exchangeRate = NaN;
86
+ const result = (0, currency_1.convertAmountBetweenCurrencies)(fromCurrency, toCurrency, amount, exchangeRate);
87
+ expect(result).toBeUndefined();
88
+ expect(helpers_1.Logger.error).toHaveBeenCalledWith('Amount and exchange rate must be valid numbers', {
89
+ amount,
90
+ fromCurrency,
91
+ toCurrency,
92
+ exchangeRate: NaN,
93
+ });
94
+ });
95
+ it('should return undefined when exchange rate is Infinity', () => {
96
+ const amount = 100.00;
97
+ const fromCurrency = 'USD';
98
+ const toCurrency = 'EUR';
99
+ const exchangeRate = Infinity;
100
+ const result = (0, currency_1.convertAmountBetweenCurrencies)(fromCurrency, toCurrency, amount, exchangeRate);
101
+ expect(result).toBeUndefined();
102
+ expect(helpers_1.Logger.error).toHaveBeenCalledWith('Amount and exchange rate must be valid numbers', {
103
+ amount,
104
+ fromCurrency,
105
+ toCurrency,
106
+ exchangeRate: Infinity,
107
+ });
108
+ });
109
+ it('should return undefined when amount is empty', () => {
110
+ const amount = '';
111
+ const fromCurrency = 'USD';
112
+ const toCurrency = 'EUR';
113
+ const exchangeRate = 0.85;
114
+ const result = (0, currency_1.convertAmountBetweenCurrencies)(fromCurrency, toCurrency, amount, exchangeRate);
115
+ expect(result).toBeUndefined();
116
+ expect(helpers_1.Logger.error).toHaveBeenCalledWith('Amount and exchange rate must be valid numbers', {
117
+ amount,
118
+ fromCurrency,
119
+ toCurrency,
120
+ exchangeRate: 0.85,
121
+ });
122
+ });
123
+ it('should return undefined when amount is null', () => {
124
+ const amount = null;
125
+ const fromCurrency = 'USD';
126
+ const toCurrency = 'EUR';
127
+ const exchangeRate = null;
128
+ const result = (0, currency_1.convertAmountBetweenCurrencies)(fromCurrency, toCurrency, amount, exchangeRate);
129
+ expect(result).toBeUndefined();
130
+ expect(helpers_1.Logger.error).toHaveBeenCalledWith('Amount and exchange rate must be valid numbers', {
131
+ amount,
132
+ fromCurrency,
133
+ toCurrency,
134
+ exchangeRate: null,
135
+ });
136
+ });
137
+ it('should return undefined when amount is undefined', () => {
138
+ const amount = undefined;
139
+ const fromCurrency = 'USD';
140
+ const toCurrency = 'EUR';
141
+ const exchangeRate = 0.85;
142
+ const result = (0, currency_1.convertAmountBetweenCurrencies)(fromCurrency, toCurrency, amount, exchangeRate);
143
+ expect(result).toBeUndefined();
144
+ expect(helpers_1.Logger.error).toHaveBeenCalledWith('Amount and exchange rate must be valid numbers', {
145
+ amount,
146
+ fromCurrency,
147
+ toCurrency,
148
+ exchangeRate: 0.85,
149
+ });
150
+ });
151
+ });
152
+ describe('edge cases', () => {
153
+ it('should handle very small exchange rates', () => {
154
+ const amount = 100.00;
155
+ const fromCurrency = 'USD';
156
+ const toCurrency = 'JPY';
157
+ const exchangeRate = 0.001;
158
+ const result = (0, currency_1.convertAmountBetweenCurrencies)(fromCurrency, toCurrency, amount, exchangeRate);
159
+ expect(result).toBe(0.10);
160
+ });
161
+ it('should handle very large exchange rates', () => {
162
+ const amount = 1.00;
163
+ const fromCurrency = 'JPY';
164
+ const toCurrency = 'USD';
165
+ const exchangeRate = 1000;
166
+ const result = (0, currency_1.convertAmountBetweenCurrencies)(fromCurrency, toCurrency, amount, exchangeRate);
167
+ expect(result).toBe(1000.00);
168
+ });
169
+ it('should handle zero exchange rate', () => {
170
+ const amount = 100.00;
171
+ const fromCurrency = 'USD';
172
+ const toCurrency = 'EUR';
173
+ const exchangeRate = 0;
174
+ const result = (0, currency_1.convertAmountBetweenCurrencies)(fromCurrency, toCurrency, amount, exchangeRate);
175
+ expect(result).toBe(0.00);
176
+ });
177
+ it('should handle different currency codes', () => {
178
+ const amount = 50.00;
179
+ const fromCurrency = 'GBP';
180
+ const toCurrency = 'CAD';
181
+ const exchangeRate = 1.75;
182
+ const result = (0, currency_1.convertAmountBetweenCurrencies)(fromCurrency, toCurrency, amount, exchangeRate);
183
+ expect(result).toBe(87.50);
184
+ });
185
+ });
186
+ describe('Big.js precision handling', () => {
187
+ it('should handle Big.js precision correctly', () => {
188
+ const amount = '0.333333333333333333';
189
+ const fromCurrency = 'USD';
190
+ const toCurrency = 'EUR';
191
+ const exchangeRate = 0.85;
192
+ const result = (0, currency_1.convertAmountBetweenCurrencies)(fromCurrency, toCurrency, amount, exchangeRate);
193
+ expect(result).toBe(0.28);
194
+ });
195
+ it('should handle Big.js with high precision exchange rate', () => {
196
+ const amount = '1931305.25';
197
+ const fromCurrency = 'USD';
198
+ const toCurrency = 'EUR';
199
+ const exchangeRate = 1.165772907437631;
200
+ const result = (0, currency_1.convertAmountBetweenCurrencies)(fromCurrency, toCurrency, amount, exchangeRate);
201
+ expect(result).toBe(2251463.34);
202
+ });
203
+ it('should handle Big.js with high precision exchange rate', () => {
204
+ const amount = '6809633.24';
205
+ const fromCurrency = 'CAD';
206
+ const toCurrency = 'USD';
207
+ const exchangeRate = 0.7276431637924762;
208
+ const result = (0, currency_1.convertAmountBetweenCurrencies)(fromCurrency, toCurrency, amount, exchangeRate);
209
+ expect(result).toBe(4954983.08);
210
+ });
211
+ it('should handle Big.js with high precision exchange rate', () => {
212
+ const amount = '81.1723990090352666861';
213
+ const fromCurrency = 'CAD';
214
+ const toCurrency = 'USD';
215
+ const exchangeRate = 0.6520179956966812;
216
+ const result = (0, currency_1.convertAmountBetweenCurrencies)(fromCurrency, toCurrency, amount, exchangeRate);
217
+ expect(result).toBe(52.93);
218
+ });
219
+ });
220
+ });
221
221
  //# sourceMappingURL=currency.spec.js.map
@@ -1 +1 @@
1
- export {};
1
+ export {};