@adtrackify/at-service-common 3.6.7 → 3.7.1

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