@blux.ai/web-sdk 2.2.10 → 2.2.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (272) hide show
  1. package/.tsbuildinfo.noEmit +1 -0
  2. package/CLAUDE.md +70 -0
  3. package/dist/BluxClient.d.ts +162 -0
  4. package/dist/BluxClient.js +711 -0
  5. package/dist/BluxClient.js.map +1 -0
  6. package/dist/apis/APIs.d.ts +620 -0
  7. package/dist/apis/APIs.js +163 -0
  8. package/dist/apis/APIs.js.map +1 -0
  9. package/dist/apis/createCrmEvent.js +12 -0
  10. package/dist/apis/createCrmEvent.js.map +1 -0
  11. package/dist/apis/createEvent.js +12 -0
  12. package/dist/apis/createEvent.js.map +1 -0
  13. package/dist/apis/getItemRecommendations.js +12 -0
  14. package/dist/apis/getItemRecommendations.js.map +1 -0
  15. package/dist/apis/initialize.js +12 -0
  16. package/dist/apis/initialize.js.map +1 -0
  17. package/dist/apis/notificationsUpdate.js +10 -0
  18. package/dist/apis/notificationsUpdate.js.map +1 -0
  19. package/dist/apis/signIn.js +12 -0
  20. package/dist/apis/signIn.js.map +1 -0
  21. package/dist/apis/signOut.js +12 -0
  22. package/dist/apis/signOut.js.map +1 -0
  23. package/dist/apis/updateProperties.js +12 -0
  24. package/dist/apis/updateProperties.js.map +1 -0
  25. package/dist/bridges/AndroidBridge.js +43 -0
  26. package/dist/bridges/AndroidBridge.js.map +1 -0
  27. package/dist/bridges/Bridge.d.ts +9 -0
  28. package/dist/bridges/Bridge.js +13 -0
  29. package/dist/bridges/Bridge.js.map +1 -0
  30. package/dist/bridges/FlutterBridge.js +50 -0
  31. package/dist/bridges/FlutterBridge.js.map +1 -0
  32. package/dist/bridges/IosBridge.js +44 -0
  33. package/dist/bridges/IosBridge.js.map +1 -0
  34. package/dist/bridges/RNBridge.js +44 -0
  35. package/dist/bridges/RNBridge.js.map +1 -0
  36. package/dist/constants/BLUX_ATTRIBUTES.js +9 -0
  37. package/dist/constants/BLUX_ATTRIBUTES.js.map +1 -0
  38. package/dist/constants/COUNTRIES.js +1163 -0
  39. package/dist/constants/COUNTRIES.js.map +1 -0
  40. package/dist/constants/ISO8601_REGEX.js +6 -0
  41. package/dist/constants/ISO8601_REGEX.js.map +1 -0
  42. package/dist/events/AddCartaddEvent.d.ts +14 -0
  43. package/dist/events/AddCartaddEvent.js +19 -0
  44. package/dist/events/AddCartaddEvent.js.map +1 -0
  45. package/dist/events/AddClickEvent.d.ts +14 -0
  46. package/dist/events/AddClickEvent.js +19 -0
  47. package/dist/events/AddClickEvent.js.map +1 -0
  48. package/dist/events/AddCustomEvent.d.ts +14 -0
  49. package/dist/events/AddCustomEvent.js +16 -0
  50. package/dist/events/AddCustomEvent.js.map +1 -0
  51. package/dist/events/AddInstantImpressionEvent.d.ts +17 -0
  52. package/dist/events/AddInstantImpressionEvent.js +22 -0
  53. package/dist/events/AddInstantImpressionEvent.js.map +1 -0
  54. package/dist/events/AddLikeEvent.d.ts +14 -0
  55. package/dist/events/AddLikeEvent.js +19 -0
  56. package/dist/events/AddLikeEvent.js.map +1 -0
  57. package/dist/events/AddOrderEvent.d.ts +16 -0
  58. package/dist/events/AddOrderEvent.js +21 -0
  59. package/dist/events/AddOrderEvent.js.map +1 -0
  60. package/dist/events/AddPageViewEvent.d.ts +14 -0
  61. package/dist/events/AddPageViewEvent.js +19 -0
  62. package/dist/events/AddPageViewEvent.js.map +1 -0
  63. package/dist/events/AddPageVisitEvent.d.ts +13 -0
  64. package/dist/events/AddPageVisitEvent.js +16 -0
  65. package/dist/events/AddPageVisitEvent.js.map +1 -0
  66. package/dist/events/AddPersistentImpressionEvent.d.ts +17 -0
  67. package/dist/events/AddPersistentImpressionEvent.js +22 -0
  68. package/dist/events/AddPersistentImpressionEvent.js.map +1 -0
  69. package/dist/events/AddProductDetailViewEvent.d.ts +14 -0
  70. package/dist/events/AddProductDetailViewEvent.js +19 -0
  71. package/dist/events/AddProductDetailViewEvent.js.map +1 -0
  72. package/dist/events/AddRateEvent.d.ts +15 -0
  73. package/dist/events/AddRateEvent.js +20 -0
  74. package/dist/events/AddRateEvent.js.map +1 -0
  75. package/dist/events/AddSearchEvent.d.ts +14 -0
  76. package/dist/events/AddSearchEvent.js +19 -0
  77. package/dist/events/AddSearchEvent.js.map +1 -0
  78. package/dist/events/AddSectionViewEvent.d.ts +14 -0
  79. package/dist/events/AddSectionViewEvent.js +19 -0
  80. package/dist/events/AddSectionViewEvent.js.map +1 -0
  81. package/dist/events/Event.d.ts +10 -0
  82. package/dist/events/Event.js +40 -0
  83. package/dist/events/Event.js.map +1 -0
  84. package/dist/events/VisitEvent.d.ts +13 -0
  85. package/dist/events/VisitEvent.js +16 -0
  86. package/dist/events/VisitEvent.js.map +1 -0
  87. package/dist/events/index.d.ts +14 -0
  88. package/dist/events/index.js +14 -0
  89. package/dist/events/types.d.ts +72 -0
  90. package/dist/index.d.ts +19 -0
  91. package/dist/index.js +20 -0
  92. package/dist/package.js +6 -0
  93. package/dist/package.js.map +1 -0
  94. package/dist/recs/ItemRec.d.ts +38 -0
  95. package/dist/recs/ItemRec.js +46 -0
  96. package/dist/recs/ItemRec.js.map +1 -0
  97. package/dist/recs/Rec.d.ts +10 -0
  98. package/dist/recs/Rec.js +11 -0
  99. package/dist/recs/Rec.js.map +1 -0
  100. package/dist/recs/types.d.ts +26 -0
  101. package/dist/utils/Base.d.ts +8 -0
  102. package/dist/utils/LocalStorage.js +39 -0
  103. package/dist/utils/LocalStorage.js.map +1 -0
  104. package/dist/utils/Logger.d.ts +5 -0
  105. package/dist/utils/Logger.js +48 -0
  106. package/dist/utils/Logger.js.map +1 -0
  107. package/dist/utils/SessionStorage.js +22 -0
  108. package/dist/utils/SessionStorage.js.map +1 -0
  109. package/dist/utils/assertEqualTypes.js +0 -0
  110. package/dist/utils/getPath.js +12 -0
  111. package/dist/utils/getPath.js.map +1 -0
  112. package/dist/utils/observables.js +19 -0
  113. package/dist/utils/observables.js.map +1 -0
  114. package/dist/utils/operators.js +10 -0
  115. package/dist/utils/operators.js.map +1 -0
  116. package/dist/utils/zodSchemas.d.ts +121 -0
  117. package/dist/utils/zodSchemas.js +103 -0
  118. package/dist/utils/zodSchemas.js.map +1 -0
  119. package/package.json +16 -6
  120. package/tsdown.config.mts +19 -0
  121. package/dist/package.json +0 -32
  122. package/dist/src/BluxClient.d.ts +0 -151
  123. package/dist/src/BluxClient.js +0 -823
  124. package/dist/src/BluxClient.js.map +0 -1
  125. package/dist/src/apis/APIs.d.ts +0 -618
  126. package/dist/src/apis/APIs.js +0 -168
  127. package/dist/src/apis/APIs.js.map +0 -1
  128. package/dist/src/apis/createCrmEvent.d.ts +0 -4
  129. package/dist/src/apis/createCrmEvent.js +0 -7
  130. package/dist/src/apis/createCrmEvent.js.map +0 -1
  131. package/dist/src/apis/createEvent.d.ts +0 -4
  132. package/dist/src/apis/createEvent.js +0 -7
  133. package/dist/src/apis/createEvent.js.map +0 -1
  134. package/dist/src/apis/getItemRecommendations.d.ts +0 -4
  135. package/dist/src/apis/getItemRecommendations.js +0 -7
  136. package/dist/src/apis/getItemRecommendations.js.map +0 -1
  137. package/dist/src/apis/initialize.d.ts +0 -4
  138. package/dist/src/apis/initialize.js +0 -7
  139. package/dist/src/apis/initialize.js.map +0 -1
  140. package/dist/src/apis/notificationsUpdate.d.ts +0 -4
  141. package/dist/src/apis/notificationsUpdate.js +0 -7
  142. package/dist/src/apis/notificationsUpdate.js.map +0 -1
  143. package/dist/src/apis/signIn.d.ts +0 -4
  144. package/dist/src/apis/signIn.js +0 -7
  145. package/dist/src/apis/signIn.js.map +0 -1
  146. package/dist/src/apis/signOut.d.ts +0 -4
  147. package/dist/src/apis/signOut.js +0 -7
  148. package/dist/src/apis/signOut.js.map +0 -1
  149. package/dist/src/apis/updateProperties.d.ts +0 -4
  150. package/dist/src/apis/updateProperties.js +0 -7
  151. package/dist/src/apis/updateProperties.js.map +0 -1
  152. package/dist/src/bridges/AndroidBridge.d.ts +0 -11
  153. package/dist/src/bridges/AndroidBridge.js +0 -39
  154. package/dist/src/bridges/AndroidBridge.js.map +0 -1
  155. package/dist/src/bridges/Bridge.d.ts +0 -31
  156. package/dist/src/bridges/Bridge.js +0 -19
  157. package/dist/src/bridges/Bridge.js.map +0 -1
  158. package/dist/src/bridges/FlutterBridge.d.ts +0 -11
  159. package/dist/src/bridges/FlutterBridge.js +0 -45
  160. package/dist/src/bridges/FlutterBridge.js.map +0 -1
  161. package/dist/src/bridges/IosBridge.d.ts +0 -11
  162. package/dist/src/bridges/IosBridge.js +0 -40
  163. package/dist/src/bridges/IosBridge.js.map +0 -1
  164. package/dist/src/bridges/RNBridge.d.ts +0 -11
  165. package/dist/src/bridges/RNBridge.js +0 -39
  166. package/dist/src/bridges/RNBridge.js.map +0 -1
  167. package/dist/src/constants/BLUX_ATTRIBUTES.d.ts +0 -4
  168. package/dist/src/constants/BLUX_ATTRIBUTES.js +0 -5
  169. package/dist/src/constants/BLUX_ATTRIBUTES.js.map +0 -1
  170. package/dist/src/constants/COUNTRIES.d.ts +0 -928
  171. package/dist/src/constants/COUNTRIES.js +0 -1159
  172. package/dist/src/constants/COUNTRIES.js.map +0 -1
  173. package/dist/src/constants/ISO8601_REGEX.d.ts +0 -1
  174. package/dist/src/constants/ISO8601_REGEX.js +0 -4
  175. package/dist/src/constants/ISO8601_REGEX.js.map +0 -1
  176. package/dist/src/events/AddCartaddEvent.d.ts +0 -5
  177. package/dist/src/events/AddCartaddEvent.js +0 -14
  178. package/dist/src/events/AddCartaddEvent.js.map +0 -1
  179. package/dist/src/events/AddClickEvent.d.ts +0 -5
  180. package/dist/src/events/AddClickEvent.js +0 -14
  181. package/dist/src/events/AddClickEvent.js.map +0 -1
  182. package/dist/src/events/AddCustomEvent.d.ts +0 -5
  183. package/dist/src/events/AddCustomEvent.js +0 -11
  184. package/dist/src/events/AddCustomEvent.js.map +0 -1
  185. package/dist/src/events/AddInstantImpressionEvent.d.ts +0 -5
  186. package/dist/src/events/AddInstantImpressionEvent.js +0 -17
  187. package/dist/src/events/AddInstantImpressionEvent.js.map +0 -1
  188. package/dist/src/events/AddLikeEvent.d.ts +0 -5
  189. package/dist/src/events/AddLikeEvent.js +0 -14
  190. package/dist/src/events/AddLikeEvent.js.map +0 -1
  191. package/dist/src/events/AddOrderEvent.d.ts +0 -5
  192. package/dist/src/events/AddOrderEvent.js +0 -16
  193. package/dist/src/events/AddOrderEvent.js.map +0 -1
  194. package/dist/src/events/AddPageViewEvent.d.ts +0 -5
  195. package/dist/src/events/AddPageViewEvent.js +0 -11
  196. package/dist/src/events/AddPageViewEvent.js.map +0 -1
  197. package/dist/src/events/AddPageVisitEvent.d.ts +0 -5
  198. package/dist/src/events/AddPageVisitEvent.js +0 -13
  199. package/dist/src/events/AddPageVisitEvent.js.map +0 -1
  200. package/dist/src/events/AddPersistentImpressionEvent.d.ts +0 -5
  201. package/dist/src/events/AddPersistentImpressionEvent.js +0 -17
  202. package/dist/src/events/AddPersistentImpressionEvent.js.map +0 -1
  203. package/dist/src/events/AddProductDetailViewEvent.d.ts +0 -5
  204. package/dist/src/events/AddProductDetailViewEvent.js +0 -14
  205. package/dist/src/events/AddProductDetailViewEvent.js.map +0 -1
  206. package/dist/src/events/AddRateEvent.d.ts +0 -5
  207. package/dist/src/events/AddRateEvent.js +0 -11
  208. package/dist/src/events/AddRateEvent.js.map +0 -1
  209. package/dist/src/events/AddSearchEvent.d.ts +0 -5
  210. package/dist/src/events/AddSearchEvent.js +0 -11
  211. package/dist/src/events/AddSearchEvent.js.map +0 -1
  212. package/dist/src/events/AddSectionViewEvent.d.ts +0 -5
  213. package/dist/src/events/AddSectionViewEvent.js +0 -14
  214. package/dist/src/events/AddSectionViewEvent.js.map +0 -1
  215. package/dist/src/events/Event.d.ts +0 -27
  216. package/dist/src/events/Event.js +0 -36
  217. package/dist/src/events/Event.js.map +0 -1
  218. package/dist/src/events/VisitEvent.d.ts +0 -5
  219. package/dist/src/events/VisitEvent.js +0 -13
  220. package/dist/src/events/VisitEvent.js.map +0 -1
  221. package/dist/src/events/index.d.ts +0 -14
  222. package/dist/src/events/index.js +0 -15
  223. package/dist/src/events/index.js.map +0 -1
  224. package/dist/src/events/types.d.ts +0 -68
  225. package/dist/src/events/types.js +0 -3
  226. package/dist/src/events/types.js.map +0 -1
  227. package/dist/src/index.d.ts +0 -6
  228. package/dist/src/index.js +0 -6
  229. package/dist/src/index.js.map +0 -1
  230. package/dist/src/recs/ItemRec.d.ts +0 -14
  231. package/dist/src/recs/ItemRec.js +0 -42
  232. package/dist/src/recs/ItemRec.js.map +0 -1
  233. package/dist/src/recs/Rec.d.ts +0 -5
  234. package/dist/src/recs/Rec.js +0 -9
  235. package/dist/src/recs/Rec.js.map +0 -1
  236. package/dist/src/recs/index.d.ts +0 -1
  237. package/dist/src/recs/index.js +0 -2
  238. package/dist/src/recs/index.js.map +0 -1
  239. package/dist/src/recs/types.d.ts +0 -23
  240. package/dist/src/recs/types.js +0 -2
  241. package/dist/src/recs/types.js.map +0 -1
  242. package/dist/src/utils/Base.d.ts +0 -13
  243. package/dist/src/utils/Base.js +0 -2
  244. package/dist/src/utils/Base.js.map +0 -1
  245. package/dist/src/utils/LocalStorage.d.ts +0 -10
  246. package/dist/src/utils/LocalStorage.js +0 -37
  247. package/dist/src/utils/LocalStorage.js.map +0 -1
  248. package/dist/src/utils/Logger.d.ts +0 -13
  249. package/dist/src/utils/Logger.js +0 -48
  250. package/dist/src/utils/Logger.js.map +0 -1
  251. package/dist/src/utils/SessionStorage.d.ts +0 -6
  252. package/dist/src/utils/SessionStorage.js +0 -18
  253. package/dist/src/utils/SessionStorage.js.map +0 -1
  254. package/dist/src/utils/assertEqualTypes.d.ts +0 -3
  255. package/dist/src/utils/assertEqualTypes.js +0 -5
  256. package/dist/src/utils/assertEqualTypes.js.map +0 -1
  257. package/dist/src/utils/getPath.d.ts +0 -1
  258. package/dist/src/utils/getPath.js +0 -9
  259. package/dist/src/utils/getPath.js.map +0 -1
  260. package/dist/src/utils/helper.d.ts +0 -1
  261. package/dist/src/utils/helper.js +0 -4
  262. package/dist/src/utils/helper.js.map +0 -1
  263. package/dist/src/utils/observables.d.ts +0 -1
  264. package/dist/src/utils/observables.js +0 -5
  265. package/dist/src/utils/observables.js.map +0 -1
  266. package/dist/src/utils/operators.d.ts +0 -2
  267. package/dist/src/utils/operators.js +0 -5
  268. package/dist/src/utils/operators.js.map +0 -1
  269. package/dist/src/utils/zodSchemas.d.ts +0 -159
  270. package/dist/src/utils/zodSchemas.js +0 -157
  271. package/dist/src/utils/zodSchemas.js.map +0 -1
  272. package/dist/tsconfig.tsbuildinfo +0 -1
@@ -1,159 +0,0 @@
1
- import ObjectId from "bson-objectid";
2
- import { z } from "zod";
3
- export declare const objectIdSchema: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, ObjectId, string>;
4
- export declare const stringToNumberSchema: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, string | number, string | number>, number, string | number>;
5
- export declare const dateSchema: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>;
6
- export declare const anonymousObjectSchema: <T extends object = object>() => z.ZodEffects<z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, T, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>;
7
- export declare const countryCodeWithLowerCaseSchema: z.ZodEffects<z.ZodPipeline<z.ZodEffects<z.ZodString, string, string>, z.ZodUnion<[z.ZodLiteral<"419">, z.ZodEnum<["AF" | "AL" | "DZ" | "AS" | "AD" | "AO" | "AI" | "AG" | "AR" | "AM" | "AW" | "AU" | "AT" | "AZ" | "BS" | "BH" | "BD" | "BB" | "BY" | "BE" | "BZ" | "BJ" | "BM" | "BT" | "BO" | "BA" | "BW" | "BR" | "IO" | "BN" | "BG" | "BF" | "BI" | "KH" | "CM" | "CV" | "KY" | "CF" | "TD" | "CL" | "CN" | "CO" | "KM" | "CG" | "CD" | "CK" | "CR" | "CI" | "HR" | "CU" | "CY" | "CZ" | "DK" | "DJ" | "DM" | "DO" | "EC" | "EG" | "SV" | "GQ" | "ER" | "EE" | "ET" | "FK" | "FO" | "FJ" | "FI" | "FR" | "GF" | "PF" | "GA" | "GM" | "GE" | "DE" | "GH" | "GI" | "GR" | "GL" | "GD" | "GP" | "GU" | "GT" | "GN" | "GW" | "HT" | "VA" | "HN" | "HK" | "HU" | "IS" | "IN" | "ID" | "IR" | "IQ" | "IE" | "IL" | "IT" | "JM" | "JP" | "JO" | "KE" | "KI" | "KP" | "KR" | "KW" | "KG" | "LA" | "LV" | "LB" | "LS" | "LR" | "LY" | "LI" | "LT" | "LU" | "MO" | "MK" | "MG" | "MW" | "MY" | "MV" | "ML" | "MT" | "MH" | "MQ" | "MR" | "MU" | "YT" | "MX" | "FM" | "MD" | "MC" | "MN" | "ME" | "MS" | "MA" | "MZ" | "MM" | "NA" | "NR" | "NP" | "NL" | "NC" | "NZ" | "NI" | "NE" | "NG" | "NU" | "NF" | "MP" | "NO" | "OM" | "PK" | "PW" | "PS" | "PA" | "PG" | "PY" | "GY" | "PE" | "PH" | "PL" | "PT" | "PR" | "QA" | "RO" | "RU" | "KZ" | "RW" | "RE" | "BL" | "SH" | "KN" | "LC" | "MF" | "PM" | "VC" | "WS" | "SM" | "ST" | "SA" | "SN" | "RS" | "SC" | "SL" | "SG" | "SK" | "SI" | "SB" | "SO" | "ZA" | "SS" | "ES" | "LK" | "SD" | "SR" | "SZ" | "SE" | "CH" | "SY" | "TW" | "TJ" | "TZ" | "TH" | "TL" | "TG" | "TK" | "TO" | "TT" | "TN" | "TR" | "TM" | "TC" | "TV" | "UG" | "UA" | "AE" | "GB" | "US" | "CA" | "UY" | "UZ" | "VU" | "VE" | "VN" | "VG" | "VI" | "WF" | "YE" | "ZM" | "ZW", ...("AF" | "AL" | "DZ" | "AS" | "AD" | "AO" | "AI" | "AG" | "AR" | "AM" | "AW" | "AU" | "AT" | "AZ" | "BS" | "BH" | "BD" | "BB" | "BY" | "BE" | "BZ" | "BJ" | "BM" | "BT" | "BO" | "BA" | "BW" | "BR" | "IO" | "BN" | "BG" | "BF" | "BI" | "KH" | "CM" | "CV" | "KY" | "CF" | "TD" | "CL" | "CN" | "CO" | "KM" | "CG" | "CD" | "CK" | "CR" | "CI" | "HR" | "CU" | "CY" | "CZ" | "DK" | "DJ" | "DM" | "DO" | "EC" | "EG" | "SV" | "GQ" | "ER" | "EE" | "ET" | "FK" | "FO" | "FJ" | "FI" | "FR" | "GF" | "PF" | "GA" | "GM" | "GE" | "DE" | "GH" | "GI" | "GR" | "GL" | "GD" | "GP" | "GU" | "GT" | "GN" | "GW" | "HT" | "VA" | "HN" | "HK" | "HU" | "IS" | "IN" | "ID" | "IR" | "IQ" | "IE" | "IL" | "IT" | "JM" | "JP" | "JO" | "KE" | "KI" | "KP" | "KR" | "KW" | "KG" | "LA" | "LV" | "LB" | "LS" | "LR" | "LY" | "LI" | "LT" | "LU" | "MO" | "MK" | "MG" | "MW" | "MY" | "MV" | "ML" | "MT" | "MH" | "MQ" | "MR" | "MU" | "YT" | "MX" | "FM" | "MD" | "MC" | "MN" | "ME" | "MS" | "MA" | "MZ" | "MM" | "NA" | "NR" | "NP" | "NL" | "NC" | "NZ" | "NI" | "NE" | "NG" | "NU" | "NF" | "MP" | "NO" | "OM" | "PK" | "PW" | "PS" | "PA" | "PG" | "PY" | "GY" | "PE" | "PH" | "PL" | "PT" | "PR" | "QA" | "RO" | "RU" | "KZ" | "RW" | "RE" | "BL" | "SH" | "KN" | "LC" | "MF" | "PM" | "VC" | "WS" | "SM" | "ST" | "SA" | "SN" | "RS" | "SC" | "SL" | "SG" | "SK" | "SI" | "SB" | "SO" | "ZA" | "SS" | "ES" | "LK" | "SD" | "SR" | "SZ" | "SE" | "CH" | "SY" | "TW" | "TJ" | "TZ" | "TH" | "TL" | "TG" | "TK" | "TO" | "TT" | "TN" | "TR" | "TM" | "TC" | "TV" | "UG" | "UA" | "AE" | "GB" | "US" | "CA" | "UY" | "UZ" | "VU" | "VE" | "VN" | "VG" | "VI" | "WF" | "YE" | "ZM" | "ZW")[]]>]>>, "AF" | "AL" | "DZ" | "AS" | "AD" | "AO" | "AI" | "AG" | "AR" | "AM" | "AW" | "AU" | "AT" | "AZ" | "BS" | "BH" | "BD" | "BB" | "BY" | "BE" | "BZ" | "BJ" | "BM" | "BT" | "BO" | "BA" | "BW" | "BR" | "IO" | "BN" | "BG" | "BF" | "BI" | "KH" | "CM" | "CV" | "KY" | "CF" | "TD" | "CL" | "CN" | "CO" | "KM" | "CG" | "CD" | "CK" | "CR" | "CI" | "HR" | "CU" | "CY" | "CZ" | "DK" | "DJ" | "DM" | "DO" | "EC" | "EG" | "SV" | "GQ" | "ER" | "EE" | "ET" | "FK" | "FO" | "FJ" | "FI" | "FR" | "GF" | "PF" | "GA" | "GM" | "GE" | "DE" | "GH" | "GI" | "GR" | "GL" | "GD" | "GP" | "GU" | "GT" | "GN" | "GW" | "HT" | "VA" | "HN" | "HK" | "HU" | "IS" | "IN" | "ID" | "IR" | "IQ" | "IE" | "IL" | "IT" | "JM" | "JP" | "JO" | "KE" | "KI" | "KP" | "KR" | "KW" | "KG" | "LA" | "LV" | "LB" | "LS" | "LR" | "LY" | "LI" | "LT" | "LU" | "MO" | "MK" | "MG" | "MW" | "MY" | "MV" | "ML" | "MT" | "MH" | "MQ" | "MR" | "MU" | "YT" | "MX" | "FM" | "MD" | "MC" | "MN" | "ME" | "MS" | "MA" | "MZ" | "MM" | "NA" | "NR" | "NP" | "NL" | "NC" | "NZ" | "NI" | "NE" | "NG" | "NU" | "NF" | "MP" | "NO" | "OM" | "PK" | "PW" | "PS" | "PA" | "PG" | "PY" | "GY" | "PE" | "PH" | "PL" | "PT" | "PR" | "QA" | "RO" | "RU" | "KZ" | "RW" | "RE" | "BL" | "SH" | "KN" | "LC" | "MF" | "PM" | "VC" | "WS" | "SM" | "ST" | "SA" | "SN" | "RS" | "SC" | "SL" | "SG" | "SK" | "SI" | "SB" | "SO" | "ZA" | "SS" | "ES" | "LK" | "SD" | "SR" | "SZ" | "SE" | "CH" | "SY" | "TW" | "TJ" | "TZ" | "TH" | "TL" | "TG" | "TK" | "TO" | "TT" | "TN" | "TR" | "TM" | "TC" | "TV" | "UG" | "UA" | "AE" | "GB" | "US" | "CA" | "UY" | "UZ" | "VU" | "VE" | "VN" | "VG" | "VI" | "WF" | "YE" | "ZM" | "ZW" | undefined, string>;
8
- export declare const customPropertiesRequestSchema: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString, "many">, z.ZodArray<z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>, "many">, z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>, z.ZodNull, z.ZodUndefined]>>;
9
- export declare const customPropertiesSchema: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString, "many">, z.ZodArray<z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>, "many">, z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>, z.ZodUndefined]>>;
10
- export type CustomProperties = z.infer<typeof customPropertiesSchema>;
11
- export declare const stringToArraySchema: z.ZodEffects<z.ZodEffects<z.ZodString, string[], string>, string[], string>;
12
- export declare const eventPropertiesSchema: z.ZodObject<{
13
- section: z.ZodOptional<z.ZodString>;
14
- prev_section: z.ZodOptional<z.ZodString>;
15
- recommendation_id: z.ZodOptional<z.ZodString>;
16
- price: z.ZodOptional<z.ZodNumber>;
17
- order_id: z.ZodOptional<z.ZodString>;
18
- rating: z.ZodOptional<z.ZodNumber>;
19
- prev_page: z.ZodOptional<z.ZodString>;
20
- page: z.ZodOptional<z.ZodString>;
21
- position: z.ZodOptional<z.ZodNumber>;
22
- item_id: z.ZodOptional<z.ZodString>;
23
- items: z.ZodOptional<z.ZodArray<z.ZodObject<{
24
- id: z.ZodString;
25
- price: z.ZodNumber;
26
- quantity: z.ZodOptional<z.ZodNumber>;
27
- custom_event_properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodString, "many">, z.ZodArray<z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>, "many">, z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>, z.ZodUndefined]>>>;
28
- }, "strip", z.ZodTypeAny, {
29
- price: number;
30
- id: string;
31
- quantity?: number | undefined;
32
- custom_event_properties?: Record<string, string | number | boolean | string[] | Date | {}[] | {} | undefined> | undefined;
33
- }, {
34
- price: number;
35
- id: string;
36
- quantity?: number | undefined;
37
- custom_event_properties?: Record<string, string | number | boolean | string[] | {}[] | {} | undefined> | undefined;
38
- }>, "many">>;
39
- search_query: z.ZodOptional<z.ZodString>;
40
- order_amount: z.ZodOptional<z.ZodNumber>;
41
- paid_amount: z.ZodOptional<z.ZodNumber>;
42
- tracking: z.ZodOptional<z.ZodObject<{
43
- id: z.ZodString;
44
- type: z.ZodString;
45
- }, "strip", z.ZodTypeAny, {
46
- type: string;
47
- id: string;
48
- }, {
49
- type: string;
50
- id: string;
51
- }>>;
52
- click_target: z.ZodOptional<z.ZodString>;
53
- }, "strip", z.ZodTypeAny, {
54
- section?: string | undefined;
55
- prev_section?: string | undefined;
56
- recommendation_id?: string | undefined;
57
- price?: number | undefined;
58
- order_id?: string | undefined;
59
- rating?: number | undefined;
60
- prev_page?: string | undefined;
61
- page?: string | undefined;
62
- position?: number | undefined;
63
- item_id?: string | undefined;
64
- items?: {
65
- price: number;
66
- id: string;
67
- quantity?: number | undefined;
68
- custom_event_properties?: Record<string, string | number | boolean | string[] | Date | {}[] | {} | undefined> | undefined;
69
- }[] | undefined;
70
- search_query?: string | undefined;
71
- order_amount?: number | undefined;
72
- paid_amount?: number | undefined;
73
- tracking?: {
74
- type: string;
75
- id: string;
76
- } | undefined;
77
- click_target?: string | undefined;
78
- }, {
79
- section?: string | undefined;
80
- prev_section?: string | undefined;
81
- recommendation_id?: string | undefined;
82
- price?: number | undefined;
83
- order_id?: string | undefined;
84
- rating?: number | undefined;
85
- prev_page?: string | undefined;
86
- page?: string | undefined;
87
- position?: number | undefined;
88
- item_id?: string | undefined;
89
- items?: {
90
- price: number;
91
- id: string;
92
- quantity?: number | undefined;
93
- custom_event_properties?: Record<string, string | number | boolean | string[] | {}[] | {} | undefined> | undefined;
94
- }[] | undefined;
95
- search_query?: string | undefined;
96
- order_amount?: number | undefined;
97
- paid_amount?: number | undefined;
98
- tracking?: {
99
- type: string;
100
- id: string;
101
- } | undefined;
102
- click_target?: string | undefined;
103
- }>;
104
- export type EventProperties = z.infer<typeof eventPropertiesSchema>;
105
- export declare const internalEventPropertiesSchema: z.ZodObject<{
106
- url: z.ZodOptional<z.ZodString>;
107
- ref: z.ZodOptional<z.ZodString>;
108
- click_target: z.ZodOptional<z.ZodString>;
109
- }, "strip", z.ZodTypeAny, {
110
- click_target?: string | undefined;
111
- url?: string | undefined;
112
- ref?: string | undefined;
113
- }, {
114
- click_target?: string | undefined;
115
- url?: string | undefined;
116
- ref?: string | undefined;
117
- }>;
118
- export type InternalEventProperties = z.infer<typeof internalEventPropertiesSchema>;
119
- export declare const recommendationRequestSchema: z.ZodObject<z.objectUtil.extendShape<Pick<{
120
- application_id: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, ObjectId, string>;
121
- blux_user_id: z.ZodOptional<z.ZodNullable<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, ObjectId, string>>>;
122
- pipeline: z.ZodArray<z.ZodObject<{
123
- name: z.ZodString;
124
- kwargs: z.ZodRecord<z.ZodString, z.ZodAny>;
125
- }, "strip", z.ZodTypeAny, {
126
- name: string;
127
- kwargs: Record<string, any>;
128
- }, {
129
- name: string;
130
- kwargs: Record<string, any>;
131
- }>, "many">;
132
- item_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
133
- item_ids: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
134
- limit: z.ZodNumber;
135
- offset: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodNumber>>>;
136
- options: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodAny>>>;
137
- }, "item_id" | "item_ids" | "limit" | "offset">, {
138
- call_type: z.ZodString;
139
- category_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
140
- }>, "strip", z.ZodTypeAny, {
141
- limit: number;
142
- offset: number | null;
143
- call_type: string;
144
- item_id?: string | null | undefined;
145
- item_ids?: string[] | null | undefined;
146
- category_id?: string | null | undefined;
147
- }, {
148
- limit: number;
149
- call_type: string;
150
- item_id?: string | null | undefined;
151
- item_ids?: string[] | null | undefined;
152
- offset?: number | null | undefined;
153
- category_id?: string | null | undefined;
154
- }>;
155
- export type RecResponse = {
156
- item_ids: string[];
157
- metadata: Record<string, unknown>;
158
- recommendation_id: string | null;
159
- };
@@ -1,157 +0,0 @@
1
- import ObjectId from "bson-objectid";
2
- import { z, ZodError } from "zod";
3
- import { assertEqualTypes } from "./assertEqualTypes";
4
- import { COUNTRY_CODES } from "../constants/COUNTRIES";
5
- import { ISO8601_REGEX } from "../constants/ISO8601_REGEX";
6
- function isObjectIdString(value) {
7
- return (typeof value === "string" && value.length === 24 && ObjectId.isValid(value));
8
- }
9
- export const objectIdSchema = z
10
- .string()
11
- .refine((v) => isObjectIdString(v), (v) => new ZodError([
12
- {
13
- code: "custom",
14
- message: `Invalid ObjectId: ${v}`,
15
- path: ["some_path"],
16
- },
17
- ]))
18
- .transform((v) => new ObjectId(v));
19
- export const stringToNumberSchema = z
20
- .union([z.string(), z.number()])
21
- .refine((v) => {
22
- if (typeof v === "number")
23
- return true;
24
- const parsed = Number(v);
25
- return !isNaN(parsed);
26
- }, {
27
- message: "Invalid number or string in stringToNumberSchema",
28
- })
29
- .transform((v) => (typeof v === "number" ? v : Number(v)));
30
- export const dateSchema = z
31
- .string()
32
- .refine((dateString) => {
33
- return ISO8601_REGEX.test(dateString);
34
- }, {
35
- message: "Invalid date string",
36
- })
37
- .transform((dateString) => new Date(dateString));
38
- function convertAllObjectId(input) {
39
- if (Array.isArray(input)) {
40
- return input.map((item) => convertAllObjectId(item));
41
- }
42
- else if (isObjectIdString(input)) {
43
- return new ObjectId(input);
44
- }
45
- else if (typeof input === "string" &&
46
- /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{3})?Z$/.test(input)) {
47
- return new Date(input);
48
- }
49
- else if (input !== null && typeof input === "object") {
50
- return Object.entries(input).reduce((acc, [key, value]) => {
51
- acc[key] = convertAllObjectId(value);
52
- return acc;
53
- }, {});
54
- }
55
- return input;
56
- }
57
- export const anonymousObjectSchema = () => z
58
- .object({})
59
- .passthrough()
60
- .transform((v) => convertAllObjectId(v));
61
- export const countryCodeWithLowerCaseSchema = z
62
- .string()
63
- .transform((v) => v.toUpperCase())
64
- .pipe(z.union([
65
- z.literal("419"), // https://en.wikipedia.org/wiki/Language_code
66
- z.enum(COUNTRY_CODES),
67
- ]))
68
- .transform((v) => (v === "419" ? undefined : v));
69
- export const customPropertiesRequestSchema = z.record(z.union([
70
- dateSchema,
71
- z.string(),
72
- z.number(),
73
- z.boolean(),
74
- z.array(z.string()),
75
- z.array(z.object({})),
76
- z.object({}),
77
- z.null(),
78
- z.undefined(),
79
- ]));
80
- export const customPropertiesSchema = z.record(z.union([
81
- dateSchema,
82
- z.string(),
83
- z.number(),
84
- z.boolean(),
85
- z.array(z.string()),
86
- z.array(z.object({})),
87
- z.object({}),
88
- z.undefined(),
89
- ]));
90
- assertEqualTypes(true);
91
- export const stringToArraySchema = z
92
- .string()
93
- .transform((v) => v.split(",").map((item) => item.trim()))
94
- .refine((arr) => arr.every((item) => item.length > 0), {
95
- message: "Each item should not be empty",
96
- });
97
- export const eventPropertiesSchema = z.object({
98
- section: z.string().optional(),
99
- prev_section: z.string().optional(),
100
- recommendation_id: z.string().optional(),
101
- price: z.number().optional(),
102
- order_id: z.string().optional(),
103
- rating: z.number().optional(),
104
- prev_page: z.string().optional(),
105
- page: z.string().optional(),
106
- position: z.number().optional(),
107
- item_id: z.string().optional(),
108
- items: z
109
- .array(z.object({
110
- id: z.string(),
111
- price: z.number(),
112
- quantity: z.number().optional(),
113
- custom_event_properties: customPropertiesSchema.optional(),
114
- }))
115
- .optional(),
116
- search_query: z.string().optional(),
117
- order_amount: z.number().optional(),
118
- paid_amount: z.number().optional(),
119
- tracking: z
120
- .object({
121
- id: z.string(),
122
- type: z.string(),
123
- })
124
- .optional(),
125
- click_target: z.string().optional(),
126
- });
127
- export const internalEventPropertiesSchema = z.object({
128
- url: z.string().optional(),
129
- ref: z.string().optional(),
130
- click_target: z.string().optional(),
131
- });
132
- // Schema for Inference API
133
- const inferenceRequestSchema = z.object({
134
- application_id: objectIdSchema,
135
- blux_user_id: objectIdSchema.nullish(),
136
- pipeline: z.array(z.object({
137
- name: z.string(),
138
- kwargs: z.record(z.any()),
139
- })),
140
- item_id: z.string().nullish(),
141
- item_ids: z.array(z.string()).nullish(),
142
- limit: z.number(),
143
- offset: z.number().nullish().default(0),
144
- options: z.record(z.string(), z.any()).nullish(), // TODO: @all legacy 클라이언트 migration만을 위한 필드라는 점을 고려하여 필드명 수정 필요 ex. legacy_options
145
- });
146
- export const recommendationRequestSchema = inferenceRequestSchema
147
- .pick({
148
- item_id: true,
149
- item_ids: true,
150
- limit: true,
151
- offset: true,
152
- })
153
- .extend({
154
- call_type: z.string(),
155
- category_id: z.string().nullish(),
156
- });
157
- //# sourceMappingURL=zodSchemas.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"zodSchemas.js","sourceRoot":"/","sources":["src/utils/zodSchemas.ts"],"names":[],"mappings":"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","sourcesContent":["import ObjectId from \"bson-objectid\";\nimport { z, ZodError } from \"zod\";\n\nimport { assertEqualTypes } from \"./assertEqualTypes\";\nimport { COUNTRY_CODES } from \"../constants/COUNTRIES\";\nimport { ISO8601_REGEX } from \"../constants/ISO8601_REGEX\";\n\nimport type { CountryCode } from \"../constants/COUNTRIES\";\n\nfunction isObjectIdString(value: unknown): value is string {\n return (\n typeof value === \"string\" && value.length === 24 && ObjectId.isValid(value)\n );\n}\n\nexport const objectIdSchema = z\n .string()\n .refine(\n (v) => isObjectIdString(v),\n (v) =>\n new ZodError([\n {\n code: \"custom\",\n message: `Invalid ObjectId: ${v}`,\n path: [\"some_path\"],\n },\n ]),\n )\n .transform((v) => new ObjectId(v));\n\nexport const stringToNumberSchema = z\n .union([z.string(), z.number()])\n .refine(\n (v) => {\n if (typeof v === \"number\") return true;\n const parsed = Number(v);\n return !isNaN(parsed);\n },\n {\n message: \"Invalid number or string in stringToNumberSchema\",\n },\n )\n .transform((v): number => (typeof v === \"number\" ? v : Number(v)));\n\nexport const dateSchema = z\n .string()\n .refine(\n (dateString) => {\n return ISO8601_REGEX.test(dateString);\n },\n {\n message: \"Invalid date string\",\n },\n )\n .transform((dateString) => new Date(dateString));\n\nfunction convertAllObjectId(input: unknown): unknown {\n if (Array.isArray(input)) {\n return input.map((item) => convertAllObjectId(item));\n } else if (isObjectIdString(input)) {\n return new ObjectId(input);\n } else if (\n typeof input === \"string\" &&\n /^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{3})?Z$/.test(input)\n ) {\n return new Date(input);\n } else if (input !== null && typeof input === \"object\") {\n return Object.entries(input).reduce<Record<string, unknown>>(\n (acc, [key, value]) => {\n acc[key] = convertAllObjectId(value);\n return acc;\n },\n {},\n );\n }\n return input;\n}\n\nexport const anonymousObjectSchema = <T extends object = object>() =>\n z\n .object({})\n .passthrough()\n .transform((v) => convertAllObjectId(v) as T);\n\nexport const countryCodeWithLowerCaseSchema = z\n .string()\n .transform((v) => v.toUpperCase())\n .pipe(\n z.union([\n z.literal(\"419\"), // https://en.wikipedia.org/wiki/Language_code\n z.enum(COUNTRY_CODES as [CountryCode, ...CountryCode[]]),\n ]),\n )\n .transform((v) => (v === \"419\" ? undefined : v));\n\nexport const customPropertiesRequestSchema = z.record(\n z.union([\n dateSchema,\n z.string(),\n z.number(),\n z.boolean(),\n z.array(z.string()),\n z.array(z.object({})),\n z.object({}),\n z.null(),\n z.undefined(),\n ]),\n);\n\ntype CustomPropertiesRequest = z.infer<typeof customPropertiesRequestSchema>;\n\nexport const customPropertiesSchema = z.record(\n z.union([\n dateSchema,\n z.string(),\n z.number(),\n z.boolean(),\n z.array(z.string()),\n z.array(z.object({})),\n z.object({}),\n z.undefined(),\n ]),\n);\n\nexport type CustomProperties = z.infer<typeof customPropertiesSchema>;\n\nassertEqualTypes<\n {\n [K in keyof CustomPropertiesRequest]: Exclude<\n CustomPropertiesRequest[K],\n null\n >;\n },\n CustomProperties\n>(true);\n\nexport const stringToArraySchema = z\n .string()\n .transform((v) => v.split(\",\").map((item) => item.trim()))\n .refine((arr) => arr.every((item) => item.length > 0), {\n message: \"Each item should not be empty\",\n });\n\nexport const eventPropertiesSchema = z.object({\n section: z.string().optional(),\n prev_section: z.string().optional(),\n recommendation_id: z.string().optional(),\n price: z.number().optional(),\n order_id: z.string().optional(),\n rating: z.number().optional(),\n prev_page: z.string().optional(),\n page: z.string().optional(),\n position: z.number().optional(),\n item_id: z.string().optional(),\n items: z\n .array(\n z.object({\n id: z.string(),\n price: z.number(),\n quantity: z.number().optional(),\n custom_event_properties: customPropertiesSchema.optional(),\n }),\n )\n .optional(),\n search_query: z.string().optional(),\n order_amount: z.number().optional(),\n paid_amount: z.number().optional(),\n tracking: z\n .object({\n id: z.string(),\n type: z.string(),\n })\n .optional(),\n click_target: z.string().optional(),\n});\n\nexport type EventProperties = z.infer<typeof eventPropertiesSchema>;\n\nexport const internalEventPropertiesSchema = z.object({\n url: z.string().optional(),\n ref: z.string().optional(),\n click_target: z.string().optional(),\n});\n\nexport type InternalEventProperties = z.infer<\n typeof internalEventPropertiesSchema\n>;\n\n// Schema for Inference API\nconst inferenceRequestSchema = z.object({\n application_id: objectIdSchema,\n blux_user_id: objectIdSchema.nullish(),\n\n pipeline: z.array(\n z.object({\n name: z.string(),\n kwargs: z.record(z.any()),\n }),\n ),\n item_id: z.string().nullish(),\n item_ids: z.array(z.string()).nullish(),\n\n limit: z.number(),\n offset: z.number().nullish().default(0),\n options: z.record(z.string(), z.any()).nullish(), // TODO: @all legacy 클라이언트 migration만을 위한 필드라는 점을 고려하여 필드명 수정 필요 ex. legacy_options\n});\n\nexport const recommendationRequestSchema = inferenceRequestSchema\n .pick({\n item_id: true,\n item_ids: true,\n limit: true,\n offset: true,\n })\n .extend({\n call_type: z.string(),\n category_id: z.string().nullish(),\n });\n\nexport type RecResponse = {\n item_ids: string[];\n metadata: Record<string, unknown>;\n recommendation_id: string | null;\n};\n"]}