@adtrackify/at-service-common 3.4.10 → 3.4.12

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 (399) hide show
  1. package/dist/cjs/__tests__/helpers/account-users-helper.spec.d.ts +1 -1
  2. package/dist/cjs/__tests__/helpers/account-users-helper.spec.js +200 -200
  3. package/dist/cjs/__tests__/identity-cache/identity-cache-db-service.spec.d.ts +1 -1
  4. package/dist/cjs/__tests__/identity-cache/identity-cache-db-service.spec.js +662 -662
  5. package/dist/cjs/__tests__/identity-cache/identity-cache-db-service.spec.js.map +1 -1
  6. package/dist/cjs/__tests__/libs/compress-decompress.spec.d.ts +1 -1
  7. package/dist/cjs/__tests__/libs/compress-decompress.spec.js +16 -16
  8. package/dist/cjs/__tests__/libs/currency.spec.d.ts +1 -1
  9. package/dist/cjs/__tests__/libs/currency.spec.js +220 -220
  10. package/dist/cjs/__tests__/libs/dates.spec.d.ts +1 -1
  11. package/dist/cjs/__tests__/libs/dates.spec.js +132 -132
  12. package/dist/cjs/__tests__/libs/domain.spec.d.ts +1 -1
  13. package/dist/cjs/__tests__/libs/domain.spec.js +107 -107
  14. package/dist/cjs/__tests__/libs/numbers.spec.d.ts +1 -1
  15. package/dist/cjs/__tests__/libs/numbers.spec.js +261 -261
  16. package/dist/cjs/__tests__/s3-client/s3-client.spec.d.ts +1 -1
  17. package/dist/cjs/__tests__/s3-client/s3-client.spec.js +26 -26
  18. package/dist/cjs/__tests__/shopify/shopify-graphql-transformer.spec.d.ts +1 -1
  19. package/dist/cjs/__tests__/shopify/shopify-graphql-transformer.spec.js +35 -35
  20. package/dist/cjs/clients/generic/cognito-client.d.ts +23 -23
  21. package/dist/cjs/clients/generic/cognito-client.js +209 -209
  22. package/dist/cjs/clients/generic/dynamodb-client.d.ts +17 -17
  23. package/dist/cjs/clients/generic/dynamodb-client.js +170 -170
  24. package/dist/cjs/clients/generic/eventbridge-client.d.ts +14 -14
  25. package/dist/cjs/clients/generic/eventbridge-client.js +49 -49
  26. package/dist/cjs/clients/generic/http-client.d.ts +14 -14
  27. package/dist/cjs/clients/generic/http-client.js +61 -61
  28. package/dist/cjs/clients/generic/index.d.ts +10 -10
  29. package/dist/cjs/clients/generic/index.js +26 -26
  30. package/dist/cjs/clients/generic/lambda-invoke-client.d.ts +10 -10
  31. package/dist/cjs/clients/generic/lambda-invoke-client.js +35 -35
  32. package/dist/cjs/clients/generic/location-client.d.ts +8 -8
  33. package/dist/cjs/clients/generic/location-client.js +31 -31
  34. package/dist/cjs/clients/generic/redis-client.d.ts +18 -18
  35. package/dist/cjs/clients/generic/redis-client.js +128 -128
  36. package/dist/cjs/clients/generic/s3-client.d.ts +23 -23
  37. package/dist/cjs/clients/generic/s3-client.js +198 -198
  38. package/dist/cjs/clients/generic/singlestore-db-client.d.ts +14 -14
  39. package/dist/cjs/clients/generic/singlestore-db-client.js +67 -67
  40. package/dist/cjs/clients/generic/sqs-client.d.ts +20 -20
  41. package/dist/cjs/clients/generic/sqs-client.js +36 -36
  42. package/dist/cjs/clients/index.d.ts +3 -3
  43. package/dist/cjs/clients/index.js +19 -19
  44. package/dist/cjs/clients/internal-api/accounts-client.d.ts +83 -83
  45. package/dist/cjs/clients/internal-api/accounts-client.js +107 -107
  46. package/dist/cjs/clients/internal-api/cache-lambda-client.d.ts +25 -25
  47. package/dist/cjs/clients/internal-api/cache-lambda-client.js +79 -79
  48. package/dist/cjs/clients/internal-api/db-management-client.d.ts +18 -18
  49. package/dist/cjs/clients/internal-api/db-management-client.js +36 -36
  50. package/dist/cjs/clients/internal-api/destinations-client.d.ts +27 -27
  51. package/dist/cjs/clients/internal-api/destinations-client.js +51 -51
  52. package/dist/cjs/clients/internal-api/event-collector-client.d.ts +20 -20
  53. package/dist/cjs/clients/internal-api/event-collector-client.js +36 -36
  54. package/dist/cjs/clients/internal-api/identity-client.d.ts +32 -32
  55. package/dist/cjs/clients/internal-api/identity-client.js +99 -99
  56. package/dist/cjs/clients/internal-api/index.d.ts +9 -9
  57. package/dist/cjs/clients/internal-api/index.js +25 -25
  58. package/dist/cjs/clients/internal-api/shopify-app-install-client.d.ts +36 -36
  59. package/dist/cjs/clients/internal-api/shopify-app-install-client.js +68 -68
  60. package/dist/cjs/clients/internal-api/subscriptions-client.d.ts +23 -23
  61. package/dist/cjs/clients/internal-api/subscriptions-client.js +58 -58
  62. package/dist/cjs/clients/internal-api/users-auth-client.d.ts +35 -35
  63. package/dist/cjs/clients/internal-api/users-auth-client.js +110 -110
  64. package/dist/cjs/clients/third-party/emailable-client.d.ts +7 -7
  65. package/dist/cjs/clients/third-party/emailable-client.js +25 -25
  66. package/dist/cjs/clients/third-party/exchange-rate-api-client.d.ts +17 -17
  67. package/dist/cjs/clients/third-party/exchange-rate-api-client.js +19 -19
  68. package/dist/cjs/clients/third-party/index.d.ts +2 -2
  69. package/dist/cjs/clients/third-party/index.js +18 -18
  70. package/dist/cjs/clients/third-party/shopify/graphql-product-queries.d.ts +2 -2
  71. package/dist/cjs/clients/third-party/shopify/graphql-product-queries.js +5 -5
  72. package/dist/cjs/clients/third-party/shopify/shopify-graphql-client.d.ts +9 -9
  73. package/dist/cjs/clients/third-party/shopify/shopify-graphql-client.js +95 -95
  74. package/dist/cjs/clients/third-party/shopify-client.d.ts +29 -29
  75. package/dist/cjs/clients/third-party/shopify-client.js +144 -144
  76. package/dist/cjs/helpers/account-users-helper.d.ts +2 -2
  77. package/dist/cjs/helpers/account-users-helper.js +22 -22
  78. package/dist/cjs/helpers/identity-cache-helper.d.ts +4 -4
  79. package/dist/cjs/helpers/identity-cache-helper.js +157 -157
  80. package/dist/cjs/helpers/index.d.ts +6 -6
  81. package/dist/cjs/helpers/index.js +22 -22
  82. package/dist/cjs/helpers/input-validation-helper.d.ts +3 -3
  83. package/dist/cjs/helpers/input-validation-helper.js +22 -22
  84. package/dist/cjs/helpers/logging-helper.d.ts +16 -16
  85. package/dist/cjs/helpers/logging-helper.js +84 -84
  86. package/dist/cjs/helpers/response-helper.d.ts +15 -15
  87. package/dist/cjs/helpers/response-helper.js +42 -42
  88. package/dist/cjs/helpers/shopify-helper.d.ts +9 -9
  89. package/dist/cjs/helpers/shopify-helper.js +28 -28
  90. package/dist/cjs/index.d.ts +5 -5
  91. package/dist/cjs/index.js +21 -21
  92. package/dist/cjs/libs/click-id-parser.d.ts +23 -23
  93. package/dist/cjs/libs/click-id-parser.js +49 -49
  94. package/dist/cjs/libs/compression.d.ts +2 -2
  95. package/dist/cjs/libs/compression.js +33 -33
  96. package/dist/cjs/libs/cookie.d.ts +11 -11
  97. package/dist/cjs/libs/cookie.js +65 -65
  98. package/dist/cjs/libs/crypto.d.ts +2 -2
  99. package/dist/cjs/libs/crypto.js +16 -16
  100. package/dist/cjs/libs/csv.d.ts +2 -2
  101. package/dist/cjs/libs/csv.js +35 -35
  102. package/dist/cjs/libs/currency.d.ts +1 -1
  103. package/dist/cjs/libs/currency.js +24 -24
  104. package/dist/cjs/libs/dates.d.ts +12 -12
  105. package/dist/cjs/libs/dates.js +96 -96
  106. package/dist/cjs/libs/domain.d.ts +2 -2
  107. package/dist/cjs/libs/domain.js +38 -38
  108. package/dist/cjs/libs/http-error.d.ts +21 -21
  109. package/dist/cjs/libs/http-error.js +59 -59
  110. package/dist/cjs/libs/http-status-codes.d.ts +58 -58
  111. package/dist/cjs/libs/http-status-codes.js +62 -62
  112. package/dist/cjs/libs/index.d.ts +16 -16
  113. package/dist/cjs/libs/index.js +32 -32
  114. package/dist/cjs/libs/numbers.d.ts +1 -1
  115. package/dist/cjs/libs/numbers.js +15 -15
  116. package/dist/cjs/libs/referrer-parser/index.d.ts +2 -2
  117. package/dist/cjs/libs/referrer-parser/index.js +18 -18
  118. package/dist/cjs/libs/referrer-parser/referrer-data.d.ts +9 -9
  119. package/dist/cjs/libs/referrer-parser/referrer-data.js +4712 -4712
  120. package/dist/cjs/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
  121. package/dist/cjs/libs/referrer-parser/referrer-parser-util.js +128 -128
  122. package/dist/cjs/libs/strings.d.ts +3 -3
  123. package/dist/cjs/libs/strings.js +46 -46
  124. package/dist/cjs/libs/traits.d.ts +2 -2
  125. package/dist/cjs/libs/traits.js +21 -19
  126. package/dist/cjs/libs/traits.js.map +1 -1
  127. package/dist/cjs/libs/url.d.ts +1 -1
  128. package/dist/cjs/libs/url.js +13 -13
  129. package/dist/cjs/services/cache/generic-cached-object.d.ts +5 -5
  130. package/dist/cjs/services/cache/generic-cached-object.js +2 -2
  131. package/dist/cjs/services/cache/index.d.ts +1 -1
  132. package/dist/cjs/services/cache/index.js +17 -17
  133. package/dist/cjs/services/cache/product-cache-service.d.ts +21 -21
  134. package/dist/cjs/services/cache/product-cache-service.js +68 -68
  135. package/dist/cjs/services/currency-exchange-rate-lookup-service.d.ts +11 -11
  136. package/dist/cjs/services/currency-exchange-rate-lookup-service.js +50 -50
  137. package/dist/cjs/services/db/currency-exchange-rates-db-service.d.ts +21 -21
  138. package/dist/cjs/services/db/currency-exchange-rates-db-service.js +39 -39
  139. package/dist/cjs/services/db/destinations-db-service.d.ts +9 -9
  140. package/dist/cjs/services/db/destinations-db-service.js +57 -57
  141. package/dist/cjs/services/db/identity-cache-db-service.d.ts +24 -24
  142. package/dist/cjs/services/db/identity-cache-db-service.js +233 -233
  143. package/dist/cjs/services/db/index.d.ts +9 -9
  144. package/dist/cjs/services/db/index.js +25 -25
  145. package/dist/cjs/services/db/log-events-db-service.d.ts +11 -11
  146. package/dist/cjs/services/db/log-events-db-service.js +172 -172
  147. package/dist/cjs/services/db/purchasable-contacts-db-service.d.ts +9 -9
  148. package/dist/cjs/services/db/purchasable-contacts-db-service.js +43 -43
  149. package/dist/cjs/services/db/purchasable-contacts-db-service.js.map +1 -1
  150. package/dist/cjs/services/db/purchased-contacts-db-service.d.ts +11 -11
  151. package/dist/cjs/services/db/purchased-contacts-db-service.js +67 -67
  152. package/dist/cjs/services/db/shopify-app-installs-db-service.d.ts +7 -7
  153. package/dist/cjs/services/db/shopify-app-installs-db-service.js +47 -47
  154. package/dist/cjs/services/db/shopify-products-cache-db-service.d.ts +16 -16
  155. package/dist/cjs/services/db/shopify-products-cache-db-service.js +65 -65
  156. package/dist/cjs/services/db/tracking-events-db-service.d.ts +20 -20
  157. package/dist/cjs/services/db/tracking-events-db-service.js +162 -162
  158. package/dist/cjs/services/eventbridge-integration-service.d.ts +9 -9
  159. package/dist/cjs/services/eventbridge-integration-service.js +28 -28
  160. package/dist/cjs/services/events/index.d.ts +3 -3
  161. package/dist/cjs/services/events/index.js +19 -19
  162. package/dist/cjs/services/events/log-event-service.d.ts +9 -9
  163. package/dist/cjs/services/events/log-event-service.js +56 -56
  164. package/dist/cjs/services/events/metric-event-service.d.ts +9 -9
  165. package/dist/cjs/services/events/metric-event-service.js +49 -49
  166. package/dist/cjs/services/events/tracking-event-sqs-service.d.ts +8 -8
  167. package/dist/cjs/services/events/tracking-event-sqs-service.js +29 -29
  168. package/dist/cjs/services/generic-cache-service.d.ts +7 -7
  169. package/dist/cjs/services/generic-cache-service.js +33 -33
  170. package/dist/cjs/services/index.d.ts +8 -8
  171. package/dist/cjs/services/index.js +24 -24
  172. package/dist/cjs/services/ipdata-lookup-service.d.ts +19 -19
  173. package/dist/cjs/services/ipdata-lookup-service.js +77 -77
  174. package/dist/cjs/services/shopify/index.d.ts +3 -3
  175. package/dist/cjs/services/shopify/index.js +19 -19
  176. package/dist/cjs/services/shopify/products/index.d.ts +1 -1
  177. package/dist/cjs/services/shopify/products/index.js +17 -17
  178. package/dist/cjs/services/shopify/products/shopify-products-serviceV2.d.ts +17 -17
  179. package/dist/cjs/services/shopify/products/shopify-products-serviceV2.js +103 -103
  180. package/dist/cjs/services/shopify/shopify-graphql-transformer.d.ts +9 -9
  181. package/dist/cjs/services/shopify/shopify-graphql-transformer.js +137 -137
  182. package/dist/cjs/services/shopify/types/index.d.ts +1 -1
  183. package/dist/cjs/services/shopify/types/index.js +17 -17
  184. package/dist/cjs/services/shopify/types/product.d.ts +115 -115
  185. package/dist/cjs/services/shopify/types/product.js +9 -9
  186. package/dist/cjs/types/api-response.d.ts +6 -6
  187. package/dist/cjs/types/api-response.js +2 -2
  188. package/dist/cjs/types/index.d.ts +2 -2
  189. package/dist/cjs/types/index.js +18 -18
  190. package/dist/cjs/types/internal-events/event-detail-types.d.ts +20 -20
  191. package/dist/cjs/types/internal-events/event-detail-types.js +27 -27
  192. package/dist/cjs/types/internal-events/index.d.ts +1 -1
  193. package/dist/cjs/types/internal-events/index.js +17 -17
  194. package/dist/cjs/types/shopify-graphql-types/admin.generated.d.ts +105 -105
  195. package/dist/cjs/types/shopify-graphql-types/admin.generated.js +2 -2
  196. package/dist/cjs/types/shopify-graphql-types/admin.types.d.ts +26289 -26289
  197. package/dist/cjs/types/shopify-graphql-types/admin.types.js +5311 -5311
  198. package/dist/cjs/types/shopify-graphql-types/index.d.ts +2 -2
  199. package/dist/cjs/types/shopify-graphql-types/index.js +18 -18
  200. package/dist/esm/__tests__/helpers/account-users-helper.spec.d.ts +1 -1
  201. package/dist/esm/__tests__/helpers/account-users-helper.spec.js +198 -198
  202. package/dist/esm/__tests__/identity-cache/identity-cache-db-service.spec.d.ts +1 -1
  203. package/dist/esm/__tests__/identity-cache/identity-cache-db-service.spec.js +660 -660
  204. package/dist/esm/__tests__/identity-cache/identity-cache-db-service.spec.js.map +1 -1
  205. package/dist/esm/__tests__/libs/compress-decompress.spec.d.ts +1 -1
  206. package/dist/esm/__tests__/libs/compress-decompress.spec.js +14 -14
  207. package/dist/esm/__tests__/libs/currency.spec.d.ts +1 -1
  208. package/dist/esm/__tests__/libs/currency.spec.js +218 -218
  209. package/dist/esm/__tests__/libs/dates.spec.d.ts +1 -1
  210. package/dist/esm/__tests__/libs/dates.spec.js +130 -130
  211. package/dist/esm/__tests__/libs/domain.spec.d.ts +1 -1
  212. package/dist/esm/__tests__/libs/domain.spec.js +105 -105
  213. package/dist/esm/__tests__/libs/numbers.spec.d.ts +1 -1
  214. package/dist/esm/__tests__/libs/numbers.spec.js +259 -259
  215. package/dist/esm/__tests__/s3-client/s3-client.spec.d.ts +1 -1
  216. package/dist/esm/__tests__/s3-client/s3-client.spec.js +24 -24
  217. package/dist/esm/__tests__/shopify/shopify-graphql-transformer.spec.d.ts +1 -1
  218. package/dist/esm/__tests__/shopify/shopify-graphql-transformer.spec.js +33 -33
  219. package/dist/esm/clients/generic/cognito-client.d.ts +23 -23
  220. package/dist/esm/clients/generic/cognito-client.js +204 -204
  221. package/dist/esm/clients/generic/dynamodb-client.d.ts +17 -17
  222. package/dist/esm/clients/generic/dynamodb-client.js +166 -166
  223. package/dist/esm/clients/generic/eventbridge-client.d.ts +14 -14
  224. package/dist/esm/clients/generic/eventbridge-client.js +45 -45
  225. package/dist/esm/clients/generic/http-client.d.ts +14 -14
  226. package/dist/esm/clients/generic/http-client.js +53 -53
  227. package/dist/esm/clients/generic/index.d.ts +10 -10
  228. package/dist/esm/clients/generic/index.js +10 -10
  229. package/dist/esm/clients/generic/lambda-invoke-client.d.ts +10 -10
  230. package/dist/esm/clients/generic/lambda-invoke-client.js +31 -31
  231. package/dist/esm/clients/generic/location-client.d.ts +8 -8
  232. package/dist/esm/clients/generic/location-client.js +27 -27
  233. package/dist/esm/clients/generic/redis-client.d.ts +18 -18
  234. package/dist/esm/clients/generic/redis-client.js +121 -121
  235. package/dist/esm/clients/generic/s3-client.d.ts +23 -23
  236. package/dist/esm/clients/generic/s3-client.js +191 -191
  237. package/dist/esm/clients/generic/singlestore-db-client.d.ts +14 -14
  238. package/dist/esm/clients/generic/singlestore-db-client.js +40 -40
  239. package/dist/esm/clients/generic/sqs-client.d.ts +20 -20
  240. package/dist/esm/clients/generic/sqs-client.js +32 -32
  241. package/dist/esm/clients/index.d.ts +3 -3
  242. package/dist/esm/clients/index.js +3 -3
  243. package/dist/esm/clients/internal-api/accounts-client.d.ts +83 -83
  244. package/dist/esm/clients/internal-api/accounts-client.js +103 -103
  245. package/dist/esm/clients/internal-api/cache-lambda-client.d.ts +25 -25
  246. package/dist/esm/clients/internal-api/cache-lambda-client.js +75 -75
  247. package/dist/esm/clients/internal-api/db-management-client.d.ts +18 -18
  248. package/dist/esm/clients/internal-api/db-management-client.js +32 -32
  249. package/dist/esm/clients/internal-api/destinations-client.d.ts +27 -27
  250. package/dist/esm/clients/internal-api/destinations-client.js +47 -47
  251. package/dist/esm/clients/internal-api/event-collector-client.d.ts +20 -20
  252. package/dist/esm/clients/internal-api/event-collector-client.js +32 -32
  253. package/dist/esm/clients/internal-api/identity-client.d.ts +32 -32
  254. package/dist/esm/clients/internal-api/identity-client.js +95 -95
  255. package/dist/esm/clients/internal-api/index.d.ts +9 -9
  256. package/dist/esm/clients/internal-api/index.js +9 -9
  257. package/dist/esm/clients/internal-api/shopify-app-install-client.d.ts +36 -36
  258. package/dist/esm/clients/internal-api/shopify-app-install-client.js +64 -64
  259. package/dist/esm/clients/internal-api/subscriptions-client.d.ts +23 -23
  260. package/dist/esm/clients/internal-api/subscriptions-client.js +54 -54
  261. package/dist/esm/clients/internal-api/users-auth-client.d.ts +35 -35
  262. package/dist/esm/clients/internal-api/users-auth-client.js +106 -106
  263. package/dist/esm/clients/third-party/emailable-client.d.ts +7 -7
  264. package/dist/esm/clients/third-party/emailable-client.js +21 -21
  265. package/dist/esm/clients/third-party/exchange-rate-api-client.d.ts +17 -17
  266. package/dist/esm/clients/third-party/exchange-rate-api-client.js +15 -15
  267. package/dist/esm/clients/third-party/index.d.ts +2 -2
  268. package/dist/esm/clients/third-party/index.js +2 -2
  269. package/dist/esm/clients/third-party/shopify/graphql-product-queries.d.ts +2 -2
  270. package/dist/esm/clients/third-party/shopify/graphql-product-queries.js +2 -2
  271. package/dist/esm/clients/third-party/shopify/shopify-graphql-client.d.ts +9 -9
  272. package/dist/esm/clients/third-party/shopify/shopify-graphql-client.js +91 -91
  273. package/dist/esm/clients/third-party/shopify-client.d.ts +29 -29
  274. package/dist/esm/clients/third-party/shopify-client.js +140 -140
  275. package/dist/esm/helpers/account-users-helper.d.ts +2 -2
  276. package/dist/esm/helpers/account-users-helper.js +18 -18
  277. package/dist/esm/helpers/identity-cache-helper.d.ts +4 -4
  278. package/dist/esm/helpers/identity-cache-helper.js +152 -152
  279. package/dist/esm/helpers/index.d.ts +6 -6
  280. package/dist/esm/helpers/index.js +6 -6
  281. package/dist/esm/helpers/input-validation-helper.d.ts +3 -3
  282. package/dist/esm/helpers/input-validation-helper.js +18 -18
  283. package/dist/esm/helpers/logging-helper.d.ts +16 -16
  284. package/dist/esm/helpers/logging-helper.js +56 -56
  285. package/dist/esm/helpers/response-helper.d.ts +15 -15
  286. package/dist/esm/helpers/response-helper.js +36 -36
  287. package/dist/esm/helpers/shopify-helper.d.ts +9 -9
  288. package/dist/esm/helpers/shopify-helper.js +23 -23
  289. package/dist/esm/index.d.ts +5 -5
  290. package/dist/esm/index.js +5 -5
  291. package/dist/esm/libs/click-id-parser.d.ts +23 -23
  292. package/dist/esm/libs/click-id-parser.js +45 -45
  293. package/dist/esm/libs/compression.d.ts +2 -2
  294. package/dist/esm/libs/compression.js +25 -25
  295. package/dist/esm/libs/cookie.d.ts +11 -11
  296. package/dist/esm/libs/cookie.js +59 -59
  297. package/dist/esm/libs/crypto.d.ts +2 -2
  298. package/dist/esm/libs/crypto.js +8 -8
  299. package/dist/esm/libs/csv.d.ts +2 -2
  300. package/dist/esm/libs/csv.js +30 -30
  301. package/dist/esm/libs/currency.d.ts +1 -1
  302. package/dist/esm/libs/currency.js +17 -17
  303. package/dist/esm/libs/dates.d.ts +12 -12
  304. package/dist/esm/libs/dates.js +83 -83
  305. package/dist/esm/libs/domain.d.ts +2 -2
  306. package/dist/esm/libs/domain.js +33 -33
  307. package/dist/esm/libs/http-error.d.ts +21 -21
  308. package/dist/esm/libs/http-error.js +55 -55
  309. package/dist/esm/libs/http-status-codes.d.ts +58 -58
  310. package/dist/esm/libs/http-status-codes.js +59 -59
  311. package/dist/esm/libs/index.d.ts +16 -16
  312. package/dist/esm/libs/index.js +16 -16
  313. package/dist/esm/libs/numbers.d.ts +1 -1
  314. package/dist/esm/libs/numbers.js +11 -11
  315. package/dist/esm/libs/referrer-parser/index.d.ts +2 -2
  316. package/dist/esm/libs/referrer-parser/index.js +2 -2
  317. package/dist/esm/libs/referrer-parser/referrer-data.d.ts +9 -9
  318. package/dist/esm/libs/referrer-parser/referrer-data.js +4709 -4709
  319. package/dist/esm/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
  320. package/dist/esm/libs/referrer-parser/referrer-parser-util.js +121 -121
  321. package/dist/esm/libs/strings.d.ts +3 -3
  322. package/dist/esm/libs/strings.js +40 -40
  323. package/dist/esm/libs/traits.d.ts +2 -2
  324. package/dist/esm/libs/traits.js +14 -12
  325. package/dist/esm/libs/traits.js.map +1 -1
  326. package/dist/esm/libs/url.d.ts +1 -1
  327. package/dist/esm/libs/url.js +9 -9
  328. package/dist/esm/services/cache/generic-cached-object.d.ts +5 -5
  329. package/dist/esm/services/cache/generic-cached-object.js +1 -1
  330. package/dist/esm/services/cache/index.d.ts +1 -1
  331. package/dist/esm/services/cache/index.js +1 -1
  332. package/dist/esm/services/cache/product-cache-service.d.ts +21 -21
  333. package/dist/esm/services/cache/product-cache-service.js +60 -60
  334. package/dist/esm/services/currency-exchange-rate-lookup-service.d.ts +11 -11
  335. package/dist/esm/services/currency-exchange-rate-lookup-service.js +46 -46
  336. package/dist/esm/services/db/currency-exchange-rates-db-service.d.ts +21 -21
  337. package/dist/esm/services/db/currency-exchange-rates-db-service.js +35 -35
  338. package/dist/esm/services/db/destinations-db-service.d.ts +9 -9
  339. package/dist/esm/services/db/destinations-db-service.js +53 -53
  340. package/dist/esm/services/db/identity-cache-db-service.d.ts +24 -24
  341. package/dist/esm/services/db/identity-cache-db-service.js +229 -229
  342. package/dist/esm/services/db/index.d.ts +9 -9
  343. package/dist/esm/services/db/index.js +9 -9
  344. package/dist/esm/services/db/log-events-db-service.d.ts +11 -11
  345. package/dist/esm/services/db/log-events-db-service.js +168 -168
  346. package/dist/esm/services/db/purchasable-contacts-db-service.d.ts +9 -9
  347. package/dist/esm/services/db/purchasable-contacts-db-service.js +39 -39
  348. package/dist/esm/services/db/purchasable-contacts-db-service.js.map +1 -1
  349. package/dist/esm/services/db/purchased-contacts-db-service.d.ts +11 -11
  350. package/dist/esm/services/db/purchased-contacts-db-service.js +63 -63
  351. package/dist/esm/services/db/shopify-app-installs-db-service.d.ts +7 -7
  352. package/dist/esm/services/db/shopify-app-installs-db-service.js +43 -43
  353. package/dist/esm/services/db/shopify-products-cache-db-service.d.ts +16 -16
  354. package/dist/esm/services/db/shopify-products-cache-db-service.js +58 -58
  355. package/dist/esm/services/db/tracking-events-db-service.d.ts +20 -20
  356. package/dist/esm/services/db/tracking-events-db-service.js +158 -158
  357. package/dist/esm/services/eventbridge-integration-service.d.ts +9 -9
  358. package/dist/esm/services/eventbridge-integration-service.js +24 -24
  359. package/dist/esm/services/events/index.d.ts +3 -3
  360. package/dist/esm/services/events/index.js +3 -3
  361. package/dist/esm/services/events/log-event-service.d.ts +9 -9
  362. package/dist/esm/services/events/log-event-service.js +52 -52
  363. package/dist/esm/services/events/metric-event-service.d.ts +9 -9
  364. package/dist/esm/services/events/metric-event-service.js +45 -45
  365. package/dist/esm/services/events/tracking-event-sqs-service.d.ts +8 -8
  366. package/dist/esm/services/events/tracking-event-sqs-service.js +25 -25
  367. package/dist/esm/services/generic-cache-service.d.ts +7 -7
  368. package/dist/esm/services/generic-cache-service.js +29 -29
  369. package/dist/esm/services/index.d.ts +8 -8
  370. package/dist/esm/services/index.js +8 -8
  371. package/dist/esm/services/ipdata-lookup-service.d.ts +19 -19
  372. package/dist/esm/services/ipdata-lookup-service.js +73 -73
  373. package/dist/esm/services/shopify/index.d.ts +3 -3
  374. package/dist/esm/services/shopify/index.js +3 -3
  375. package/dist/esm/services/shopify/products/index.d.ts +1 -1
  376. package/dist/esm/services/shopify/products/index.js +1 -1
  377. package/dist/esm/services/shopify/products/shopify-products-serviceV2.d.ts +17 -17
  378. package/dist/esm/services/shopify/products/shopify-products-serviceV2.js +99 -99
  379. package/dist/esm/services/shopify/shopify-graphql-transformer.d.ts +9 -9
  380. package/dist/esm/services/shopify/shopify-graphql-transformer.js +134 -134
  381. package/dist/esm/services/shopify/types/index.d.ts +1 -1
  382. package/dist/esm/services/shopify/types/index.js +1 -1
  383. package/dist/esm/services/shopify/types/product.d.ts +115 -115
  384. package/dist/esm/services/shopify/types/product.js +6 -6
  385. package/dist/esm/types/api-response.d.ts +6 -6
  386. package/dist/esm/types/api-response.js +1 -1
  387. package/dist/esm/types/index.d.ts +2 -2
  388. package/dist/esm/types/index.js +2 -2
  389. package/dist/esm/types/internal-events/event-detail-types.d.ts +20 -20
  390. package/dist/esm/types/internal-events/event-detail-types.js +24 -24
  391. package/dist/esm/types/internal-events/index.d.ts +1 -1
  392. package/dist/esm/types/internal-events/index.js +1 -1
  393. package/dist/esm/types/shopify-graphql-types/admin.generated.d.ts +105 -105
  394. package/dist/esm/types/shopify-graphql-types/admin.generated.js +1 -1
  395. package/dist/esm/types/shopify-graphql-types/admin.types.d.ts +26289 -26289
  396. package/dist/esm/types/shopify-graphql-types/admin.types.js +5299 -5299
  397. package/dist/esm/types/shopify-graphql-types/index.d.ts +2 -2
  398. package/dist/esm/types/shopify-graphql-types/index.js +2 -2
  399. package/package.json +4 -4
@@ -1,20 +1,20 @@
1
- /// <reference types="node" />
2
- import url from 'url';
3
- export interface ReferrerDictionary {
4
- [domain: string]: {
5
- name: string;
6
- medium: string;
7
- params?: string[];
8
- };
9
- }
10
- export declare class Referrer {
11
- known: boolean;
12
- referrer: string | null;
13
- medium: string;
14
- search_parameter: string | null;
15
- search_term: string | string[] | null | undefined;
16
- referrers: any;
17
- uri?: url.UrlWithStringQuery;
18
- constructor(referrer_url?: string, current_url?: string);
19
- _lookup_referrer: (ref_host: string | null | undefined, ref_path: string | null, include_path: boolean) => any;
20
- }
1
+ /// <reference types="node" />
2
+ import url from 'url';
3
+ export interface ReferrerDictionary {
4
+ [domain: string]: {
5
+ name: string;
6
+ medium: string;
7
+ params?: string[];
8
+ };
9
+ }
10
+ export declare class Referrer {
11
+ known: boolean;
12
+ referrer: string | null;
13
+ medium: string;
14
+ search_parameter: string | null;
15
+ search_term: string | string[] | null | undefined;
16
+ referrers: any;
17
+ uri?: url.UrlWithStringQuery;
18
+ constructor(referrer_url?: string, current_url?: string);
19
+ _lookup_referrer: (ref_host: string | null | undefined, ref_path: string | null, include_path: boolean) => any;
20
+ }
@@ -1,122 +1,122 @@
1
- import url from 'url';
2
- import querystring from 'querystring';
3
- import { REFERRER_DATA } from './referrer-data.js';
4
- const REFERERS = loadReferrers(REFERRER_DATA);
5
- function loadReferrers(source) {
6
- const referrers_dict = {};
7
- for (const medium in source) {
8
- const conf_list = source[medium];
9
- for (const referrer_name in conf_list) {
10
- const config = conf_list[referrer_name];
11
- let params = null;
12
- if (config.parameters) {
13
- params = config.parameters.map(function (p) { return p.toLowerCase(); });
14
- }
15
- config.domains.forEach(function (domain) {
16
- referrers_dict[domain] = {
17
- 'name': referrer_name,
18
- 'medium': medium
19
- };
20
- if (params) {
21
- referrers_dict[domain]['params'] = params;
22
- }
23
- });
24
- }
25
- }
26
- return referrers_dict;
27
- }
28
- export class Referrer {
29
- known;
30
- referrer;
31
- medium;
32
- search_parameter;
33
- search_term;
34
- referrers;
35
- uri;
36
- constructor(referrer_url, current_url) {
37
- this.known = false;
38
- this.referrer = null;
39
- this.medium = 'unknown';
40
- this.search_parameter = null;
41
- this.search_term = null;
42
- if (!referrer_url) {
43
- this.medium = 'none';
44
- this.referrer = 'direct';
45
- return;
46
- }
47
- const ref_uri = url.parse(referrer_url);
48
- const ref_host = ref_uri.hostname;
49
- this.known = Boolean(~['http:', 'https:'].indexOf(ref_uri.protocol));
50
- this.uri = ref_uri;
51
- if (!this.known)
52
- return;
53
- if (current_url) {
54
- const curr_uri = url.parse(current_url);
55
- const curr_host = curr_uri.hostname;
56
- if (curr_host == ref_host) {
57
- this.medium = 'internal';
58
- this.referrer = 'internal';
59
- return;
60
- }
61
- }
62
- let referrer = this._lookup_referrer(ref_host, ref_uri.pathname, true);
63
- if (!referrer) {
64
- referrer = this._lookup_referrer(ref_host, ref_uri.pathname, false);
65
- if (!referrer) {
66
- this.medium = 'referral';
67
- this.referrer = ref_host;
68
- return;
69
- }
70
- }
71
- this.referrer = referrer['name'];
72
- this.medium = referrer['medium'];
73
- if (referrer['medium'] == 'search') {
74
- if (!referrer['params'])
75
- return;
76
- const pqs = querystring.parse(ref_uri?.query || '');
77
- for (const param in pqs) {
78
- const val = pqs[param];
79
- if (referrer['params'].indexOf(param.toLowerCase()) !== -1) {
80
- this.search_parameter = param;
81
- this.search_term = val;
82
- }
83
- }
84
- }
85
- }
86
- _lookup_referrer = (ref_host, ref_path, include_path) => {
87
- let referrer = null;
88
- if (include_path) {
89
- const hostpath = (ref_host ?? '') + (ref_path ?? '');
90
- referrer = REFERERS[hostpath];
91
- }
92
- else {
93
- referrer = REFERERS[ref_host ?? ''];
94
- }
95
- if (!referrer) {
96
- if (include_path) {
97
- const path_parts = ref_path?.split('/');
98
- if (path_parts && path_parts.length > 1) {
99
- try {
100
- referrer = REFERERS[ref_host + '/' + path_parts[1]];
101
- }
102
- catch (e) { }
103
- }
104
- }
105
- }
106
- if (!referrer) {
107
- try {
108
- const idx = (ref_host ?? '').indexOf('.');
109
- if (idx === -1)
110
- return null;
111
- const slicedHost = ref_host?.slice(idx + 1);
112
- return this._lookup_referrer(slicedHost, ref_path, include_path);
113
- }
114
- catch (e) {
115
- return null;
116
- }
117
- }
118
- else
119
- return referrer;
120
- };
121
- }
1
+ import url from 'url';
2
+ import querystring from 'querystring';
3
+ import { REFERRER_DATA } from './referrer-data.js';
4
+ const REFERERS = loadReferrers(REFERRER_DATA);
5
+ function loadReferrers(source) {
6
+ const referrers_dict = {};
7
+ for (const medium in source) {
8
+ const conf_list = source[medium];
9
+ for (const referrer_name in conf_list) {
10
+ const config = conf_list[referrer_name];
11
+ let params = null;
12
+ if (config.parameters) {
13
+ params = config.parameters.map(function (p) { return p.toLowerCase(); });
14
+ }
15
+ config.domains.forEach(function (domain) {
16
+ referrers_dict[domain] = {
17
+ 'name': referrer_name,
18
+ 'medium': medium
19
+ };
20
+ if (params) {
21
+ referrers_dict[domain]['params'] = params;
22
+ }
23
+ });
24
+ }
25
+ }
26
+ return referrers_dict;
27
+ }
28
+ export class Referrer {
29
+ known;
30
+ referrer;
31
+ medium;
32
+ search_parameter;
33
+ search_term;
34
+ referrers;
35
+ uri;
36
+ constructor(referrer_url, current_url) {
37
+ this.known = false;
38
+ this.referrer = null;
39
+ this.medium = 'unknown';
40
+ this.search_parameter = null;
41
+ this.search_term = null;
42
+ if (!referrer_url) {
43
+ this.medium = 'none';
44
+ this.referrer = 'direct';
45
+ return;
46
+ }
47
+ const ref_uri = url.parse(referrer_url);
48
+ const ref_host = ref_uri.hostname;
49
+ this.known = Boolean(~['http:', 'https:'].indexOf(ref_uri.protocol));
50
+ this.uri = ref_uri;
51
+ if (!this.known)
52
+ return;
53
+ if (current_url) {
54
+ const curr_uri = url.parse(current_url);
55
+ const curr_host = curr_uri.hostname;
56
+ if (curr_host == ref_host) {
57
+ this.medium = 'internal';
58
+ this.referrer = 'internal';
59
+ return;
60
+ }
61
+ }
62
+ let referrer = this._lookup_referrer(ref_host, ref_uri.pathname, true);
63
+ if (!referrer) {
64
+ referrer = this._lookup_referrer(ref_host, ref_uri.pathname, false);
65
+ if (!referrer) {
66
+ this.medium = 'referral';
67
+ this.referrer = ref_host;
68
+ return;
69
+ }
70
+ }
71
+ this.referrer = referrer['name'];
72
+ this.medium = referrer['medium'];
73
+ if (referrer['medium'] == 'search') {
74
+ if (!referrer['params'])
75
+ return;
76
+ const pqs = querystring.parse(ref_uri?.query || '');
77
+ for (const param in pqs) {
78
+ const val = pqs[param];
79
+ if (referrer['params'].indexOf(param.toLowerCase()) !== -1) {
80
+ this.search_parameter = param;
81
+ this.search_term = val;
82
+ }
83
+ }
84
+ }
85
+ }
86
+ _lookup_referrer = (ref_host, ref_path, include_path) => {
87
+ let referrer = null;
88
+ if (include_path) {
89
+ const hostpath = (ref_host ?? '') + (ref_path ?? '');
90
+ referrer = REFERERS[hostpath];
91
+ }
92
+ else {
93
+ referrer = REFERERS[ref_host ?? ''];
94
+ }
95
+ if (!referrer) {
96
+ if (include_path) {
97
+ const path_parts = ref_path?.split('/');
98
+ if (path_parts && path_parts.length > 1) {
99
+ try {
100
+ referrer = REFERERS[ref_host + '/' + path_parts[1]];
101
+ }
102
+ catch (e) { }
103
+ }
104
+ }
105
+ }
106
+ if (!referrer) {
107
+ try {
108
+ const idx = (ref_host ?? '').indexOf('.');
109
+ if (idx === -1)
110
+ return null;
111
+ const slicedHost = ref_host?.slice(idx + 1);
112
+ return this._lookup_referrer(slicedHost, ref_path, include_path);
113
+ }
114
+ catch (e) {
115
+ return null;
116
+ }
117
+ }
118
+ else
119
+ return referrer;
120
+ };
121
+ }
122
122
  //# sourceMappingURL=referrer-parser-util.js.map
@@ -1,3 +1,3 @@
1
- export declare const capitalizeEachWord: (input: string) => string;
2
- export declare const capitalizeFirstLetter: (input: string) => string;
3
- export declare const containsUpperCase: (input: string) => boolean;
1
+ export declare const capitalizeEachWord: (input: string) => string;
2
+ export declare const capitalizeFirstLetter: (input: string) => string;
3
+ export declare const containsUpperCase: (input: string) => boolean;
@@ -1,41 +1,41 @@
1
- import { Logger } from '../helpers';
2
- export const capitalizeEachWord = (input) => {
3
- try {
4
- if (typeof input !== 'string') {
5
- return input;
6
- }
7
- return input
8
- .split(' ')
9
- .map(word => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())
10
- .join(' ');
11
- }
12
- catch (error) {
13
- Logger.error('error capitalizing each word', { error, input });
14
- return input;
15
- }
16
- };
17
- export const capitalizeFirstLetter = (input) => {
18
- try {
19
- if (typeof input !== 'string') {
20
- return input;
21
- }
22
- return input.charAt(0).toUpperCase() + input.slice(1);
23
- }
24
- catch (error) {
25
- Logger.error('error capitalizing first letter', { error, input });
26
- return input;
27
- }
28
- };
29
- export const containsUpperCase = (input) => {
30
- try {
31
- if (typeof input !== 'string') {
32
- return false;
33
- }
34
- return /[A-Z]/.test(input);
35
- }
36
- catch (error) {
37
- Logger.error('error checking if string contains upper case', { error, input });
38
- return false;
39
- }
40
- };
1
+ import { Logger } from '../helpers';
2
+ export const capitalizeEachWord = (input) => {
3
+ try {
4
+ if (typeof input !== 'string') {
5
+ return input;
6
+ }
7
+ return input
8
+ .split(' ')
9
+ .map(word => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())
10
+ .join(' ');
11
+ }
12
+ catch (error) {
13
+ Logger.error('error capitalizing each word', { error, input });
14
+ return input;
15
+ }
16
+ };
17
+ export const capitalizeFirstLetter = (input) => {
18
+ try {
19
+ if (typeof input !== 'string') {
20
+ return input;
21
+ }
22
+ return input.charAt(0).toUpperCase() + input.slice(1);
23
+ }
24
+ catch (error) {
25
+ Logger.error('error capitalizing first letter', { error, input });
26
+ return input;
27
+ }
28
+ };
29
+ export const containsUpperCase = (input) => {
30
+ try {
31
+ if (typeof input !== 'string') {
32
+ return false;
33
+ }
34
+ return /[A-Z]/.test(input);
35
+ }
36
+ catch (error) {
37
+ Logger.error('error checking if string contains upper case', { error, input });
38
+ return false;
39
+ }
40
+ };
41
41
  //# sourceMappingURL=strings.js.map
@@ -1,2 +1,2 @@
1
- import { CountryCode } from 'libphonenumber-js';
2
- export declare const safeParsePhone: (input: string, countryCode?: CountryCode) => string | undefined;
1
+ import { CountryCode } from 'libphonenumber-js';
2
+ export declare const safeParsePhone: (input: string, countryCode?: CountryCode) => string | undefined;
@@ -1,13 +1,15 @@
1
- import parsePhoneNumber from 'libphonenumber-js';
2
- import { Logger } from '../helpers';
3
- export const safeParsePhone = (input, countryCode) => {
4
- try {
5
- const phoneNumber = parsePhoneNumber(input, countryCode);
6
- return phoneNumber?.number?.toString();
7
- }
8
- catch (error) {
9
- Logger.error('Failed to parse phone', { error, input, countryCode });
10
- return undefined;
11
- }
12
- };
1
+ import parsePhoneNumber from 'libphonenumber-js';
2
+ import { Logger } from '../helpers';
3
+ export const safeParsePhone = (input, countryCode) => {
4
+ try {
5
+ const phoneNumber = parsePhoneNumber(input, countryCode);
6
+ let ph = phoneNumber?.number?.toString();
7
+ ph = ph?.replace(/[^\d.-]+/g, '');
8
+ return ph;
9
+ }
10
+ catch (error) {
11
+ Logger.error('Failed to parse phone', { error, input, countryCode });
12
+ return undefined;
13
+ }
14
+ };
13
15
  //# sourceMappingURL=traits.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"traits.js","sourceRoot":"","sources":["../../../src/libs/traits.ts"],"names":[],"mappings":"AAAA,OAAO,gBAAiC,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEpC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAa,EAAE,WAAyB,EAAsB,EAAE;IAC7F,IAAI;QACF,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QACzD,OAAO,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;KACxC;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;QACrE,OAAO,SAAS,CAAC;KAClB;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"traits.js","sourceRoot":"","sources":["../../../src/libs/traits.ts"],"names":[],"mappings":"AAAA,OAAO,gBAAiC,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEpC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAa,EAAE,WAAyB,EAAsB,EAAE;IAC7F,IAAI;QACF,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QACzD,IAAI,EAAE,GAAG,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;QACzC,EAAE,GAAG,EAAE,EAAE,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAClC,OAAO,EAAE,CAAC;KACX;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;QACrE,OAAO,SAAS,CAAC;KAClB;AACH,CAAC,CAAC"}
@@ -1 +1 @@
1
- export declare const mapObjectToQueryString: (inputObj: any) => string;
1
+ export declare const mapObjectToQueryString: (inputObj: any) => string;
@@ -1,10 +1,10 @@
1
- export const mapObjectToQueryString = (inputObj) => {
2
- const qsp = Object.entries(inputObj).sort((a, b) => a[0] < b[0] ? -1 : 1);
3
- const urlParams = new URLSearchParams();
4
- qsp.map(p => {
5
- urlParams.append(p[0], p[1]);
6
- });
7
- const qs = urlParams.toString();
8
- return qs;
9
- };
1
+ export const mapObjectToQueryString = (inputObj) => {
2
+ const qsp = Object.entries(inputObj).sort((a, b) => a[0] < b[0] ? -1 : 1);
3
+ const urlParams = new URLSearchParams();
4
+ qsp.map(p => {
5
+ urlParams.append(p[0], p[1]);
6
+ });
7
+ const qs = urlParams.toString();
8
+ return qs;
9
+ };
10
10
  //# sourceMappingURL=url.js.map
@@ -1,5 +1,5 @@
1
- export interface GenericCachedObject {
2
- expiresAt?: number;
3
- cachedAt?: string;
4
- cachedAtEpoch?: number;
5
- }
1
+ export interface GenericCachedObject {
2
+ expiresAt?: number;
3
+ cachedAt?: string;
4
+ cachedAtEpoch?: number;
5
+ }
@@ -1,2 +1,2 @@
1
- export {};
1
+ export {};
2
2
  //# sourceMappingURL=generic-cached-object.js.map
@@ -1 +1 @@
1
- export * from './product-cache-service.js';
1
+ export * from './product-cache-service.js';
@@ -1,2 +1,2 @@
1
- export * from './product-cache-service.js';
1
+ export * from './product-cache-service.js';
2
2
  //# sourceMappingURL=index.js.map
@@ -1,21 +1,21 @@
1
- import { InternalProduct } from '../shopify/types/product';
2
- import { GenericCachedObject } from './generic-cached-object';
3
- export interface ProductCache extends GenericCachedObject {
4
- productCompressed: string;
5
- fullSha256?: string;
6
- noInventorySha256?: string;
7
- cachedAtEpoch?: number;
8
- expiresAt?: number;
9
- }
10
- export declare const getProductCacheKey: (pixelId: string, productId: string) => string;
11
- export declare class ProductCacheService {
12
- private genericCacheService;
13
- private redisCacheTtlInSeconds;
14
- constructor(cacheLambdaFunctionArn: string, redisCacheTtlInSeconds: number);
15
- getCacheKey: (pixelId: string, productId: string) => string;
16
- getProductFromCache: (pixelId: string, productId: string) => Promise<InternalProduct | undefined>;
17
- getProductCache: (pixelId: string, productId: string) => Promise<ProductCache | undefined>;
18
- putProductInCache: (pixelId: string, productId: string, product: InternalProduct, ttlInSeconds?: number) => Promise<void>;
19
- deleteProductFromCache: (pixelId: string, productId: string) => Promise<void>;
20
- private isProductCacheStale;
21
- }
1
+ import { InternalProduct } from '../shopify/types/product';
2
+ import { GenericCachedObject } from './generic-cached-object';
3
+ export interface ProductCache extends GenericCachedObject {
4
+ productCompressed: string;
5
+ fullSha256?: string;
6
+ noInventorySha256?: string;
7
+ cachedAtEpoch?: number;
8
+ expiresAt?: number;
9
+ }
10
+ export declare const getProductCacheKey: (pixelId: string, productId: string) => string;
11
+ export declare class ProductCacheService {
12
+ private genericCacheService;
13
+ private redisCacheTtlInSeconds;
14
+ constructor(cacheLambdaFunctionArn: string, redisCacheTtlInSeconds: number);
15
+ getCacheKey: (pixelId: string, productId: string) => string;
16
+ getProductFromCache: (pixelId: string, productId: string) => Promise<InternalProduct | undefined>;
17
+ getProductCache: (pixelId: string, productId: string) => Promise<ProductCache | undefined>;
18
+ putProductInCache: (pixelId: string, productId: string, product: InternalProduct, ttlInSeconds?: number) => Promise<void>;
19
+ deleteProductFromCache: (pixelId: string, productId: string) => Promise<void>;
20
+ private isProductCacheStale;
21
+ }
@@ -1,61 +1,61 @@
1
- import { DateTime } from 'luxon';
2
- import { GenericCacheService } from '../generic-cache-service';
3
- import { compressJSON, decompressJSON } from '../../libs';
4
- import crypto from 'crypto';
5
- const DEFAULT_TTL_IN_SECONDS = 7 * 24 * 3600;
6
- export const getProductCacheKey = (pixelId, productId) => {
7
- return `internal:product:${pixelId}_${productId}`;
8
- };
9
- export class ProductCacheService {
10
- genericCacheService;
11
- redisCacheTtlInSeconds;
12
- constructor(cacheLambdaFunctionArn, redisCacheTtlInSeconds) {
13
- this.genericCacheService = new GenericCacheService(cacheLambdaFunctionArn);
14
- this.redisCacheTtlInSeconds = redisCacheTtlInSeconds || DEFAULT_TTL_IN_SECONDS;
15
- }
16
- getCacheKey = (pixelId, productId) => {
17
- return getProductCacheKey(pixelId, productId);
18
- };
19
- getProductFromCache = async (pixelId, productId) => {
20
- const cachedData = await this.getProductCache(pixelId, productId);
21
- if (cachedData && !this.isProductCacheStale(cachedData)) {
22
- const product = decompressJSON(cachedData.productCompressed);
23
- return product;
24
- }
25
- return undefined;
26
- };
27
- getProductCache = async (pixelId, productId) => {
28
- const cacheKey = this.getCacheKey(pixelId, productId);
29
- const cachedData = await this.genericCacheService.getCachedData(cacheKey);
30
- return cachedData;
31
- };
32
- putProductInCache = async (pixelId, productId, product, ttlInSeconds) => {
33
- const cacheKey = this.getCacheKey(pixelId, productId);
34
- const ttl = ttlInSeconds || this.redisCacheTtlInSeconds;
35
- const expiresAt = DateTime.utc().plus({ seconds: ttl }).toSeconds();
36
- const cachedAtEpoch = DateTime.utc().toSeconds();
37
- const fullSha256 = crypto.createHash('sha256').update(JSON.stringify(product)).digest('hex');
38
- const noInventoryProduct = { ...product, totalInventory: undefined, variants: product?.variants?.map(variant => ({ ...variant, inventoryQuantity: undefined, inventoryItem: undefined })) };
39
- const noInventorySha256 = crypto.createHash('sha256').update(JSON.stringify(noInventoryProduct)).digest('hex');
40
- const productCompressed = compressJSON(product);
41
- const productCache = {
42
- productCompressed,
43
- fullSha256,
44
- noInventorySha256,
45
- cachedAtEpoch,
46
- expiresAt,
47
- };
48
- await this.genericCacheService.putCachedData(cacheKey, productCache, ttl);
49
- };
50
- deleteProductFromCache = async (pixelId, productId) => {
51
- const cacheKey = this.getCacheKey(pixelId, productId);
52
- await this.genericCacheService.deleteCachedData(cacheKey);
53
- };
54
- isProductCacheStale = (cachedData) => {
55
- if (cachedData?.expiresAt && cachedData.expiresAt < DateTime.utc().toSeconds()) {
56
- return true;
57
- }
58
- return false;
59
- };
60
- }
1
+ import { DateTime } from 'luxon';
2
+ import { GenericCacheService } from '../generic-cache-service';
3
+ import { compressJSON, decompressJSON } from '../../libs';
4
+ import crypto from 'crypto';
5
+ const DEFAULT_TTL_IN_SECONDS = 7 * 24 * 3600;
6
+ export const getProductCacheKey = (pixelId, productId) => {
7
+ return `internal:product:${pixelId}_${productId}`;
8
+ };
9
+ export class ProductCacheService {
10
+ genericCacheService;
11
+ redisCacheTtlInSeconds;
12
+ constructor(cacheLambdaFunctionArn, redisCacheTtlInSeconds) {
13
+ this.genericCacheService = new GenericCacheService(cacheLambdaFunctionArn);
14
+ this.redisCacheTtlInSeconds = redisCacheTtlInSeconds || DEFAULT_TTL_IN_SECONDS;
15
+ }
16
+ getCacheKey = (pixelId, productId) => {
17
+ return getProductCacheKey(pixelId, productId);
18
+ };
19
+ getProductFromCache = async (pixelId, productId) => {
20
+ const cachedData = await this.getProductCache(pixelId, productId);
21
+ if (cachedData && !this.isProductCacheStale(cachedData)) {
22
+ const product = decompressJSON(cachedData.productCompressed);
23
+ return product;
24
+ }
25
+ return undefined;
26
+ };
27
+ getProductCache = async (pixelId, productId) => {
28
+ const cacheKey = this.getCacheKey(pixelId, productId);
29
+ const cachedData = await this.genericCacheService.getCachedData(cacheKey);
30
+ return cachedData;
31
+ };
32
+ putProductInCache = async (pixelId, productId, product, ttlInSeconds) => {
33
+ const cacheKey = this.getCacheKey(pixelId, productId);
34
+ const ttl = ttlInSeconds || this.redisCacheTtlInSeconds;
35
+ const expiresAt = DateTime.utc().plus({ seconds: ttl }).toSeconds();
36
+ const cachedAtEpoch = DateTime.utc().toSeconds();
37
+ const fullSha256 = crypto.createHash('sha256').update(JSON.stringify(product)).digest('hex');
38
+ const noInventoryProduct = { ...product, totalInventory: undefined, variants: product?.variants?.map(variant => ({ ...variant, inventoryQuantity: undefined, inventoryItem: undefined })) };
39
+ const noInventorySha256 = crypto.createHash('sha256').update(JSON.stringify(noInventoryProduct)).digest('hex');
40
+ const productCompressed = compressJSON(product);
41
+ const productCache = {
42
+ productCompressed,
43
+ fullSha256,
44
+ noInventorySha256,
45
+ cachedAtEpoch,
46
+ expiresAt,
47
+ };
48
+ await this.genericCacheService.putCachedData(cacheKey, productCache, ttl);
49
+ };
50
+ deleteProductFromCache = async (pixelId, productId) => {
51
+ const cacheKey = this.getCacheKey(pixelId, productId);
52
+ await this.genericCacheService.deleteCachedData(cacheKey);
53
+ };
54
+ isProductCacheStale = (cachedData) => {
55
+ if (cachedData?.expiresAt && cachedData.expiresAt < DateTime.utc().toSeconds()) {
56
+ return true;
57
+ }
58
+ return false;
59
+ };
60
+ }
61
61
  //# sourceMappingURL=product-cache-service.js.map