@adtrackify/at-service-common 4.0.3 → 4.0.4

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 (753) hide show
  1. package/dist/cjs/__tests__/clients/acuity-client.spec.d.ts +1 -1
  2. package/dist/cjs/__tests__/clients/acuity-client.spec.js +43 -43
  3. package/dist/cjs/__tests__/clients/cross-platform-compression.spec.d.ts +1 -1
  4. package/dist/cjs/__tests__/clients/cross-platform-compression.spec.js +354 -354
  5. package/dist/cjs/__tests__/clients/dynamodb-client.spec.d.ts +1 -1
  6. package/dist/cjs/__tests__/clients/dynamodb-client.spec.js +194 -194
  7. package/dist/cjs/__tests__/clients/sqs-bundled-client.spec.d.ts +1 -1
  8. package/dist/cjs/__tests__/clients/sqs-bundled-client.spec.js +931 -931
  9. package/dist/cjs/__tests__/clients/sqs-bundling-contracts.spec.d.ts +1 -1
  10. package/dist/cjs/__tests__/clients/sqs-bundling-contracts.spec.js +563 -563
  11. package/dist/cjs/__tests__/clients/sqs-client.spec.d.ts +1 -1
  12. package/dist/cjs/__tests__/clients/sqs-client.spec.js +191 -191
  13. package/dist/cjs/__tests__/clients/sqs-unbundle.spec.d.ts +1 -1
  14. package/dist/cjs/__tests__/clients/sqs-unbundle.spec.js +1357 -1357
  15. package/dist/cjs/__tests__/db/contact-enrichments-db-service.spec.d.ts +1 -1
  16. package/dist/cjs/__tests__/db/contact-enrichments-db-service.spec.js +68 -68
  17. package/dist/cjs/__tests__/db/destinations-db-service.spec.d.ts +1 -1
  18. package/dist/cjs/__tests__/db/destinations-db-service.spec.js +125 -125
  19. package/dist/cjs/__tests__/db/products-db-service.spec.d.ts +1 -0
  20. package/dist/cjs/__tests__/db/products-db-service.spec.js +90 -0
  21. package/dist/cjs/__tests__/db/products-db-service.spec.js.map +1 -0
  22. package/dist/cjs/__tests__/db/shared-read-db-services.spec.d.ts +1 -1
  23. package/dist/cjs/__tests__/db/shared-read-db-services.spec.js +89 -89
  24. package/dist/cjs/__tests__/db/shopify-app-installs-db-service.spec.d.ts +1 -1
  25. package/dist/cjs/__tests__/db/shopify-app-installs-db-service.spec.js +104 -104
  26. package/dist/cjs/__tests__/db/subscriptions-db-service.spec.d.ts +1 -1
  27. package/dist/cjs/__tests__/db/subscriptions-db-service.spec.js +95 -95
  28. package/dist/cjs/__tests__/db/user-accounts-db-service.spec.d.ts +1 -1
  29. package/dist/cjs/__tests__/db/user-accounts-db-service.spec.js +76 -76
  30. package/dist/cjs/__tests__/helpers/account-users-helper.spec.d.ts +1 -1
  31. package/dist/cjs/__tests__/helpers/account-users-helper.spec.js +220 -220
  32. package/dist/cjs/__tests__/helpers/acuity-helper.spec.d.ts +1 -1
  33. package/dist/cjs/__tests__/helpers/acuity-helper.spec.js +69 -69
  34. package/dist/cjs/__tests__/helpers/api-key-auth-helper.spec.d.ts +1 -1
  35. package/dist/cjs/__tests__/helpers/api-key-auth-helper.spec.js +82 -82
  36. package/dist/cjs/__tests__/identity-cache/identity-cache-db-service.spec.d.ts +1 -1
  37. package/dist/cjs/__tests__/identity-cache/identity-cache-db-service.spec.js +676 -676
  38. package/dist/cjs/__tests__/identity-cache/identity-cache-dynamodb-service.spec.d.ts +1 -1
  39. package/dist/cjs/__tests__/identity-cache/identity-cache-dynamodb-service.spec.js +1140 -1140
  40. package/dist/cjs/__tests__/identity-cache/identity-cache-tier-routing.spec.d.ts +1 -1
  41. package/dist/cjs/__tests__/identity-cache/identity-cache-tier-routing.spec.js +851 -851
  42. package/dist/cjs/__tests__/identity-cache/trait-merging-and-staleness.spec.d.ts +1 -1
  43. package/dist/cjs/__tests__/identity-cache/trait-merging-and-staleness.spec.js +1060 -1060
  44. package/dist/cjs/__tests__/identity-cache/volatile-traits-optimization.spec.d.ts +1 -1
  45. package/dist/cjs/__tests__/identity-cache/volatile-traits-optimization.spec.js +818 -818
  46. package/dist/cjs/__tests__/integration/sqs-bundling-roundtrip.spec.d.ts +1 -1
  47. package/dist/cjs/__tests__/integration/sqs-bundling-roundtrip.spec.js +584 -584
  48. package/dist/cjs/__tests__/libs/compress-decompress.spec.d.ts +1 -1
  49. package/dist/cjs/__tests__/libs/compress-decompress.spec.js +16 -16
  50. package/dist/cjs/__tests__/libs/contacts.spec.d.ts +1 -1
  51. package/dist/cjs/__tests__/libs/contacts.spec.js +294 -294
  52. package/dist/cjs/__tests__/libs/currency.spec.d.ts +1 -1
  53. package/dist/cjs/__tests__/libs/currency.spec.js +220 -220
  54. package/dist/cjs/__tests__/libs/dates.spec.d.ts +1 -1
  55. package/dist/cjs/__tests__/libs/dates.spec.js +130 -130
  56. package/dist/cjs/__tests__/libs/domain.spec.d.ts +1 -1
  57. package/dist/cjs/__tests__/libs/domain.spec.js +107 -107
  58. package/dist/cjs/__tests__/libs/numbers.spec.d.ts +1 -1
  59. package/dist/cjs/__tests__/libs/numbers.spec.js +261 -261
  60. package/dist/cjs/__tests__/s3-client/s3-client.spec.d.ts +1 -1
  61. package/dist/cjs/__tests__/s3-client/s3-client.spec.js +33 -33
  62. package/dist/cjs/__tests__/services/acuity-api-service.spec.d.ts +1 -1
  63. package/dist/cjs/__tests__/services/acuity-api-service.spec.js +71 -71
  64. package/dist/cjs/__tests__/services/cost/cost-calculation-types.spec.d.ts +1 -0
  65. package/dist/cjs/__tests__/services/cost/cost-calculation-types.spec.js +24 -0
  66. package/dist/cjs/__tests__/services/cost/cost-calculation-types.spec.js.map +1 -0
  67. package/dist/cjs/__tests__/services/cost/cost-calculator-service.spec.d.ts +1 -0
  68. package/dist/cjs/__tests__/services/cost/cost-calculator-service.spec.js +3320 -0
  69. package/dist/cjs/__tests__/services/cost/cost-calculator-service.spec.js.map +1 -0
  70. package/dist/cjs/__tests__/services/cost/cost-currency-service.spec.d.ts +1 -0
  71. package/dist/cjs/__tests__/services/cost/cost-currency-service.spec.js +115 -0
  72. package/dist/cjs/__tests__/services/cost/cost-currency-service.spec.js.map +1 -0
  73. package/dist/cjs/__tests__/services/cost/cost-filter-service.spec.d.ts +1 -0
  74. package/dist/cjs/__tests__/services/cost/cost-filter-service.spec.js +469 -0
  75. package/dist/cjs/__tests__/services/cost/cost-filter-service.spec.js.map +1 -0
  76. package/dist/cjs/__tests__/services/cost/order-cost/order-cost-resolution-service.spec.d.ts +1 -0
  77. package/dist/cjs/__tests__/services/cost/order-cost/order-cost-resolution-service.spec.js +207 -0
  78. package/dist/cjs/__tests__/services/cost/order-cost/order-cost-resolution-service.spec.js.map +1 -0
  79. package/dist/cjs/__tests__/services/currency-exchange-rate-lookup-service.spec.d.ts +1 -0
  80. package/dist/cjs/__tests__/services/currency-exchange-rate-lookup-service.spec.js +35 -0
  81. package/dist/cjs/__tests__/services/currency-exchange-rate-lookup-service.spec.js.map +1 -0
  82. package/dist/cjs/__tests__/services/email-verification/contact-email-verification-service.spec.d.ts +1 -1
  83. package/dist/cjs/__tests__/services/email-verification/contact-email-verification-service.spec.js +93 -93
  84. package/dist/cjs/__tests__/services/email-verification/email-verification-service.spec.d.ts +1 -1
  85. package/dist/cjs/__tests__/services/email-verification/email-verification-service.spec.js +57 -57
  86. package/dist/cjs/__tests__/shopify/shopify-graphql-transformer.spec.d.ts +1 -1
  87. package/dist/cjs/__tests__/shopify/shopify-graphql-transformer.spec.js +35 -35
  88. package/dist/cjs/__tests__/unit/libs/api-router/public-api-router.spec.d.ts +1 -1
  89. package/dist/cjs/__tests__/unit/libs/api-router/public-api-router.spec.js +181 -181
  90. package/dist/cjs/__tests__/unit/libs/api-router/route-matcher.spec.d.ts +1 -1
  91. package/dist/cjs/__tests__/unit/libs/api-router/route-matcher.spec.js +69 -69
  92. package/dist/cjs/__tests__/utils/custom-measure-formula-utils.spec.d.ts +1 -1
  93. package/dist/cjs/__tests__/utils/custom-measure-formula-utils.spec.js +139 -139
  94. package/dist/cjs/clients/generic/cognito-client.d.ts +23 -23
  95. package/dist/cjs/clients/generic/cognito-client.js +209 -209
  96. package/dist/cjs/clients/generic/dynamodb-client.d.ts +20 -20
  97. package/dist/cjs/clients/generic/dynamodb-client.js +235 -235
  98. package/dist/cjs/clients/generic/eventbridge-client.d.ts +14 -14
  99. package/dist/cjs/clients/generic/eventbridge-client.js +51 -51
  100. package/dist/cjs/clients/generic/http-client.d.ts +14 -14
  101. package/dist/cjs/clients/generic/http-client.js +61 -61
  102. package/dist/cjs/clients/generic/index.d.ts +13 -13
  103. package/dist/cjs/clients/generic/index.js +29 -29
  104. package/dist/cjs/clients/generic/lambda-invoke-client.d.ts +10 -10
  105. package/dist/cjs/clients/generic/lambda-invoke-client.js +39 -39
  106. package/dist/cjs/clients/generic/location-client.d.ts +8 -8
  107. package/dist/cjs/clients/generic/location-client.js +31 -31
  108. package/dist/cjs/clients/generic/redis-client.d.ts +33 -33
  109. package/dist/cjs/clients/generic/redis-client.js +191 -191
  110. package/dist/cjs/clients/generic/s3-client.d.ts +23 -23
  111. package/dist/cjs/clients/generic/s3-client.js +216 -216
  112. package/dist/cjs/clients/generic/singlestore-db-client.d.ts +14 -14
  113. package/dist/cjs/clients/generic/singlestore-db-client.js +67 -67
  114. package/dist/cjs/clients/generic/sqs-bundled-client.d.ts +15 -15
  115. package/dist/cjs/clients/generic/sqs-bundled-client.js +311 -311
  116. package/dist/cjs/clients/generic/sqs-bundled-client.types.d.ts +53 -53
  117. package/dist/cjs/clients/generic/sqs-bundled-client.types.js +17 -17
  118. package/dist/cjs/clients/generic/sqs-client.d.ts +53 -53
  119. package/dist/cjs/clients/generic/sqs-client.js +285 -285
  120. package/dist/cjs/clients/generic/sqs-unbundle.d.ts +32 -32
  121. package/dist/cjs/clients/generic/sqs-unbundle.js +144 -144
  122. package/dist/cjs/clients/index.d.ts +3 -3
  123. package/dist/cjs/clients/index.js +19 -19
  124. package/dist/cjs/clients/internal-api/accounts-client.d.ts +91 -91
  125. package/dist/cjs/clients/internal-api/accounts-client.js +129 -129
  126. package/dist/cjs/clients/internal-api/cache-lambda-client.d.ts +26 -26
  127. package/dist/cjs/clients/internal-api/cache-lambda-client.js +89 -89
  128. package/dist/cjs/clients/internal-api/db-management-client.d.ts +18 -18
  129. package/dist/cjs/clients/internal-api/db-management-client.js +36 -36
  130. package/dist/cjs/clients/internal-api/destinations-client.d.ts +34 -34
  131. package/dist/cjs/clients/internal-api/destinations-client.js +79 -79
  132. package/dist/cjs/clients/internal-api/event-collector-client.d.ts +20 -20
  133. package/dist/cjs/clients/internal-api/event-collector-client.js +36 -36
  134. package/dist/cjs/clients/internal-api/identity-client.d.ts +31 -31
  135. package/dist/cjs/clients/internal-api/identity-client.js +91 -91
  136. package/dist/cjs/clients/internal-api/index.d.ts +9 -9
  137. package/dist/cjs/clients/internal-api/index.js +25 -25
  138. package/dist/cjs/clients/internal-api/shopify-app-install-client.d.ts +37 -37
  139. package/dist/cjs/clients/internal-api/shopify-app-install-client.js +81 -81
  140. package/dist/cjs/clients/internal-api/subscriptions-client.d.ts +26 -26
  141. package/dist/cjs/clients/internal-api/subscriptions-client.js +77 -77
  142. package/dist/cjs/clients/internal-api/users-auth-client.d.ts +35 -35
  143. package/dist/cjs/clients/internal-api/users-auth-client.js +110 -110
  144. package/dist/cjs/clients/third-party/acuity-client.d.ts +10 -10
  145. package/dist/cjs/clients/third-party/acuity-client.js +40 -40
  146. package/dist/cjs/clients/third-party/emailable-client.d.ts +7 -7
  147. package/dist/cjs/clients/third-party/emailable-client.js +25 -25
  148. package/dist/cjs/clients/third-party/exchange-rate-api-client.d.ts +17 -17
  149. package/dist/cjs/clients/third-party/exchange-rate-api-client.js +19 -19
  150. package/dist/cjs/clients/third-party/index.d.ts +5 -5
  151. package/dist/cjs/clients/third-party/index.js +21 -21
  152. package/dist/cjs/clients/third-party/loops-client.d.ts +10 -10
  153. package/dist/cjs/clients/third-party/loops-client.js +30 -30
  154. package/dist/cjs/clients/third-party/shopify/graphql-order-queries.d.ts +25 -25
  155. package/dist/cjs/clients/third-party/shopify/graphql-order-queries.js +4 -4
  156. package/dist/cjs/clients/third-party/shopify/graphql-product-queries.d.ts +2 -2
  157. package/dist/cjs/clients/third-party/shopify/graphql-product-queries.js +5 -5
  158. package/dist/cjs/clients/third-party/shopify/shopify-graphql-client.d.ts +10 -10
  159. package/dist/cjs/clients/third-party/shopify/shopify-graphql-client.js +161 -161
  160. package/dist/cjs/clients/third-party/shopify-client.d.ts +29 -29
  161. package/dist/cjs/clients/third-party/shopify-client.js +146 -146
  162. package/dist/cjs/constants/index.d.ts +1 -1
  163. package/dist/cjs/constants/index.js +17 -17
  164. package/dist/cjs/constants/sqs.d.ts +20 -20
  165. package/dist/cjs/constants/sqs.js +26 -26
  166. package/dist/cjs/helpers/account-users-helper.d.ts +2 -2
  167. package/dist/cjs/helpers/account-users-helper.js +22 -22
  168. package/dist/cjs/helpers/acuity-helper.d.ts +4 -4
  169. package/dist/cjs/helpers/acuity-helper.js +56 -56
  170. package/dist/cjs/helpers/api-key-auth-helper.d.ts +9 -9
  171. package/dist/cjs/helpers/api-key-auth-helper.js +40 -40
  172. package/dist/cjs/helpers/api-key-authorizer-helper.d.ts +36 -36
  173. package/dist/cjs/helpers/api-key-authorizer-helper.js +87 -87
  174. package/dist/cjs/helpers/identity-cache-helper.d.ts +30 -30
  175. package/dist/cjs/helpers/identity-cache-helper.js +253 -253
  176. package/dist/cjs/helpers/index.d.ts +10 -10
  177. package/dist/cjs/helpers/index.js +26 -26
  178. package/dist/cjs/helpers/input-validation-helper.d.ts +3 -3
  179. package/dist/cjs/helpers/input-validation-helper.js +22 -22
  180. package/dist/cjs/helpers/logging-helper.d.ts +16 -16
  181. package/dist/cjs/helpers/logging-helper.js +84 -84
  182. package/dist/cjs/helpers/response-helper.d.ts +18 -18
  183. package/dist/cjs/helpers/response-helper.js +43 -43
  184. package/dist/cjs/helpers/shopify-helper.d.ts +9 -9
  185. package/dist/cjs/helpers/shopify-helper.js +26 -26
  186. package/dist/cjs/helpers/sqs-utils.d.ts +6 -6
  187. package/dist/cjs/helpers/sqs-utils.js +14 -14
  188. package/dist/cjs/index.d.ts +7 -7
  189. package/dist/cjs/index.js +23 -23
  190. package/dist/cjs/libs/api-router/index.d.ts +2 -2
  191. package/dist/cjs/libs/api-router/index.js +18 -18
  192. package/dist/cjs/libs/api-router/public-api-router.d.ts +3 -3
  193. package/dist/cjs/libs/api-router/public-api-router.js +36 -36
  194. package/dist/cjs/libs/api-router/route-matcher.d.ts +21 -21
  195. package/dist/cjs/libs/api-router/route-matcher.js +36 -36
  196. package/dist/cjs/libs/click-id-parser.d.ts +23 -23
  197. package/dist/cjs/libs/click-id-parser.js +49 -49
  198. package/dist/cjs/libs/compression.d.ts +2 -2
  199. package/dist/cjs/libs/compression.js +33 -33
  200. package/dist/cjs/libs/contacts.d.ts +7 -7
  201. package/dist/cjs/libs/contacts.js +152 -152
  202. package/dist/cjs/libs/cookie.d.ts +17 -17
  203. package/dist/cjs/libs/cookie.js +76 -76
  204. package/dist/cjs/libs/crypto.d.ts +4 -4
  205. package/dist/cjs/libs/crypto.js +25 -25
  206. package/dist/cjs/libs/csv.d.ts +2 -2
  207. package/dist/cjs/libs/csv.js +35 -35
  208. package/dist/cjs/libs/currency.d.ts +1 -1
  209. package/dist/cjs/libs/currency.js +29 -29
  210. package/dist/cjs/libs/dates.d.ts +12 -12
  211. package/dist/cjs/libs/dates.js +96 -96
  212. package/dist/cjs/libs/domain.d.ts +2 -2
  213. package/dist/cjs/libs/domain.js +38 -38
  214. package/dist/cjs/libs/emails.d.ts +8 -8
  215. package/dist/cjs/libs/emails.js +154 -154
  216. package/dist/cjs/libs/http-error.d.ts +21 -21
  217. package/dist/cjs/libs/http-error.js +63 -63
  218. package/dist/cjs/libs/http-status-codes.d.ts +58 -58
  219. package/dist/cjs/libs/http-status-codes.js +62 -62
  220. package/dist/cjs/libs/index.d.ts +19 -19
  221. package/dist/cjs/libs/index.js +35 -35
  222. package/dist/cjs/libs/numbers.d.ts +1 -1
  223. package/dist/cjs/libs/numbers.js +15 -15
  224. package/dist/cjs/libs/referrer-parser/index.d.ts +2 -2
  225. package/dist/cjs/libs/referrer-parser/index.js +18 -18
  226. package/dist/cjs/libs/referrer-parser/referrer-data.d.ts +9 -9
  227. package/dist/cjs/libs/referrer-parser/referrer-data.js +3307 -3307
  228. package/dist/cjs/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
  229. package/dist/cjs/libs/referrer-parser/referrer-parser-util.js +131 -131
  230. package/dist/cjs/libs/strings.d.ts +3 -3
  231. package/dist/cjs/libs/strings.js +46 -46
  232. package/dist/cjs/libs/traits.d.ts +6 -6
  233. package/dist/cjs/libs/traits.js +65 -65
  234. package/dist/cjs/libs/url.d.ts +1 -1
  235. package/dist/cjs/libs/url.js +13 -13
  236. package/dist/cjs/services/acuity-api-service.d.ts +9 -9
  237. package/dist/cjs/services/acuity-api-service.js +73 -73
  238. package/dist/cjs/services/cache/generic-cached-object.d.ts +5 -5
  239. package/dist/cjs/services/cache/generic-cached-object.js +2 -2
  240. package/dist/cjs/services/cache/index.d.ts +1 -1
  241. package/dist/cjs/services/cache/index.js +17 -17
  242. package/dist/cjs/services/cache/product-cache-service.d.ts +21 -21
  243. package/dist/cjs/services/cache/product-cache-service.js +76 -76
  244. package/dist/cjs/services/cost/cost-calculation-types.d.ts +69 -0
  245. package/dist/cjs/services/cost/cost-calculation-types.js +20 -0
  246. package/dist/cjs/services/cost/cost-calculation-types.js.map +1 -0
  247. package/dist/cjs/services/cost/cost-calculator-service.d.ts +24 -0
  248. package/dist/cjs/services/cost/cost-calculator-service.js +457 -0
  249. package/dist/cjs/services/cost/cost-calculator-service.js.map +1 -0
  250. package/dist/cjs/services/cost/cost-currency-service.d.ts +6 -0
  251. package/dist/cjs/services/cost/cost-currency-service.js +88 -0
  252. package/dist/cjs/services/cost/cost-currency-service.js.map +1 -0
  253. package/dist/cjs/services/cost/cost-filter-service.d.ts +10 -0
  254. package/dist/cjs/services/cost/cost-filter-service.js +122 -0
  255. package/dist/cjs/services/cost/cost-filter-service.js.map +1 -0
  256. package/dist/cjs/services/cost/index.d.ts +5 -0
  257. package/dist/cjs/services/cost/index.js +22 -0
  258. package/dist/cjs/services/cost/index.js.map +1 -0
  259. package/dist/cjs/services/cost/order-cost/index.d.ts +2 -0
  260. package/dist/cjs/services/cost/order-cost/index.js +19 -0
  261. package/dist/cjs/services/cost/order-cost/index.js.map +1 -0
  262. package/dist/cjs/services/cost/order-cost/order-cost-resolution-service.d.ts +23 -0
  263. package/dist/cjs/services/cost/order-cost/order-cost-resolution-service.js +362 -0
  264. package/dist/cjs/services/cost/order-cost/order-cost-resolution-service.js.map +1 -0
  265. package/dist/cjs/services/cost/order-cost/order-cost-resolution-types.d.ts +37 -0
  266. package/dist/cjs/services/cost/order-cost/order-cost-resolution-types.js +3 -0
  267. package/dist/cjs/services/cost/order-cost/order-cost-resolution-types.js.map +1 -0
  268. package/dist/cjs/services/currency-exchange-rate-lookup-service.d.ts +12 -11
  269. package/dist/cjs/services/currency-exchange-rate-lookup-service.js +94 -66
  270. package/dist/cjs/services/currency-exchange-rate-lookup-service.js.map +1 -1
  271. package/dist/cjs/services/db/accounts-db-service.d.ts +9 -9
  272. package/dist/cjs/services/db/accounts-db-service.js +33 -33
  273. package/dist/cjs/services/db/api-keys-db-service.d.ts +10 -10
  274. package/dist/cjs/services/db/api-keys-db-service.js +36 -36
  275. package/dist/cjs/services/db/contact-enrichments-db-service.d.ts +15 -15
  276. package/dist/cjs/services/db/contact-enrichments-db-service.js +94 -94
  277. package/dist/cjs/services/db/currency-exchange-rates-db-service.d.ts +21 -21
  278. package/dist/cjs/services/db/currency-exchange-rates-db-service.js +39 -39
  279. package/dist/cjs/services/db/custom-measures-db-service.d.ts +14 -14
  280. package/dist/cjs/services/db/custom-measures-db-service.js +48 -48
  281. package/dist/cjs/services/db/destinations-db-service.d.ts +13 -13
  282. package/dist/cjs/services/db/destinations-db-service.js +74 -74
  283. package/dist/cjs/services/db/identity-cache-db-service.d.ts +28 -28
  284. package/dist/cjs/services/db/identity-cache-db-service.js +320 -320
  285. package/dist/cjs/services/db/identity-cache-dynamodb-service.d.ts +44 -44
  286. package/dist/cjs/services/db/identity-cache-dynamodb-service.js +734 -734
  287. package/dist/cjs/services/db/index.d.ts +19 -17
  288. package/dist/cjs/services/db/index.js +35 -33
  289. package/dist/cjs/services/db/index.js.map +1 -1
  290. package/dist/cjs/services/db/log-events-db-service.d.ts +11 -11
  291. package/dist/cjs/services/db/log-events-db-service.js +181 -181
  292. package/dist/cjs/services/db/pixels-db-service.d.ts +8 -8
  293. package/dist/cjs/services/db/pixels-db-service.js +35 -35
  294. package/dist/cjs/services/db/products-db-service-types.d.ts +10 -0
  295. package/dist/cjs/services/db/products-db-service-types.js +3 -0
  296. package/dist/cjs/services/db/products-db-service-types.js.map +1 -0
  297. package/dist/cjs/services/db/products-db-service.d.ts +19 -0
  298. package/dist/cjs/services/db/products-db-service.js +282 -0
  299. package/dist/cjs/services/db/products-db-service.js.map +1 -0
  300. package/dist/cjs/services/db/purchasable-contacts-db-service.d.ts +9 -9
  301. package/dist/cjs/services/db/purchasable-contacts-db-service.js +43 -43
  302. package/dist/cjs/services/db/purchased-contacts/index.d.ts +2 -2
  303. package/dist/cjs/services/db/purchased-contacts/index.js +18 -18
  304. package/dist/cjs/services/db/purchased-contacts/purchased-contacts-db-service.d.ts +18 -18
  305. package/dist/cjs/services/db/purchased-contacts/purchased-contacts-db-service.js +152 -152
  306. package/dist/cjs/services/db/purchased-contacts/types.d.ts +11 -11
  307. package/dist/cjs/services/db/purchased-contacts/types.js +2 -2
  308. package/dist/cjs/services/db/shopify-app-installs-db-service.d.ts +10 -10
  309. package/dist/cjs/services/db/shopify-app-installs-db-service.js +52 -52
  310. package/dist/cjs/services/db/shopify-products-cache-db-service.d.ts +16 -16
  311. package/dist/cjs/services/db/shopify-products-cache-db-service.js +73 -73
  312. package/dist/cjs/services/db/subscriptions-db-service.d.ts +11 -11
  313. package/dist/cjs/services/db/subscriptions-db-service.js +38 -38
  314. package/dist/cjs/services/db/tracking-events-db-service.d.ts +21 -21
  315. package/dist/cjs/services/db/tracking-events-db-service.js +188 -188
  316. package/dist/cjs/services/db/user-accounts-db-service.d.ts +7 -7
  317. package/dist/cjs/services/db/user-accounts-db-service.js +17 -17
  318. package/dist/cjs/services/email-verification/contact-email-verification-service.d.ts +7 -7
  319. package/dist/cjs/services/email-verification/contact-email-verification-service.js +101 -101
  320. package/dist/cjs/services/email-verification/email-verification-service.d.ts +19 -19
  321. package/dist/cjs/services/email-verification/email-verification-service.js +131 -131
  322. package/dist/cjs/services/email-verification/index.d.ts +2 -2
  323. package/dist/cjs/services/email-verification/index.js +18 -18
  324. package/dist/cjs/services/eventbridge-integration-service.d.ts +9 -9
  325. package/dist/cjs/services/eventbridge-integration-service.js +28 -28
  326. package/dist/cjs/services/events/index.d.ts +3 -3
  327. package/dist/cjs/services/events/index.js +19 -19
  328. package/dist/cjs/services/events/log-event-service.d.ts +19 -19
  329. package/dist/cjs/services/events/log-event-service.js +77 -77
  330. package/dist/cjs/services/events/metric-event-service.d.ts +9 -9
  331. package/dist/cjs/services/events/metric-event-service.js +49 -49
  332. package/dist/cjs/services/events/tracking-event-sqs-service.d.ts +8 -8
  333. package/dist/cjs/services/events/tracking-event-sqs-service.js +34 -34
  334. package/dist/cjs/services/generic-cache-service.d.ts +7 -7
  335. package/dist/cjs/services/generic-cache-service.js +33 -33
  336. package/dist/cjs/services/index.d.ts +11 -10
  337. package/dist/cjs/services/index.js +27 -26
  338. package/dist/cjs/services/index.js.map +1 -1
  339. package/dist/cjs/services/ipdata-lookup-service.d.ts +20 -20
  340. package/dist/cjs/services/ipdata-lookup-service.js +112 -112
  341. package/dist/cjs/services/shopify/index.d.ts +2 -2
  342. package/dist/cjs/services/shopify/index.js +18 -18
  343. package/dist/cjs/services/shopify/products/index.d.ts +1 -1
  344. package/dist/cjs/services/shopify/products/index.js +17 -17
  345. package/dist/cjs/services/shopify/products/shopify-products-serviceV2.d.ts +17 -17
  346. package/dist/cjs/services/shopify/products/shopify-products-serviceV2.js +112 -112
  347. package/dist/cjs/services/shopify/shopify-graphql-transformer.d.ts +8 -8
  348. package/dist/cjs/services/shopify/shopify-graphql-transformer.js +141 -141
  349. package/dist/cjs/types/acuity-types.d.ts +74 -74
  350. package/dist/cjs/types/acuity-types.js +2 -2
  351. package/dist/cjs/types/api-response.d.ts +6 -6
  352. package/dist/cjs/types/api-response.js +2 -2
  353. package/dist/cjs/types/index.d.ts +4 -4
  354. package/dist/cjs/types/index.js +33 -33
  355. package/dist/cjs/types/internal-events/event-detail-types.d.ts +20 -20
  356. package/dist/cjs/types/internal-events/event-detail-types.js +27 -27
  357. package/dist/cjs/types/internal-events/index.d.ts +1 -1
  358. package/dist/cjs/types/internal-events/index.js +17 -17
  359. package/dist/cjs/types/shopify-graphql-types/admin.generated.d.ts +123 -123
  360. package/dist/cjs/types/shopify-graphql-types/admin.generated.js +2 -2
  361. package/dist/cjs/types/shopify-graphql-types/admin.types.d.ts +26289 -26289
  362. package/dist/cjs/types/shopify-graphql-types/admin.types.js +5311 -5311
  363. package/dist/cjs/types/shopify-graphql-types/index.d.ts +2 -2
  364. package/dist/cjs/types/shopify-graphql-types/index.js +18 -18
  365. package/dist/cjs/types/shopify-rest-types.d.ts +767 -767
  366. package/dist/cjs/types/shopify-rest-types.js +2 -2
  367. package/dist/cjs/utils/compression.d.ts +36 -36
  368. package/dist/cjs/utils/compression.js +198 -198
  369. package/dist/cjs/utils/custom-measure-formula-utils.d.ts +6 -6
  370. package/dist/cjs/utils/custom-measure-formula-utils.js +209 -209
  371. package/dist/cjs/utils/index.d.ts +4 -4
  372. package/dist/cjs/utils/index.js +20 -20
  373. package/dist/cjs/utils/retry-envelope.d.ts +12 -12
  374. package/dist/cjs/utils/retry-envelope.js +28 -28
  375. package/dist/cjs/utils/size.d.ts +2 -2
  376. package/dist/cjs/utils/size.js +49 -49
  377. package/dist/esm/__tests__/clients/acuity-client.spec.d.ts +1 -1
  378. package/dist/esm/__tests__/clients/acuity-client.spec.js +41 -41
  379. package/dist/esm/__tests__/clients/cross-platform-compression.spec.d.ts +1 -1
  380. package/dist/esm/__tests__/clients/cross-platform-compression.spec.js +329 -329
  381. package/dist/esm/__tests__/clients/dynamodb-client.spec.d.ts +1 -1
  382. package/dist/esm/__tests__/clients/dynamodb-client.spec.js +192 -192
  383. package/dist/esm/__tests__/clients/sqs-bundled-client.spec.d.ts +1 -1
  384. package/dist/esm/__tests__/clients/sqs-bundled-client.spec.js +906 -906
  385. package/dist/esm/__tests__/clients/sqs-bundling-contracts.spec.d.ts +1 -1
  386. package/dist/esm/__tests__/clients/sqs-bundling-contracts.spec.js +538 -538
  387. package/dist/esm/__tests__/clients/sqs-client.spec.d.ts +1 -1
  388. package/dist/esm/__tests__/clients/sqs-client.spec.js +189 -189
  389. package/dist/esm/__tests__/clients/sqs-unbundle.spec.d.ts +1 -1
  390. package/dist/esm/__tests__/clients/sqs-unbundle.spec.js +1355 -1355
  391. package/dist/esm/__tests__/db/contact-enrichments-db-service.spec.d.ts +1 -1
  392. package/dist/esm/__tests__/db/contact-enrichments-db-service.spec.js +66 -66
  393. package/dist/esm/__tests__/db/destinations-db-service.spec.d.ts +1 -1
  394. package/dist/esm/__tests__/db/destinations-db-service.spec.js +123 -123
  395. package/dist/esm/__tests__/db/products-db-service.spec.d.ts +1 -0
  396. package/dist/esm/__tests__/db/products-db-service.spec.js +88 -0
  397. package/dist/esm/__tests__/db/products-db-service.spec.js.map +1 -0
  398. package/dist/esm/__tests__/db/shared-read-db-services.spec.d.ts +1 -1
  399. package/dist/esm/__tests__/db/shared-read-db-services.spec.js +87 -87
  400. package/dist/esm/__tests__/db/shopify-app-installs-db-service.spec.d.ts +1 -1
  401. package/dist/esm/__tests__/db/shopify-app-installs-db-service.spec.js +102 -102
  402. package/dist/esm/__tests__/db/subscriptions-db-service.spec.d.ts +1 -1
  403. package/dist/esm/__tests__/db/subscriptions-db-service.spec.js +93 -93
  404. package/dist/esm/__tests__/db/user-accounts-db-service.spec.d.ts +1 -1
  405. package/dist/esm/__tests__/db/user-accounts-db-service.spec.js +74 -74
  406. package/dist/esm/__tests__/helpers/account-users-helper.spec.d.ts +1 -1
  407. package/dist/esm/__tests__/helpers/account-users-helper.spec.js +218 -218
  408. package/dist/esm/__tests__/helpers/acuity-helper.spec.d.ts +1 -1
  409. package/dist/esm/__tests__/helpers/acuity-helper.spec.js +67 -67
  410. package/dist/esm/__tests__/helpers/api-key-auth-helper.spec.d.ts +1 -1
  411. package/dist/esm/__tests__/helpers/api-key-auth-helper.spec.js +80 -80
  412. package/dist/esm/__tests__/identity-cache/identity-cache-db-service.spec.d.ts +1 -1
  413. package/dist/esm/__tests__/identity-cache/identity-cache-db-service.spec.js +674 -674
  414. package/dist/esm/__tests__/identity-cache/identity-cache-dynamodb-service.spec.d.ts +1 -1
  415. package/dist/esm/__tests__/identity-cache/identity-cache-dynamodb-service.spec.js +1138 -1138
  416. package/dist/esm/__tests__/identity-cache/identity-cache-tier-routing.spec.d.ts +1 -1
  417. package/dist/esm/__tests__/identity-cache/identity-cache-tier-routing.spec.js +849 -849
  418. package/dist/esm/__tests__/identity-cache/trait-merging-and-staleness.spec.d.ts +1 -1
  419. package/dist/esm/__tests__/identity-cache/trait-merging-and-staleness.spec.js +1058 -1058
  420. package/dist/esm/__tests__/identity-cache/volatile-traits-optimization.spec.d.ts +1 -1
  421. package/dist/esm/__tests__/identity-cache/volatile-traits-optimization.spec.js +816 -816
  422. package/dist/esm/__tests__/integration/sqs-bundling-roundtrip.spec.d.ts +1 -1
  423. package/dist/esm/__tests__/integration/sqs-bundling-roundtrip.spec.js +582 -582
  424. package/dist/esm/__tests__/libs/compress-decompress.spec.d.ts +1 -1
  425. package/dist/esm/__tests__/libs/compress-decompress.spec.js +14 -14
  426. package/dist/esm/__tests__/libs/contacts.spec.d.ts +1 -1
  427. package/dist/esm/__tests__/libs/contacts.spec.js +292 -292
  428. package/dist/esm/__tests__/libs/currency.spec.d.ts +1 -1
  429. package/dist/esm/__tests__/libs/currency.spec.js +218 -218
  430. package/dist/esm/__tests__/libs/dates.spec.d.ts +1 -1
  431. package/dist/esm/__tests__/libs/dates.spec.js +128 -128
  432. package/dist/esm/__tests__/libs/domain.spec.d.ts +1 -1
  433. package/dist/esm/__tests__/libs/domain.spec.js +105 -105
  434. package/dist/esm/__tests__/libs/numbers.spec.d.ts +1 -1
  435. package/dist/esm/__tests__/libs/numbers.spec.js +259 -259
  436. package/dist/esm/__tests__/s3-client/s3-client.spec.d.ts +1 -1
  437. package/dist/esm/__tests__/s3-client/s3-client.spec.js +31 -31
  438. package/dist/esm/__tests__/services/acuity-api-service.spec.d.ts +1 -1
  439. package/dist/esm/__tests__/services/acuity-api-service.spec.js +69 -69
  440. package/dist/esm/__tests__/services/cost/cost-calculation-types.spec.d.ts +1 -0
  441. package/dist/esm/__tests__/services/cost/cost-calculation-types.spec.js +22 -0
  442. package/dist/esm/__tests__/services/cost/cost-calculation-types.spec.js.map +1 -0
  443. package/dist/esm/__tests__/services/cost/cost-calculator-service.spec.d.ts +1 -0
  444. package/dist/esm/__tests__/services/cost/cost-calculator-service.spec.js +3318 -0
  445. package/dist/esm/__tests__/services/cost/cost-calculator-service.spec.js.map +1 -0
  446. package/dist/esm/__tests__/services/cost/cost-currency-service.spec.d.ts +1 -0
  447. package/dist/esm/__tests__/services/cost/cost-currency-service.spec.js +113 -0
  448. package/dist/esm/__tests__/services/cost/cost-currency-service.spec.js.map +1 -0
  449. package/dist/esm/__tests__/services/cost/cost-filter-service.spec.d.ts +1 -0
  450. package/dist/esm/__tests__/services/cost/cost-filter-service.spec.js +467 -0
  451. package/dist/esm/__tests__/services/cost/cost-filter-service.spec.js.map +1 -0
  452. package/dist/esm/__tests__/services/cost/order-cost/order-cost-resolution-service.spec.d.ts +1 -0
  453. package/dist/esm/__tests__/services/cost/order-cost/order-cost-resolution-service.spec.js +205 -0
  454. package/dist/esm/__tests__/services/cost/order-cost/order-cost-resolution-service.spec.js.map +1 -0
  455. package/dist/esm/__tests__/services/currency-exchange-rate-lookup-service.spec.d.ts +1 -0
  456. package/dist/esm/__tests__/services/currency-exchange-rate-lookup-service.spec.js +33 -0
  457. package/dist/esm/__tests__/services/currency-exchange-rate-lookup-service.spec.js.map +1 -0
  458. package/dist/esm/__tests__/services/email-verification/contact-email-verification-service.spec.d.ts +1 -1
  459. package/dist/esm/__tests__/services/email-verification/contact-email-verification-service.spec.js +91 -91
  460. package/dist/esm/__tests__/services/email-verification/email-verification-service.spec.d.ts +1 -1
  461. package/dist/esm/__tests__/services/email-verification/email-verification-service.spec.js +55 -55
  462. package/dist/esm/__tests__/shopify/shopify-graphql-transformer.spec.d.ts +1 -1
  463. package/dist/esm/__tests__/shopify/shopify-graphql-transformer.spec.js +33 -33
  464. package/dist/esm/__tests__/unit/libs/api-router/public-api-router.spec.d.ts +1 -1
  465. package/dist/esm/__tests__/unit/libs/api-router/public-api-router.spec.js +156 -156
  466. package/dist/esm/__tests__/unit/libs/api-router/route-matcher.spec.d.ts +1 -1
  467. package/dist/esm/__tests__/unit/libs/api-router/route-matcher.spec.js +67 -67
  468. package/dist/esm/__tests__/utils/custom-measure-formula-utils.spec.d.ts +1 -1
  469. package/dist/esm/__tests__/utils/custom-measure-formula-utils.spec.js +137 -137
  470. package/dist/esm/clients/generic/cognito-client.d.ts +23 -23
  471. package/dist/esm/clients/generic/cognito-client.js +204 -204
  472. package/dist/esm/clients/generic/dynamodb-client.d.ts +20 -20
  473. package/dist/esm/clients/generic/dynamodb-client.js +231 -231
  474. package/dist/esm/clients/generic/eventbridge-client.d.ts +14 -14
  475. package/dist/esm/clients/generic/eventbridge-client.js +47 -47
  476. package/dist/esm/clients/generic/http-client.d.ts +14 -14
  477. package/dist/esm/clients/generic/http-client.js +53 -53
  478. package/dist/esm/clients/generic/index.d.ts +13 -13
  479. package/dist/esm/clients/generic/index.js +13 -13
  480. package/dist/esm/clients/generic/lambda-invoke-client.d.ts +10 -10
  481. package/dist/esm/clients/generic/lambda-invoke-client.js +35 -35
  482. package/dist/esm/clients/generic/location-client.d.ts +8 -8
  483. package/dist/esm/clients/generic/location-client.js +27 -27
  484. package/dist/esm/clients/generic/redis-client.d.ts +33 -33
  485. package/dist/esm/clients/generic/redis-client.js +184 -184
  486. package/dist/esm/clients/generic/s3-client.d.ts +23 -23
  487. package/dist/esm/clients/generic/s3-client.js +209 -209
  488. package/dist/esm/clients/generic/singlestore-db-client.d.ts +14 -14
  489. package/dist/esm/clients/generic/singlestore-db-client.js +40 -40
  490. package/dist/esm/clients/generic/sqs-bundled-client.d.ts +15 -15
  491. package/dist/esm/clients/generic/sqs-bundled-client.js +307 -307
  492. package/dist/esm/clients/generic/sqs-bundled-client.types.d.ts +53 -53
  493. package/dist/esm/clients/generic/sqs-bundled-client.types.js +14 -14
  494. package/dist/esm/clients/generic/sqs-client.d.ts +53 -53
  495. package/dist/esm/clients/generic/sqs-client.js +281 -281
  496. package/dist/esm/clients/generic/sqs-unbundle.d.ts +32 -32
  497. package/dist/esm/clients/generic/sqs-unbundle.js +137 -137
  498. package/dist/esm/clients/index.d.ts +3 -3
  499. package/dist/esm/clients/index.js +3 -3
  500. package/dist/esm/clients/internal-api/accounts-client.d.ts +91 -91
  501. package/dist/esm/clients/internal-api/accounts-client.js +125 -125
  502. package/dist/esm/clients/internal-api/cache-lambda-client.d.ts +26 -26
  503. package/dist/esm/clients/internal-api/cache-lambda-client.js +85 -85
  504. package/dist/esm/clients/internal-api/db-management-client.d.ts +18 -18
  505. package/dist/esm/clients/internal-api/db-management-client.js +32 -32
  506. package/dist/esm/clients/internal-api/destinations-client.d.ts +34 -34
  507. package/dist/esm/clients/internal-api/destinations-client.js +75 -75
  508. package/dist/esm/clients/internal-api/event-collector-client.d.ts +20 -20
  509. package/dist/esm/clients/internal-api/event-collector-client.js +32 -32
  510. package/dist/esm/clients/internal-api/identity-client.d.ts +31 -31
  511. package/dist/esm/clients/internal-api/identity-client.js +87 -87
  512. package/dist/esm/clients/internal-api/index.d.ts +9 -9
  513. package/dist/esm/clients/internal-api/index.js +9 -9
  514. package/dist/esm/clients/internal-api/shopify-app-install-client.d.ts +37 -37
  515. package/dist/esm/clients/internal-api/shopify-app-install-client.js +77 -77
  516. package/dist/esm/clients/internal-api/subscriptions-client.d.ts +26 -26
  517. package/dist/esm/clients/internal-api/subscriptions-client.js +73 -73
  518. package/dist/esm/clients/internal-api/users-auth-client.d.ts +35 -35
  519. package/dist/esm/clients/internal-api/users-auth-client.js +106 -106
  520. package/dist/esm/clients/third-party/acuity-client.d.ts +10 -10
  521. package/dist/esm/clients/third-party/acuity-client.js +36 -36
  522. package/dist/esm/clients/third-party/emailable-client.d.ts +7 -7
  523. package/dist/esm/clients/third-party/emailable-client.js +21 -21
  524. package/dist/esm/clients/third-party/exchange-rate-api-client.d.ts +17 -17
  525. package/dist/esm/clients/third-party/exchange-rate-api-client.js +15 -15
  526. package/dist/esm/clients/third-party/index.d.ts +5 -5
  527. package/dist/esm/clients/third-party/index.js +5 -5
  528. package/dist/esm/clients/third-party/loops-client.d.ts +10 -10
  529. package/dist/esm/clients/third-party/loops-client.js +26 -26
  530. package/dist/esm/clients/third-party/shopify/graphql-order-queries.d.ts +25 -25
  531. package/dist/esm/clients/third-party/shopify/graphql-order-queries.js +1 -1
  532. package/dist/esm/clients/third-party/shopify/graphql-product-queries.d.ts +2 -2
  533. package/dist/esm/clients/third-party/shopify/graphql-product-queries.js +2 -2
  534. package/dist/esm/clients/third-party/shopify/shopify-graphql-client.d.ts +10 -10
  535. package/dist/esm/clients/third-party/shopify/shopify-graphql-client.js +157 -157
  536. package/dist/esm/clients/third-party/shopify-client.d.ts +29 -29
  537. package/dist/esm/clients/third-party/shopify-client.js +142 -142
  538. package/dist/esm/constants/index.d.ts +1 -1
  539. package/dist/esm/constants/index.js +1 -1
  540. package/dist/esm/constants/sqs.d.ts +20 -20
  541. package/dist/esm/constants/sqs.js +22 -22
  542. package/dist/esm/helpers/account-users-helper.d.ts +2 -2
  543. package/dist/esm/helpers/account-users-helper.js +18 -18
  544. package/dist/esm/helpers/acuity-helper.d.ts +4 -4
  545. package/dist/esm/helpers/acuity-helper.js +51 -51
  546. package/dist/esm/helpers/api-key-auth-helper.d.ts +9 -9
  547. package/dist/esm/helpers/api-key-auth-helper.js +35 -35
  548. package/dist/esm/helpers/api-key-authorizer-helper.d.ts +36 -36
  549. package/dist/esm/helpers/api-key-authorizer-helper.js +83 -83
  550. package/dist/esm/helpers/identity-cache-helper.d.ts +30 -30
  551. package/dist/esm/helpers/identity-cache-helper.js +248 -248
  552. package/dist/esm/helpers/index.d.ts +10 -10
  553. package/dist/esm/helpers/index.js +10 -10
  554. package/dist/esm/helpers/input-validation-helper.d.ts +3 -3
  555. package/dist/esm/helpers/input-validation-helper.js +18 -18
  556. package/dist/esm/helpers/logging-helper.d.ts +16 -16
  557. package/dist/esm/helpers/logging-helper.js +56 -56
  558. package/dist/esm/helpers/response-helper.d.ts +18 -18
  559. package/dist/esm/helpers/response-helper.js +37 -37
  560. package/dist/esm/helpers/shopify-helper.d.ts +9 -9
  561. package/dist/esm/helpers/shopify-helper.js +21 -21
  562. package/dist/esm/helpers/sqs-utils.d.ts +6 -6
  563. package/dist/esm/helpers/sqs-utils.js +9 -9
  564. package/dist/esm/index.d.ts +7 -7
  565. package/dist/esm/index.js +7 -7
  566. package/dist/esm/libs/api-router/index.d.ts +2 -2
  567. package/dist/esm/libs/api-router/index.js +2 -2
  568. package/dist/esm/libs/api-router/public-api-router.d.ts +3 -3
  569. package/dist/esm/libs/api-router/public-api-router.js +32 -32
  570. package/dist/esm/libs/api-router/route-matcher.d.ts +21 -21
  571. package/dist/esm/libs/api-router/route-matcher.js +30 -30
  572. package/dist/esm/libs/click-id-parser.d.ts +23 -23
  573. package/dist/esm/libs/click-id-parser.js +45 -45
  574. package/dist/esm/libs/compression.d.ts +2 -2
  575. package/dist/esm/libs/compression.js +25 -25
  576. package/dist/esm/libs/contacts.d.ts +7 -7
  577. package/dist/esm/libs/contacts.js +143 -143
  578. package/dist/esm/libs/cookie.d.ts +17 -17
  579. package/dist/esm/libs/cookie.js +70 -70
  580. package/dist/esm/libs/crypto.d.ts +4 -4
  581. package/dist/esm/libs/crypto.js +15 -15
  582. package/dist/esm/libs/csv.d.ts +2 -2
  583. package/dist/esm/libs/csv.js +30 -30
  584. package/dist/esm/libs/currency.d.ts +1 -1
  585. package/dist/esm/libs/currency.js +22 -22
  586. package/dist/esm/libs/dates.d.ts +12 -12
  587. package/dist/esm/libs/dates.js +83 -83
  588. package/dist/esm/libs/domain.d.ts +2 -2
  589. package/dist/esm/libs/domain.js +33 -33
  590. package/dist/esm/libs/emails.d.ts +8 -8
  591. package/dist/esm/libs/emails.js +146 -146
  592. package/dist/esm/libs/http-error.d.ts +21 -21
  593. package/dist/esm/libs/http-error.js +59 -59
  594. package/dist/esm/libs/http-status-codes.d.ts +58 -58
  595. package/dist/esm/libs/http-status-codes.js +59 -59
  596. package/dist/esm/libs/index.d.ts +19 -19
  597. package/dist/esm/libs/index.js +19 -19
  598. package/dist/esm/libs/numbers.d.ts +1 -1
  599. package/dist/esm/libs/numbers.js +11 -11
  600. package/dist/esm/libs/referrer-parser/index.d.ts +2 -2
  601. package/dist/esm/libs/referrer-parser/index.js +2 -2
  602. package/dist/esm/libs/referrer-parser/referrer-data.d.ts +9 -9
  603. package/dist/esm/libs/referrer-parser/referrer-data.js +3304 -3304
  604. package/dist/esm/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
  605. package/dist/esm/libs/referrer-parser/referrer-parser-util.js +124 -124
  606. package/dist/esm/libs/strings.d.ts +3 -3
  607. package/dist/esm/libs/strings.js +40 -40
  608. package/dist/esm/libs/traits.d.ts +6 -6
  609. package/dist/esm/libs/traits.js +54 -54
  610. package/dist/esm/libs/url.d.ts +1 -1
  611. package/dist/esm/libs/url.js +9 -9
  612. package/dist/esm/services/acuity-api-service.d.ts +9 -9
  613. package/dist/esm/services/acuity-api-service.js +69 -69
  614. package/dist/esm/services/cache/generic-cached-object.d.ts +5 -5
  615. package/dist/esm/services/cache/generic-cached-object.js +1 -1
  616. package/dist/esm/services/cache/index.d.ts +1 -1
  617. package/dist/esm/services/cache/index.js +1 -1
  618. package/dist/esm/services/cache/product-cache-service.d.ts +21 -21
  619. package/dist/esm/services/cache/product-cache-service.js +68 -68
  620. package/dist/esm/services/cost/cost-calculation-types.d.ts +69 -0
  621. package/dist/esm/services/cost/cost-calculation-types.js +16 -0
  622. package/dist/esm/services/cost/cost-calculation-types.js.map +1 -0
  623. package/dist/esm/services/cost/cost-calculator-service.d.ts +24 -0
  624. package/dist/esm/services/cost/cost-calculator-service.js +451 -0
  625. package/dist/esm/services/cost/cost-calculator-service.js.map +1 -0
  626. package/dist/esm/services/cost/cost-currency-service.d.ts +6 -0
  627. package/dist/esm/services/cost/cost-currency-service.js +85 -0
  628. package/dist/esm/services/cost/cost-currency-service.js.map +1 -0
  629. package/dist/esm/services/cost/cost-filter-service.d.ts +10 -0
  630. package/dist/esm/services/cost/cost-filter-service.js +119 -0
  631. package/dist/esm/services/cost/cost-filter-service.js.map +1 -0
  632. package/dist/esm/services/cost/index.d.ts +5 -0
  633. package/dist/esm/services/cost/index.js +6 -0
  634. package/dist/esm/services/cost/index.js.map +1 -0
  635. package/dist/esm/services/cost/order-cost/index.d.ts +2 -0
  636. package/dist/esm/services/cost/order-cost/index.js +3 -0
  637. package/dist/esm/services/cost/order-cost/index.js.map +1 -0
  638. package/dist/esm/services/cost/order-cost/order-cost-resolution-service.d.ts +23 -0
  639. package/dist/esm/services/cost/order-cost/order-cost-resolution-service.js +356 -0
  640. package/dist/esm/services/cost/order-cost/order-cost-resolution-service.js.map +1 -0
  641. package/dist/esm/services/cost/order-cost/order-cost-resolution-types.d.ts +37 -0
  642. package/dist/esm/services/cost/order-cost/order-cost-resolution-types.js +2 -0
  643. package/dist/esm/services/cost/order-cost/order-cost-resolution-types.js.map +1 -0
  644. package/dist/esm/services/currency-exchange-rate-lookup-service.d.ts +12 -11
  645. package/dist/esm/services/currency-exchange-rate-lookup-service.js +90 -62
  646. package/dist/esm/services/currency-exchange-rate-lookup-service.js.map +1 -1
  647. package/dist/esm/services/db/accounts-db-service.d.ts +9 -9
  648. package/dist/esm/services/db/accounts-db-service.js +29 -29
  649. package/dist/esm/services/db/api-keys-db-service.d.ts +10 -10
  650. package/dist/esm/services/db/api-keys-db-service.js +32 -32
  651. package/dist/esm/services/db/contact-enrichments-db-service.d.ts +15 -15
  652. package/dist/esm/services/db/contact-enrichments-db-service.js +90 -90
  653. package/dist/esm/services/db/currency-exchange-rates-db-service.d.ts +21 -21
  654. package/dist/esm/services/db/currency-exchange-rates-db-service.js +35 -35
  655. package/dist/esm/services/db/custom-measures-db-service.d.ts +14 -14
  656. package/dist/esm/services/db/custom-measures-db-service.js +44 -44
  657. package/dist/esm/services/db/destinations-db-service.d.ts +13 -13
  658. package/dist/esm/services/db/destinations-db-service.js +70 -70
  659. package/dist/esm/services/db/identity-cache-db-service.d.ts +28 -28
  660. package/dist/esm/services/db/identity-cache-db-service.js +313 -313
  661. package/dist/esm/services/db/identity-cache-dynamodb-service.d.ts +44 -44
  662. package/dist/esm/services/db/identity-cache-dynamodb-service.js +727 -727
  663. package/dist/esm/services/db/index.d.ts +19 -17
  664. package/dist/esm/services/db/index.js +19 -17
  665. package/dist/esm/services/db/index.js.map +1 -1
  666. package/dist/esm/services/db/log-events-db-service.d.ts +11 -11
  667. package/dist/esm/services/db/log-events-db-service.js +177 -177
  668. package/dist/esm/services/db/pixels-db-service.d.ts +8 -8
  669. package/dist/esm/services/db/pixels-db-service.js +31 -31
  670. package/dist/esm/services/db/products-db-service-types.d.ts +10 -0
  671. package/dist/esm/services/db/products-db-service-types.js +2 -0
  672. package/dist/esm/services/db/products-db-service-types.js.map +1 -0
  673. package/dist/esm/services/db/products-db-service.d.ts +19 -0
  674. package/dist/esm/services/db/products-db-service.js +278 -0
  675. package/dist/esm/services/db/products-db-service.js.map +1 -0
  676. package/dist/esm/services/db/purchasable-contacts-db-service.d.ts +9 -9
  677. package/dist/esm/services/db/purchasable-contacts-db-service.js +39 -39
  678. package/dist/esm/services/db/purchased-contacts/index.d.ts +2 -2
  679. package/dist/esm/services/db/purchased-contacts/index.js +2 -2
  680. package/dist/esm/services/db/purchased-contacts/purchased-contacts-db-service.d.ts +18 -18
  681. package/dist/esm/services/db/purchased-contacts/purchased-contacts-db-service.js +148 -148
  682. package/dist/esm/services/db/purchased-contacts/types.d.ts +11 -11
  683. package/dist/esm/services/db/purchased-contacts/types.js +1 -1
  684. package/dist/esm/services/db/shopify-app-installs-db-service.d.ts +10 -10
  685. package/dist/esm/services/db/shopify-app-installs-db-service.js +48 -48
  686. package/dist/esm/services/db/shopify-products-cache-db-service.d.ts +16 -16
  687. package/dist/esm/services/db/shopify-products-cache-db-service.js +66 -66
  688. package/dist/esm/services/db/subscriptions-db-service.d.ts +11 -11
  689. package/dist/esm/services/db/subscriptions-db-service.js +34 -34
  690. package/dist/esm/services/db/tracking-events-db-service.d.ts +21 -21
  691. package/dist/esm/services/db/tracking-events-db-service.js +184 -184
  692. package/dist/esm/services/db/user-accounts-db-service.d.ts +7 -7
  693. package/dist/esm/services/db/user-accounts-db-service.js +13 -13
  694. package/dist/esm/services/email-verification/contact-email-verification-service.d.ts +7 -7
  695. package/dist/esm/services/email-verification/contact-email-verification-service.js +97 -97
  696. package/dist/esm/services/email-verification/email-verification-service.d.ts +19 -19
  697. package/dist/esm/services/email-verification/email-verification-service.js +127 -127
  698. package/dist/esm/services/email-verification/index.d.ts +2 -2
  699. package/dist/esm/services/email-verification/index.js +2 -2
  700. package/dist/esm/services/eventbridge-integration-service.d.ts +9 -9
  701. package/dist/esm/services/eventbridge-integration-service.js +24 -24
  702. package/dist/esm/services/events/index.d.ts +3 -3
  703. package/dist/esm/services/events/index.js +3 -3
  704. package/dist/esm/services/events/log-event-service.d.ts +19 -19
  705. package/dist/esm/services/events/log-event-service.js +73 -73
  706. package/dist/esm/services/events/metric-event-service.d.ts +9 -9
  707. package/dist/esm/services/events/metric-event-service.js +45 -45
  708. package/dist/esm/services/events/tracking-event-sqs-service.d.ts +8 -8
  709. package/dist/esm/services/events/tracking-event-sqs-service.js +30 -30
  710. package/dist/esm/services/generic-cache-service.d.ts +7 -7
  711. package/dist/esm/services/generic-cache-service.js +29 -29
  712. package/dist/esm/services/index.d.ts +11 -10
  713. package/dist/esm/services/index.js +11 -10
  714. package/dist/esm/services/index.js.map +1 -1
  715. package/dist/esm/services/ipdata-lookup-service.d.ts +20 -20
  716. package/dist/esm/services/ipdata-lookup-service.js +108 -108
  717. package/dist/esm/services/shopify/index.d.ts +2 -2
  718. package/dist/esm/services/shopify/index.js +2 -2
  719. package/dist/esm/services/shopify/products/index.d.ts +1 -1
  720. package/dist/esm/services/shopify/products/index.js +1 -1
  721. package/dist/esm/services/shopify/products/shopify-products-serviceV2.d.ts +17 -17
  722. package/dist/esm/services/shopify/products/shopify-products-serviceV2.js +108 -108
  723. package/dist/esm/services/shopify/shopify-graphql-transformer.d.ts +8 -8
  724. package/dist/esm/services/shopify/shopify-graphql-transformer.js +138 -138
  725. package/dist/esm/types/acuity-types.d.ts +74 -74
  726. package/dist/esm/types/acuity-types.js +1 -1
  727. package/dist/esm/types/api-response.d.ts +6 -6
  728. package/dist/esm/types/api-response.js +1 -1
  729. package/dist/esm/types/index.d.ts +4 -4
  730. package/dist/esm/types/index.js +4 -4
  731. package/dist/esm/types/internal-events/event-detail-types.d.ts +20 -20
  732. package/dist/esm/types/internal-events/event-detail-types.js +24 -24
  733. package/dist/esm/types/internal-events/index.d.ts +1 -1
  734. package/dist/esm/types/internal-events/index.js +1 -1
  735. package/dist/esm/types/shopify-graphql-types/admin.generated.d.ts +123 -123
  736. package/dist/esm/types/shopify-graphql-types/admin.generated.js +1 -1
  737. package/dist/esm/types/shopify-graphql-types/admin.types.d.ts +26289 -26289
  738. package/dist/esm/types/shopify-graphql-types/admin.types.js +5299 -5299
  739. package/dist/esm/types/shopify-graphql-types/index.d.ts +2 -2
  740. package/dist/esm/types/shopify-graphql-types/index.js +2 -2
  741. package/dist/esm/types/shopify-rest-types.d.ts +767 -767
  742. package/dist/esm/types/shopify-rest-types.js +1 -1
  743. package/dist/esm/utils/compression.d.ts +36 -36
  744. package/dist/esm/utils/compression.js +187 -187
  745. package/dist/esm/utils/custom-measure-formula-utils.d.ts +6 -6
  746. package/dist/esm/utils/custom-measure-formula-utils.js +201 -201
  747. package/dist/esm/utils/index.d.ts +4 -4
  748. package/dist/esm/utils/index.js +4 -4
  749. package/dist/esm/utils/retry-envelope.d.ts +12 -12
  750. package/dist/esm/utils/retry-envelope.js +22 -22
  751. package/dist/esm/utils/size.d.ts +2 -2
  752. package/dist/esm/utils/size.js +44 -44
  753. package/package.json +134 -134
@@ -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 {};