@adtrackify/at-service-common 3.11.2 → 3.12.0

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 (431) 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 +17 -17
  26. package/dist/cjs/clients/generic/dynamodb-client.js +170 -170
  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 +35 -35
  35. package/dist/cjs/clients/generic/location-client.d.ts +8 -8
  36. package/dist/cjs/clients/generic/location-client.js +31 -31
  37. package/dist/cjs/clients/generic/redis-client.d.ts +32 -32
  38. package/dist/cjs/clients/generic/redis-client.js +181 -181
  39. package/dist/cjs/clients/generic/s3-client.d.ts +23 -23
  40. package/dist/cjs/clients/generic/s3-client.js +216 -216
  41. package/dist/cjs/clients/generic/singlestore-db-client.d.ts +14 -14
  42. package/dist/cjs/clients/generic/singlestore-db-client.js +67 -67
  43. package/dist/cjs/clients/generic/sqs-client.d.ts +33 -33
  44. package/dist/cjs/clients/generic/sqs-client.js +111 -111
  45. package/dist/cjs/clients/index.d.ts +3 -3
  46. package/dist/cjs/clients/index.js +19 -19
  47. package/dist/cjs/clients/internal-api/accounts-client.d.ts +85 -85
  48. package/dist/cjs/clients/internal-api/accounts-client.js +129 -129
  49. package/dist/cjs/clients/internal-api/cache-lambda-client.d.ts +25 -25
  50. package/dist/cjs/clients/internal-api/cache-lambda-client.js +87 -87
  51. package/dist/cjs/clients/internal-api/db-management-client.d.ts +18 -18
  52. package/dist/cjs/clients/internal-api/db-management-client.js +36 -36
  53. package/dist/cjs/clients/internal-api/destinations-client.d.ts +34 -34
  54. package/dist/cjs/clients/internal-api/destinations-client.js +79 -79
  55. package/dist/cjs/clients/internal-api/event-collector-client.d.ts +20 -20
  56. package/dist/cjs/clients/internal-api/event-collector-client.js +36 -36
  57. package/dist/cjs/clients/internal-api/identity-client.d.ts +31 -31
  58. package/dist/cjs/clients/internal-api/identity-client.js +91 -91
  59. package/dist/cjs/clients/internal-api/index.d.ts +9 -9
  60. package/dist/cjs/clients/internal-api/index.js +25 -25
  61. package/dist/cjs/clients/internal-api/shopify-app-install-client.d.ts +37 -37
  62. package/dist/cjs/clients/internal-api/shopify-app-install-client.js +81 -81
  63. package/dist/cjs/clients/internal-api/subscriptions-client.d.ts +26 -26
  64. package/dist/cjs/clients/internal-api/subscriptions-client.js +77 -77
  65. package/dist/cjs/clients/internal-api/users-auth-client.d.ts +35 -35
  66. package/dist/cjs/clients/internal-api/users-auth-client.js +110 -110
  67. package/dist/cjs/clients/third-party/emailable-client.d.ts +7 -7
  68. package/dist/cjs/clients/third-party/emailable-client.js +25 -25
  69. package/dist/cjs/clients/third-party/exchange-rate-api-client.d.ts +17 -17
  70. package/dist/cjs/clients/third-party/exchange-rate-api-client.js +19 -19
  71. package/dist/cjs/clients/third-party/index.d.ts +3 -3
  72. package/dist/cjs/clients/third-party/index.js +19 -19
  73. package/dist/cjs/clients/third-party/loops-client.d.ts +10 -10
  74. package/dist/cjs/clients/third-party/loops-client.js +30 -30
  75. package/dist/cjs/clients/third-party/shopify/graphql-product-queries.d.ts +2 -2
  76. package/dist/cjs/clients/third-party/shopify/graphql-product-queries.js +180 -180
  77. package/dist/cjs/clients/third-party/shopify/shopify-graphql-client.d.ts +9 -9
  78. package/dist/cjs/clients/third-party/shopify/shopify-graphql-client.js +115 -115
  79. package/dist/cjs/clients/third-party/shopify-client.d.ts +29 -29
  80. package/dist/cjs/clients/third-party/shopify-client.js +146 -146
  81. package/dist/cjs/helpers/account-users-helper.d.ts +2 -2
  82. package/dist/cjs/helpers/account-users-helper.js +22 -22
  83. package/dist/cjs/helpers/identity-cache-helper.d.ts +21 -21
  84. package/dist/cjs/helpers/identity-cache-helper.js +156 -156
  85. package/dist/cjs/helpers/index.d.ts +7 -7
  86. package/dist/cjs/helpers/index.js +23 -23
  87. package/dist/cjs/helpers/input-validation-helper.d.ts +3 -3
  88. package/dist/cjs/helpers/input-validation-helper.js +22 -22
  89. package/dist/cjs/helpers/logging-helper.d.ts +16 -16
  90. package/dist/cjs/helpers/logging-helper.js +84 -84
  91. package/dist/cjs/helpers/response-helper.d.ts +18 -18
  92. package/dist/cjs/helpers/response-helper.js +43 -43
  93. package/dist/cjs/helpers/shopify-helper.d.ts +9 -9
  94. package/dist/cjs/helpers/shopify-helper.js +26 -26
  95. package/dist/cjs/helpers/sqs-utils.d.ts +6 -6
  96. package/dist/cjs/helpers/sqs-utils.js +14 -14
  97. package/dist/cjs/index.d.ts +5 -5
  98. package/dist/cjs/index.js +21 -21
  99. package/dist/cjs/libs/click-id-parser.d.ts +23 -23
  100. package/dist/cjs/libs/click-id-parser.js +49 -49
  101. package/dist/cjs/libs/compression.d.ts +2 -2
  102. package/dist/cjs/libs/compression.js +33 -33
  103. package/dist/cjs/libs/cookie.d.ts +17 -17
  104. package/dist/cjs/libs/cookie.js +76 -76
  105. package/dist/cjs/libs/crypto.d.ts +3 -3
  106. package/dist/cjs/libs/crypto.js +20 -20
  107. package/dist/cjs/libs/csv.d.ts +2 -2
  108. package/dist/cjs/libs/csv.js +35 -35
  109. package/dist/cjs/libs/currency.d.ts +1 -1
  110. package/dist/cjs/libs/currency.js +29 -29
  111. package/dist/cjs/libs/dates.d.ts +12 -12
  112. package/dist/cjs/libs/dates.js +96 -96
  113. package/dist/cjs/libs/domain.d.ts +2 -2
  114. package/dist/cjs/libs/domain.js +38 -38
  115. package/dist/cjs/libs/emails.d.ts +6 -6
  116. package/dist/cjs/libs/emails.js +122 -122
  117. package/dist/cjs/libs/http-error.d.ts +21 -21
  118. package/dist/cjs/libs/http-error.js +63 -63
  119. package/dist/cjs/libs/http-status-codes.d.ts +58 -58
  120. package/dist/cjs/libs/http-status-codes.js +62 -62
  121. package/dist/cjs/libs/index.d.ts +17 -17
  122. package/dist/cjs/libs/index.js +33 -33
  123. package/dist/cjs/libs/numbers.d.ts +1 -1
  124. package/dist/cjs/libs/numbers.js +15 -15
  125. package/dist/cjs/libs/referrer-parser/index.d.ts +2 -2
  126. package/dist/cjs/libs/referrer-parser/index.js +18 -18
  127. package/dist/cjs/libs/referrer-parser/referrer-data.d.ts +9 -9
  128. package/dist/cjs/libs/referrer-parser/referrer-data.js +3307 -3307
  129. package/dist/cjs/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
  130. package/dist/cjs/libs/referrer-parser/referrer-parser-util.js +131 -131
  131. package/dist/cjs/libs/strings.d.ts +3 -3
  132. package/dist/cjs/libs/strings.js +46 -46
  133. package/dist/cjs/libs/traits.d.ts +6 -6
  134. package/dist/cjs/libs/traits.js +65 -65
  135. package/dist/cjs/libs/url.d.ts +1 -1
  136. package/dist/cjs/libs/url.js +13 -13
  137. package/dist/cjs/services/cache/generic-cached-object.d.ts +5 -5
  138. package/dist/cjs/services/cache/generic-cached-object.js +2 -2
  139. package/dist/cjs/services/cache/index.d.ts +1 -1
  140. package/dist/cjs/services/cache/index.js +17 -17
  141. package/dist/cjs/services/cache/product-cache-service.d.ts +21 -21
  142. package/dist/cjs/services/cache/product-cache-service.js +76 -76
  143. package/dist/cjs/services/cache/product-cache-service.js.map +1 -1
  144. package/dist/cjs/services/currency-exchange-rate-lookup-service.d.ts +11 -11
  145. package/dist/cjs/services/currency-exchange-rate-lookup-service.js +66 -66
  146. package/dist/cjs/services/db/currency-exchange-rates-db-service.d.ts +21 -21
  147. package/dist/cjs/services/db/currency-exchange-rates-db-service.js +39 -39
  148. package/dist/cjs/services/db/destinations-db-service.d.ts +12 -12
  149. package/dist/cjs/services/db/destinations-db-service.js +76 -76
  150. package/dist/cjs/services/db/identity-cache-db-service.d.ts +28 -28
  151. package/dist/cjs/services/db/identity-cache-db-service.js +320 -320
  152. package/dist/cjs/services/db/index.d.ts +10 -10
  153. package/dist/cjs/services/db/index.js +26 -26
  154. package/dist/cjs/services/db/log-events-db-service.d.ts +11 -11
  155. package/dist/cjs/services/db/log-events-db-service.js +181 -181
  156. package/dist/cjs/services/db/pixels-db-service.d.ts +8 -8
  157. package/dist/cjs/services/db/pixels-db-service.js +35 -35
  158. package/dist/cjs/services/db/purchasable-contacts-db-service.d.ts +9 -9
  159. package/dist/cjs/services/db/purchasable-contacts-db-service.js +43 -43
  160. package/dist/cjs/services/db/purchased-contacts-db-service.d.ts +17 -17
  161. package/dist/cjs/services/db/purchased-contacts-db-service.js +143 -143
  162. package/dist/cjs/services/db/shopify-app-installs-db-service.d.ts +7 -7
  163. package/dist/cjs/services/db/shopify-app-installs-db-service.js +47 -47
  164. package/dist/cjs/services/db/shopify-products-cache-db-service.d.ts +16 -16
  165. package/dist/cjs/services/db/shopify-products-cache-db-service.js +73 -73
  166. package/dist/cjs/services/db/shopify-products-cache-db-service.js.map +1 -1
  167. package/dist/cjs/services/db/tracking-events-db-service.d.ts +20 -20
  168. package/dist/cjs/services/db/tracking-events-db-service.js +165 -165
  169. package/dist/cjs/services/eventbridge-integration-service.d.ts +9 -9
  170. package/dist/cjs/services/eventbridge-integration-service.js +28 -28
  171. package/dist/cjs/services/events/index.d.ts +3 -3
  172. package/dist/cjs/services/events/index.js +19 -19
  173. package/dist/cjs/services/events/log-event-service.d.ts +9 -9
  174. package/dist/cjs/services/events/log-event-service.js +56 -56
  175. package/dist/cjs/services/events/metric-event-service.d.ts +9 -9
  176. package/dist/cjs/services/events/metric-event-service.js +49 -49
  177. package/dist/cjs/services/events/tracking-event-sqs-service.d.ts +8 -8
  178. package/dist/cjs/services/events/tracking-event-sqs-service.js +34 -34
  179. package/dist/cjs/services/generic-cache-service.d.ts +7 -7
  180. package/dist/cjs/services/generic-cache-service.js +33 -33
  181. package/dist/cjs/services/index.d.ts +8 -8
  182. package/dist/cjs/services/index.js +24 -24
  183. package/dist/cjs/services/ipdata-lookup-service.d.ts +20 -20
  184. package/dist/cjs/services/ipdata-lookup-service.js +112 -112
  185. package/dist/cjs/services/shopify/index.d.ts +3 -2
  186. package/dist/cjs/services/shopify/index.js +19 -18
  187. package/dist/cjs/services/shopify/index.js.map +1 -1
  188. package/dist/cjs/services/shopify/products/index.d.ts +1 -1
  189. package/dist/cjs/services/shopify/products/index.js +17 -17
  190. package/dist/cjs/services/shopify/products/shopify-products-serviceV2.d.ts +17 -17
  191. package/dist/cjs/services/shopify/products/shopify-products-serviceV2.js +114 -112
  192. package/dist/cjs/services/shopify/products/shopify-products-serviceV2.js.map +1 -1
  193. package/dist/cjs/services/shopify/shopify-graphql-transformer.d.ts +9 -8
  194. package/dist/cjs/services/shopify/shopify-graphql-transformer.js +141 -141
  195. package/dist/cjs/services/shopify/shopify-graphql-transformer.js.map +1 -1
  196. package/dist/cjs/services/shopify/types/index.d.ts +1 -0
  197. package/dist/cjs/services/shopify/types/index.js +18 -0
  198. package/dist/cjs/services/shopify/types/index.js.map +1 -0
  199. package/dist/cjs/services/shopify/types/product.d.ts +115 -0
  200. package/dist/cjs/services/shopify/types/product.js +10 -0
  201. package/dist/cjs/services/shopify/types/product.js.map +1 -0
  202. package/dist/cjs/types/api-response.d.ts +6 -6
  203. package/dist/cjs/types/api-response.js +2 -2
  204. package/dist/cjs/types/index.d.ts +1 -1
  205. package/dist/cjs/types/index.js +17 -17
  206. package/dist/cjs/types/internal-events/event-detail-types.d.ts +20 -20
  207. package/dist/cjs/types/internal-events/event-detail-types.js +27 -27
  208. package/dist/cjs/types/internal-events/index.d.ts +1 -1
  209. package/dist/cjs/types/internal-events/index.js +17 -17
  210. package/dist/cjs/types/shopify-graphql-types/admin.generated.d.ts +105 -105
  211. package/dist/cjs/types/shopify-graphql-types/admin.generated.js +2 -2
  212. package/dist/cjs/types/shopify-graphql-types/admin.types.d.ts +26289 -26289
  213. package/dist/cjs/types/shopify-graphql-types/admin.types.js +5311 -5311
  214. package/dist/cjs/types/shopify-graphql-types/index.d.ts +2 -2
  215. package/dist/cjs/types/shopify-graphql-types/index.js +18 -18
  216. package/dist/esm/__tests__/clients/sqs-client.spec.d.ts +1 -1
  217. package/dist/esm/__tests__/clients/sqs-client.spec.js +119 -119
  218. package/dist/esm/__tests__/helpers/account-users-helper.spec.d.ts +1 -1
  219. package/dist/esm/__tests__/helpers/account-users-helper.spec.js +218 -218
  220. package/dist/esm/__tests__/identity-cache/identity-cache-db-service.spec.d.ts +1 -1
  221. package/dist/esm/__tests__/identity-cache/identity-cache-db-service.spec.js +672 -672
  222. package/dist/esm/__tests__/identity-cache/trait-merging-and-staleness.spec.d.ts +1 -1
  223. package/dist/esm/__tests__/identity-cache/trait-merging-and-staleness.spec.js +586 -586
  224. package/dist/esm/__tests__/libs/compress-decompress.spec.d.ts +1 -1
  225. package/dist/esm/__tests__/libs/compress-decompress.spec.js +14 -14
  226. package/dist/esm/__tests__/libs/currency.spec.d.ts +1 -1
  227. package/dist/esm/__tests__/libs/currency.spec.js +218 -218
  228. package/dist/esm/__tests__/libs/dates.spec.d.ts +1 -1
  229. package/dist/esm/__tests__/libs/dates.spec.js +128 -128
  230. package/dist/esm/__tests__/libs/domain.spec.d.ts +1 -1
  231. package/dist/esm/__tests__/libs/domain.spec.js +105 -105
  232. package/dist/esm/__tests__/libs/numbers.spec.d.ts +1 -1
  233. package/dist/esm/__tests__/libs/numbers.spec.js +259 -259
  234. package/dist/esm/__tests__/s3-client/s3-client.spec.d.ts +1 -1
  235. package/dist/esm/__tests__/s3-client/s3-client.spec.js +31 -31
  236. package/dist/esm/__tests__/shopify/shopify-graphql-transformer.spec.d.ts +1 -1
  237. package/dist/esm/__tests__/shopify/shopify-graphql-transformer.spec.js +33 -33
  238. package/dist/esm/clients/generic/cognito-client.d.ts +23 -23
  239. package/dist/esm/clients/generic/cognito-client.js +204 -204
  240. package/dist/esm/clients/generic/dynamodb-client.d.ts +17 -17
  241. package/dist/esm/clients/generic/dynamodb-client.js +166 -166
  242. package/dist/esm/clients/generic/eventbridge-client.d.ts +14 -14
  243. package/dist/esm/clients/generic/eventbridge-client.js +47 -47
  244. package/dist/esm/clients/generic/http-client.d.ts +14 -14
  245. package/dist/esm/clients/generic/http-client.js +53 -53
  246. package/dist/esm/clients/generic/index.d.ts +10 -10
  247. package/dist/esm/clients/generic/index.js +10 -10
  248. package/dist/esm/clients/generic/lambda-invoke-client.d.ts +10 -10
  249. package/dist/esm/clients/generic/lambda-invoke-client.js +31 -31
  250. package/dist/esm/clients/generic/location-client.d.ts +8 -8
  251. package/dist/esm/clients/generic/location-client.js +27 -27
  252. package/dist/esm/clients/generic/redis-client.d.ts +32 -32
  253. package/dist/esm/clients/generic/redis-client.js +174 -174
  254. package/dist/esm/clients/generic/s3-client.d.ts +23 -23
  255. package/dist/esm/clients/generic/s3-client.js +209 -209
  256. package/dist/esm/clients/generic/singlestore-db-client.d.ts +14 -14
  257. package/dist/esm/clients/generic/singlestore-db-client.js +40 -40
  258. package/dist/esm/clients/generic/sqs-client.d.ts +33 -33
  259. package/dist/esm/clients/generic/sqs-client.js +107 -107
  260. package/dist/esm/clients/index.d.ts +3 -3
  261. package/dist/esm/clients/index.js +3 -3
  262. package/dist/esm/clients/internal-api/accounts-client.d.ts +85 -85
  263. package/dist/esm/clients/internal-api/accounts-client.js +125 -125
  264. package/dist/esm/clients/internal-api/cache-lambda-client.d.ts +25 -25
  265. package/dist/esm/clients/internal-api/cache-lambda-client.js +83 -83
  266. package/dist/esm/clients/internal-api/db-management-client.d.ts +18 -18
  267. package/dist/esm/clients/internal-api/db-management-client.js +32 -32
  268. package/dist/esm/clients/internal-api/destinations-client.d.ts +34 -34
  269. package/dist/esm/clients/internal-api/destinations-client.js +75 -75
  270. package/dist/esm/clients/internal-api/event-collector-client.d.ts +20 -20
  271. package/dist/esm/clients/internal-api/event-collector-client.js +32 -32
  272. package/dist/esm/clients/internal-api/identity-client.d.ts +31 -31
  273. package/dist/esm/clients/internal-api/identity-client.js +87 -87
  274. package/dist/esm/clients/internal-api/index.d.ts +9 -9
  275. package/dist/esm/clients/internal-api/index.js +9 -9
  276. package/dist/esm/clients/internal-api/shopify-app-install-client.d.ts +37 -37
  277. package/dist/esm/clients/internal-api/shopify-app-install-client.js +77 -77
  278. package/dist/esm/clients/internal-api/subscriptions-client.d.ts +26 -26
  279. package/dist/esm/clients/internal-api/subscriptions-client.js +73 -73
  280. package/dist/esm/clients/internal-api/users-auth-client.d.ts +35 -35
  281. package/dist/esm/clients/internal-api/users-auth-client.js +106 -106
  282. package/dist/esm/clients/third-party/emailable-client.d.ts +7 -7
  283. package/dist/esm/clients/third-party/emailable-client.js +21 -21
  284. package/dist/esm/clients/third-party/exchange-rate-api-client.d.ts +17 -17
  285. package/dist/esm/clients/third-party/exchange-rate-api-client.js +15 -15
  286. package/dist/esm/clients/third-party/index.d.ts +3 -3
  287. package/dist/esm/clients/third-party/index.js +3 -3
  288. package/dist/esm/clients/third-party/loops-client.d.ts +10 -10
  289. package/dist/esm/clients/third-party/loops-client.js +26 -26
  290. package/dist/esm/clients/third-party/shopify/graphql-product-queries.d.ts +2 -2
  291. package/dist/esm/clients/third-party/shopify/graphql-product-queries.js +177 -177
  292. package/dist/esm/clients/third-party/shopify/shopify-graphql-client.d.ts +9 -9
  293. package/dist/esm/clients/third-party/shopify/shopify-graphql-client.js +111 -111
  294. package/dist/esm/clients/third-party/shopify-client.d.ts +29 -29
  295. package/dist/esm/clients/third-party/shopify-client.js +142 -142
  296. package/dist/esm/helpers/account-users-helper.d.ts +2 -2
  297. package/dist/esm/helpers/account-users-helper.js +18 -18
  298. package/dist/esm/helpers/identity-cache-helper.d.ts +21 -21
  299. package/dist/esm/helpers/identity-cache-helper.js +151 -151
  300. package/dist/esm/helpers/index.d.ts +7 -7
  301. package/dist/esm/helpers/index.js +7 -7
  302. package/dist/esm/helpers/input-validation-helper.d.ts +3 -3
  303. package/dist/esm/helpers/input-validation-helper.js +18 -18
  304. package/dist/esm/helpers/logging-helper.d.ts +16 -16
  305. package/dist/esm/helpers/logging-helper.js +56 -56
  306. package/dist/esm/helpers/response-helper.d.ts +18 -18
  307. package/dist/esm/helpers/response-helper.js +37 -37
  308. package/dist/esm/helpers/shopify-helper.d.ts +9 -9
  309. package/dist/esm/helpers/shopify-helper.js +21 -21
  310. package/dist/esm/helpers/sqs-utils.d.ts +6 -6
  311. package/dist/esm/helpers/sqs-utils.js +9 -9
  312. package/dist/esm/index.d.ts +5 -5
  313. package/dist/esm/index.js +5 -5
  314. package/dist/esm/libs/click-id-parser.d.ts +23 -23
  315. package/dist/esm/libs/click-id-parser.js +45 -45
  316. package/dist/esm/libs/compression.d.ts +2 -2
  317. package/dist/esm/libs/compression.js +25 -25
  318. package/dist/esm/libs/cookie.d.ts +17 -17
  319. package/dist/esm/libs/cookie.js +70 -70
  320. package/dist/esm/libs/crypto.d.ts +3 -3
  321. package/dist/esm/libs/crypto.js +11 -11
  322. package/dist/esm/libs/csv.d.ts +2 -2
  323. package/dist/esm/libs/csv.js +30 -30
  324. package/dist/esm/libs/currency.d.ts +1 -1
  325. package/dist/esm/libs/currency.js +22 -22
  326. package/dist/esm/libs/dates.d.ts +12 -12
  327. package/dist/esm/libs/dates.js +83 -83
  328. package/dist/esm/libs/domain.d.ts +2 -2
  329. package/dist/esm/libs/domain.js +33 -33
  330. package/dist/esm/libs/emails.d.ts +6 -6
  331. package/dist/esm/libs/emails.js +115 -115
  332. package/dist/esm/libs/http-error.d.ts +21 -21
  333. package/dist/esm/libs/http-error.js +59 -59
  334. package/dist/esm/libs/http-status-codes.d.ts +58 -58
  335. package/dist/esm/libs/http-status-codes.js +59 -59
  336. package/dist/esm/libs/index.d.ts +17 -17
  337. package/dist/esm/libs/index.js +17 -17
  338. package/dist/esm/libs/numbers.d.ts +1 -1
  339. package/dist/esm/libs/numbers.js +11 -11
  340. package/dist/esm/libs/referrer-parser/index.d.ts +2 -2
  341. package/dist/esm/libs/referrer-parser/index.js +2 -2
  342. package/dist/esm/libs/referrer-parser/referrer-data.d.ts +9 -9
  343. package/dist/esm/libs/referrer-parser/referrer-data.js +3304 -3304
  344. package/dist/esm/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
  345. package/dist/esm/libs/referrer-parser/referrer-parser-util.js +124 -124
  346. package/dist/esm/libs/strings.d.ts +3 -3
  347. package/dist/esm/libs/strings.js +40 -40
  348. package/dist/esm/libs/traits.d.ts +6 -6
  349. package/dist/esm/libs/traits.js +54 -54
  350. package/dist/esm/libs/url.d.ts +1 -1
  351. package/dist/esm/libs/url.js +9 -9
  352. package/dist/esm/services/cache/generic-cached-object.d.ts +5 -5
  353. package/dist/esm/services/cache/generic-cached-object.js +1 -1
  354. package/dist/esm/services/cache/index.d.ts +1 -1
  355. package/dist/esm/services/cache/index.js +1 -1
  356. package/dist/esm/services/cache/product-cache-service.d.ts +21 -21
  357. package/dist/esm/services/cache/product-cache-service.js +68 -68
  358. package/dist/esm/services/cache/product-cache-service.js.map +1 -1
  359. package/dist/esm/services/currency-exchange-rate-lookup-service.d.ts +11 -11
  360. package/dist/esm/services/currency-exchange-rate-lookup-service.js +62 -62
  361. package/dist/esm/services/db/currency-exchange-rates-db-service.d.ts +21 -21
  362. package/dist/esm/services/db/currency-exchange-rates-db-service.js +35 -35
  363. package/dist/esm/services/db/destinations-db-service.d.ts +12 -12
  364. package/dist/esm/services/db/destinations-db-service.js +72 -72
  365. package/dist/esm/services/db/identity-cache-db-service.d.ts +28 -28
  366. package/dist/esm/services/db/identity-cache-db-service.js +313 -313
  367. package/dist/esm/services/db/index.d.ts +10 -10
  368. package/dist/esm/services/db/index.js +10 -10
  369. package/dist/esm/services/db/log-events-db-service.d.ts +11 -11
  370. package/dist/esm/services/db/log-events-db-service.js +177 -177
  371. package/dist/esm/services/db/pixels-db-service.d.ts +8 -8
  372. package/dist/esm/services/db/pixels-db-service.js +31 -31
  373. package/dist/esm/services/db/purchasable-contacts-db-service.d.ts +9 -9
  374. package/dist/esm/services/db/purchasable-contacts-db-service.js +39 -39
  375. package/dist/esm/services/db/purchased-contacts-db-service.d.ts +17 -17
  376. package/dist/esm/services/db/purchased-contacts-db-service.js +139 -139
  377. package/dist/esm/services/db/shopify-app-installs-db-service.d.ts +7 -7
  378. package/dist/esm/services/db/shopify-app-installs-db-service.js +43 -43
  379. package/dist/esm/services/db/shopify-products-cache-db-service.d.ts +16 -16
  380. package/dist/esm/services/db/shopify-products-cache-db-service.js +66 -66
  381. package/dist/esm/services/db/shopify-products-cache-db-service.js.map +1 -1
  382. package/dist/esm/services/db/tracking-events-db-service.d.ts +20 -20
  383. package/dist/esm/services/db/tracking-events-db-service.js +161 -161
  384. package/dist/esm/services/eventbridge-integration-service.d.ts +9 -9
  385. package/dist/esm/services/eventbridge-integration-service.js +24 -24
  386. package/dist/esm/services/events/index.d.ts +3 -3
  387. package/dist/esm/services/events/index.js +3 -3
  388. package/dist/esm/services/events/log-event-service.d.ts +9 -9
  389. package/dist/esm/services/events/log-event-service.js +52 -52
  390. package/dist/esm/services/events/metric-event-service.d.ts +9 -9
  391. package/dist/esm/services/events/metric-event-service.js +45 -45
  392. package/dist/esm/services/events/tracking-event-sqs-service.d.ts +8 -8
  393. package/dist/esm/services/events/tracking-event-sqs-service.js +30 -30
  394. package/dist/esm/services/generic-cache-service.d.ts +7 -7
  395. package/dist/esm/services/generic-cache-service.js +29 -29
  396. package/dist/esm/services/index.d.ts +8 -8
  397. package/dist/esm/services/index.js +8 -8
  398. package/dist/esm/services/ipdata-lookup-service.d.ts +20 -20
  399. package/dist/esm/services/ipdata-lookup-service.js +108 -108
  400. package/dist/esm/services/shopify/index.d.ts +3 -2
  401. package/dist/esm/services/shopify/index.js +3 -2
  402. package/dist/esm/services/shopify/index.js.map +1 -1
  403. package/dist/esm/services/shopify/products/index.d.ts +1 -1
  404. package/dist/esm/services/shopify/products/index.js +1 -1
  405. package/dist/esm/services/shopify/products/shopify-products-serviceV2.d.ts +17 -17
  406. package/dist/esm/services/shopify/products/shopify-products-serviceV2.js +110 -108
  407. package/dist/esm/services/shopify/products/shopify-products-serviceV2.js.map +1 -1
  408. package/dist/esm/services/shopify/shopify-graphql-transformer.d.ts +9 -8
  409. package/dist/esm/services/shopify/shopify-graphql-transformer.js +138 -138
  410. package/dist/esm/services/shopify/shopify-graphql-transformer.js.map +1 -1
  411. package/dist/esm/services/shopify/types/index.d.ts +1 -0
  412. package/dist/esm/services/shopify/types/index.js +2 -0
  413. package/dist/esm/services/shopify/types/index.js.map +1 -0
  414. package/dist/esm/services/shopify/types/product.d.ts +115 -0
  415. package/dist/esm/services/shopify/types/product.js +7 -0
  416. package/dist/esm/services/shopify/types/product.js.map +1 -0
  417. package/dist/esm/types/api-response.d.ts +6 -6
  418. package/dist/esm/types/api-response.js +1 -1
  419. package/dist/esm/types/index.d.ts +1 -1
  420. package/dist/esm/types/index.js +1 -1
  421. package/dist/esm/types/internal-events/event-detail-types.d.ts +20 -20
  422. package/dist/esm/types/internal-events/event-detail-types.js +24 -24
  423. package/dist/esm/types/internal-events/index.d.ts +1 -1
  424. package/dist/esm/types/internal-events/index.js +1 -1
  425. package/dist/esm/types/shopify-graphql-types/admin.generated.d.ts +105 -105
  426. package/dist/esm/types/shopify-graphql-types/admin.generated.js +1 -1
  427. package/dist/esm/types/shopify-graphql-types/admin.types.d.ts +26289 -26289
  428. package/dist/esm/types/shopify-graphql-types/admin.types.js +5299 -5299
  429. package/dist/esm/types/shopify-graphql-types/index.d.ts +2 -2
  430. package/dist/esm/types/shopify-graphql-types/index.js +2 -2
  431. package/package.json +135 -135
@@ -1,6 +1,6 @@
1
- export declare const normalizeGmailAddress: (email: string) => string;
2
- export declare const validateEmail: (email: string) => boolean;
3
- export declare const riskyEmailDomains: string[];
4
- export declare const disposableEmailDomains: string[];
5
- export declare const isDisposableEmail: (email: string) => boolean;
6
- export declare const isYahooEmail: (email: string) => boolean;
1
+ export declare const normalizeGmailAddress: (email: string) => string;
2
+ export declare const validateEmail: (email: string) => boolean;
3
+ export declare const riskyEmailDomains: string[];
4
+ export declare const disposableEmailDomains: string[];
5
+ export declare const isDisposableEmail: (email: string) => boolean;
6
+ export declare const isYahooEmail: (email: string) => boolean;
@@ -1,123 +1,123 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isYahooEmail = exports.isDisposableEmail = exports.disposableEmailDomains = exports.riskyEmailDomains = exports.validateEmail = exports.normalizeGmailAddress = void 0;
4
- const helpers_1 = require("../helpers");
5
- const normalizeGmailAddress = (email) => {
6
- if (!email || typeof email !== 'string') {
7
- return email;
8
- }
9
- const emailLower = email.toLowerCase().trim();
10
- if (!emailLower.includes('@gmail.com')) {
11
- return emailLower;
12
- }
13
- const [localPart, domain] = emailLower.split('@');
14
- if (!localPart || !domain) {
15
- return emailLower;
16
- }
17
- const normalizedLocalPart = localPart.replace(/\./g, '');
18
- return `${normalizedLocalPart}@${domain}`;
19
- };
20
- exports.normalizeGmailAddress = normalizeGmailAddress;
21
- const validateEmail = (email) => {
22
- try {
23
- if (!email || typeof email !== 'string') {
24
- return false;
25
- }
26
- const emailStr = String(email).trim().toLowerCase();
27
- if (emailStr.length === 0) {
28
- return false;
29
- }
30
- const emailRegex = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|.(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
31
- const isValid = emailRegex.test(emailStr);
32
- if (isValid) {
33
- if (emailStr.includes('..')) {
34
- return false;
35
- }
36
- if (emailStr.length > 254) {
37
- return false;
38
- }
39
- const [localPart] = emailStr.split('@');
40
- if (localPart && localPart.length > 64) {
41
- return false;
42
- }
43
- }
44
- return isValid;
45
- }
46
- catch (error) {
47
- helpers_1.Logger.error('Failed to validate email', { email, error });
48
- return false;
49
- }
50
- };
51
- exports.validateEmail = validateEmail;
52
- exports.riskyEmailDomains = [
53
- 'ymail.com',
54
- 'yahoo.com',
55
- 'yahoo.co.uk',
56
- 'yahoo.co.in',
57
- 'yahoo.co.jp',
58
- 'yahoo.co.kr',
59
- 'aol.com',
60
- 'verizon.net',
61
- 'frontier.com',
62
- 'cox.net',
63
- 'rogers.com',
64
- 'sbcglobal.net',
65
- 'bellsouth.net',
66
- 'att.net',
67
- 'pacbell.net',
68
- 'charter.net',
69
- 'comcast.net',
70
- 'suddenlink.net',
71
- 'centurylink.net',
72
- 'excite.com',
73
- 'geocities.com',
74
- 'prodigy.net',
75
- 'earthlink.net',
76
- 'roadrunner.com',
77
- 'rr.com',
78
- 'cs.com',
79
- 'juno.com',
80
- 'netzero.net',
81
- 'netzero.com',
82
- 'netscape.com',
83
- 'netscape.net',
84
- 'webtv.net',
85
- 'mindspring.com',
86
- 'mac.com',
87
- 'rocketmail.com',
88
- 'yahoo.net',
89
- 'hotmail.com',
90
- 'live.com',
91
- 'msn.com',
92
- 'outlook.com',
93
- 'yahoo.com',
94
- 'yahoo.co.uk',
95
- 'yahoo.co.in',
96
- 'yahoo.co.jp',
97
- 'yahoo.co.kr',
98
- 'icloud.com',
99
- 'facebook.com',
100
- ];
101
- exports.disposableEmailDomains = [
102
- 'amazom.com',
103
- 'mailinator.com',
104
- 'yopmail.com',
105
- 'maildrop.cc',
106
- 'maildrop.cc',
107
- 'mailnesia.com',
108
- 'guerrillamail.com',
109
- 'guerrillamailblock.com',
110
- 'guerrillamail.org',
111
- 'guerrillamail.net',
112
- 'guerrillamail.biz',
113
- 'guerrillamail.com',
114
- ];
115
- const isDisposableEmail = (email) => {
116
- return exports.disposableEmailDomains.some((domain) => email.includes(domain));
117
- };
118
- exports.isDisposableEmail = isDisposableEmail;
119
- const isYahooEmail = (email) => {
120
- return exports.riskyEmailDomains.some((domain) => email.includes(domain));
121
- };
122
- exports.isYahooEmail = isYahooEmail;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isYahooEmail = exports.isDisposableEmail = exports.disposableEmailDomains = exports.riskyEmailDomains = exports.validateEmail = exports.normalizeGmailAddress = void 0;
4
+ const helpers_1 = require("../helpers");
5
+ const normalizeGmailAddress = (email) => {
6
+ if (!email || typeof email !== 'string') {
7
+ return email;
8
+ }
9
+ const emailLower = email.toLowerCase().trim();
10
+ if (!emailLower.includes('@gmail.com')) {
11
+ return emailLower;
12
+ }
13
+ const [localPart, domain] = emailLower.split('@');
14
+ if (!localPart || !domain) {
15
+ return emailLower;
16
+ }
17
+ const normalizedLocalPart = localPart.replace(/\./g, '');
18
+ return `${normalizedLocalPart}@${domain}`;
19
+ };
20
+ exports.normalizeGmailAddress = normalizeGmailAddress;
21
+ const validateEmail = (email) => {
22
+ try {
23
+ if (!email || typeof email !== 'string') {
24
+ return false;
25
+ }
26
+ const emailStr = String(email).trim().toLowerCase();
27
+ if (emailStr.length === 0) {
28
+ return false;
29
+ }
30
+ const emailRegex = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|.(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
31
+ const isValid = emailRegex.test(emailStr);
32
+ if (isValid) {
33
+ if (emailStr.includes('..')) {
34
+ return false;
35
+ }
36
+ if (emailStr.length > 254) {
37
+ return false;
38
+ }
39
+ const [localPart] = emailStr.split('@');
40
+ if (localPart && localPart.length > 64) {
41
+ return false;
42
+ }
43
+ }
44
+ return isValid;
45
+ }
46
+ catch (error) {
47
+ helpers_1.Logger.error('Failed to validate email', { email, error });
48
+ return false;
49
+ }
50
+ };
51
+ exports.validateEmail = validateEmail;
52
+ exports.riskyEmailDomains = [
53
+ 'ymail.com',
54
+ 'yahoo.com',
55
+ 'yahoo.co.uk',
56
+ 'yahoo.co.in',
57
+ 'yahoo.co.jp',
58
+ 'yahoo.co.kr',
59
+ 'aol.com',
60
+ 'verizon.net',
61
+ 'frontier.com',
62
+ 'cox.net',
63
+ 'rogers.com',
64
+ 'sbcglobal.net',
65
+ 'bellsouth.net',
66
+ 'att.net',
67
+ 'pacbell.net',
68
+ 'charter.net',
69
+ 'comcast.net',
70
+ 'suddenlink.net',
71
+ 'centurylink.net',
72
+ 'excite.com',
73
+ 'geocities.com',
74
+ 'prodigy.net',
75
+ 'earthlink.net',
76
+ 'roadrunner.com',
77
+ 'rr.com',
78
+ 'cs.com',
79
+ 'juno.com',
80
+ 'netzero.net',
81
+ 'netzero.com',
82
+ 'netscape.com',
83
+ 'netscape.net',
84
+ 'webtv.net',
85
+ 'mindspring.com',
86
+ 'mac.com',
87
+ 'rocketmail.com',
88
+ 'yahoo.net',
89
+ 'hotmail.com',
90
+ 'live.com',
91
+ 'msn.com',
92
+ 'outlook.com',
93
+ 'yahoo.com',
94
+ 'yahoo.co.uk',
95
+ 'yahoo.co.in',
96
+ 'yahoo.co.jp',
97
+ 'yahoo.co.kr',
98
+ 'icloud.com',
99
+ 'facebook.com',
100
+ ];
101
+ exports.disposableEmailDomains = [
102
+ 'amazom.com',
103
+ 'mailinator.com',
104
+ 'yopmail.com',
105
+ 'maildrop.cc',
106
+ 'maildrop.cc',
107
+ 'mailnesia.com',
108
+ 'guerrillamail.com',
109
+ 'guerrillamailblock.com',
110
+ 'guerrillamail.org',
111
+ 'guerrillamail.net',
112
+ 'guerrillamail.biz',
113
+ 'guerrillamail.com',
114
+ ];
115
+ const isDisposableEmail = (email) => {
116
+ return exports.disposableEmailDomains.some((domain) => email.includes(domain));
117
+ };
118
+ exports.isDisposableEmail = isDisposableEmail;
119
+ const isYahooEmail = (email) => {
120
+ return exports.riskyEmailDomains.some((domain) => email.includes(domain));
121
+ };
122
+ exports.isYahooEmail = isYahooEmail;
123
123
  //# sourceMappingURL=emails.js.map
@@ -1,21 +1,21 @@
1
- export declare class HttpError extends Error {
2
- body: {
3
- [key: string]: any;
4
- };
5
- headers: object[];
6
- statusCode: number;
7
- isServerError: boolean;
8
- constructor(statusCode: number, message?: string, body?: {
9
- [key: string]: any;
10
- }, headers?: object[]);
11
- static get supportedStatusCodes(): any;
12
- static badRequest: (message?: string, body?: object, headers?: object[]) => HttpError;
13
- static unauthorized: (message?: string, body?: object, headers?: object[]) => HttpError;
14
- static forbidden: (message?: string, body?: object, headers?: object[]) => HttpError;
15
- static notFound: (message?: string, body?: object, headers?: object[]) => HttpError;
16
- static internal: (message?: string, body?: object, headers?: object[]) => HttpError;
17
- static notImplemented: () => HttpError;
18
- static badGateway: () => HttpError;
19
- static serviceUnavailable: (headers: object[]) => HttpError;
20
- static gatewayTimeout: () => HttpError;
21
- }
1
+ export declare class HttpError extends Error {
2
+ body: {
3
+ [key: string]: any;
4
+ };
5
+ headers: object[];
6
+ statusCode: number;
7
+ isServerError: boolean;
8
+ constructor(statusCode: number, message?: string, body?: {
9
+ [key: string]: any;
10
+ }, headers?: object[]);
11
+ static get supportedStatusCodes(): any;
12
+ static badRequest: (message?: string, body?: object, headers?: object[]) => HttpError;
13
+ static unauthorized: (message?: string, body?: object, headers?: object[]) => HttpError;
14
+ static forbidden: (message?: string, body?: object, headers?: object[]) => HttpError;
15
+ static notFound: (message?: string, body?: object, headers?: object[]) => HttpError;
16
+ static internal: (message?: string, body?: object, headers?: object[]) => HttpError;
17
+ static notImplemented: () => HttpError;
18
+ static badGateway: () => HttpError;
19
+ static serviceUnavailable: (headers: object[]) => HttpError;
20
+ static gatewayTimeout: () => HttpError;
21
+ }
@@ -1,64 +1,64 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HttpError = void 0;
4
- const assert_1 = require("assert");
5
- const deepClone = (o = {}) => JSON.parse(JSON.stringify(o));
6
- const containsStackTrace = (text = '') => /at.+\.js:\d+:\d+/.test(text);
7
- const objectContainsStackTrace = (obj) => (!obj ? false : containsStackTrace(JSON.stringify(obj)));
8
- const supportedStatusCodes = {
9
- 400: 'Bad Request',
10
- 401: 'Unauthorized',
11
- 403: 'Forbidden',
12
- 404: 'Not Found',
13
- 405: 'Method Not Allowed',
14
- 409: 'Conflict',
15
- 412: 'Precondition Failed',
16
- 413: 'Payload Too Large',
17
- 415: 'Unsupported Media Type',
18
- 428: 'Precondition Required',
19
- 429: 'Too Many Requests',
20
- 500: 'Internal Server Error',
21
- 501: 'Not Implemented',
22
- 502: 'Bad Gateway',
23
- 503: 'Service Unavailable',
24
- 504: 'Gateway Timeout',
25
- };
26
- const supportedStatusCodesMessage = `statusCode must be one of the following: ${JSON.stringify(Object.keys(supportedStatusCodes))}`;
27
- class HttpError extends Error {
28
- body;
29
- headers;
30
- statusCode;
31
- isServerError;
32
- constructor(statusCode, message, body, headers) {
33
- (0, assert_1.strict)(statusCode in supportedStatusCodes, supportedStatusCodesMessage);
34
- const isServerError = statusCode > 499;
35
- (0, assert_1.strict)(body === undefined || typeof body === 'object', 'body must be an object or omitted');
36
- (0, assert_1.strict)(headers === undefined || typeof headers === 'object', 'headers must be an object or omitted');
37
- message = message ?? supportedStatusCodes[statusCode];
38
- (0, assert_1.strict)(!containsStackTrace(message) && !objectContainsStackTrace(body), 'the message or data parameters may not contain errors or stack traces');
39
- super(message);
40
- this.body = deepClone(body);
41
- this.headers = deepClone(headers);
42
- this.statusCode = statusCode;
43
- this.isServerError = isServerError;
44
- if (!this?.body?.message) {
45
- this.body.message = this.message;
46
- }
47
- }
48
- static get supportedStatusCodes() {
49
- return supportedStatusCodes;
50
- }
51
- static badRequest = (message, body, headers) => {
52
- return new HttpError(400, message, body, headers);
53
- };
54
- static unauthorized = (message, body, headers) => new HttpError(401, message, body, headers);
55
- static forbidden = (message, body, headers) => new HttpError(403, message, body, headers);
56
- static notFound = (message, body, headers) => new HttpError(404, message, body, headers);
57
- static internal = (message, body, headers) => new HttpError(500, message, body, headers);
58
- static notImplemented = () => new HttpError(501);
59
- static badGateway = () => new HttpError(502);
60
- static serviceUnavailable = (headers) => new HttpError(503, undefined, undefined, headers);
61
- static gatewayTimeout = () => new HttpError(504);
62
- }
63
- exports.HttpError = HttpError;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HttpError = void 0;
4
+ const assert_1 = require("assert");
5
+ const deepClone = (o = {}) => JSON.parse(JSON.stringify(o));
6
+ const containsStackTrace = (text = '') => /at.+\.js:\d+:\d+/.test(text);
7
+ const objectContainsStackTrace = (obj) => (!obj ? false : containsStackTrace(JSON.stringify(obj)));
8
+ const supportedStatusCodes = {
9
+ 400: 'Bad Request',
10
+ 401: 'Unauthorized',
11
+ 403: 'Forbidden',
12
+ 404: 'Not Found',
13
+ 405: 'Method Not Allowed',
14
+ 409: 'Conflict',
15
+ 412: 'Precondition Failed',
16
+ 413: 'Payload Too Large',
17
+ 415: 'Unsupported Media Type',
18
+ 428: 'Precondition Required',
19
+ 429: 'Too Many Requests',
20
+ 500: 'Internal Server Error',
21
+ 501: 'Not Implemented',
22
+ 502: 'Bad Gateway',
23
+ 503: 'Service Unavailable',
24
+ 504: 'Gateway Timeout',
25
+ };
26
+ const supportedStatusCodesMessage = `statusCode must be one of the following: ${JSON.stringify(Object.keys(supportedStatusCodes))}`;
27
+ class HttpError extends Error {
28
+ body;
29
+ headers;
30
+ statusCode;
31
+ isServerError;
32
+ constructor(statusCode, message, body, headers) {
33
+ (0, assert_1.strict)(statusCode in supportedStatusCodes, supportedStatusCodesMessage);
34
+ const isServerError = statusCode > 499;
35
+ (0, assert_1.strict)(body === undefined || typeof body === 'object', 'body must be an object or omitted');
36
+ (0, assert_1.strict)(headers === undefined || typeof headers === 'object', 'headers must be an object or omitted');
37
+ message = message ?? supportedStatusCodes[statusCode];
38
+ (0, assert_1.strict)(!containsStackTrace(message) && !objectContainsStackTrace(body), 'the message or data parameters may not contain errors or stack traces');
39
+ super(message);
40
+ this.body = deepClone(body);
41
+ this.headers = deepClone(headers);
42
+ this.statusCode = statusCode;
43
+ this.isServerError = isServerError;
44
+ if (!this?.body?.message) {
45
+ this.body.message = this.message;
46
+ }
47
+ }
48
+ static get supportedStatusCodes() {
49
+ return supportedStatusCodes;
50
+ }
51
+ static badRequest = (message, body, headers) => {
52
+ return new HttpError(400, message, body, headers);
53
+ };
54
+ static unauthorized = (message, body, headers) => new HttpError(401, message, body, headers);
55
+ static forbidden = (message, body, headers) => new HttpError(403, message, body, headers);
56
+ static notFound = (message, body, headers) => new HttpError(404, message, body, headers);
57
+ static internal = (message, body, headers) => new HttpError(500, message, body, headers);
58
+ static notImplemented = () => new HttpError(501);
59
+ static badGateway = () => new HttpError(502);
60
+ static serviceUnavailable = (headers) => new HttpError(503, undefined, undefined, headers);
61
+ static gatewayTimeout = () => new HttpError(504);
62
+ }
63
+ exports.HttpError = HttpError;
64
64
  //# sourceMappingURL=http-error.js.map
@@ -1,58 +1,58 @@
1
- export declare enum HttpStatusCodes {
2
- CONTINUE = 100,
3
- SWITCHING_PROTOCOLS = 101,
4
- PROCESSING = 102,
5
- OK = 200,
6
- CREATED = 201,
7
- ACCEPTED = 202,
8
- NON_AUTHORITATIVE_INFORMATION = 203,
9
- NO_CONTENT = 204,
10
- RESET_CONTENT = 205,
11
- PARTIAL_CONTENT = 206,
12
- MULTI_STATUS = 207,
13
- MULTIPLE_CHOICES = 300,
14
- MOVED_PERMANENTLY = 301,
15
- MOVED_TEMPORARILY = 302,
16
- SEE_OTHER = 303,
17
- NOT_MODIFIED = 304,
18
- USE_PROXY = 305,
19
- TEMPORARY_REDIRECT = 307,
20
- PERMANENT_REDIRECT = 308,
21
- BAD_REQUEST = 400,
22
- UNAUTHORIZED = 401,
23
- PAYMENT_REQUIRED = 402,
24
- FORBIDDEN = 403,
25
- NOT_FOUND = 404,
26
- METHOD_NOT_ALLOWED = 405,
27
- NOT_ACCEPTABLE = 406,
28
- PROXY_AUTHENTICATION_REQUIRED = 407,
29
- REQUEST_TIMEOUT = 408,
30
- CONFLICT = 409,
31
- GONE = 410,
32
- LENGTH_REQUIRED = 411,
33
- PRECONDITION_FAILED = 412,
34
- REQUEST_TOO_LONG = 413,
35
- REQUEST_URI_TOO_LONG = 414,
36
- UNSUPPORTED_MEDIA_TYPE = 415,
37
- REQUESTED_RANGE_NOT_SATISFIABLE = 416,
38
- EXPECTATION_FAILED = 417,
39
- IM_A_TEAPOT = 418,
40
- INSUFFICIENT_SPACE_ON_RESOURCE = 419,
41
- METHOD_FAILURE = 420,
42
- MISDIRECTED_REQUEST = 421,
43
- UNPROCESSABLE_ENTITY = 422,
44
- LOCKED = 423,
45
- FAILED_DEPENDENCY = 424,
46
- PRECONDITION_REQUIRED = 428,
47
- TOO_MANY_REQUESTS = 429,
48
- REQUEST_HEADER_FIELDS_TOO_LARGE = 431,
49
- UNAVAILABLE_FOR_LEGAL_REASONS = 451,
50
- INTERNAL_SERVER_ERROR = 500,
51
- NOT_IMPLEMENTED = 501,
52
- BAD_GATEWAY = 502,
53
- SERVICE_UNAVAILABLE = 503,
54
- GATEWAY_TIMEOUT = 504,
55
- HTTP_VERSION_NOT_SUPPORTED = 505,
56
- INSUFFICIENT_STORAGE = 507,
57
- NETWORK_AUTHENTICATION_REQUIRED = 511
58
- }
1
+ export declare enum HttpStatusCodes {
2
+ CONTINUE = 100,
3
+ SWITCHING_PROTOCOLS = 101,
4
+ PROCESSING = 102,
5
+ OK = 200,
6
+ CREATED = 201,
7
+ ACCEPTED = 202,
8
+ NON_AUTHORITATIVE_INFORMATION = 203,
9
+ NO_CONTENT = 204,
10
+ RESET_CONTENT = 205,
11
+ PARTIAL_CONTENT = 206,
12
+ MULTI_STATUS = 207,
13
+ MULTIPLE_CHOICES = 300,
14
+ MOVED_PERMANENTLY = 301,
15
+ MOVED_TEMPORARILY = 302,
16
+ SEE_OTHER = 303,
17
+ NOT_MODIFIED = 304,
18
+ USE_PROXY = 305,
19
+ TEMPORARY_REDIRECT = 307,
20
+ PERMANENT_REDIRECT = 308,
21
+ BAD_REQUEST = 400,
22
+ UNAUTHORIZED = 401,
23
+ PAYMENT_REQUIRED = 402,
24
+ FORBIDDEN = 403,
25
+ NOT_FOUND = 404,
26
+ METHOD_NOT_ALLOWED = 405,
27
+ NOT_ACCEPTABLE = 406,
28
+ PROXY_AUTHENTICATION_REQUIRED = 407,
29
+ REQUEST_TIMEOUT = 408,
30
+ CONFLICT = 409,
31
+ GONE = 410,
32
+ LENGTH_REQUIRED = 411,
33
+ PRECONDITION_FAILED = 412,
34
+ REQUEST_TOO_LONG = 413,
35
+ REQUEST_URI_TOO_LONG = 414,
36
+ UNSUPPORTED_MEDIA_TYPE = 415,
37
+ REQUESTED_RANGE_NOT_SATISFIABLE = 416,
38
+ EXPECTATION_FAILED = 417,
39
+ IM_A_TEAPOT = 418,
40
+ INSUFFICIENT_SPACE_ON_RESOURCE = 419,
41
+ METHOD_FAILURE = 420,
42
+ MISDIRECTED_REQUEST = 421,
43
+ UNPROCESSABLE_ENTITY = 422,
44
+ LOCKED = 423,
45
+ FAILED_DEPENDENCY = 424,
46
+ PRECONDITION_REQUIRED = 428,
47
+ TOO_MANY_REQUESTS = 429,
48
+ REQUEST_HEADER_FIELDS_TOO_LARGE = 431,
49
+ UNAVAILABLE_FOR_LEGAL_REASONS = 451,
50
+ INTERNAL_SERVER_ERROR = 500,
51
+ NOT_IMPLEMENTED = 501,
52
+ BAD_GATEWAY = 502,
53
+ SERVICE_UNAVAILABLE = 503,
54
+ GATEWAY_TIMEOUT = 504,
55
+ HTTP_VERSION_NOT_SUPPORTED = 505,
56
+ INSUFFICIENT_STORAGE = 507,
57
+ NETWORK_AUTHENTICATION_REQUIRED = 511
58
+ }