@adtrackify/at-service-common 3.15.1 → 3.15.3

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 (417) hide show
  1. package/dist/cjs/__tests__/clients/sqs-client.spec.d.ts +1 -1
  2. package/dist/cjs/__tests__/clients/sqs-client.spec.js +121 -121
  3. package/dist/cjs/__tests__/helpers/account-users-helper.spec.d.ts +1 -1
  4. package/dist/cjs/__tests__/helpers/account-users-helper.spec.js +220 -220
  5. package/dist/cjs/__tests__/identity-cache/identity-cache-db-service.spec.d.ts +1 -1
  6. package/dist/cjs/__tests__/identity-cache/identity-cache-db-service.spec.js +674 -674
  7. package/dist/cjs/__tests__/identity-cache/trait-merging-and-staleness.spec.d.ts +1 -1
  8. package/dist/cjs/__tests__/identity-cache/trait-merging-and-staleness.spec.js +588 -588
  9. package/dist/cjs/__tests__/libs/compress-decompress.spec.d.ts +1 -1
  10. package/dist/cjs/__tests__/libs/compress-decompress.spec.js +16 -16
  11. package/dist/cjs/__tests__/libs/currency.spec.d.ts +1 -1
  12. package/dist/cjs/__tests__/libs/currency.spec.js +220 -220
  13. package/dist/cjs/__tests__/libs/dates.spec.d.ts +1 -1
  14. package/dist/cjs/__tests__/libs/dates.spec.js +130 -130
  15. package/dist/cjs/__tests__/libs/domain.spec.d.ts +1 -1
  16. package/dist/cjs/__tests__/libs/domain.spec.js +107 -107
  17. package/dist/cjs/__tests__/libs/numbers.spec.d.ts +1 -1
  18. package/dist/cjs/__tests__/libs/numbers.spec.js +261 -261
  19. package/dist/cjs/__tests__/s3-client/s3-client.spec.d.ts +1 -1
  20. package/dist/cjs/__tests__/s3-client/s3-client.spec.js +33 -33
  21. package/dist/cjs/__tests__/shopify/shopify-graphql-transformer.spec.d.ts +1 -1
  22. package/dist/cjs/__tests__/shopify/shopify-graphql-transformer.spec.js +35 -35
  23. package/dist/cjs/clients/generic/cognito-client.d.ts +23 -23
  24. package/dist/cjs/clients/generic/cognito-client.js +209 -209
  25. package/dist/cjs/clients/generic/dynamodb-client.d.ts +18 -18
  26. package/dist/cjs/clients/generic/dynamodb-client.js +171 -171
  27. package/dist/cjs/clients/generic/eventbridge-client.d.ts +14 -14
  28. package/dist/cjs/clients/generic/eventbridge-client.js +51 -51
  29. package/dist/cjs/clients/generic/http-client.d.ts +14 -14
  30. package/dist/cjs/clients/generic/http-client.js +61 -61
  31. package/dist/cjs/clients/generic/index.d.ts +10 -10
  32. package/dist/cjs/clients/generic/index.js +26 -26
  33. package/dist/cjs/clients/generic/lambda-invoke-client.d.ts +10 -10
  34. package/dist/cjs/clients/generic/lambda-invoke-client.js +39 -35
  35. package/dist/cjs/clients/generic/lambda-invoke-client.js.map +1 -1
  36. package/dist/cjs/clients/generic/location-client.d.ts +8 -8
  37. package/dist/cjs/clients/generic/location-client.js +31 -31
  38. package/dist/cjs/clients/generic/redis-client.d.ts +32 -32
  39. package/dist/cjs/clients/generic/redis-client.js +181 -181
  40. package/dist/cjs/clients/generic/s3-client.d.ts +23 -23
  41. package/dist/cjs/clients/generic/s3-client.js +216 -216
  42. package/dist/cjs/clients/generic/singlestore-db-client.d.ts +14 -14
  43. package/dist/cjs/clients/generic/singlestore-db-client.js +67 -67
  44. package/dist/cjs/clients/generic/sqs-client.d.ts +33 -33
  45. package/dist/cjs/clients/generic/sqs-client.js +111 -111
  46. package/dist/cjs/clients/index.d.ts +3 -3
  47. package/dist/cjs/clients/index.js +19 -19
  48. package/dist/cjs/clients/internal-api/accounts-client.d.ts +85 -85
  49. package/dist/cjs/clients/internal-api/accounts-client.js +129 -129
  50. package/dist/cjs/clients/internal-api/cache-lambda-client.d.ts +26 -25
  51. package/dist/cjs/clients/internal-api/cache-lambda-client.js +89 -87
  52. package/dist/cjs/clients/internal-api/cache-lambda-client.js.map +1 -1
  53. package/dist/cjs/clients/internal-api/db-management-client.d.ts +18 -18
  54. package/dist/cjs/clients/internal-api/db-management-client.js +36 -36
  55. package/dist/cjs/clients/internal-api/destinations-client.d.ts +34 -34
  56. package/dist/cjs/clients/internal-api/destinations-client.js +79 -79
  57. package/dist/cjs/clients/internal-api/event-collector-client.d.ts +20 -20
  58. package/dist/cjs/clients/internal-api/event-collector-client.js +36 -36
  59. package/dist/cjs/clients/internal-api/identity-client.d.ts +31 -31
  60. package/dist/cjs/clients/internal-api/identity-client.js +91 -91
  61. package/dist/cjs/clients/internal-api/index.d.ts +9 -9
  62. package/dist/cjs/clients/internal-api/index.js +25 -25
  63. package/dist/cjs/clients/internal-api/shopify-app-install-client.d.ts +37 -37
  64. package/dist/cjs/clients/internal-api/shopify-app-install-client.js +81 -81
  65. package/dist/cjs/clients/internal-api/subscriptions-client.d.ts +26 -26
  66. package/dist/cjs/clients/internal-api/subscriptions-client.js +77 -77
  67. package/dist/cjs/clients/internal-api/users-auth-client.d.ts +35 -35
  68. package/dist/cjs/clients/internal-api/users-auth-client.js +110 -110
  69. package/dist/cjs/clients/third-party/emailable-client.d.ts +7 -7
  70. package/dist/cjs/clients/third-party/emailable-client.js +25 -25
  71. package/dist/cjs/clients/third-party/exchange-rate-api-client.d.ts +17 -17
  72. package/dist/cjs/clients/third-party/exchange-rate-api-client.js +19 -19
  73. package/dist/cjs/clients/third-party/index.d.ts +4 -4
  74. package/dist/cjs/clients/third-party/index.js +20 -20
  75. package/dist/cjs/clients/third-party/loops-client.d.ts +10 -10
  76. package/dist/cjs/clients/third-party/loops-client.js +30 -30
  77. package/dist/cjs/clients/third-party/shopify/graphql-order-queries.d.ts +25 -25
  78. package/dist/cjs/clients/third-party/shopify/graphql-order-queries.js +30 -30
  79. package/dist/cjs/clients/third-party/shopify/graphql-product-queries.d.ts +2 -2
  80. package/dist/cjs/clients/third-party/shopify/graphql-product-queries.js +180 -180
  81. package/dist/cjs/clients/third-party/shopify/shopify-graphql-client.d.ts +10 -10
  82. package/dist/cjs/clients/third-party/shopify/shopify-graphql-client.js +161 -161
  83. package/dist/cjs/clients/third-party/shopify-client.d.ts +29 -29
  84. package/dist/cjs/clients/third-party/shopify-client.js +146 -146
  85. package/dist/cjs/helpers/account-users-helper.d.ts +2 -2
  86. package/dist/cjs/helpers/account-users-helper.js +22 -22
  87. package/dist/cjs/helpers/identity-cache-helper.d.ts +21 -21
  88. package/dist/cjs/helpers/identity-cache-helper.js +156 -156
  89. package/dist/cjs/helpers/index.d.ts +7 -7
  90. package/dist/cjs/helpers/index.js +23 -23
  91. package/dist/cjs/helpers/input-validation-helper.d.ts +3 -3
  92. package/dist/cjs/helpers/input-validation-helper.js +22 -22
  93. package/dist/cjs/helpers/logging-helper.d.ts +16 -16
  94. package/dist/cjs/helpers/logging-helper.js +84 -84
  95. package/dist/cjs/helpers/response-helper.d.ts +18 -18
  96. package/dist/cjs/helpers/response-helper.js +43 -43
  97. package/dist/cjs/helpers/shopify-helper.d.ts +9 -9
  98. package/dist/cjs/helpers/shopify-helper.js +26 -26
  99. package/dist/cjs/helpers/sqs-utils.d.ts +6 -6
  100. package/dist/cjs/helpers/sqs-utils.js +14 -14
  101. package/dist/cjs/index.d.ts +5 -5
  102. package/dist/cjs/index.js +21 -21
  103. package/dist/cjs/libs/click-id-parser.d.ts +23 -23
  104. package/dist/cjs/libs/click-id-parser.js +49 -49
  105. package/dist/cjs/libs/compression.d.ts +2 -2
  106. package/dist/cjs/libs/compression.js +33 -33
  107. package/dist/cjs/libs/cookie.d.ts +17 -17
  108. package/dist/cjs/libs/cookie.js +76 -76
  109. package/dist/cjs/libs/crypto.d.ts +3 -3
  110. package/dist/cjs/libs/crypto.js +20 -20
  111. package/dist/cjs/libs/csv.d.ts +2 -2
  112. package/dist/cjs/libs/csv.js +35 -35
  113. package/dist/cjs/libs/currency.d.ts +1 -1
  114. package/dist/cjs/libs/currency.js +29 -29
  115. package/dist/cjs/libs/dates.d.ts +12 -12
  116. package/dist/cjs/libs/dates.js +96 -96
  117. package/dist/cjs/libs/domain.d.ts +2 -2
  118. package/dist/cjs/libs/domain.js +38 -38
  119. package/dist/cjs/libs/emails.d.ts +6 -6
  120. package/dist/cjs/libs/emails.js +122 -122
  121. package/dist/cjs/libs/http-error.d.ts +21 -21
  122. package/dist/cjs/libs/http-error.js +63 -63
  123. package/dist/cjs/libs/http-status-codes.d.ts +58 -58
  124. package/dist/cjs/libs/http-status-codes.js +62 -62
  125. package/dist/cjs/libs/index.d.ts +17 -17
  126. package/dist/cjs/libs/index.js +33 -33
  127. package/dist/cjs/libs/numbers.d.ts +1 -1
  128. package/dist/cjs/libs/numbers.js +15 -15
  129. package/dist/cjs/libs/referrer-parser/index.d.ts +2 -2
  130. package/dist/cjs/libs/referrer-parser/index.js +18 -18
  131. package/dist/cjs/libs/referrer-parser/referrer-data.d.ts +9 -9
  132. package/dist/cjs/libs/referrer-parser/referrer-data.js +3307 -3307
  133. package/dist/cjs/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
  134. package/dist/cjs/libs/referrer-parser/referrer-parser-util.js +131 -131
  135. package/dist/cjs/libs/strings.d.ts +3 -3
  136. package/dist/cjs/libs/strings.js +46 -46
  137. package/dist/cjs/libs/traits.d.ts +6 -6
  138. package/dist/cjs/libs/traits.js +65 -65
  139. package/dist/cjs/libs/url.d.ts +1 -1
  140. package/dist/cjs/libs/url.js +13 -13
  141. package/dist/cjs/services/cache/generic-cached-object.d.ts +5 -5
  142. package/dist/cjs/services/cache/generic-cached-object.js +2 -2
  143. package/dist/cjs/services/cache/index.d.ts +1 -1
  144. package/dist/cjs/services/cache/index.js +17 -17
  145. package/dist/cjs/services/cache/product-cache-service.d.ts +21 -21
  146. package/dist/cjs/services/cache/product-cache-service.js +76 -76
  147. package/dist/cjs/services/currency-exchange-rate-lookup-service.d.ts +11 -11
  148. package/dist/cjs/services/currency-exchange-rate-lookup-service.js +66 -66
  149. package/dist/cjs/services/db/currency-exchange-rates-db-service.d.ts +21 -21
  150. package/dist/cjs/services/db/currency-exchange-rates-db-service.js +39 -39
  151. package/dist/cjs/services/db/destinations-db-service.d.ts +12 -12
  152. package/dist/cjs/services/db/destinations-db-service.js +76 -76
  153. package/dist/cjs/services/db/identity-cache-db-service.d.ts +28 -28
  154. package/dist/cjs/services/db/identity-cache-db-service.js +320 -320
  155. package/dist/cjs/services/db/index.d.ts +10 -10
  156. package/dist/cjs/services/db/index.js +26 -26
  157. package/dist/cjs/services/db/log-events-db-service.d.ts +11 -11
  158. package/dist/cjs/services/db/log-events-db-service.js +181 -181
  159. package/dist/cjs/services/db/pixels-db-service.d.ts +8 -8
  160. package/dist/cjs/services/db/pixels-db-service.js +35 -35
  161. package/dist/cjs/services/db/purchasable-contacts-db-service.d.ts +9 -9
  162. package/dist/cjs/services/db/purchasable-contacts-db-service.js +43 -43
  163. package/dist/cjs/services/db/purchased-contacts-db-service.d.ts +17 -17
  164. package/dist/cjs/services/db/purchased-contacts-db-service.js +143 -143
  165. package/dist/cjs/services/db/shopify-app-installs-db-service.d.ts +7 -7
  166. package/dist/cjs/services/db/shopify-app-installs-db-service.js +47 -47
  167. package/dist/cjs/services/db/shopify-products-cache-db-service.d.ts +16 -16
  168. package/dist/cjs/services/db/shopify-products-cache-db-service.js +73 -73
  169. package/dist/cjs/services/db/tracking-events-db-service.d.ts +20 -20
  170. package/dist/cjs/services/db/tracking-events-db-service.js +165 -165
  171. package/dist/cjs/services/eventbridge-integration-service.d.ts +9 -9
  172. package/dist/cjs/services/eventbridge-integration-service.js +28 -28
  173. package/dist/cjs/services/events/index.d.ts +3 -3
  174. package/dist/cjs/services/events/index.js +19 -19
  175. package/dist/cjs/services/events/log-event-service.d.ts +9 -9
  176. package/dist/cjs/services/events/log-event-service.js +56 -56
  177. package/dist/cjs/services/events/metric-event-service.d.ts +9 -9
  178. package/dist/cjs/services/events/metric-event-service.js +49 -49
  179. package/dist/cjs/services/events/tracking-event-sqs-service.d.ts +8 -8
  180. package/dist/cjs/services/events/tracking-event-sqs-service.js +34 -34
  181. package/dist/cjs/services/generic-cache-service.d.ts +7 -7
  182. package/dist/cjs/services/generic-cache-service.js +33 -33
  183. package/dist/cjs/services/index.d.ts +8 -8
  184. package/dist/cjs/services/index.js +24 -24
  185. package/dist/cjs/services/ipdata-lookup-service.d.ts +20 -20
  186. package/dist/cjs/services/ipdata-lookup-service.js +112 -112
  187. package/dist/cjs/services/shopify/index.d.ts +2 -2
  188. package/dist/cjs/services/shopify/index.js +18 -18
  189. package/dist/cjs/services/shopify/products/index.d.ts +1 -1
  190. package/dist/cjs/services/shopify/products/index.js +17 -17
  191. package/dist/cjs/services/shopify/products/shopify-products-serviceV2.d.ts +17 -17
  192. package/dist/cjs/services/shopify/products/shopify-products-serviceV2.js +112 -112
  193. package/dist/cjs/services/shopify/shopify-graphql-transformer.d.ts +8 -8
  194. package/dist/cjs/services/shopify/shopify-graphql-transformer.js +141 -141
  195. package/dist/cjs/types/api-response.d.ts +6 -6
  196. package/dist/cjs/types/api-response.js +2 -2
  197. package/dist/cjs/types/index.d.ts +1 -1
  198. package/dist/cjs/types/index.js +17 -17
  199. package/dist/cjs/types/internal-events/event-detail-types.d.ts +20 -20
  200. package/dist/cjs/types/internal-events/event-detail-types.js +27 -27
  201. package/dist/cjs/types/internal-events/index.d.ts +1 -1
  202. package/dist/cjs/types/internal-events/index.js +17 -17
  203. package/dist/cjs/types/shopify-graphql-types/admin.generated.d.ts +123 -123
  204. package/dist/cjs/types/shopify-graphql-types/admin.generated.js +2 -2
  205. package/dist/cjs/types/shopify-graphql-types/admin.types.d.ts +26289 -26289
  206. package/dist/cjs/types/shopify-graphql-types/admin.types.js +5311 -5311
  207. package/dist/cjs/types/shopify-graphql-types/index.d.ts +2 -2
  208. package/dist/cjs/types/shopify-graphql-types/index.js +18 -18
  209. package/dist/esm/__tests__/clients/sqs-client.spec.d.ts +1 -1
  210. package/dist/esm/__tests__/clients/sqs-client.spec.js +119 -119
  211. package/dist/esm/__tests__/helpers/account-users-helper.spec.d.ts +1 -1
  212. package/dist/esm/__tests__/helpers/account-users-helper.spec.js +218 -218
  213. package/dist/esm/__tests__/identity-cache/identity-cache-db-service.spec.d.ts +1 -1
  214. package/dist/esm/__tests__/identity-cache/identity-cache-db-service.spec.js +672 -672
  215. package/dist/esm/__tests__/identity-cache/trait-merging-and-staleness.spec.d.ts +1 -1
  216. package/dist/esm/__tests__/identity-cache/trait-merging-and-staleness.spec.js +586 -586
  217. package/dist/esm/__tests__/libs/compress-decompress.spec.d.ts +1 -1
  218. package/dist/esm/__tests__/libs/compress-decompress.spec.js +14 -14
  219. package/dist/esm/__tests__/libs/currency.spec.d.ts +1 -1
  220. package/dist/esm/__tests__/libs/currency.spec.js +218 -218
  221. package/dist/esm/__tests__/libs/dates.spec.d.ts +1 -1
  222. package/dist/esm/__tests__/libs/dates.spec.js +128 -128
  223. package/dist/esm/__tests__/libs/domain.spec.d.ts +1 -1
  224. package/dist/esm/__tests__/libs/domain.spec.js +105 -105
  225. package/dist/esm/__tests__/libs/numbers.spec.d.ts +1 -1
  226. package/dist/esm/__tests__/libs/numbers.spec.js +259 -259
  227. package/dist/esm/__tests__/s3-client/s3-client.spec.d.ts +1 -1
  228. package/dist/esm/__tests__/s3-client/s3-client.spec.js +31 -31
  229. package/dist/esm/__tests__/shopify/shopify-graphql-transformer.spec.d.ts +1 -1
  230. package/dist/esm/__tests__/shopify/shopify-graphql-transformer.spec.js +33 -33
  231. package/dist/esm/clients/generic/cognito-client.d.ts +23 -23
  232. package/dist/esm/clients/generic/cognito-client.js +204 -204
  233. package/dist/esm/clients/generic/dynamodb-client.d.ts +18 -18
  234. package/dist/esm/clients/generic/dynamodb-client.js +167 -167
  235. package/dist/esm/clients/generic/eventbridge-client.d.ts +14 -14
  236. package/dist/esm/clients/generic/eventbridge-client.js +47 -47
  237. package/dist/esm/clients/generic/http-client.d.ts +14 -14
  238. package/dist/esm/clients/generic/http-client.js +53 -53
  239. package/dist/esm/clients/generic/index.d.ts +10 -10
  240. package/dist/esm/clients/generic/index.js +10 -10
  241. package/dist/esm/clients/generic/lambda-invoke-client.d.ts +10 -10
  242. package/dist/esm/clients/generic/lambda-invoke-client.js +35 -31
  243. package/dist/esm/clients/generic/lambda-invoke-client.js.map +1 -1
  244. package/dist/esm/clients/generic/location-client.d.ts +8 -8
  245. package/dist/esm/clients/generic/location-client.js +27 -27
  246. package/dist/esm/clients/generic/redis-client.d.ts +32 -32
  247. package/dist/esm/clients/generic/redis-client.js +174 -174
  248. package/dist/esm/clients/generic/s3-client.d.ts +23 -23
  249. package/dist/esm/clients/generic/s3-client.js +209 -209
  250. package/dist/esm/clients/generic/singlestore-db-client.d.ts +14 -14
  251. package/dist/esm/clients/generic/singlestore-db-client.js +40 -40
  252. package/dist/esm/clients/generic/sqs-client.d.ts +33 -33
  253. package/dist/esm/clients/generic/sqs-client.js +107 -107
  254. package/dist/esm/clients/index.d.ts +3 -3
  255. package/dist/esm/clients/index.js +3 -3
  256. package/dist/esm/clients/internal-api/accounts-client.d.ts +85 -85
  257. package/dist/esm/clients/internal-api/accounts-client.js +125 -125
  258. package/dist/esm/clients/internal-api/cache-lambda-client.d.ts +26 -25
  259. package/dist/esm/clients/internal-api/cache-lambda-client.js +85 -83
  260. package/dist/esm/clients/internal-api/cache-lambda-client.js.map +1 -1
  261. package/dist/esm/clients/internal-api/db-management-client.d.ts +18 -18
  262. package/dist/esm/clients/internal-api/db-management-client.js +32 -32
  263. package/dist/esm/clients/internal-api/destinations-client.d.ts +34 -34
  264. package/dist/esm/clients/internal-api/destinations-client.js +75 -75
  265. package/dist/esm/clients/internal-api/event-collector-client.d.ts +20 -20
  266. package/dist/esm/clients/internal-api/event-collector-client.js +32 -32
  267. package/dist/esm/clients/internal-api/identity-client.d.ts +31 -31
  268. package/dist/esm/clients/internal-api/identity-client.js +87 -87
  269. package/dist/esm/clients/internal-api/index.d.ts +9 -9
  270. package/dist/esm/clients/internal-api/index.js +9 -9
  271. package/dist/esm/clients/internal-api/shopify-app-install-client.d.ts +37 -37
  272. package/dist/esm/clients/internal-api/shopify-app-install-client.js +77 -77
  273. package/dist/esm/clients/internal-api/subscriptions-client.d.ts +26 -26
  274. package/dist/esm/clients/internal-api/subscriptions-client.js +73 -73
  275. package/dist/esm/clients/internal-api/users-auth-client.d.ts +35 -35
  276. package/dist/esm/clients/internal-api/users-auth-client.js +106 -106
  277. package/dist/esm/clients/third-party/emailable-client.d.ts +7 -7
  278. package/dist/esm/clients/third-party/emailable-client.js +21 -21
  279. package/dist/esm/clients/third-party/exchange-rate-api-client.d.ts +17 -17
  280. package/dist/esm/clients/third-party/exchange-rate-api-client.js +15 -15
  281. package/dist/esm/clients/third-party/index.d.ts +4 -4
  282. package/dist/esm/clients/third-party/index.js +4 -4
  283. package/dist/esm/clients/third-party/loops-client.d.ts +10 -10
  284. package/dist/esm/clients/third-party/loops-client.js +26 -26
  285. package/dist/esm/clients/third-party/shopify/graphql-order-queries.d.ts +25 -25
  286. package/dist/esm/clients/third-party/shopify/graphql-order-queries.js +27 -27
  287. package/dist/esm/clients/third-party/shopify/graphql-product-queries.d.ts +2 -2
  288. package/dist/esm/clients/third-party/shopify/graphql-product-queries.js +177 -177
  289. package/dist/esm/clients/third-party/shopify/shopify-graphql-client.d.ts +10 -10
  290. package/dist/esm/clients/third-party/shopify/shopify-graphql-client.js +157 -157
  291. package/dist/esm/clients/third-party/shopify-client.d.ts +29 -29
  292. package/dist/esm/clients/third-party/shopify-client.js +142 -142
  293. package/dist/esm/helpers/account-users-helper.d.ts +2 -2
  294. package/dist/esm/helpers/account-users-helper.js +18 -18
  295. package/dist/esm/helpers/identity-cache-helper.d.ts +21 -21
  296. package/dist/esm/helpers/identity-cache-helper.js +151 -151
  297. package/dist/esm/helpers/index.d.ts +7 -7
  298. package/dist/esm/helpers/index.js +7 -7
  299. package/dist/esm/helpers/input-validation-helper.d.ts +3 -3
  300. package/dist/esm/helpers/input-validation-helper.js +18 -18
  301. package/dist/esm/helpers/logging-helper.d.ts +16 -16
  302. package/dist/esm/helpers/logging-helper.js +56 -56
  303. package/dist/esm/helpers/response-helper.d.ts +18 -18
  304. package/dist/esm/helpers/response-helper.js +37 -37
  305. package/dist/esm/helpers/shopify-helper.d.ts +9 -9
  306. package/dist/esm/helpers/shopify-helper.js +21 -21
  307. package/dist/esm/helpers/sqs-utils.d.ts +6 -6
  308. package/dist/esm/helpers/sqs-utils.js +9 -9
  309. package/dist/esm/index.d.ts +5 -5
  310. package/dist/esm/index.js +5 -5
  311. package/dist/esm/libs/click-id-parser.d.ts +23 -23
  312. package/dist/esm/libs/click-id-parser.js +45 -45
  313. package/dist/esm/libs/compression.d.ts +2 -2
  314. package/dist/esm/libs/compression.js +25 -25
  315. package/dist/esm/libs/cookie.d.ts +17 -17
  316. package/dist/esm/libs/cookie.js +70 -70
  317. package/dist/esm/libs/crypto.d.ts +3 -3
  318. package/dist/esm/libs/crypto.js +11 -11
  319. package/dist/esm/libs/csv.d.ts +2 -2
  320. package/dist/esm/libs/csv.js +30 -30
  321. package/dist/esm/libs/currency.d.ts +1 -1
  322. package/dist/esm/libs/currency.js +22 -22
  323. package/dist/esm/libs/dates.d.ts +12 -12
  324. package/dist/esm/libs/dates.js +83 -83
  325. package/dist/esm/libs/domain.d.ts +2 -2
  326. package/dist/esm/libs/domain.js +33 -33
  327. package/dist/esm/libs/emails.d.ts +6 -6
  328. package/dist/esm/libs/emails.js +115 -115
  329. package/dist/esm/libs/http-error.d.ts +21 -21
  330. package/dist/esm/libs/http-error.js +59 -59
  331. package/dist/esm/libs/http-status-codes.d.ts +58 -58
  332. package/dist/esm/libs/http-status-codes.js +59 -59
  333. package/dist/esm/libs/index.d.ts +17 -17
  334. package/dist/esm/libs/index.js +17 -17
  335. package/dist/esm/libs/numbers.d.ts +1 -1
  336. package/dist/esm/libs/numbers.js +11 -11
  337. package/dist/esm/libs/referrer-parser/index.d.ts +2 -2
  338. package/dist/esm/libs/referrer-parser/index.js +2 -2
  339. package/dist/esm/libs/referrer-parser/referrer-data.d.ts +9 -9
  340. package/dist/esm/libs/referrer-parser/referrer-data.js +3304 -3304
  341. package/dist/esm/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
  342. package/dist/esm/libs/referrer-parser/referrer-parser-util.js +124 -124
  343. package/dist/esm/libs/strings.d.ts +3 -3
  344. package/dist/esm/libs/strings.js +40 -40
  345. package/dist/esm/libs/traits.d.ts +6 -6
  346. package/dist/esm/libs/traits.js +54 -54
  347. package/dist/esm/libs/url.d.ts +1 -1
  348. package/dist/esm/libs/url.js +9 -9
  349. package/dist/esm/services/cache/generic-cached-object.d.ts +5 -5
  350. package/dist/esm/services/cache/generic-cached-object.js +1 -1
  351. package/dist/esm/services/cache/index.d.ts +1 -1
  352. package/dist/esm/services/cache/index.js +1 -1
  353. package/dist/esm/services/cache/product-cache-service.d.ts +21 -21
  354. package/dist/esm/services/cache/product-cache-service.js +68 -68
  355. package/dist/esm/services/currency-exchange-rate-lookup-service.d.ts +11 -11
  356. package/dist/esm/services/currency-exchange-rate-lookup-service.js +62 -62
  357. package/dist/esm/services/db/currency-exchange-rates-db-service.d.ts +21 -21
  358. package/dist/esm/services/db/currency-exchange-rates-db-service.js +35 -35
  359. package/dist/esm/services/db/destinations-db-service.d.ts +12 -12
  360. package/dist/esm/services/db/destinations-db-service.js +72 -72
  361. package/dist/esm/services/db/identity-cache-db-service.d.ts +28 -28
  362. package/dist/esm/services/db/identity-cache-db-service.js +313 -313
  363. package/dist/esm/services/db/index.d.ts +10 -10
  364. package/dist/esm/services/db/index.js +10 -10
  365. package/dist/esm/services/db/log-events-db-service.d.ts +11 -11
  366. package/dist/esm/services/db/log-events-db-service.js +177 -177
  367. package/dist/esm/services/db/pixels-db-service.d.ts +8 -8
  368. package/dist/esm/services/db/pixels-db-service.js +31 -31
  369. package/dist/esm/services/db/purchasable-contacts-db-service.d.ts +9 -9
  370. package/dist/esm/services/db/purchasable-contacts-db-service.js +39 -39
  371. package/dist/esm/services/db/purchased-contacts-db-service.d.ts +17 -17
  372. package/dist/esm/services/db/purchased-contacts-db-service.js +139 -139
  373. package/dist/esm/services/db/shopify-app-installs-db-service.d.ts +7 -7
  374. package/dist/esm/services/db/shopify-app-installs-db-service.js +43 -43
  375. package/dist/esm/services/db/shopify-products-cache-db-service.d.ts +16 -16
  376. package/dist/esm/services/db/shopify-products-cache-db-service.js +66 -66
  377. package/dist/esm/services/db/tracking-events-db-service.d.ts +20 -20
  378. package/dist/esm/services/db/tracking-events-db-service.js +161 -161
  379. package/dist/esm/services/eventbridge-integration-service.d.ts +9 -9
  380. package/dist/esm/services/eventbridge-integration-service.js +24 -24
  381. package/dist/esm/services/events/index.d.ts +3 -3
  382. package/dist/esm/services/events/index.js +3 -3
  383. package/dist/esm/services/events/log-event-service.d.ts +9 -9
  384. package/dist/esm/services/events/log-event-service.js +52 -52
  385. package/dist/esm/services/events/metric-event-service.d.ts +9 -9
  386. package/dist/esm/services/events/metric-event-service.js +45 -45
  387. package/dist/esm/services/events/tracking-event-sqs-service.d.ts +8 -8
  388. package/dist/esm/services/events/tracking-event-sqs-service.js +30 -30
  389. package/dist/esm/services/generic-cache-service.d.ts +7 -7
  390. package/dist/esm/services/generic-cache-service.js +29 -29
  391. package/dist/esm/services/index.d.ts +8 -8
  392. package/dist/esm/services/index.js +8 -8
  393. package/dist/esm/services/ipdata-lookup-service.d.ts +20 -20
  394. package/dist/esm/services/ipdata-lookup-service.js +108 -108
  395. package/dist/esm/services/shopify/index.d.ts +2 -2
  396. package/dist/esm/services/shopify/index.js +2 -2
  397. package/dist/esm/services/shopify/products/index.d.ts +1 -1
  398. package/dist/esm/services/shopify/products/index.js +1 -1
  399. package/dist/esm/services/shopify/products/shopify-products-serviceV2.d.ts +17 -17
  400. package/dist/esm/services/shopify/products/shopify-products-serviceV2.js +108 -108
  401. package/dist/esm/services/shopify/shopify-graphql-transformer.d.ts +8 -8
  402. package/dist/esm/services/shopify/shopify-graphql-transformer.js +138 -138
  403. package/dist/esm/types/api-response.d.ts +6 -6
  404. package/dist/esm/types/api-response.js +1 -1
  405. package/dist/esm/types/index.d.ts +1 -1
  406. package/dist/esm/types/index.js +1 -1
  407. package/dist/esm/types/internal-events/event-detail-types.d.ts +20 -20
  408. package/dist/esm/types/internal-events/event-detail-types.js +24 -24
  409. package/dist/esm/types/internal-events/index.d.ts +1 -1
  410. package/dist/esm/types/internal-events/index.js +1 -1
  411. package/dist/esm/types/shopify-graphql-types/admin.generated.d.ts +123 -123
  412. package/dist/esm/types/shopify-graphql-types/admin.generated.js +1 -1
  413. package/dist/esm/types/shopify-graphql-types/admin.types.d.ts +26289 -26289
  414. package/dist/esm/types/shopify-graphql-types/admin.types.js +5299 -5299
  415. package/dist/esm/types/shopify-graphql-types/index.d.ts +2 -2
  416. package/dist/esm/types/shopify-graphql-types/index.js +2 -2
  417. package/package.json +135 -135
@@ -1,10 +1,10 @@
1
- export interface CacheLambdaInvokeResponse {
2
- statusCode: number;
3
- headers: any;
4
- body: string;
5
- }
6
- export declare class LambdaInvokeClient {
7
- private lambda;
8
- constructor();
9
- invokeFunction(functionName: string, payload: any): Promise<CacheLambdaInvokeResponse | null>;
10
- }
1
+ export interface CacheLambdaInvokeResponse {
2
+ statusCode: number;
3
+ headers: any;
4
+ body: string;
5
+ }
6
+ export declare class LambdaInvokeClient {
7
+ private lambda;
8
+ constructor();
9
+ invokeFunction(functionName: string, payload: any, enableResponseLogging?: boolean): Promise<CacheLambdaInvokeResponse | null>;
10
+ }
@@ -1,32 +1,36 @@
1
- import { LambdaClient, InvokeCommand } from '@aws-sdk/client-lambda';
2
- import { toUint8Array } from '@aws-sdk/util-utf8';
3
- import { Logger } from '../../helpers';
4
- export class LambdaInvokeClient {
5
- lambda;
6
- constructor() {
7
- this.lambda = new LambdaClient();
8
- }
9
- async invokeFunction(functionName, payload) {
10
- const params = {
11
- FunctionName: functionName,
12
- InvocationType: 'RequestResponse',
13
- Payload: toUint8Array(JSON.stringify(payload)),
14
- };
15
- try {
16
- const response = await this.lambda.send(new InvokeCommand(params));
17
- Logger.debug('Lambda response:', { response });
18
- if (response?.Payload) {
19
- const parsedPayload = response?.Payload.transformToString();
20
- const jsonPayload = JSON.parse(parsedPayload);
21
- Logger.debug('parsed payload', { parsedPayload });
22
- return jsonPayload;
23
- }
24
- return null;
25
- }
26
- catch (error) {
27
- Logger.error('Error invoking lambda function:', { err: error, params });
28
- return null;
29
- }
30
- }
31
- }
1
+ import { LambdaClient, InvokeCommand } from '@aws-sdk/client-lambda';
2
+ import { toUint8Array } from '@aws-sdk/util-utf8';
3
+ import { Logger } from '../../helpers';
4
+ export class LambdaInvokeClient {
5
+ lambda;
6
+ constructor() {
7
+ this.lambda = new LambdaClient();
8
+ }
9
+ async invokeFunction(functionName, payload, enableResponseLogging = true) {
10
+ const params = {
11
+ FunctionName: functionName,
12
+ InvocationType: 'RequestResponse',
13
+ Payload: toUint8Array(JSON.stringify(payload)),
14
+ };
15
+ try {
16
+ const response = await this.lambda.send(new InvokeCommand(params));
17
+ if (enableResponseLogging) {
18
+ Logger.debug('Lambda response:', { response });
19
+ }
20
+ if (response?.Payload) {
21
+ const parsedPayload = response?.Payload.transformToString();
22
+ const jsonPayload = JSON.parse(parsedPayload);
23
+ if (enableResponseLogging) {
24
+ Logger.debug('parsed payload', { parsedPayload });
25
+ }
26
+ return jsonPayload;
27
+ }
28
+ return null;
29
+ }
30
+ catch (error) {
31
+ Logger.error('Error invoking lambda function:', { err: error, params });
32
+ return null;
33
+ }
34
+ }
35
+ }
32
36
  //# sourceMappingURL=lambda-invoke-client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lambda-invoke-client.js","sourceRoot":"","sources":["../../../../src/clients/generic/lambda-invoke-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAsB,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACzF,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAOvC,MAAM,OAAO,kBAAkB;IACrB,MAAM,CAAe;IAE7B;QACE,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,YAAoB,EAAE,OAAY;QACrD,MAAM,MAAM,GAAuB;YACjC,YAAY,EAAE,YAAY;YAC1B,cAAc,EAAE,iBAAiB;YACjC,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;SAC/C,CAAC;QAEF,IAAI;YACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;YACnE,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;YAK/C,IAAI,QAAQ,EAAE,OAAO,EAAE;gBACrB,MAAM,aAAa,GAAG,QAAQ,EAAE,OAAO,CAAC,iBAAiB,EAAE,CAAC;gBAC5D,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;gBAC9C,MAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC;gBAClD,OAAO,WAAW,CAAC;aACpB;YACD,OAAO,IAAI,CAAC;SACb;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YACxE,OAAO,IAAI,CAAC;SACb;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"lambda-invoke-client.js","sourceRoot":"","sources":["../../../../src/clients/generic/lambda-invoke-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAsB,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACzF,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAOvC,MAAM,OAAO,kBAAkB;IACrB,MAAM,CAAe;IAE7B;QACE,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,YAAoB,EAAE,OAAY,EAAE,qBAAqB,GAAG,IAAI;QACnF,MAAM,MAAM,GAAuB;YACjC,YAAY,EAAE,YAAY;YAC1B,cAAc,EAAE,iBAAiB;YACjC,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;SAC/C,CAAC;QAEF,IAAI;YACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;YACnE,IAAI,qBAAqB,EAAE;gBACzB,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;aAChD;YAKD,IAAI,QAAQ,EAAE,OAAO,EAAE;gBACrB,MAAM,aAAa,GAAG,QAAQ,EAAE,OAAO,CAAC,iBAAiB,EAAE,CAAC;gBAC5D,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;gBAC9C,IAAI,qBAAqB,EAAE;oBACzB,MAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC;iBACnD;gBACD,OAAO,WAAW,CAAC;aACpB;YACD,OAAO,IAAI,CAAC;SACb;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YACxE,OAAO,IAAI,CAAC;SACb;IACH,CAAC;CACF"}
@@ -1,8 +1,8 @@
1
- import { SearchPlaceIndexForPositionCommandOutput } from '@aws-sdk/client-location';
2
- export declare class LocationClient {
3
- private PLACE_INDEX_NAME;
4
- private PLACE_INDEX_API_KEY;
5
- private client;
6
- constructor(placeIndexName: string, placeIndexAPIKey: string);
7
- getPlaceFromLatLong: (latitude: number, longitude: number, maxResults?: number) => Promise<SearchPlaceIndexForPositionCommandOutput | null>;
8
- }
1
+ import { SearchPlaceIndexForPositionCommandOutput } from '@aws-sdk/client-location';
2
+ export declare class LocationClient {
3
+ private PLACE_INDEX_NAME;
4
+ private PLACE_INDEX_API_KEY;
5
+ private client;
6
+ constructor(placeIndexName: string, placeIndexAPIKey: string);
7
+ getPlaceFromLatLong: (latitude: number, longitude: number, maxResults?: number) => Promise<SearchPlaceIndexForPositionCommandOutput | null>;
8
+ }
@@ -1,28 +1,28 @@
1
- import { LocationClient as AWSLocationClient, SearchPlaceIndexForPositionCommand, } from '@aws-sdk/client-location';
2
- import { Logger } from '../../index.js';
3
- export class LocationClient {
4
- PLACE_INDEX_NAME;
5
- PLACE_INDEX_API_KEY;
6
- client;
7
- constructor(placeIndexName, placeIndexAPIKey) {
8
- this.client = new AWSLocationClient();
9
- this.PLACE_INDEX_NAME = placeIndexName;
10
- this.PLACE_INDEX_API_KEY = placeIndexAPIKey;
11
- }
12
- getPlaceFromLatLong = async (latitude, longitude, maxResults = 1) => {
13
- try {
14
- const command = new SearchPlaceIndexForPositionCommand({
15
- IndexName: this.PLACE_INDEX_NAME,
16
- Position: [longitude, latitude],
17
- MaxResults: maxResults,
18
- Key: this.PLACE_INDEX_API_KEY,
19
- });
20
- return await this.client.send(command);
21
- }
22
- catch (error) {
23
- Logger.error('Failed to get place from lat lng', { latitude, longitude, maxResults, error });
24
- return null;
25
- }
26
- };
27
- }
1
+ import { LocationClient as AWSLocationClient, SearchPlaceIndexForPositionCommand, } from '@aws-sdk/client-location';
2
+ import { Logger } from '../../index.js';
3
+ export class LocationClient {
4
+ PLACE_INDEX_NAME;
5
+ PLACE_INDEX_API_KEY;
6
+ client;
7
+ constructor(placeIndexName, placeIndexAPIKey) {
8
+ this.client = new AWSLocationClient();
9
+ this.PLACE_INDEX_NAME = placeIndexName;
10
+ this.PLACE_INDEX_API_KEY = placeIndexAPIKey;
11
+ }
12
+ getPlaceFromLatLong = async (latitude, longitude, maxResults = 1) => {
13
+ try {
14
+ const command = new SearchPlaceIndexForPositionCommand({
15
+ IndexName: this.PLACE_INDEX_NAME,
16
+ Position: [longitude, latitude],
17
+ MaxResults: maxResults,
18
+ Key: this.PLACE_INDEX_API_KEY,
19
+ });
20
+ return await this.client.send(command);
21
+ }
22
+ catch (error) {
23
+ Logger.error('Failed to get place from lat lng', { latitude, longitude, maxResults, error });
24
+ return null;
25
+ }
26
+ };
27
+ }
28
28
  //# sourceMappingURL=location-client.js.map
@@ -1,32 +1,32 @@
1
- import Redis, { ChainableCommander } from 'ioredis';
2
- export interface RedisClientConnectionOptions {
3
- commandTimeout?: number;
4
- keepAlive?: number;
5
- }
6
- export declare class RedisClient {
7
- private poolSize;
8
- private pool;
9
- private readonly commandTimeout;
10
- private readonly keepAlive;
11
- host: string;
12
- port: number;
13
- constructor(host: string, port?: number, poolSize?: number, options?: RedisClientConnectionOptions);
14
- private createClient;
15
- private getClient;
16
- connect(client: Redis): Promise<void>;
17
- disconnect(): Promise<void>;
18
- safeSet(key: string, value: string, ttlInSeconds?: number): Promise<void>;
19
- unsafeSet(key: string, value: string, ttlInSeconds?: number): Promise<void>;
20
- unsafeGet(key: string): Promise<string | null>;
21
- safeGet(key: string): Promise<string | null>;
22
- safeBatchGet(keys: string[]): Promise<(string | null)[] | null>;
23
- del(key: string): Promise<number>;
24
- safeHmget(key: string, ...fields: string[]): Promise<(string | null)[] | null>;
25
- safeLrange(key: string, start: number, stop: number): Promise<string[] | null>;
26
- safeZcount(key: string, min: number | string, max: number | string): Promise<number>;
27
- safeZrevrangebyscore(key: string, max: number | string, min: number | string, offsetCount?: {
28
- offset: number;
29
- count: number;
30
- }): Promise<string[]>;
31
- createPipeline(): ChainableCommander;
32
- }
1
+ import Redis, { ChainableCommander } from 'ioredis';
2
+ export interface RedisClientConnectionOptions {
3
+ commandTimeout?: number;
4
+ keepAlive?: number;
5
+ }
6
+ export declare class RedisClient {
7
+ private poolSize;
8
+ private pool;
9
+ private readonly commandTimeout;
10
+ private readonly keepAlive;
11
+ host: string;
12
+ port: number;
13
+ constructor(host: string, port?: number, poolSize?: number, options?: RedisClientConnectionOptions);
14
+ private createClient;
15
+ private getClient;
16
+ connect(client: Redis): Promise<void>;
17
+ disconnect(): Promise<void>;
18
+ safeSet(key: string, value: string, ttlInSeconds?: number): Promise<void>;
19
+ unsafeSet(key: string, value: string, ttlInSeconds?: number): Promise<void>;
20
+ unsafeGet(key: string): Promise<string | null>;
21
+ safeGet(key: string): Promise<string | null>;
22
+ safeBatchGet(keys: string[]): Promise<(string | null)[] | null>;
23
+ del(key: string): Promise<number>;
24
+ safeHmget(key: string, ...fields: string[]): Promise<(string | null)[] | null>;
25
+ safeLrange(key: string, start: number, stop: number): Promise<string[] | null>;
26
+ safeZcount(key: string, min: number | string, max: number | string): Promise<number>;
27
+ safeZrevrangebyscore(key: string, max: number | string, min: number | string, offsetCount?: {
28
+ offset: number;
29
+ count: number;
30
+ }): Promise<string[]>;
31
+ createPipeline(): ChainableCommander;
32
+ }
@@ -1,175 +1,175 @@
1
- import Redis from 'ioredis';
2
- import { Logger } from '../../helpers';
3
- const DEFAULT_REDIS_COMMAND_TIMEOUT_MS = 3000;
4
- const DEFAULT_REDIS_KEEP_ALIVE_MS = 1000;
5
- export class RedisClient {
6
- poolSize;
7
- pool;
8
- commandTimeout;
9
- keepAlive;
10
- host;
11
- port;
12
- constructor(host, port = 6379, poolSize = 3, options = {}) {
13
- this.poolSize = poolSize;
14
- this.host = host;
15
- this.port = port;
16
- this.commandTimeout = options.commandTimeout ?? DEFAULT_REDIS_COMMAND_TIMEOUT_MS;
17
- this.keepAlive = options.keepAlive ?? DEFAULT_REDIS_KEEP_ALIVE_MS;
18
- this.pool = Array.from({ length: poolSize }, () => this.createClient(host, port));
19
- }
20
- createClient(host, port) {
21
- try {
22
- const client = new Redis({
23
- host,
24
- port,
25
- maxRetriesPerRequest: 3,
26
- commandTimeout: this.commandTimeout,
27
- lazyConnect: true,
28
- keepAlive: this.keepAlive,
29
- });
30
- return client;
31
- }
32
- catch (err) {
33
- Logger.error('Error creating Redis client:', { err });
34
- return null;
35
- }
36
- }
37
- getClient() {
38
- const randomIndex = Math.floor(Math.random() * this.poolSize);
39
- let client = this.pool[randomIndex];
40
- if (!client) {
41
- client = this.createClient(this.host, this.port);
42
- }
43
- return client;
44
- }
45
- async connect(client) {
46
- try {
47
- await client.connect();
48
- Logger.debug('Connected to Redis');
49
- }
50
- catch (err) {
51
- Logger.error('Error connecting to Redis:', { err });
52
- return;
53
- }
54
- }
55
- async disconnect() {
56
- try {
57
- const client = this.getClient();
58
- await client.quit();
59
- Logger.debug('Disconnected from Redis');
60
- }
61
- catch (err) {
62
- Logger.error('Error disconnecting from Redis:', { err });
63
- return;
64
- }
65
- }
66
- async safeSet(key, value, ttlInSeconds) {
67
- try {
68
- const client = this.getClient();
69
- if (ttlInSeconds) {
70
- await client.set(key, value, 'EX', ttlInSeconds);
71
- }
72
- else {
73
- await client.set(key, value);
74
- }
75
- }
76
- catch (err) {
77
- Logger.error('Error setting value in Redis:', { err, key, value });
78
- return;
79
- }
80
- }
81
- async unsafeSet(key, value, ttlInSeconds) {
82
- const client = this.getClient();
83
- if (ttlInSeconds) {
84
- await client.set(key, value, 'EX', ttlInSeconds);
85
- }
86
- else {
87
- await client.set(key, value);
88
- }
89
- }
90
- async unsafeGet(key) {
91
- const client = this.getClient();
92
- Logger.debug('get', { key, client });
93
- return await client.get(key);
94
- }
95
- async safeGet(key) {
96
- try {
97
- const client = this.getClient();
98
- Logger.debug('get', { key, client });
99
- return await client.get(key);
100
- }
101
- catch (err) {
102
- Logger.error('Error getting value from Redis:', { err, key });
103
- return null;
104
- }
105
- }
106
- async safeBatchGet(keys) {
107
- try {
108
- const client = this.getClient();
109
- Logger.debug('get', { keys, client });
110
- return await client.mget(keys);
111
- }
112
- catch (err) {
113
- Logger.error('Error getting batch from Redis:', { err, keys });
114
- return null;
115
- }
116
- }
117
- async del(key) {
118
- try {
119
- const client = this.getClient();
120
- return await client.del(key);
121
- }
122
- catch (err) {
123
- Logger.error('Error deleting key from Redis:', { err });
124
- return 0;
125
- }
126
- }
127
- async safeHmget(key, ...fields) {
128
- try {
129
- const client = this.getClient();
130
- return await client.hmget(key, ...fields);
131
- }
132
- catch (err) {
133
- Logger.error('Error in hmget:', { err, key, fields });
134
- return null;
135
- }
136
- }
137
- async safeLrange(key, start, stop) {
138
- try {
139
- const client = this.getClient();
140
- return await client.lrange(key, start, stop);
141
- }
142
- catch (err) {
143
- Logger.error('Error in lrange:', { err, key, start, stop });
144
- return null;
145
- }
146
- }
147
- async safeZcount(key, min, max) {
148
- try {
149
- const client = this.getClient();
150
- return await client.zcount(key, min, max);
151
- }
152
- catch (err) {
153
- Logger.error('Error in zcount:', { err, key, min, max });
154
- return 0;
155
- }
156
- }
157
- async safeZrevrangebyscore(key, max, min, offsetCount) {
158
- try {
159
- const client = this.getClient();
160
- if (offsetCount) {
161
- return await client.zrevrangebyscore(key, max, min, 'LIMIT', offsetCount.offset, offsetCount.count);
162
- }
163
- return await client.zrevrangebyscore(key, max, min);
164
- }
165
- catch (err) {
166
- Logger.error('Error in zrevrangebyscore:', { err, key, max, min, offsetCount });
167
- return [];
168
- }
169
- }
170
- createPipeline() {
171
- const client = this.getClient();
172
- return client.pipeline();
173
- }
174
- }
1
+ import Redis from 'ioredis';
2
+ import { Logger } from '../../helpers';
3
+ const DEFAULT_REDIS_COMMAND_TIMEOUT_MS = 3000;
4
+ const DEFAULT_REDIS_KEEP_ALIVE_MS = 1000;
5
+ export class RedisClient {
6
+ poolSize;
7
+ pool;
8
+ commandTimeout;
9
+ keepAlive;
10
+ host;
11
+ port;
12
+ constructor(host, port = 6379, poolSize = 3, options = {}) {
13
+ this.poolSize = poolSize;
14
+ this.host = host;
15
+ this.port = port;
16
+ this.commandTimeout = options.commandTimeout ?? DEFAULT_REDIS_COMMAND_TIMEOUT_MS;
17
+ this.keepAlive = options.keepAlive ?? DEFAULT_REDIS_KEEP_ALIVE_MS;
18
+ this.pool = Array.from({ length: poolSize }, () => this.createClient(host, port));
19
+ }
20
+ createClient(host, port) {
21
+ try {
22
+ const client = new Redis({
23
+ host,
24
+ port,
25
+ maxRetriesPerRequest: 3,
26
+ commandTimeout: this.commandTimeout,
27
+ lazyConnect: true,
28
+ keepAlive: this.keepAlive,
29
+ });
30
+ return client;
31
+ }
32
+ catch (err) {
33
+ Logger.error('Error creating Redis client:', { err });
34
+ return null;
35
+ }
36
+ }
37
+ getClient() {
38
+ const randomIndex = Math.floor(Math.random() * this.poolSize);
39
+ let client = this.pool[randomIndex];
40
+ if (!client) {
41
+ client = this.createClient(this.host, this.port);
42
+ }
43
+ return client;
44
+ }
45
+ async connect(client) {
46
+ try {
47
+ await client.connect();
48
+ Logger.debug('Connected to Redis');
49
+ }
50
+ catch (err) {
51
+ Logger.error('Error connecting to Redis:', { err });
52
+ return;
53
+ }
54
+ }
55
+ async disconnect() {
56
+ try {
57
+ const client = this.getClient();
58
+ await client.quit();
59
+ Logger.debug('Disconnected from Redis');
60
+ }
61
+ catch (err) {
62
+ Logger.error('Error disconnecting from Redis:', { err });
63
+ return;
64
+ }
65
+ }
66
+ async safeSet(key, value, ttlInSeconds) {
67
+ try {
68
+ const client = this.getClient();
69
+ if (ttlInSeconds) {
70
+ await client.set(key, value, 'EX', ttlInSeconds);
71
+ }
72
+ else {
73
+ await client.set(key, value);
74
+ }
75
+ }
76
+ catch (err) {
77
+ Logger.error('Error setting value in Redis:', { err, key, value });
78
+ return;
79
+ }
80
+ }
81
+ async unsafeSet(key, value, ttlInSeconds) {
82
+ const client = this.getClient();
83
+ if (ttlInSeconds) {
84
+ await client.set(key, value, 'EX', ttlInSeconds);
85
+ }
86
+ else {
87
+ await client.set(key, value);
88
+ }
89
+ }
90
+ async unsafeGet(key) {
91
+ const client = this.getClient();
92
+ Logger.debug('get', { key, client });
93
+ return await client.get(key);
94
+ }
95
+ async safeGet(key) {
96
+ try {
97
+ const client = this.getClient();
98
+ Logger.debug('get', { key, client });
99
+ return await client.get(key);
100
+ }
101
+ catch (err) {
102
+ Logger.error('Error getting value from Redis:', { err, key });
103
+ return null;
104
+ }
105
+ }
106
+ async safeBatchGet(keys) {
107
+ try {
108
+ const client = this.getClient();
109
+ Logger.debug('get', { keys, client });
110
+ return await client.mget(keys);
111
+ }
112
+ catch (err) {
113
+ Logger.error('Error getting batch from Redis:', { err, keys });
114
+ return null;
115
+ }
116
+ }
117
+ async del(key) {
118
+ try {
119
+ const client = this.getClient();
120
+ return await client.del(key);
121
+ }
122
+ catch (err) {
123
+ Logger.error('Error deleting key from Redis:', { err });
124
+ return 0;
125
+ }
126
+ }
127
+ async safeHmget(key, ...fields) {
128
+ try {
129
+ const client = this.getClient();
130
+ return await client.hmget(key, ...fields);
131
+ }
132
+ catch (err) {
133
+ Logger.error('Error in hmget:', { err, key, fields });
134
+ return null;
135
+ }
136
+ }
137
+ async safeLrange(key, start, stop) {
138
+ try {
139
+ const client = this.getClient();
140
+ return await client.lrange(key, start, stop);
141
+ }
142
+ catch (err) {
143
+ Logger.error('Error in lrange:', { err, key, start, stop });
144
+ return null;
145
+ }
146
+ }
147
+ async safeZcount(key, min, max) {
148
+ try {
149
+ const client = this.getClient();
150
+ return await client.zcount(key, min, max);
151
+ }
152
+ catch (err) {
153
+ Logger.error('Error in zcount:', { err, key, min, max });
154
+ return 0;
155
+ }
156
+ }
157
+ async safeZrevrangebyscore(key, max, min, offsetCount) {
158
+ try {
159
+ const client = this.getClient();
160
+ if (offsetCount) {
161
+ return await client.zrevrangebyscore(key, max, min, 'LIMIT', offsetCount.offset, offsetCount.count);
162
+ }
163
+ return await client.zrevrangebyscore(key, max, min);
164
+ }
165
+ catch (err) {
166
+ Logger.error('Error in zrevrangebyscore:', { err, key, max, min, offsetCount });
167
+ return [];
168
+ }
169
+ }
170
+ createPipeline() {
171
+ const client = this.getClient();
172
+ return client.pipeline();
173
+ }
174
+ }
175
175
  //# sourceMappingURL=redis-client.js.map
@@ -1,23 +1,23 @@
1
- /// <reference types="node" />
2
- import { ObjectCannedACL, PutObjectCommandOutput, S3 } from '@aws-sdk/client-s3';
3
- import { StreamingBlobPayloadOutputTypes } from '@smithy/types';
4
- export declare class S3Client {
5
- s3: S3;
6
- constructor(region?: string);
7
- getS3FileNameFromKey: (s3ObjectKey: string) => string;
8
- getObject: (path: string, bucket: string) => Promise<StreamingBlobPayloadOutputTypes | null>;
9
- getObjectContentAsStringFromS3Gzip: (s3ObjectKey: string, bucketName: string, encoding?: BufferEncoding) => Promise<string | null>;
10
- getObjectContentAsString: (path: string, bucket: string, encoding?: BufferEncoding) => Promise<string | null>;
11
- checkObjectExists: (path: string, bucket: string) => Promise<boolean>;
12
- checkAndUploadJson: (path: string, bucket: string, jsonData: any, ACL?: ObjectCannedACL, retryCount?: number, maxRetries?: number) => Promise<{
13
- status: boolean;
14
- response?: PutObjectCommandOutput;
15
- }>;
16
- uploadJson: (path: string, bucket: string, jsonData: any, ACL?: ObjectCannedACL, retryCount?: number, maxRetries?: number, stringify?: boolean) => Promise<{
17
- status: boolean;
18
- response: PutObjectCommandOutput;
19
- }>;
20
- copyObject: (bucket: string, key: string, copyToKey: string) => Promise<boolean>;
21
- deleteObject: (bucket: string, key: string) => Promise<boolean>;
22
- moveObject: (bucket: string, key: string, moveToKey: string) => Promise<boolean>;
23
- }
1
+ /// <reference types="node" />
2
+ import { ObjectCannedACL, PutObjectCommandOutput, S3 } from '@aws-sdk/client-s3';
3
+ import { StreamingBlobPayloadOutputTypes } from '@smithy/types';
4
+ export declare class S3Client {
5
+ s3: S3;
6
+ constructor(region?: string);
7
+ getS3FileNameFromKey: (s3ObjectKey: string) => string;
8
+ getObject: (path: string, bucket: string) => Promise<StreamingBlobPayloadOutputTypes | null>;
9
+ getObjectContentAsStringFromS3Gzip: (s3ObjectKey: string, bucketName: string, encoding?: BufferEncoding) => Promise<string | null>;
10
+ getObjectContentAsString: (path: string, bucket: string, encoding?: BufferEncoding) => Promise<string | null>;
11
+ checkObjectExists: (path: string, bucket: string) => Promise<boolean>;
12
+ checkAndUploadJson: (path: string, bucket: string, jsonData: any, ACL?: ObjectCannedACL, retryCount?: number, maxRetries?: number) => Promise<{
13
+ status: boolean;
14
+ response?: PutObjectCommandOutput;
15
+ }>;
16
+ uploadJson: (path: string, bucket: string, jsonData: any, ACL?: ObjectCannedACL, retryCount?: number, maxRetries?: number, stringify?: boolean) => Promise<{
17
+ status: boolean;
18
+ response: PutObjectCommandOutput;
19
+ }>;
20
+ copyObject: (bucket: string, key: string, copyToKey: string) => Promise<boolean>;
21
+ deleteObject: (bucket: string, key: string) => Promise<boolean>;
22
+ moveObject: (bucket: string, key: string, moveToKey: string) => Promise<boolean>;
23
+ }