@adtrackify/at-service-common 3.2.19 → 3.2.21

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 (325) hide show
  1. package/dist/cjs/__tests__/identity-cache/identity-cache-db-service.spec.d.ts +1 -1
  2. package/dist/cjs/__tests__/identity-cache/identity-cache-db-service.spec.js +527 -527
  3. package/dist/cjs/__tests__/libs/compress-decompress.spec.d.ts +1 -1
  4. package/dist/cjs/__tests__/libs/compress-decompress.spec.js +16 -16
  5. package/dist/cjs/__tests__/s3-client/s3-client.spec.d.ts +1 -1
  6. package/dist/cjs/__tests__/s3-client/s3-client.spec.js +26 -26
  7. package/dist/cjs/__tests__/shopify/shopify-graphql-transformer.spec.d.ts +1 -1
  8. package/dist/cjs/__tests__/shopify/shopify-graphql-transformer.spec.js +35 -35
  9. package/dist/cjs/clients/generic/cognito-client.d.ts +23 -23
  10. package/dist/cjs/clients/generic/cognito-client.js +209 -209
  11. package/dist/cjs/clients/generic/dynamodb-client.d.ts +17 -17
  12. package/dist/cjs/clients/generic/dynamodb-client.js +167 -167
  13. package/dist/cjs/clients/generic/eventbridge-client.d.ts +14 -14
  14. package/dist/cjs/clients/generic/eventbridge-client.js +49 -49
  15. package/dist/cjs/clients/generic/http-client.d.ts +14 -14
  16. package/dist/cjs/clients/generic/http-client.js +61 -61
  17. package/dist/cjs/clients/generic/index.d.ts +10 -10
  18. package/dist/cjs/clients/generic/index.js +26 -26
  19. package/dist/cjs/clients/generic/lambda-invoke-client.d.ts +10 -10
  20. package/dist/cjs/clients/generic/lambda-invoke-client.js +35 -35
  21. package/dist/cjs/clients/generic/location-client.d.ts +8 -8
  22. package/dist/cjs/clients/generic/location-client.js +31 -31
  23. package/dist/cjs/clients/generic/redis-client.d.ts +18 -18
  24. package/dist/cjs/clients/generic/redis-client.js +128 -128
  25. package/dist/cjs/clients/generic/s3-client.d.ts +21 -16
  26. package/dist/cjs/clients/generic/s3-client.js +166 -110
  27. package/dist/cjs/clients/generic/s3-client.js.map +1 -1
  28. package/dist/cjs/clients/generic/singlestore-db-client.d.ts +14 -14
  29. package/dist/cjs/clients/generic/singlestore-db-client.js +67 -67
  30. package/dist/cjs/clients/generic/sqs-client.d.ts +20 -20
  31. package/dist/cjs/clients/generic/sqs-client.js +36 -36
  32. package/dist/cjs/clients/index.d.ts +3 -3
  33. package/dist/cjs/clients/index.js +19 -19
  34. package/dist/cjs/clients/internal-api/accounts-client.d.ts +83 -83
  35. package/dist/cjs/clients/internal-api/accounts-client.js +107 -107
  36. package/dist/cjs/clients/internal-api/cache-lambda-client.d.ts +25 -25
  37. package/dist/cjs/clients/internal-api/cache-lambda-client.js +79 -79
  38. package/dist/cjs/clients/internal-api/db-management-client.d.ts +18 -18
  39. package/dist/cjs/clients/internal-api/db-management-client.js +36 -39
  40. package/dist/cjs/clients/internal-api/db-management-client.js.map +1 -1
  41. package/dist/cjs/clients/internal-api/destinations-client.d.ts +27 -27
  42. package/dist/cjs/clients/internal-api/destinations-client.js +51 -51
  43. package/dist/cjs/clients/internal-api/event-collector-client.d.ts +20 -20
  44. package/dist/cjs/clients/internal-api/event-collector-client.js +36 -39
  45. package/dist/cjs/clients/internal-api/event-collector-client.js.map +1 -1
  46. package/dist/cjs/clients/internal-api/identity-client.d.ts +25 -25
  47. package/dist/cjs/clients/internal-api/identity-client.js +92 -92
  48. package/dist/cjs/clients/internal-api/index.d.ts +9 -9
  49. package/dist/cjs/clients/internal-api/index.js +25 -25
  50. package/dist/cjs/clients/internal-api/shopify-app-install-client.d.ts +36 -36
  51. package/dist/cjs/clients/internal-api/shopify-app-install-client.js +68 -71
  52. package/dist/cjs/clients/internal-api/shopify-app-install-client.js.map +1 -1
  53. package/dist/cjs/clients/internal-api/subscriptions-client.d.ts +23 -22
  54. package/dist/cjs/clients/internal-api/subscriptions-client.js +58 -57
  55. package/dist/cjs/clients/internal-api/subscriptions-client.js.map +1 -1
  56. package/dist/cjs/clients/internal-api/users-auth-client.d.ts +35 -35
  57. package/dist/cjs/clients/internal-api/users-auth-client.js +110 -110
  58. package/dist/cjs/clients/third-party/index.d.ts +1 -1
  59. package/dist/cjs/clients/third-party/index.js +17 -17
  60. package/dist/cjs/clients/third-party/shopify/graphql-product-queries.d.ts +2 -2
  61. package/dist/cjs/clients/third-party/shopify/graphql-product-queries.js +5 -5
  62. package/dist/cjs/clients/third-party/shopify/shopify-graphql-client.d.ts +9 -9
  63. package/dist/cjs/clients/third-party/shopify/shopify-graphql-client.js +95 -95
  64. package/dist/cjs/clients/third-party/shopify-client.d.ts +29 -29
  65. package/dist/cjs/clients/third-party/shopify-client.js +144 -144
  66. package/dist/cjs/clients/third-party/shopify-client.js.map +1 -1
  67. package/dist/cjs/helpers/identity-cache-helper.d.ts +4 -4
  68. package/dist/cjs/helpers/identity-cache-helper.js +150 -150
  69. package/dist/cjs/helpers/index.d.ts +5 -5
  70. package/dist/cjs/helpers/index.js +21 -21
  71. package/dist/cjs/helpers/input-validation-helper.d.ts +3 -3
  72. package/dist/cjs/helpers/input-validation-helper.js +22 -22
  73. package/dist/cjs/helpers/logging-helper.d.ts +16 -16
  74. package/dist/cjs/helpers/logging-helper.js +84 -84
  75. package/dist/cjs/helpers/response-helper.d.ts +15 -15
  76. package/dist/cjs/helpers/response-helper.js +42 -42
  77. package/dist/cjs/helpers/shopify-helper.d.ts +9 -9
  78. package/dist/cjs/helpers/shopify-helper.js +28 -28
  79. package/dist/cjs/index.d.ts +5 -5
  80. package/dist/cjs/index.js +21 -21
  81. package/dist/cjs/libs/clickId-parser.d.ts +23 -23
  82. package/dist/cjs/libs/clickId-parser.js +49 -49
  83. package/dist/cjs/libs/compression.d.ts +2 -2
  84. package/dist/cjs/libs/compression.js +33 -33
  85. package/dist/cjs/libs/crypto.d.ts +1 -1
  86. package/dist/cjs/libs/crypto.js +12 -12
  87. package/dist/cjs/libs/dates.d.ts +6 -6
  88. package/dist/cjs/libs/dates.js +31 -31
  89. package/dist/cjs/libs/http-error.d.ts +21 -21
  90. package/dist/cjs/libs/http-error.js +59 -59
  91. package/dist/cjs/libs/http-status-codes.d.ts +58 -58
  92. package/dist/cjs/libs/http-status-codes.js +62 -62
  93. package/dist/cjs/libs/index.d.ts +9 -9
  94. package/dist/cjs/libs/index.js +25 -25
  95. package/dist/cjs/libs/referrer-parser/index.d.ts +2 -2
  96. package/dist/cjs/libs/referrer-parser/index.js +18 -18
  97. package/dist/cjs/libs/referrer-parser/referrer-data.d.ts +9 -9
  98. package/dist/cjs/libs/referrer-parser/referrer-data.js +4712 -4712
  99. package/dist/cjs/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
  100. package/dist/cjs/libs/referrer-parser/referrer-parser-util.js +128 -128
  101. package/dist/cjs/libs/url.d.ts +1 -1
  102. package/dist/cjs/libs/url.js +13 -13
  103. package/dist/cjs/services/cache/generic-cached-object.d.ts +5 -5
  104. package/dist/cjs/services/cache/generic-cached-object.js +2 -2
  105. package/dist/cjs/services/cache/index.d.ts +1 -1
  106. package/dist/cjs/services/cache/index.js +17 -17
  107. package/dist/cjs/services/cache/product-cache-service.d.ts +21 -21
  108. package/dist/cjs/services/cache/product-cache-service.js +68 -68
  109. package/dist/cjs/services/db/destinations-db-service.d.ts +9 -9
  110. package/dist/cjs/services/db/destinations-db-service.js +57 -57
  111. package/dist/cjs/services/db/identity-cache-db-service.d.ts +24 -24
  112. package/dist/cjs/services/db/identity-cache-db-service.js +233 -233
  113. package/dist/cjs/services/db/index.d.ts +7 -7
  114. package/dist/cjs/services/db/index.js +23 -23
  115. package/dist/cjs/services/db/log-events-db-service.d.ts +11 -11
  116. package/dist/cjs/services/db/log-events-db-service.js +172 -172
  117. package/dist/cjs/services/db/purchased-contacts-db-service.d.ts +9 -9
  118. package/dist/cjs/services/db/purchased-contacts-db-service.js +38 -38
  119. package/dist/cjs/services/db/shopify-app-installs-db-service.d.ts +7 -7
  120. package/dist/cjs/services/db/shopify-app-installs-db-service.js +47 -47
  121. package/dist/cjs/services/db/shopify-products-cache-db-service.d.ts +16 -16
  122. package/dist/cjs/services/db/shopify-products-cache-db-service.js +65 -65
  123. package/dist/cjs/services/db/tracking-events-db-service.d.ts +20 -20
  124. package/dist/cjs/services/db/tracking-events-db-service.js +162 -162
  125. package/dist/cjs/services/eventbridge-integration-service.d.ts +9 -9
  126. package/dist/cjs/services/eventbridge-integration-service.js +28 -28
  127. package/dist/cjs/services/generic-cache-service.d.ts +7 -7
  128. package/dist/cjs/services/generic-cache-service.js +33 -33
  129. package/dist/cjs/services/index.d.ts +8 -8
  130. package/dist/cjs/services/index.js +24 -24
  131. package/dist/cjs/services/ipdata-lookup-service.d.ts +19 -19
  132. package/dist/cjs/services/ipdata-lookup-service.js +77 -77
  133. package/dist/cjs/services/log-event-service.d.ts +9 -9
  134. package/dist/cjs/services/log-event-service.js +56 -56
  135. package/dist/cjs/services/metric-event-service.d.ts +9 -9
  136. package/dist/cjs/services/metric-event-service.js +49 -49
  137. package/dist/cjs/services/shopify/index.d.ts +3 -3
  138. package/dist/cjs/services/shopify/index.js +19 -19
  139. package/dist/cjs/services/shopify/products/index.d.ts +1 -1
  140. package/dist/cjs/services/shopify/products/index.js +17 -17
  141. package/dist/cjs/services/shopify/products/shopify-products-serviceV2.d.ts +17 -17
  142. package/dist/cjs/services/shopify/products/shopify-products-serviceV2.js +103 -103
  143. package/dist/cjs/services/shopify/shopify-graphql-transformer.d.ts +9 -9
  144. package/dist/cjs/services/shopify/shopify-graphql-transformer.js +137 -137
  145. package/dist/cjs/services/shopify/types/index.d.ts +1 -1
  146. package/dist/cjs/services/shopify/types/index.js +17 -17
  147. package/dist/cjs/services/shopify/types/product.d.ts +115 -115
  148. package/dist/cjs/services/shopify/types/product.js +9 -9
  149. package/dist/cjs/types/api-response.d.ts +6 -6
  150. package/dist/cjs/types/api-response.js +2 -2
  151. package/dist/cjs/types/index.d.ts +2 -2
  152. package/dist/cjs/types/index.js +18 -18
  153. package/dist/cjs/types/internal-events/event-detail-types.d.ts +20 -20
  154. package/dist/cjs/types/internal-events/event-detail-types.js +27 -27
  155. package/dist/cjs/types/internal-events/index.d.ts +1 -1
  156. package/dist/cjs/types/internal-events/index.js +17 -17
  157. package/dist/cjs/types/shopify-graphql-types/admin.generated.d.ts +105 -105
  158. package/dist/cjs/types/shopify-graphql-types/admin.generated.js +2 -2
  159. package/dist/cjs/types/shopify-graphql-types/admin.types.d.ts +26289 -26289
  160. package/dist/cjs/types/shopify-graphql-types/admin.types.js +5311 -5311
  161. package/dist/cjs/types/shopify-graphql-types/index.d.ts +2 -2
  162. package/dist/cjs/types/shopify-graphql-types/index.js +18 -18
  163. package/dist/esm/__tests__/identity-cache/identity-cache-db-service.spec.d.ts +1 -1
  164. package/dist/esm/__tests__/identity-cache/identity-cache-db-service.spec.js +525 -525
  165. package/dist/esm/__tests__/libs/compress-decompress.spec.d.ts +1 -1
  166. package/dist/esm/__tests__/libs/compress-decompress.spec.js +14 -14
  167. package/dist/esm/__tests__/s3-client/s3-client.spec.d.ts +1 -1
  168. package/dist/esm/__tests__/s3-client/s3-client.spec.js +24 -24
  169. package/dist/esm/__tests__/shopify/shopify-graphql-transformer.spec.d.ts +1 -1
  170. package/dist/esm/__tests__/shopify/shopify-graphql-transformer.spec.js +33 -33
  171. package/dist/esm/clients/generic/cognito-client.d.ts +23 -23
  172. package/dist/esm/clients/generic/cognito-client.js +204 -204
  173. package/dist/esm/clients/generic/dynamodb-client.d.ts +17 -17
  174. package/dist/esm/clients/generic/dynamodb-client.js +163 -163
  175. package/dist/esm/clients/generic/eventbridge-client.d.ts +14 -14
  176. package/dist/esm/clients/generic/eventbridge-client.js +45 -45
  177. package/dist/esm/clients/generic/http-client.d.ts +14 -14
  178. package/dist/esm/clients/generic/http-client.js +53 -53
  179. package/dist/esm/clients/generic/index.d.ts +10 -10
  180. package/dist/esm/clients/generic/index.js +10 -10
  181. package/dist/esm/clients/generic/lambda-invoke-client.d.ts +10 -10
  182. package/dist/esm/clients/generic/lambda-invoke-client.js +31 -31
  183. package/dist/esm/clients/generic/location-client.d.ts +8 -8
  184. package/dist/esm/clients/generic/location-client.js +27 -27
  185. package/dist/esm/clients/generic/redis-client.d.ts +18 -18
  186. package/dist/esm/clients/generic/redis-client.js +121 -121
  187. package/dist/esm/clients/generic/s3-client.d.ts +21 -16
  188. package/dist/esm/clients/generic/s3-client.js +162 -106
  189. package/dist/esm/clients/generic/s3-client.js.map +1 -1
  190. package/dist/esm/clients/generic/singlestore-db-client.d.ts +14 -14
  191. package/dist/esm/clients/generic/singlestore-db-client.js +40 -40
  192. package/dist/esm/clients/generic/sqs-client.d.ts +20 -20
  193. package/dist/esm/clients/generic/sqs-client.js +32 -32
  194. package/dist/esm/clients/index.d.ts +3 -3
  195. package/dist/esm/clients/index.js +3 -3
  196. package/dist/esm/clients/internal-api/accounts-client.d.ts +83 -83
  197. package/dist/esm/clients/internal-api/accounts-client.js +103 -103
  198. package/dist/esm/clients/internal-api/cache-lambda-client.d.ts +25 -25
  199. package/dist/esm/clients/internal-api/cache-lambda-client.js +75 -75
  200. package/dist/esm/clients/internal-api/db-management-client.d.ts +18 -18
  201. package/dist/esm/clients/internal-api/db-management-client.js +32 -32
  202. package/dist/esm/clients/internal-api/db-management-client.js.map +1 -1
  203. package/dist/esm/clients/internal-api/destinations-client.d.ts +27 -27
  204. package/dist/esm/clients/internal-api/destinations-client.js +47 -47
  205. package/dist/esm/clients/internal-api/event-collector-client.d.ts +20 -20
  206. package/dist/esm/clients/internal-api/event-collector-client.js +32 -32
  207. package/dist/esm/clients/internal-api/event-collector-client.js.map +1 -1
  208. package/dist/esm/clients/internal-api/identity-client.d.ts +25 -25
  209. package/dist/esm/clients/internal-api/identity-client.js +88 -88
  210. package/dist/esm/clients/internal-api/index.d.ts +9 -9
  211. package/dist/esm/clients/internal-api/index.js +9 -9
  212. package/dist/esm/clients/internal-api/shopify-app-install-client.d.ts +36 -36
  213. package/dist/esm/clients/internal-api/shopify-app-install-client.js +64 -64
  214. package/dist/esm/clients/internal-api/shopify-app-install-client.js.map +1 -1
  215. package/dist/esm/clients/internal-api/subscriptions-client.d.ts +23 -22
  216. package/dist/esm/clients/internal-api/subscriptions-client.js +54 -50
  217. package/dist/esm/clients/internal-api/subscriptions-client.js.map +1 -1
  218. package/dist/esm/clients/internal-api/users-auth-client.d.ts +35 -35
  219. package/dist/esm/clients/internal-api/users-auth-client.js +106 -106
  220. package/dist/esm/clients/third-party/index.d.ts +1 -1
  221. package/dist/esm/clients/third-party/index.js +1 -1
  222. package/dist/esm/clients/third-party/shopify/graphql-product-queries.d.ts +2 -2
  223. package/dist/esm/clients/third-party/shopify/graphql-product-queries.js +2 -2
  224. package/dist/esm/clients/third-party/shopify/shopify-graphql-client.d.ts +9 -9
  225. package/dist/esm/clients/third-party/shopify/shopify-graphql-client.js +91 -91
  226. package/dist/esm/clients/third-party/shopify-client.d.ts +29 -29
  227. package/dist/esm/clients/third-party/shopify-client.js +140 -140
  228. package/dist/esm/clients/third-party/shopify-client.js.map +1 -1
  229. package/dist/esm/helpers/identity-cache-helper.d.ts +4 -4
  230. package/dist/esm/helpers/identity-cache-helper.js +145 -145
  231. package/dist/esm/helpers/index.d.ts +5 -5
  232. package/dist/esm/helpers/index.js +5 -5
  233. package/dist/esm/helpers/input-validation-helper.d.ts +3 -3
  234. package/dist/esm/helpers/input-validation-helper.js +18 -18
  235. package/dist/esm/helpers/logging-helper.d.ts +16 -16
  236. package/dist/esm/helpers/logging-helper.js +56 -56
  237. package/dist/esm/helpers/response-helper.d.ts +15 -15
  238. package/dist/esm/helpers/response-helper.js +36 -36
  239. package/dist/esm/helpers/shopify-helper.d.ts +9 -9
  240. package/dist/esm/helpers/shopify-helper.js +23 -23
  241. package/dist/esm/index.d.ts +5 -5
  242. package/dist/esm/index.js +5 -5
  243. package/dist/esm/libs/clickId-parser.d.ts +23 -23
  244. package/dist/esm/libs/clickId-parser.js +45 -45
  245. package/dist/esm/libs/compression.d.ts +2 -2
  246. package/dist/esm/libs/compression.js +25 -25
  247. package/dist/esm/libs/crypto.d.ts +1 -1
  248. package/dist/esm/libs/crypto.js +5 -5
  249. package/dist/esm/libs/dates.d.ts +6 -6
  250. package/dist/esm/libs/dates.js +22 -22
  251. package/dist/esm/libs/http-error.d.ts +21 -21
  252. package/dist/esm/libs/http-error.js +55 -55
  253. package/dist/esm/libs/http-status-codes.d.ts +58 -58
  254. package/dist/esm/libs/http-status-codes.js +59 -59
  255. package/dist/esm/libs/index.d.ts +9 -9
  256. package/dist/esm/libs/index.js +9 -9
  257. package/dist/esm/libs/referrer-parser/index.d.ts +2 -2
  258. package/dist/esm/libs/referrer-parser/index.js +2 -2
  259. package/dist/esm/libs/referrer-parser/referrer-data.d.ts +9 -9
  260. package/dist/esm/libs/referrer-parser/referrer-data.js +4709 -4709
  261. package/dist/esm/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
  262. package/dist/esm/libs/referrer-parser/referrer-parser-util.js +121 -121
  263. package/dist/esm/libs/url.d.ts +1 -1
  264. package/dist/esm/libs/url.js +9 -9
  265. package/dist/esm/services/cache/generic-cached-object.d.ts +5 -5
  266. package/dist/esm/services/cache/generic-cached-object.js +1 -1
  267. package/dist/esm/services/cache/index.d.ts +1 -1
  268. package/dist/esm/services/cache/index.js +1 -1
  269. package/dist/esm/services/cache/product-cache-service.d.ts +21 -21
  270. package/dist/esm/services/cache/product-cache-service.js +60 -60
  271. package/dist/esm/services/db/destinations-db-service.d.ts +9 -9
  272. package/dist/esm/services/db/destinations-db-service.js +53 -53
  273. package/dist/esm/services/db/identity-cache-db-service.d.ts +24 -24
  274. package/dist/esm/services/db/identity-cache-db-service.js +229 -229
  275. package/dist/esm/services/db/index.d.ts +7 -7
  276. package/dist/esm/services/db/index.js +7 -7
  277. package/dist/esm/services/db/log-events-db-service.d.ts +11 -11
  278. package/dist/esm/services/db/log-events-db-service.js +168 -168
  279. package/dist/esm/services/db/purchased-contacts-db-service.d.ts +9 -9
  280. package/dist/esm/services/db/purchased-contacts-db-service.js +34 -34
  281. package/dist/esm/services/db/shopify-app-installs-db-service.d.ts +7 -7
  282. package/dist/esm/services/db/shopify-app-installs-db-service.js +43 -43
  283. package/dist/esm/services/db/shopify-products-cache-db-service.d.ts +16 -16
  284. package/dist/esm/services/db/shopify-products-cache-db-service.js +58 -58
  285. package/dist/esm/services/db/tracking-events-db-service.d.ts +20 -20
  286. package/dist/esm/services/db/tracking-events-db-service.js +158 -158
  287. package/dist/esm/services/eventbridge-integration-service.d.ts +9 -9
  288. package/dist/esm/services/eventbridge-integration-service.js +24 -24
  289. package/dist/esm/services/generic-cache-service.d.ts +7 -7
  290. package/dist/esm/services/generic-cache-service.js +29 -29
  291. package/dist/esm/services/index.d.ts +8 -8
  292. package/dist/esm/services/index.js +8 -8
  293. package/dist/esm/services/ipdata-lookup-service.d.ts +19 -19
  294. package/dist/esm/services/ipdata-lookup-service.js +73 -73
  295. package/dist/esm/services/log-event-service.d.ts +9 -9
  296. package/dist/esm/services/log-event-service.js +52 -52
  297. package/dist/esm/services/metric-event-service.d.ts +9 -9
  298. package/dist/esm/services/metric-event-service.js +45 -45
  299. package/dist/esm/services/shopify/index.d.ts +3 -3
  300. package/dist/esm/services/shopify/index.js +3 -3
  301. package/dist/esm/services/shopify/products/index.d.ts +1 -1
  302. package/dist/esm/services/shopify/products/index.js +1 -1
  303. package/dist/esm/services/shopify/products/shopify-products-serviceV2.d.ts +17 -17
  304. package/dist/esm/services/shopify/products/shopify-products-serviceV2.js +99 -99
  305. package/dist/esm/services/shopify/shopify-graphql-transformer.d.ts +9 -9
  306. package/dist/esm/services/shopify/shopify-graphql-transformer.js +134 -134
  307. package/dist/esm/services/shopify/types/index.d.ts +1 -1
  308. package/dist/esm/services/shopify/types/index.js +1 -1
  309. package/dist/esm/services/shopify/types/product.d.ts +115 -115
  310. package/dist/esm/services/shopify/types/product.js +6 -6
  311. package/dist/esm/types/api-response.d.ts +6 -6
  312. package/dist/esm/types/api-response.js +1 -1
  313. package/dist/esm/types/index.d.ts +2 -2
  314. package/dist/esm/types/index.js +2 -2
  315. package/dist/esm/types/internal-events/event-detail-types.d.ts +20 -20
  316. package/dist/esm/types/internal-events/event-detail-types.js +24 -24
  317. package/dist/esm/types/internal-events/index.d.ts +1 -1
  318. package/dist/esm/types/internal-events/index.js +1 -1
  319. package/dist/esm/types/shopify-graphql-types/admin.generated.d.ts +105 -105
  320. package/dist/esm/types/shopify-graphql-types/admin.generated.js +1 -1
  321. package/dist/esm/types/shopify-graphql-types/admin.types.d.ts +26289 -26289
  322. package/dist/esm/types/shopify-graphql-types/admin.types.js +5299 -5299
  323. package/dist/esm/types/shopify-graphql-types/index.d.ts +2 -2
  324. package/dist/esm/types/shopify-graphql-types/index.js +2 -2
  325. package/package.json +4 -4
@@ -1,10 +1,10 @@
1
- export * from './dynamodb-client.js';
2
- export * from './eventbridge-client.js';
3
- export * from './http-client.js';
4
- export * from './s3-client.js';
5
- export * from './cognito-client.js';
6
- export * from './sqs-client.js';
7
- export * from './location-client.js';
8
- export * from './singlestore-db-client.js';
9
- export * from './redis-client.js';
10
- export * from './lambda-invoke-client.js';
1
+ export * from './dynamodb-client.js';
2
+ export * from './eventbridge-client.js';
3
+ export * from './http-client.js';
4
+ export * from './s3-client.js';
5
+ export * from './cognito-client.js';
6
+ export * from './sqs-client.js';
7
+ export * from './location-client.js';
8
+ export * from './singlestore-db-client.js';
9
+ export * from './redis-client.js';
10
+ export * from './lambda-invoke-client.js';
@@ -1,27 +1,27 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./dynamodb-client.js"), exports);
18
- __exportStar(require("./eventbridge-client.js"), exports);
19
- __exportStar(require("./http-client.js"), exports);
20
- __exportStar(require("./s3-client.js"), exports);
21
- __exportStar(require("./cognito-client.js"), exports);
22
- __exportStar(require("./sqs-client.js"), exports);
23
- __exportStar(require("./location-client.js"), exports);
24
- __exportStar(require("./singlestore-db-client.js"), exports);
25
- __exportStar(require("./redis-client.js"), exports);
26
- __exportStar(require("./lambda-invoke-client.js"), exports);
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./dynamodb-client.js"), exports);
18
+ __exportStar(require("./eventbridge-client.js"), exports);
19
+ __exportStar(require("./http-client.js"), exports);
20
+ __exportStar(require("./s3-client.js"), exports);
21
+ __exportStar(require("./cognito-client.js"), exports);
22
+ __exportStar(require("./sqs-client.js"), exports);
23
+ __exportStar(require("./location-client.js"), exports);
24
+ __exportStar(require("./singlestore-db-client.js"), exports);
25
+ __exportStar(require("./redis-client.js"), exports);
26
+ __exportStar(require("./lambda-invoke-client.js"), exports);
27
27
  //# sourceMappingURL=index.js.map
@@ -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): Promise<CacheLambdaInvokeResponse | null>;
10
+ }
@@ -1,36 +1,36 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LambdaInvokeClient = void 0;
4
- const client_lambda_1 = require("@aws-sdk/client-lambda");
5
- const util_utf8_1 = require("@aws-sdk/util-utf8");
6
- const helpers_1 = require("../../helpers");
7
- class LambdaInvokeClient {
8
- lambda;
9
- constructor() {
10
- this.lambda = new client_lambda_1.LambdaClient();
11
- }
12
- async invokeFunction(functionName, payload) {
13
- const params = {
14
- FunctionName: functionName,
15
- InvocationType: 'RequestResponse',
16
- Payload: (0, util_utf8_1.toUint8Array)(JSON.stringify(payload)),
17
- };
18
- try {
19
- const response = await this.lambda.send(new client_lambda_1.InvokeCommand(params));
20
- helpers_1.Logger.debug('Lambda response:', { response });
21
- if (response?.Payload) {
22
- const parsedPayload = response?.Payload.transformToString();
23
- const jsonPayload = JSON.parse(parsedPayload);
24
- helpers_1.Logger.debug('parsed payload', { parsedPayload });
25
- return jsonPayload;
26
- }
27
- return null;
28
- }
29
- catch (error) {
30
- helpers_1.Logger.error('Error invoking lambda function:', { err: error, params });
31
- return null;
32
- }
33
- }
34
- }
35
- exports.LambdaInvokeClient = LambdaInvokeClient;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LambdaInvokeClient = void 0;
4
+ const client_lambda_1 = require("@aws-sdk/client-lambda");
5
+ const util_utf8_1 = require("@aws-sdk/util-utf8");
6
+ const helpers_1 = require("../../helpers");
7
+ class LambdaInvokeClient {
8
+ lambda;
9
+ constructor() {
10
+ this.lambda = new client_lambda_1.LambdaClient();
11
+ }
12
+ async invokeFunction(functionName, payload) {
13
+ const params = {
14
+ FunctionName: functionName,
15
+ InvocationType: 'RequestResponse',
16
+ Payload: (0, util_utf8_1.toUint8Array)(JSON.stringify(payload)),
17
+ };
18
+ try {
19
+ const response = await this.lambda.send(new client_lambda_1.InvokeCommand(params));
20
+ helpers_1.Logger.debug('Lambda response:', { response });
21
+ if (response?.Payload) {
22
+ const parsedPayload = response?.Payload.transformToString();
23
+ const jsonPayload = JSON.parse(parsedPayload);
24
+ helpers_1.Logger.debug('parsed payload', { parsedPayload });
25
+ return jsonPayload;
26
+ }
27
+ return null;
28
+ }
29
+ catch (error) {
30
+ helpers_1.Logger.error('Error invoking lambda function:', { err: error, params });
31
+ return null;
32
+ }
33
+ }
34
+ }
35
+ exports.LambdaInvokeClient = LambdaInvokeClient;
36
36
  //# sourceMappingURL=lambda-invoke-client.js.map
@@ -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,32 +1,32 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LocationClient = void 0;
4
- const client_location_1 = require("@aws-sdk/client-location");
5
- const index_js_1 = require("../../index.js");
6
- class LocationClient {
7
- PLACE_INDEX_NAME;
8
- PLACE_INDEX_API_KEY;
9
- client;
10
- constructor(placeIndexName, placeIndexAPIKey) {
11
- this.client = new client_location_1.LocationClient();
12
- this.PLACE_INDEX_NAME = placeIndexName;
13
- this.PLACE_INDEX_API_KEY = placeIndexAPIKey;
14
- }
15
- getPlaceFromLatLong = async (latitude, longitude, maxResults = 1) => {
16
- try {
17
- const command = new client_location_1.SearchPlaceIndexForPositionCommand({
18
- IndexName: this.PLACE_INDEX_NAME,
19
- Position: [longitude, latitude],
20
- MaxResults: maxResults,
21
- Key: this.PLACE_INDEX_API_KEY
22
- });
23
- return await this.client.send(command);
24
- }
25
- catch (error) {
26
- index_js_1.Logger.error('Failed to get place from lat lng', { latitude, longitude, maxResults, error });
27
- return null;
28
- }
29
- };
30
- }
31
- exports.LocationClient = LocationClient;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LocationClient = void 0;
4
+ const client_location_1 = require("@aws-sdk/client-location");
5
+ const index_js_1 = require("../../index.js");
6
+ class LocationClient {
7
+ PLACE_INDEX_NAME;
8
+ PLACE_INDEX_API_KEY;
9
+ client;
10
+ constructor(placeIndexName, placeIndexAPIKey) {
11
+ this.client = new client_location_1.LocationClient();
12
+ this.PLACE_INDEX_NAME = placeIndexName;
13
+ this.PLACE_INDEX_API_KEY = placeIndexAPIKey;
14
+ }
15
+ getPlaceFromLatLong = async (latitude, longitude, maxResults = 1) => {
16
+ try {
17
+ const command = new client_location_1.SearchPlaceIndexForPositionCommand({
18
+ IndexName: this.PLACE_INDEX_NAME,
19
+ Position: [longitude, latitude],
20
+ MaxResults: maxResults,
21
+ Key: this.PLACE_INDEX_API_KEY
22
+ });
23
+ return await this.client.send(command);
24
+ }
25
+ catch (error) {
26
+ index_js_1.Logger.error('Failed to get place from lat lng', { latitude, longitude, maxResults, error });
27
+ return null;
28
+ }
29
+ };
30
+ }
31
+ exports.LocationClient = LocationClient;
32
32
  //# sourceMappingURL=location-client.js.map
@@ -1,18 +1,18 @@
1
- import Redis from 'ioredis';
2
- export declare class RedisClient {
3
- private poolSize;
4
- private pool;
5
- host: string;
6
- port: number;
7
- constructor(host: string, port?: number, poolSize?: number);
8
- private createClient;
9
- private getClient;
10
- connect(client: Redis): Promise<void>;
11
- safeSet(key: string, value: string, ttlInSeconds?: number): Promise<void>;
12
- unsafeSet(key: string, value: string, ttlInSeconds?: number): Promise<void>;
13
- unsafeGet(key: string): Promise<string | null>;
14
- safeGet(key: string): Promise<string | null>;
15
- safeBatchGet(keys: string[]): Promise<(string | null)[] | null>;
16
- del(key: string): Promise<number>;
17
- disconnect(): Promise<void>;
18
- }
1
+ import Redis from 'ioredis';
2
+ export declare class RedisClient {
3
+ private poolSize;
4
+ private pool;
5
+ host: string;
6
+ port: number;
7
+ constructor(host: string, port?: number, poolSize?: number);
8
+ private createClient;
9
+ private getClient;
10
+ connect(client: Redis): Promise<void>;
11
+ safeSet(key: string, value: string, ttlInSeconds?: number): Promise<void>;
12
+ unsafeSet(key: string, value: string, ttlInSeconds?: number): Promise<void>;
13
+ unsafeGet(key: string): Promise<string | null>;
14
+ safeGet(key: string): Promise<string | null>;
15
+ safeBatchGet(keys: string[]): Promise<(string | null)[] | null>;
16
+ del(key: string): Promise<number>;
17
+ disconnect(): Promise<void>;
18
+ }
@@ -1,129 +1,129 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.RedisClient = void 0;
7
- const ioredis_1 = __importDefault(require("ioredis"));
8
- const helpers_1 = require("../../helpers");
9
- class RedisClient {
10
- poolSize;
11
- pool;
12
- host;
13
- port;
14
- constructor(host, port = 6379, poolSize = 3) {
15
- this.poolSize = poolSize;
16
- this.host = host;
17
- this.port = port;
18
- this.pool = Array.from({ length: poolSize }, () => this.createClient(host, port));
19
- }
20
- createClient(host, port) {
21
- try {
22
- const client = new ioredis_1.default({
23
- host: host,
24
- port: port,
25
- maxRetriesPerRequest: 3,
26
- commandTimeout: 3000,
27
- lazyConnect: true,
28
- keepAlive: 1000,
29
- });
30
- return client;
31
- }
32
- catch (err) {
33
- helpers_1.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
- helpers_1.Logger.debug('Connected to Redis');
49
- }
50
- catch (err) {
51
- helpers_1.Logger.error('Error connecting to Redis:', { err });
52
- return;
53
- }
54
- }
55
- async safeSet(key, value, ttlInSeconds) {
56
- try {
57
- const client = this.getClient();
58
- if (ttlInSeconds) {
59
- await client.set(key, value, 'EX', ttlInSeconds);
60
- }
61
- else {
62
- await client.set(key, value);
63
- }
64
- }
65
- catch (err) {
66
- helpers_1.Logger.error('Error setting value in Redis:', { err, key, value });
67
- return;
68
- }
69
- }
70
- async unsafeSet(key, value, ttlInSeconds) {
71
- const client = this.getClient();
72
- if (ttlInSeconds) {
73
- await client.set(key, value, 'EX', ttlInSeconds);
74
- }
75
- else {
76
- await client.set(key, value);
77
- }
78
- }
79
- async unsafeGet(key) {
80
- const client = this.getClient();
81
- helpers_1.Logger.debug('get', { key, client });
82
- return await client.get(key);
83
- }
84
- async safeGet(key) {
85
- try {
86
- const client = this.getClient();
87
- helpers_1.Logger.debug('get', { key, client });
88
- return await client.get(key);
89
- }
90
- catch (err) {
91
- helpers_1.Logger.error('Error getting value from Redis:', { err, key });
92
- return null;
93
- }
94
- }
95
- async safeBatchGet(keys) {
96
- try {
97
- const client = this.getClient();
98
- helpers_1.Logger.debug('get', { keys, client });
99
- return await client.mget(keys);
100
- }
101
- catch (err) {
102
- helpers_1.Logger.error('Error getting batch from Redis:', { err, keys });
103
- return null;
104
- }
105
- }
106
- async del(key) {
107
- try {
108
- const client = this.getClient();
109
- return await client.del(key);
110
- }
111
- catch (err) {
112
- helpers_1.Logger.error('Error deleting key from Redis:', { err });
113
- return 0;
114
- }
115
- }
116
- async disconnect() {
117
- try {
118
- const client = this.getClient();
119
- await client.quit();
120
- helpers_1.Logger.debug('Disconnected from Redis');
121
- }
122
- catch (err) {
123
- helpers_1.Logger.error('Error disconnecting from Redis:', { err });
124
- return;
125
- }
126
- }
127
- }
128
- exports.RedisClient = RedisClient;
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.RedisClient = void 0;
7
+ const ioredis_1 = __importDefault(require("ioredis"));
8
+ const helpers_1 = require("../../helpers");
9
+ class RedisClient {
10
+ poolSize;
11
+ pool;
12
+ host;
13
+ port;
14
+ constructor(host, port = 6379, poolSize = 3) {
15
+ this.poolSize = poolSize;
16
+ this.host = host;
17
+ this.port = port;
18
+ this.pool = Array.from({ length: poolSize }, () => this.createClient(host, port));
19
+ }
20
+ createClient(host, port) {
21
+ try {
22
+ const client = new ioredis_1.default({
23
+ host: host,
24
+ port: port,
25
+ maxRetriesPerRequest: 3,
26
+ commandTimeout: 3000,
27
+ lazyConnect: true,
28
+ keepAlive: 1000,
29
+ });
30
+ return client;
31
+ }
32
+ catch (err) {
33
+ helpers_1.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
+ helpers_1.Logger.debug('Connected to Redis');
49
+ }
50
+ catch (err) {
51
+ helpers_1.Logger.error('Error connecting to Redis:', { err });
52
+ return;
53
+ }
54
+ }
55
+ async safeSet(key, value, ttlInSeconds) {
56
+ try {
57
+ const client = this.getClient();
58
+ if (ttlInSeconds) {
59
+ await client.set(key, value, 'EX', ttlInSeconds);
60
+ }
61
+ else {
62
+ await client.set(key, value);
63
+ }
64
+ }
65
+ catch (err) {
66
+ helpers_1.Logger.error('Error setting value in Redis:', { err, key, value });
67
+ return;
68
+ }
69
+ }
70
+ async unsafeSet(key, value, ttlInSeconds) {
71
+ const client = this.getClient();
72
+ if (ttlInSeconds) {
73
+ await client.set(key, value, 'EX', ttlInSeconds);
74
+ }
75
+ else {
76
+ await client.set(key, value);
77
+ }
78
+ }
79
+ async unsafeGet(key) {
80
+ const client = this.getClient();
81
+ helpers_1.Logger.debug('get', { key, client });
82
+ return await client.get(key);
83
+ }
84
+ async safeGet(key) {
85
+ try {
86
+ const client = this.getClient();
87
+ helpers_1.Logger.debug('get', { key, client });
88
+ return await client.get(key);
89
+ }
90
+ catch (err) {
91
+ helpers_1.Logger.error('Error getting value from Redis:', { err, key });
92
+ return null;
93
+ }
94
+ }
95
+ async safeBatchGet(keys) {
96
+ try {
97
+ const client = this.getClient();
98
+ helpers_1.Logger.debug('get', { keys, client });
99
+ return await client.mget(keys);
100
+ }
101
+ catch (err) {
102
+ helpers_1.Logger.error('Error getting batch from Redis:', { err, keys });
103
+ return null;
104
+ }
105
+ }
106
+ async del(key) {
107
+ try {
108
+ const client = this.getClient();
109
+ return await client.del(key);
110
+ }
111
+ catch (err) {
112
+ helpers_1.Logger.error('Error deleting key from Redis:', { err });
113
+ return 0;
114
+ }
115
+ }
116
+ async disconnect() {
117
+ try {
118
+ const client = this.getClient();
119
+ await client.quit();
120
+ helpers_1.Logger.debug('Disconnected from Redis');
121
+ }
122
+ catch (err) {
123
+ helpers_1.Logger.error('Error disconnecting from Redis:', { err });
124
+ return;
125
+ }
126
+ }
127
+ }
128
+ exports.RedisClient = RedisClient;
129
129
  //# sourceMappingURL=redis-client.js.map
@@ -1,16 +1,21 @@
1
- import { ObjectCannedACL, PutObjectCommandOutput, S3 } from '@aws-sdk/client-s3';
2
- export declare class S3Client {
3
- s3: S3;
4
- constructor(region?: string);
5
- getObject(path: string, bucket: string): Promise<any>;
6
- checkObjectExists(path: string, bucket: string): Promise<boolean>;
7
- checkAndUploadJson(path: string, bucket: string, jsonData: any, ACL?: ObjectCannedACL, retryCount?: number, maxRetries?: number): Promise<{
8
- status: boolean;
9
- response?: PutObjectCommandOutput;
10
- }>;
11
- uploadJson(path: string, bucket: string, jsonData: any, ACL?: ObjectCannedACL, retryCount?: number, maxRetries?: number, stringify?: boolean): Promise<{
12
- status: boolean;
13
- response: PutObjectCommandOutput;
14
- }>;
15
- moveObject(bucket: string, key: string, moveToKey: string): Promise<any>;
16
- }
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
+ getObject(path: string, bucket: string): Promise<StreamingBlobPayloadOutputTypes | null>;
8
+ getObjectContentAsString(path: string, bucket: string, encoding?: BufferEncoding): Promise<string | null>;
9
+ checkObjectExists(path: string, bucket: string): Promise<boolean>;
10
+ checkAndUploadJson(path: string, bucket: string, jsonData: any, ACL?: ObjectCannedACL, retryCount?: number, maxRetries?: number): Promise<{
11
+ status: boolean;
12
+ response?: PutObjectCommandOutput;
13
+ }>;
14
+ uploadJson(path: string, bucket: string, jsonData: any, ACL?: ObjectCannedACL, retryCount?: number, maxRetries?: number, stringify?: boolean): Promise<{
15
+ status: boolean;
16
+ response: PutObjectCommandOutput;
17
+ }>;
18
+ copyObject(bucket: string, key: string, copyToKey: string): Promise<boolean>;
19
+ deleteObject(bucket: string, key: string): Promise<boolean>;
20
+ moveObject(bucket: string, key: string, moveToKey: string): Promise<boolean>;
21
+ }