@envive-ai/react-hooks 0.2.2 → 0.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (448) hide show
  1. package/package.json +1 -1
  2. package/src/application/models/featureGates.ts +18 -20
  3. package/src/application/models/variantInfo/variantInfo.ts +9 -3
  4. package/src/atoms/app/index.ts +3 -2
  5. package/src/atoms/app/variant.ts +27 -89
  6. package/src/contexts/amplitudeContext/amplitudeContext.tsx +12 -45
  7. package/src/contexts/featureFlagServiceContext/featureFlagServiceContext.tsx +1 -1
  8. package/dist/AmplitudeOperations-CNyxbBY6.cjs +0 -0
  9. package/dist/AmplitudeOperations-Oa2efWtF.js +0 -1
  10. package/dist/NewOrgConfig-CbqBTHzG.js +0 -10
  11. package/dist/NewOrgConfig-sLsJcSn8.cjs +0 -15
  12. package/dist/SystemSettingsContext-BHi2YaQp.cjs +0 -20
  13. package/dist/SystemSettingsContext-BLRfTbCC.js +0 -13
  14. package/dist/TrackComponentVisibleEvent-CftWp8QR.js +0 -52
  15. package/dist/TrackComponentVisibleEvent-Dag8vFhb.cjs +0 -59
  16. package/dist/amplitudeContext-B73xamNe.d.cts +0 -52
  17. package/dist/amplitudeContext-BhhYPJSL.d.ts +0 -52
  18. package/dist/amplitudeContext-CwPtBPhg.js +0 -287
  19. package/dist/amplitudeContext-DTC6maR0.cjs +0 -309
  20. package/dist/api-Bc3_julZ.cjs +0 -239
  21. package/dist/api-D9gmGNAV.js +0 -166
  22. package/dist/app-CoQ1nC-j.js +0 -132
  23. package/dist/app-DN72spgQ.cjs +0 -178
  24. package/dist/application/models/graphql/index.cjs +0 -5
  25. package/dist/application/models/graphql/index.d.cts +0 -2
  26. package/dist/application/models/graphql/index.d.ts +0 -2
  27. package/dist/application/models/graphql/index.js +0 -4
  28. package/dist/application/models/guards/api/index.cjs +0 -16
  29. package/dist/application/models/guards/api/index.d.cts +0 -3
  30. package/dist/application/models/guards/api/index.d.ts +0 -3
  31. package/dist/application/models/guards/api/index.js +0 -5
  32. package/dist/application/models/guards/utils.cjs +0 -3
  33. package/dist/application/models/guards/utils.d.cts +0 -2
  34. package/dist/application/models/guards/utils.d.ts +0 -2
  35. package/dist/application/models/guards/utils.js +0 -3
  36. package/dist/application/models/index.cjs +0 -69
  37. package/dist/application/models/index.d.cts +0 -12
  38. package/dist/application/models/index.d.ts +0 -12
  39. package/dist/application/models/index.js +0 -12
  40. package/dist/application/models/utilityTypes/index.cjs +0 -1
  41. package/dist/application/models/utilityTypes/index.d.cts +0 -2
  42. package/dist/application/models/utilityTypes/index.d.ts +0 -2
  43. package/dist/application/models/utilityTypes/index.js +0 -3
  44. package/dist/application/models/variantInfo/index.cjs +0 -1
  45. package/dist/application/models/variantInfo/index.d.cts +0 -2
  46. package/dist/application/models/variantInfo/index.d.ts +0 -2
  47. package/dist/application/models/variantInfo/index.js +0 -3
  48. package/dist/application/utils/index.cjs +0 -48
  49. package/dist/application/utils/index.d.cts +0 -263
  50. package/dist/application/utils/index.d.ts +0 -263
  51. package/dist/application/utils/index.js +0 -22
  52. package/dist/atomStore-BuopbV9k.js +0 -32
  53. package/dist/atomStore-CZKe3itM.cjs +0 -58
  54. package/dist/atomStore-CdFkEC8s.cjs +0 -0
  55. package/dist/atomStore-DKlaDbMx.js +0 -1
  56. package/dist/atoms/app/index.cjs +0 -20
  57. package/dist/atoms/app/index.d.cts +0 -39
  58. package/dist/atoms/app/index.d.ts +0 -39
  59. package/dist/atoms/app/index.js +0 -16
  60. package/dist/atoms/atomStore/index.cjs +0 -7
  61. package/dist/atoms/atomStore/index.d.cts +0 -24
  62. package/dist/atoms/atomStore/index.d.ts +0 -24
  63. package/dist/atoms/atomStore/index.js +0 -4
  64. package/dist/atoms/chat/index.cjs +0 -52
  65. package/dist/atoms/chat/index.d.cts +0 -163
  66. package/dist/atoms/chat/index.d.ts +0 -163
  67. package/dist/atoms/chat/index.js +0 -23
  68. package/dist/atoms/globalSearch/index.cjs +0 -6
  69. package/dist/atoms/globalSearch/index.d.cts +0 -24
  70. package/dist/atoms/globalSearch/index.d.ts +0 -24
  71. package/dist/atoms/globalSearch/index.js +0 -3
  72. package/dist/atoms/org/index.cjs +0 -19
  73. package/dist/atoms/org/index.d.cts +0 -59
  74. package/dist/atoms/org/index.d.ts +0 -59
  75. package/dist/atoms/org/index.js +0 -6
  76. package/dist/atoms/search/index.cjs +0 -60
  77. package/dist/atoms/search/index.d.cts +0 -14
  78. package/dist/atoms/search/index.d.ts +0 -14
  79. package/dist/atoms/search/index.js +0 -30
  80. package/dist/atoms/search/types.cjs +0 -5
  81. package/dist/atoms/search/types.d.cts +0 -2
  82. package/dist/atoms/search/types.d.ts +0 -2
  83. package/dist/atoms/search/types.js +0 -3
  84. package/dist/atoms/search/utils.cjs +0 -3
  85. package/dist/atoms/search/utils.d.cts +0 -5
  86. package/dist/atoms/search/utils.d.ts +0 -5
  87. package/dist/atoms/search/utils.js +0 -3
  88. package/dist/cdnContext-ShKWLgKA.cjs +0 -53
  89. package/dist/cdnContext-pfrZ6lfu.js +0 -38
  90. package/dist/chat-BubCW1as.cjs +0 -152
  91. package/dist/chat-CV6MXeID.js +0 -26
  92. package/dist/chat-DQq8RR5E.js +0 -258
  93. package/dist/chat-KkJYXdfZ.cjs +0 -394
  94. package/dist/chatElementDisplayLocation-BwiXrkN7.d.ts +0 -25
  95. package/dist/chatElementDisplayLocation-DWmfNX_u.d.cts +0 -25
  96. package/dist/chatSearch-OgBQtu3u.cjs +0 -418
  97. package/dist/chatSearch-xO4HYEBI.js +0 -295
  98. package/dist/chatState-CTwPHEJG.cjs +0 -120
  99. package/dist/chatState-CkMgQSse.js +0 -34
  100. package/dist/chunk-CUT6urMc.cjs +0 -30
  101. package/dist/commerce-api-BVy49Qk8.js +0 -311
  102. package/dist/commerce-api-Pclc9ZBQ.cjs +0 -318
  103. package/dist/components-B4T3Uzth.js +0 -11
  104. package/dist/components-Cw9WjA6g.cjs +0 -29
  105. package/dist/config/locators/components/chat/index.cjs +0 -23
  106. package/dist/config/locators/components/chat/index.d.cts +0 -2
  107. package/dist/config/locators/components/chat/index.d.ts +0 -2
  108. package/dist/config/locators/components/chat/index.js +0 -3
  109. package/dist/config/locators/components/chat/variants/index.cjs +0 -29
  110. package/dist/config/locators/components/chat/variants/index.d.cts +0 -16
  111. package/dist/config/locators/components/chat/variants/index.d.ts +0 -16
  112. package/dist/config/locators/components/chat/variants/index.js +0 -17
  113. package/dist/config/locators/components/index.cjs +0 -5
  114. package/dist/config/locators/components/index.d.cts +0 -2
  115. package/dist/config/locators/components/index.d.ts +0 -2
  116. package/dist/config/locators/components/index.js +0 -3
  117. package/dist/config/locators/components/search/index.cjs +0 -13
  118. package/dist/config/locators/components/search/index.d.cts +0 -8
  119. package/dist/config/locators/components/search/index.d.ts +0 -8
  120. package/dist/config/locators/components/search/index.js +0 -9
  121. package/dist/config/locators/index.cjs +0 -67
  122. package/dist/config/locators/index.d.cts +0 -25
  123. package/dist/config/locators/index.d.ts +0 -25
  124. package/dist/config/locators/index.js +0 -26
  125. package/dist/contexts/amplitudeContext/index.cjs +0 -22
  126. package/dist/contexts/amplitudeContext/index.d.cts +0 -2
  127. package/dist/contexts/amplitudeContext/index.d.ts +0 -2
  128. package/dist/contexts/amplitudeContext/index.js +0 -20
  129. package/dist/contexts/cdnContext/index.cjs +0 -7
  130. package/dist/contexts/cdnContext/index.d.cts +0 -15
  131. package/dist/contexts/cdnContext/index.d.ts +0 -15
  132. package/dist/contexts/cdnContext/index.js +0 -6
  133. package/dist/contexts/chatContext/index.cjs +0 -331
  134. package/dist/contexts/chatContext/index.d.cts +0 -15
  135. package/dist/contexts/chatContext/index.d.ts +0 -15
  136. package/dist/contexts/chatContext/index.js +0 -324
  137. package/dist/contexts/enviveConfigContext/index.cjs +0 -7
  138. package/dist/contexts/enviveConfigContext/index.d.cts +0 -30
  139. package/dist/contexts/enviveConfigContext/index.d.ts +0 -30
  140. package/dist/contexts/enviveConfigContext/index.js +0 -6
  141. package/dist/contexts/enviveCssContext/index.cjs +0 -66
  142. package/dist/contexts/enviveCssContext/index.d.cts +0 -10
  143. package/dist/contexts/enviveCssContext/index.d.ts +0 -10
  144. package/dist/contexts/enviveCssContext/index.js +0 -63
  145. package/dist/contexts/featureFlagContext/index.cjs +0 -107
  146. package/dist/contexts/featureFlagContext/index.d.cts +0 -20
  147. package/dist/contexts/featureFlagContext/index.d.ts +0 -20
  148. package/dist/contexts/featureFlagContext/index.js +0 -103
  149. package/dist/contexts/featureFlagServiceContext/index.cjs +0 -6
  150. package/dist/contexts/featureFlagServiceContext/index.d.cts +0 -5
  151. package/dist/contexts/featureFlagServiceContext/index.d.ts +0 -5
  152. package/dist/contexts/featureFlagServiceContext/index.js +0 -5
  153. package/dist/contexts/graphqlContext/index.cjs +0 -16
  154. package/dist/contexts/graphqlContext/index.d.cts +0 -14
  155. package/dist/contexts/graphqlContext/index.d.ts +0 -14
  156. package/dist/contexts/graphqlContext/index.js +0 -15
  157. package/dist/contexts/localStorageContext/index.cjs +0 -6
  158. package/dist/contexts/localStorageContext/index.d.cts +0 -30
  159. package/dist/contexts/localStorageContext/index.d.ts +0 -30
  160. package/dist/contexts/localStorageContext/index.js +0 -4
  161. package/dist/contexts/newOrgConfigContext/index.cjs +0 -20
  162. package/dist/contexts/newOrgConfigContext/index.d.cts +0 -15
  163. package/dist/contexts/newOrgConfigContext/index.d.ts +0 -15
  164. package/dist/contexts/newOrgConfigContext/index.js +0 -19
  165. package/dist/contexts/searchContext/index.cjs +0 -24
  166. package/dist/contexts/searchContext/index.d.cts +0 -16
  167. package/dist/contexts/searchContext/index.d.ts +0 -16
  168. package/dist/contexts/searchContext/index.js +0 -23
  169. package/dist/contexts/sessionStorageContext/index.cjs +0 -5
  170. package/dist/contexts/sessionStorageContext/index.d.cts +0 -15
  171. package/dist/contexts/sessionStorageContext/index.d.ts +0 -15
  172. package/dist/contexts/sessionStorageContext/index.js +0 -4
  173. package/dist/contexts/shopifyUrlContext/index.cjs +0 -5
  174. package/dist/contexts/shopifyUrlContext/index.d.cts +0 -20
  175. package/dist/contexts/shopifyUrlContext/index.d.ts +0 -20
  176. package/dist/contexts/shopifyUrlContext/index.js +0 -4
  177. package/dist/contexts/systemSettingsContext/index.cjs +0 -8
  178. package/dist/contexts/systemSettingsContext/index.d.cts +0 -37
  179. package/dist/contexts/systemSettingsContext/index.d.ts +0 -37
  180. package/dist/contexts/systemSettingsContext/index.js +0 -6
  181. package/dist/contexts/types.cjs +0 -7
  182. package/dist/contexts/types.d.cts +0 -4
  183. package/dist/contexts/types.d.ts +0 -4
  184. package/dist/contexts/types.js +0 -3
  185. package/dist/contexts/userIdentityContext/index.cjs +0 -27
  186. package/dist/contexts/userIdentityContext/index.d.cts +0 -2
  187. package/dist/contexts/userIdentityContext/index.d.ts +0 -2
  188. package/dist/contexts/userIdentityContext/index.js +0 -26
  189. package/dist/domObserver-B19-69gW.js +0 -285
  190. package/dist/domObserver-CwieVNgj.cjs +0 -304
  191. package/dist/enviveConfig-BSfyz_pm.js +0 -62
  192. package/dist/enviveConfig-D8vcVPWD.cjs +0 -130
  193. package/dist/enviveConfigContext-C8cCcdKU.cjs +0 -60
  194. package/dist/enviveConfigContext-CJqpRSKu.js +0 -45
  195. package/dist/events/index.cjs +0 -4
  196. package/dist/events/index.d.cts +0 -46
  197. package/dist/events/index.d.ts +0 -46
  198. package/dist/events/index.js +0 -3
  199. package/dist/events-BHJJjPDN.js +0 -78
  200. package/dist/events-B_fJZf9E.cjs +0 -90
  201. package/dist/featureFlagServiceContext-CUBoBV2i.cjs +0 -56
  202. package/dist/featureFlagServiceContext-Cpw8omUr.d.ts +0 -23
  203. package/dist/featureFlagServiceContext-Cvn6fcdB.d.cts +0 -23
  204. package/dist/featureFlagServiceContext-Dg8okVk1.js +0 -42
  205. package/dist/featureGates-Blx10fwB.js +0 -27
  206. package/dist/featureGates-DcZNrUma.cjs +0 -33
  207. package/dist/frontendConfig-DnMZfvcA.d.cts +0 -857
  208. package/dist/frontendConfig-Dqxbqo8G.d.ts +0 -857
  209. package/dist/globalSearch-B8jHLScz.js +0 -14
  210. package/dist/globalSearch-JJI1Fijh.cjs +0 -39
  211. package/dist/graphql-B9HhDXYt.cjs +0 -53
  212. package/dist/graphql-W7GMIHUu.js +0 -36
  213. package/dist/graphqlConfig-BWqLgZ6v.cjs +0 -39
  214. package/dist/graphqlConfig-Dn-hO_SQ.js +0 -14
  215. package/dist/graphqlContext-8kw4aLRc.js +0 -96
  216. package/dist/graphqlContext-ChRuFVxO.d.cts +0 -28
  217. package/dist/graphqlContext-EhYZM1v_.d.ts +0 -28
  218. package/dist/graphqlContext-Fwc6Upvh.cjs +0 -111
  219. package/dist/hooks/AmplitudeOperations/index.cjs +0 -22
  220. package/dist/hooks/AmplitudeOperations/index.d.cts +0 -12
  221. package/dist/hooks/AmplitudeOperations/index.d.ts +0 -12
  222. package/dist/hooks/AmplitudeOperations/index.js +0 -22
  223. package/dist/hooks/AppDetails/index.cjs +0 -19
  224. package/dist/hooks/AppDetails/index.d.cts +0 -27
  225. package/dist/hooks/AppDetails/index.d.ts +0 -27
  226. package/dist/hooks/AppDetails/index.js +0 -19
  227. package/dist/hooks/BlockBackButton/index.cjs +0 -29
  228. package/dist/hooks/BlockBackButton/index.d.cts +0 -5
  229. package/dist/hooks/BlockBackButton/index.d.ts +0 -5
  230. package/dist/hooks/BlockBackButton/index.js +0 -27
  231. package/dist/hooks/CdnOperations/index.cjs +0 -24
  232. package/dist/hooks/CdnOperations/index.d.cts +0 -7
  233. package/dist/hooks/CdnOperations/index.d.ts +0 -7
  234. package/dist/hooks/CdnOperations/index.js +0 -22
  235. package/dist/hooks/ChatToggle/index.cjs +0 -64
  236. package/dist/hooks/ChatToggle/index.d.cts +0 -12
  237. package/dist/hooks/ChatToggle/index.d.ts +0 -12
  238. package/dist/hooks/ChatToggle/index.js +0 -62
  239. package/dist/hooks/ChatToggleAnalytics/index.cjs +0 -38
  240. package/dist/hooks/ChatToggleAnalytics/index.d.cts +0 -9
  241. package/dist/hooks/ChatToggleAnalytics/index.d.ts +0 -9
  242. package/dist/hooks/ChatToggleAnalytics/index.js +0 -36
  243. package/dist/hooks/CustomerSupportHandoff/index.cjs +0 -36
  244. package/dist/hooks/CustomerSupportHandoff/index.d.cts +0 -16
  245. package/dist/hooks/CustomerSupportHandoff/index.d.ts +0 -16
  246. package/dist/hooks/CustomerSupportHandoff/index.js +0 -34
  247. package/dist/hooks/Debounce/index.cjs +0 -3
  248. package/dist/hooks/Debounce/index.d.cts +0 -5
  249. package/dist/hooks/Debounce/index.d.ts +0 -5
  250. package/dist/hooks/Debounce/index.js +0 -3
  251. package/dist/hooks/ElementObserver/index.cjs +0 -179
  252. package/dist/hooks/ElementObserver/index.d.cts +0 -29
  253. package/dist/hooks/ElementObserver/index.d.ts +0 -29
  254. package/dist/hooks/ElementObserver/index.js +0 -177
  255. package/dist/hooks/GrabAndScroll/index.cjs +0 -99
  256. package/dist/hooks/GrabAndScroll/index.d.cts +0 -14
  257. package/dist/hooks/GrabAndScroll/index.d.ts +0 -14
  258. package/dist/hooks/GrabAndScroll/index.js +0 -97
  259. package/dist/hooks/GraphQLConfig/index.cjs +0 -17
  260. package/dist/hooks/GraphQLConfig/index.d.cts +0 -28
  261. package/dist/hooks/GraphQLConfig/index.d.ts +0 -28
  262. package/dist/hooks/GraphQLConfig/index.js +0 -16
  263. package/dist/hooks/IdentifyUser/index.cjs +0 -60
  264. package/dist/hooks/IdentifyUser/index.d.cts +0 -10
  265. package/dist/hooks/IdentifyUser/index.d.ts +0 -10
  266. package/dist/hooks/IdentifyUser/index.js +0 -58
  267. package/dist/hooks/ImageResolver/index.cjs +0 -55
  268. package/dist/hooks/ImageResolver/index.d.cts +0 -7
  269. package/dist/hooks/ImageResolver/index.d.ts +0 -7
  270. package/dist/hooks/ImageResolver/index.js +0 -53
  271. package/dist/hooks/Intersection/index.cjs +0 -3
  272. package/dist/hooks/Intersection/index.d.cts +0 -7
  273. package/dist/hooks/Intersection/index.d.ts +0 -7
  274. package/dist/hooks/Intersection/index.js +0 -3
  275. package/dist/hooks/IsSmallScreen/index.cjs +0 -22
  276. package/dist/hooks/IsSmallScreen/index.d.cts +0 -5
  277. package/dist/hooks/IsSmallScreen/index.d.ts +0 -5
  278. package/dist/hooks/IsSmallScreen/index.js +0 -20
  279. package/dist/hooks/LocalStorageOperations/index.cjs +0 -79
  280. package/dist/hooks/LocalStorageOperations/index.d.cts +0 -17
  281. package/dist/hooks/LocalStorageOperations/index.d.ts +0 -17
  282. package/dist/hooks/LocalStorageOperations/index.js +0 -74
  283. package/dist/hooks/MessageFilter/index.cjs +0 -54
  284. package/dist/hooks/MessageFilter/index.d.cts +0 -30
  285. package/dist/hooks/MessageFilter/index.d.ts +0 -30
  286. package/dist/hooks/MessageFilter/index.js +0 -54
  287. package/dist/hooks/MessageScrollObserver/index.cjs +0 -36
  288. package/dist/hooks/MessageScrollObserver/index.d.cts +0 -5
  289. package/dist/hooks/MessageScrollObserver/index.d.ts +0 -5
  290. package/dist/hooks/MessageScrollObserver/index.js +0 -34
  291. package/dist/hooks/NewOrgConfig/index.cjs +0 -20
  292. package/dist/hooks/NewOrgConfig/index.d.cts +0 -20
  293. package/dist/hooks/NewOrgConfig/index.d.ts +0 -20
  294. package/dist/hooks/NewOrgConfig/index.js +0 -20
  295. package/dist/hooks/Search/index.cjs +0 -326
  296. package/dist/hooks/Search/index.d.cts +0 -61
  297. package/dist/hooks/Search/index.d.ts +0 -61
  298. package/dist/hooks/Search/index.js +0 -323
  299. package/dist/hooks/SearchOperations/index.cjs +0 -102
  300. package/dist/hooks/SearchOperations/index.d.cts +0 -22
  301. package/dist/hooks/SearchOperations/index.d.ts +0 -22
  302. package/dist/hooks/SearchOperations/index.js +0 -99
  303. package/dist/hooks/SessionStorageOperations/index.cjs +0 -30
  304. package/dist/hooks/SessionStorageOperations/index.d.cts +0 -8
  305. package/dist/hooks/SessionStorageOperations/index.d.ts +0 -8
  306. package/dist/hooks/SessionStorageOperations/index.js +0 -28
  307. package/dist/hooks/ShopifyUrlOperations/index.cjs +0 -53
  308. package/dist/hooks/ShopifyUrlOperations/index.d.cts +0 -23
  309. package/dist/hooks/ShopifyUrlOperations/index.d.ts +0 -23
  310. package/dist/hooks/ShopifyUrlOperations/index.js +0 -49
  311. package/dist/hooks/SnapCalculator/index.cjs +0 -29
  312. package/dist/hooks/SnapCalculator/index.d.cts +0 -12
  313. package/dist/hooks/SnapCalculator/index.d.ts +0 -12
  314. package/dist/hooks/SnapCalculator/index.js +0 -27
  315. package/dist/hooks/SystemSettingsContext/index.cjs +0 -7
  316. package/dist/hooks/SystemSettingsContext/index.d.cts +0 -23
  317. package/dist/hooks/SystemSettingsContext/index.d.ts +0 -23
  318. package/dist/hooks/SystemSettingsContext/index.js +0 -7
  319. package/dist/hooks/TrackComponentVisibleEvent/index.cjs +0 -22
  320. package/dist/hooks/TrackComponentVisibleEvent/index.d.cts +0 -18
  321. package/dist/hooks/TrackComponentVisibleEvent/index.d.ts +0 -18
  322. package/dist/hooks/TrackComponentVisibleEvent/index.js +0 -22
  323. package/dist/hooks/UpdateAnalyticsProps/index.cjs +0 -62
  324. package/dist/hooks/UpdateAnalyticsProps/index.d.cts +0 -9
  325. package/dist/hooks/UpdateAnalyticsProps/index.d.ts +0 -9
  326. package/dist/hooks/UpdateAnalyticsProps/index.js +0 -59
  327. package/dist/hooks/utils.cjs +0 -8
  328. package/dist/hooks/utils.d.cts +0 -13
  329. package/dist/hooks/utils.d.ts +0 -13
  330. package/dist/hooks/utils.js +0 -3
  331. package/dist/index-B5qslMv7.d.cts +0 -186
  332. package/dist/index-BN-3ctk_.d.ts +0 -184
  333. package/dist/index-BPxqQmpF.d.ts +0 -1
  334. package/dist/index-Bmub8e38.d.cts +0 -98
  335. package/dist/index-BoYC9XLW.d.ts +0 -39
  336. package/dist/index-C12-NmS7.d.cts +0 -25
  337. package/dist/index-C4_vohah.d.ts +0 -186
  338. package/dist/index-C6KdON7d.d.ts +0 -25
  339. package/dist/index-CESxqFso.d.cts +0 -228
  340. package/dist/index-CK_J3QMY.d.ts +0 -676
  341. package/dist/index-CVa3DeXJ.d.cts +0 -9
  342. package/dist/index-C_MIfxF0.d.cts +0 -676
  343. package/dist/index-CiWEYzXl.d.cts +0 -184
  344. package/dist/index-DOii3C6b.d.ts +0 -9
  345. package/dist/index-Dr_c2DDq.d.ts +0 -98
  346. package/dist/index-DsiilEj-.d.ts +0 -228
  347. package/dist/index-RcVcRKH7.d.cts +0 -1
  348. package/dist/index-hdbCEjYy.d.cts +0 -39
  349. package/dist/interceptors/index.cjs +0 -4
  350. package/dist/interceptors/index.d.cts +0 -20
  351. package/dist/interceptors/index.d.ts +0 -20
  352. package/dist/interceptors/index.js +0 -4
  353. package/dist/interceptors/types.cjs +0 -1
  354. package/dist/interceptors/types.d.cts +0 -13
  355. package/dist/interceptors/types.d.ts +0 -13
  356. package/dist/interceptors/types.js +0 -3
  357. package/dist/localStorageContext-Dwgto93_.js +0 -95
  358. package/dist/localStorageContext-cnMYDllE.cjs +0 -115
  359. package/dist/logger-Cp7J4YJT.cjs +0 -26
  360. package/dist/logger-oAgZx2-m.js +0 -20
  361. package/dist/models-B1P-dSCW.cjs +0 -1537
  362. package/dist/models-CgvSM2fW.js +0 -1296
  363. package/dist/newOrgConfigAtom-DxILMn2I.cjs +0 -15
  364. package/dist/newOrgConfigAtom-sqve6LZU.js +0 -8
  365. package/dist/newOrgConfigContext-BzIpdpd6.js +0 -53
  366. package/dist/newOrgConfigContext-CiwteVzM.d.cts +0 -16
  367. package/dist/newOrgConfigContext-D9PpVqyW.d.ts +0 -16
  368. package/dist/newOrgConfigContext-wTQVvOaX.cjs +0 -68
  369. package/dist/nodeSelector-B3bPtEjX.d.cts +0 -31
  370. package/dist/nodeSelector-D5gjDWZ3.d.ts +0 -31
  371. package/dist/org-DlAesvQ_.cjs +0 -43
  372. package/dist/org-vi0njpBh.js +0 -12
  373. package/dist/orgAnalyticsConfig-BC4_sEmn.js +0 -14
  374. package/dist/orgAnalyticsConfig-DsGbyFhO.cjs +0 -39
  375. package/dist/search-0-pfy0cc.js +0 -126
  376. package/dist/search-BLShhjvR.d.ts +0 -20
  377. package/dist/search-BQn1pW2M.cjs +0 -205
  378. package/dist/search-filter-types-BBIjvwJV.d.cts +0 -102
  379. package/dist/search-filter-types-BlmWOnlA.d.ts +0 -102
  380. package/dist/search-y-ioX5Mz.d.cts +0 -20
  381. package/dist/searchContext-5qTU8CbH.js +0 -129
  382. package/dist/searchContext-DmXo2rpU.cjs +0 -145
  383. package/dist/searchServiceAdapter-DEv1tTn0.cjs +0 -34
  384. package/dist/searchServiceAdapter-WyCU55NV.js +0 -16
  385. package/dist/sessionStorageContext-B-UFXyJR.cjs +0 -66
  386. package/dist/sessionStorageContext-DnuKi3Gk.js +0 -52
  387. package/dist/shopifyUrlContext-Lm-Xcut2.cjs +0 -75
  388. package/dist/shopifyUrlContext-jLW63VLY.js +0 -61
  389. package/dist/spiffyWidgets-BuS00VaQ.d.cts +0 -20
  390. package/dist/spiffyWidgets-GILaqHv6.d.ts +0 -20
  391. package/dist/systemSettingsContext--LcXOVJz.js +0 -39
  392. package/dist/systemSettingsContext-CafaP6Zh.cjs +0 -60
  393. package/dist/test-types-EzMFw_U3.d.ts +0 -40
  394. package/dist/test-types-ThQiO_cc.d.cts +0 -40
  395. package/dist/types/index.cjs +0 -34
  396. package/dist/types/index.d.cts +0 -3
  397. package/dist/types/index.d.ts +0 -3
  398. package/dist/types/index.js +0 -31
  399. package/dist/types-6siNDmGv.d.ts +0 -10
  400. package/dist/types-BN2z0HcL.d.ts +0 -51
  401. package/dist/types-BwNrLPSZ.cjs +0 -106
  402. package/dist/types-CKMMb_gX.d.cts +0 -51
  403. package/dist/types-CS0Hrzja.js +0 -30
  404. package/dist/types-CxObxLKs.cjs +0 -48
  405. package/dist/types-D3uOF0Oy.js +0 -76
  406. package/dist/types-D4aa7_7x.d.cts +0 -10
  407. package/dist/types-DQoXDiso.js +0 -1
  408. package/dist/types-o3zWarRp.cjs +0 -0
  409. package/dist/types.cjs +0 -0
  410. package/dist/types.d.cts +0 -15
  411. package/dist/types.d.ts +0 -15
  412. package/dist/types.js +0 -1
  413. package/dist/unsupportedProductExceptions-CKiri_vO.cjs +0 -32
  414. package/dist/unsupportedProductExceptions-ClxlJ6cU.js +0 -20
  415. package/dist/urlsParser-BV5yF8sa.cjs +0 -78
  416. package/dist/urlsParser-DUgV_Qy9.js +0 -42
  417. package/dist/useAmplitudeOperations-aGOqxc4V.cjs +0 -41
  418. package/dist/useAmplitudeOperations-wQnkMaDm.js +0 -34
  419. package/dist/useAppDetails-9WXEc3mg.cjs +0 -38
  420. package/dist/useAppDetails-mNC2PBqH.js +0 -30
  421. package/dist/useDebounce-BaIp-A1W.cjs +0 -26
  422. package/dist/useDebounce-CxPj9WmE.js +0 -19
  423. package/dist/useGraphQLConfig-CTsRsKd2.js +0 -63
  424. package/dist/useGraphQLConfig-D7naV2RD.cjs +0 -76
  425. package/dist/useIntersection-B4J9UhaG.js +0 -21
  426. package/dist/useIntersection-DKWc5MY6.cjs +0 -28
  427. package/dist/useMessageInterceptor-C9p9No1n.cjs +0 -33
  428. package/dist/useMessageInterceptor-tntd2rvB.js +0 -25
  429. package/dist/userIdentityContext-BWzqWXPI.cjs +0 -125
  430. package/dist/userIdentityContext-BoNYqrTf.js +0 -109
  431. package/dist/userIdentityContext-D2oFVFzo.d.cts +0 -20
  432. package/dist/userIdentityContext-wYRpgkaJ.d.ts +0 -20
  433. package/dist/utilityTypes-DynzxjK3.js +0 -1
  434. package/dist/utilityTypes-xb8SjKSV.cjs +0 -0
  435. package/dist/utils-2SWrJ12w.cjs +0 -29
  436. package/dist/utils-ARmpTh1O.js +0 -27
  437. package/dist/utils-B1xLx9S8.d.ts +0 -15
  438. package/dist/utils-B3x_9JTY.d.cts +0 -15
  439. package/dist/utils-BSYichA7.d.cts +0 -22
  440. package/dist/utils-BgMcvG6l.js +0 -606
  441. package/dist/utils-C8vYQhLV.cjs +0 -130
  442. package/dist/utils-Cavu4XiM.cjs +0 -33
  443. package/dist/utils-CqBxIpEV.js +0 -23
  444. package/dist/utils-D_aOvxMg.cjs +0 -715
  445. package/dist/utils-FU_r-pTj.d.ts +0 -22
  446. package/dist/utils-_97oEqyL.js +0 -92
  447. package/dist/variantInfo-B7IwRpCg.cjs +0 -0
  448. package/dist/variantInfo-BtOYUGWa.js +0 -1
@@ -1,166 +0,0 @@
1
- import { hasPropertyOfType } from "./utils-ARmpTh1O.js";
2
- import { logger_default } from "./logger-oAgZx2-m.js";
3
- import { ResponseCategory, SuggestionCategory, UserEventCategory } from "@spiffy-ai/commerce-api-client";
4
-
5
- //#region src/application/models/guards/api/isApiPDPEventAttributes.ts
6
- const isApiPDPAttributes = (data) => {
7
- if (data == null || typeof data !== "object") return false;
8
- if (!("product_id" in data) || typeof data.product_id !== "string") return false;
9
- if ("parent_product_id" in data && typeof data.parent_product_id !== "string") return false;
10
- if ("url" in data && data.url != null && typeof data.url !== "string") return false;
11
- return true;
12
- };
13
-
14
- //#endregion
15
- //#region src/application/models/guards/api/isApiQueryTypedEventAttributes.ts
16
- const isApiQueryTypedAttributes = (data) => data != null && typeof data === "object" && "query" in data && typeof data.query === "string";
17
-
18
- //#endregion
19
- //#region src/application/models/guards/api/isApiResponse.ts
20
- const isApiResponse = (data) => {
21
- if (data == null || typeof data !== "object") {
22
- logger_default.logError("isApiResponse: data is null or not an object", void 0, { data });
23
- return false;
24
- }
25
- if (!hasPropertyOfType(data, "id", "string")) {
26
- logger_default.logError("isApiResponse: id is not a string", void 0, { data });
27
- return false;
28
- }
29
- if (!hasPropertyOfType(data, "category", "string") || !Object.values(ResponseCategory).includes(data.category)) {
30
- logger_default.logError("isApiResponse: category is not a string or not a valid response category", void 0, { data });
31
- return false;
32
- }
33
- if (!hasPropertyOfType(data, "created_at", "string")) {
34
- logger_default.logError("isApiResponse: created_at is not a string", void 0, { data });
35
- return false;
36
- }
37
- if (!hasPropertyOfType(data, "attributes", "object", true)) {
38
- logger_default.logError("isApiResponse: attributes is not an object", void 0, { data });
39
- return false;
40
- }
41
- return true;
42
- };
43
-
44
- //#endregion
45
- //#region src/application/models/guards/api/isApiProductResponseAttributes.ts
46
- const isApiProductResponseAttributes = (attributes) => {
47
- if (attributes == null || typeof attributes !== "object") {
48
- logger_default.logError("isApiProductResponseAttributes: attributes is null or not an object", void 0, { attributes });
49
- return false;
50
- }
51
- if (!hasPropertyOfType(attributes, "description", "string", true)) {
52
- logger_default.logError("isApiProductResponseAttributes: description is not a string", void 0, { attributes });
53
- return false;
54
- }
55
- if (!hasPropertyOfType(attributes, "image_url", "string", true)) {
56
- logger_default.logError("isApiProductResponseAttributes: image_url is not a string", void 0, { attributes });
57
- return false;
58
- }
59
- if (!hasPropertyOfType(attributes, "title", "string")) {
60
- logger_default.logError("isApiProductResponseAttributes: title is not a string", void 0, { attributes });
61
- return false;
62
- }
63
- if (!hasPropertyOfType(attributes, "url", "string")) {
64
- logger_default.logError("isApiProductResponseAttributes: url is not a string", void 0, { attributes });
65
- return false;
66
- }
67
- if (!hasPropertyOfType(attributes, "original_price", "number", true)) {
68
- logger_default.logError("isApiProductResponseAttributes: original_price is not a number", void 0, { attributes });
69
- return false;
70
- }
71
- if (!hasPropertyOfType(attributes, "sale_price", "number", true)) {
72
- logger_default.logError("isApiProductResponseAttributes: sale_price is not a number", void 0, { attributes });
73
- return false;
74
- }
75
- if (!hasPropertyOfType(attributes, "average_rating", "number", true)) {
76
- logger_default.logError("isApiProductResponseAttributes: average_rating is not a number", void 0, { attributes });
77
- return false;
78
- }
79
- if (!hasPropertyOfType(attributes, "number_reviews", "number", true)) {
80
- logger_default.logError("isApiProductResponseAttributes: number_reviews is not a number", void 0, { attributes });
81
- return false;
82
- }
83
- if (!hasPropertyOfType(attributes, "metadata", "array", true)) {
84
- logger_default.logError("isApiProductResponseAttributes: metadata is not an array", void 0, { attributes });
85
- return false;
86
- }
87
- return true;
88
- };
89
-
90
- //#endregion
91
- //#region src/application/models/guards/api/isApiReviewRichInformation.ts
92
- const isApiReviewRichInformation = (richInfo) => {
93
- if (richInfo == null || typeof richInfo !== "object") return false;
94
- if ("cons" in richInfo && (!Array.isArray(richInfo.cons) || richInfo.cons.some((con) => typeof con !== "string"))) return false;
95
- if ("pros" in richInfo && (!Array.isArray(richInfo.pros) || richInfo.pros.some((pro) => typeof pro !== "string"))) return false;
96
- if ("review_date" in richInfo && typeof richInfo.review_date !== "string") return false;
97
- if ("reviewer_title" in richInfo && typeof richInfo.reviewer_title !== "string") return false;
98
- if ("product_familiarity" in richInfo && typeof richInfo.product_familiarity !== "string") return false;
99
- return true;
100
- };
101
-
102
- //#endregion
103
- //#region src/application/models/guards/api/isApiReviewResponseAttributes.ts
104
- const isApiReviewResponseAttributes = (obj) => {
105
- if (obj == null || typeof obj !== "object") return false;
106
- if ("title" in obj && obj.title != null && typeof obj.title !== "string") return false;
107
- if ("review" in obj && typeof obj.review !== "string") return false;
108
- if ("reviewer" in obj && typeof obj.reviewer !== "string") return false;
109
- if ("stars" in obj && typeof obj.stars !== "number") return false;
110
- if ("rich_information" in obj && !isApiReviewRichInformation(obj.rich_information)) return false;
111
- return true;
112
- };
113
-
114
- //#endregion
115
- //#region src/application/models/guards/api/isApiSearchEventAttributes.ts
116
- const isApiSearchAttributes = (data) => {
117
- if (data == null || typeof data !== "object") return false;
118
- if (!("search_term" in data) || typeof data.search_term !== "string") return false;
119
- if ("selected_filters" in data && !Array.isArray(data.selected_filters)) return false;
120
- if (!!data.search_term) return true;
121
- if (!("search_results" in data) || !Array.isArray(data.search_results) || !data.search_results.every((v) => typeof v === "string")) return false;
122
- return true;
123
- };
124
-
125
- //#endregion
126
- //#region src/application/models/guards/api/isApiSuggestion.ts
127
- const isSuggestion = (data) => {
128
- if (data == null || typeof data !== "object") return false;
129
- if (!("id" in data) || typeof data.id !== "string") return false;
130
- if (!("category" in data) || typeof data.category !== "string" || !Object.values(SuggestionCategory).includes(data.category)) return false;
131
- if (!("created_at" in data) || typeof data.created_at !== "string") return false;
132
- if (!("content" in data) || typeof data.content !== "string") return false;
133
- if ("is_answer" in data && data.is_answer != null && typeof data.is_answer !== "boolean") return false;
134
- return true;
135
- };
136
-
137
- //#endregion
138
- //#region src/application/models/guards/api/isApiSuggestionClickedEventAttributes.ts
139
- const isApiSuggestionClickedAttributes = (data) => data != null && typeof data === "object" && "suggestion_id" in data && typeof data.suggestion_id === "string";
140
-
141
- //#endregion
142
- //#region src/application/models/guards/api/isApiTextResponseAttributes.ts
143
- const isApiTextResponseAttributes = (attributes) => typeof attributes === "object" && attributes != null && "content" in attributes && typeof attributes.content === "string";
144
-
145
- //#endregion
146
- //#region src/application/models/guards/api/isApiUserEvent.ts
147
- const isApiUserEvent = (data) => {
148
- if (data == null || typeof data !== "object") return false;
149
- if (!("event_id" in data) || typeof data.event_id !== "string") return false;
150
- if (!("created_at" in data) || typeof data.created_at !== "string") return false;
151
- if (!("category" in data) || typeof data.category !== "string" || !Object.values(UserEventCategory).includes(data.category)) return false;
152
- return true;
153
- };
154
-
155
- //#endregion
156
- //#region src/application/models/guards/api/isApiProductSearchAttributes.ts
157
- const isApiProductSearchResponseAttributes = (attributes) => {
158
- if (attributes == null || typeof attributes !== "object") return false;
159
- if ("generated_query" in attributes && typeof attributes.generated_query !== "string") return false;
160
- if ("product_count" in attributes && attributes.product_count != null && typeof attributes.product_count !== "number") return false;
161
- return true;
162
- };
163
-
164
- //#endregion
165
- export { isApiPDPAttributes, isApiProductResponseAttributes, isApiProductSearchResponseAttributes, isApiQueryTypedAttributes, isApiResponse, isApiReviewResponseAttributes, isApiReviewRichInformation, isApiSearchAttributes, isApiSuggestionClickedAttributes, isApiTextResponseAttributes, isApiUserEvent, isSuggestion };
166
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLUQ5Z21HTkFWLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZ3VhcmRzL2FwaS9pc0FwaVBEUEV2ZW50QXR0cmlidXRlcy50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZ3VhcmRzL2FwaS9pc0FwaVF1ZXJ5VHlwZWRFdmVudEF0dHJpYnV0ZXMudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2d1YXJkcy9hcGkvaXNBcGlSZXNwb25zZS50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZ3VhcmRzL2FwaS9pc0FwaVByb2R1Y3RSZXNwb25zZUF0dHJpYnV0ZXMudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2d1YXJkcy9hcGkvaXNBcGlSZXZpZXdSaWNoSW5mb3JtYXRpb24udHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2d1YXJkcy9hcGkvaXNBcGlSZXZpZXdSZXNwb25zZUF0dHJpYnV0ZXMudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2d1YXJkcy9hcGkvaXNBcGlTZWFyY2hFdmVudEF0dHJpYnV0ZXMudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2d1YXJkcy9hcGkvaXNBcGlTdWdnZXN0aW9uLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9ndWFyZHMvYXBpL2lzQXBpU3VnZ2VzdGlvbkNsaWNrZWRFdmVudEF0dHJpYnV0ZXMudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2d1YXJkcy9hcGkvaXNBcGlUZXh0UmVzcG9uc2VBdHRyaWJ1dGVzLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9ndWFyZHMvYXBpL2lzQXBpVXNlckV2ZW50LnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9ndWFyZHMvYXBpL2lzQXBpUHJvZHVjdFNlYXJjaEF0dHJpYnV0ZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUERQQXR0cmlidXRlcyB9IGZyb20gJ0BzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudCc7XG5cbmV4cG9ydCBjb25zdCBpc0FwaVBEUEF0dHJpYnV0ZXMgPSAoZGF0YTogdW5rbm93bik6IGRhdGEgaXMgUERQQXR0cmlidXRlcyA9PiB7XG4gIGlmIChkYXRhID09IG51bGwgfHwgdHlwZW9mIGRhdGEgIT09ICdvYmplY3QnKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKCEoJ3Byb2R1Y3RfaWQnIGluIGRhdGEpIHx8IHR5cGVvZiBkYXRhLnByb2R1Y3RfaWQgIT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKCdwYXJlbnRfcHJvZHVjdF9pZCcgaW4gZGF0YSAmJiB0eXBlb2YgZGF0YS5wYXJlbnRfcHJvZHVjdF9pZCAhPT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoJ3VybCcgaW4gZGF0YSAmJiBkYXRhLnVybCAhPSBudWxsICYmIHR5cGVvZiBkYXRhLnVybCAhPT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn07XG4iLCJpbXBvcnQgeyBRdWVyeVR5cGVkQXR0cmlidXRlcyB9IGZyb20gJ0BzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudCc7XG5cbmV4cG9ydCBjb25zdCBpc0FwaVF1ZXJ5VHlwZWRBdHRyaWJ1dGVzID0gKGRhdGE6IHVua25vd24pOiBkYXRhIGlzIFF1ZXJ5VHlwZWRBdHRyaWJ1dGVzID0+XG4gIGRhdGEgIT0gbnVsbCAmJiB0eXBlb2YgZGF0YSA9PT0gJ29iamVjdCcgJiYgJ3F1ZXJ5JyBpbiBkYXRhICYmIHR5cGVvZiBkYXRhLnF1ZXJ5ID09PSAnc3RyaW5nJztcbiIsImltcG9ydCBMb2dnZXIgZnJvbSAnc3JjL2FwcGxpY2F0aW9uL2xvZ2dpbmcvbG9nZ2VyJztcbmltcG9ydCB7IFJlc3BvbnNlLCBSZXNwb25zZUNhdGVnb3J5IH0gZnJvbSAnQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50JztcbmltcG9ydCB7IGhhc1Byb3BlcnR5T2ZUeXBlIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy9ndWFyZHMvdXRpbHMnO1xuXG5leHBvcnQgY29uc3QgaXNBcGlSZXNwb25zZSA9IChkYXRhOiB1bmtub3duKTogZGF0YSBpcyBSZXNwb25zZSA9PiB7XG4gIGlmIChkYXRhID09IG51bGwgfHwgdHlwZW9mIGRhdGEgIT09ICdvYmplY3QnKSB7XG4gICAgTG9nZ2VyLmxvZ0Vycm9yKCdpc0FwaVJlc3BvbnNlOiBkYXRhIGlzIG51bGwgb3Igbm90IGFuIG9iamVjdCcsIHVuZGVmaW5lZCwgeyBkYXRhIH0pO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmICghaGFzUHJvcGVydHlPZlR5cGUoZGF0YSwgJ2lkJywgJ3N0cmluZycpKSB7XG4gICAgTG9nZ2VyLmxvZ0Vycm9yKCdpc0FwaVJlc3BvbnNlOiBpZCBpcyBub3QgYSBzdHJpbmcnLCB1bmRlZmluZWQsIHsgZGF0YSB9KTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoXG4gICAgIWhhc1Byb3BlcnR5T2ZUeXBlKGRhdGEsICdjYXRlZ29yeScsICdzdHJpbmcnKSB8fFxuICAgICFPYmplY3QudmFsdWVzKFJlc3BvbnNlQ2F0ZWdvcnkpLmluY2x1ZGVzKGRhdGEuY2F0ZWdvcnkgYXMgUmVzcG9uc2VDYXRlZ29yeSlcbiAgKSB7XG4gICAgTG9nZ2VyLmxvZ0Vycm9yKFxuICAgICAgJ2lzQXBpUmVzcG9uc2U6IGNhdGVnb3J5IGlzIG5vdCBhIHN0cmluZyBvciBub3QgYSB2YWxpZCByZXNwb25zZSBjYXRlZ29yeScsXG4gICAgICB1bmRlZmluZWQsXG4gICAgICB7IGRhdGEgfSxcbiAgICApO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmICghaGFzUHJvcGVydHlPZlR5cGUoZGF0YSwgJ2NyZWF0ZWRfYXQnLCAnc3RyaW5nJykpIHtcbiAgICBMb2dnZXIubG9nRXJyb3IoJ2lzQXBpUmVzcG9uc2U6IGNyZWF0ZWRfYXQgaXMgbm90IGEgc3RyaW5nJywgdW5kZWZpbmVkLCB7IGRhdGEgfSk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKCFoYXNQcm9wZXJ0eU9mVHlwZShkYXRhLCAnYXR0cmlidXRlcycsICdvYmplY3QnLCB0cnVlKSkge1xuICAgIExvZ2dlci5sb2dFcnJvcignaXNBcGlSZXNwb25zZTogYXR0cmlidXRlcyBpcyBub3QgYW4gb2JqZWN0JywgdW5kZWZpbmVkLCB7IGRhdGEgfSk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59O1xuIiwiaW1wb3J0IExvZ2dlciBmcm9tICdzcmMvYXBwbGljYXRpb24vbG9nZ2luZy9sb2dnZXInO1xuaW1wb3J0IHsgUmVzcG9uc2VQcm9kdWN0QXR0cmlidXRlcyB9IGZyb20gJ0BzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudCc7XG5pbXBvcnQgeyBoYXNQcm9wZXJ0eU9mVHlwZSB9IGZyb20gJy4uL3V0aWxzJztcblxuZXhwb3J0IGNvbnN0IGlzQXBpUHJvZHVjdFJlc3BvbnNlQXR0cmlidXRlcyA9IChcbiAgYXR0cmlidXRlczogdW5rbm93bixcbik6IGF0dHJpYnV0ZXMgaXMgUmVzcG9uc2VQcm9kdWN0QXR0cmlidXRlcyA9PiB7XG4gIGlmIChhdHRyaWJ1dGVzID09IG51bGwgfHwgdHlwZW9mIGF0dHJpYnV0ZXMgIT09ICdvYmplY3QnKSB7XG4gICAgTG9nZ2VyLmxvZ0Vycm9yKFxuICAgICAgJ2lzQXBpUHJvZHVjdFJlc3BvbnNlQXR0cmlidXRlczogYXR0cmlidXRlcyBpcyBudWxsIG9yIG5vdCBhbiBvYmplY3QnLFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAge1xuICAgICAgICBhdHRyaWJ1dGVzLFxuICAgICAgfSxcbiAgICApO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmICghaGFzUHJvcGVydHlPZlR5cGUoYXR0cmlidXRlcywgJ2Rlc2NyaXB0aW9uJywgJ3N0cmluZycsIHRydWUpKSB7XG4gICAgTG9nZ2VyLmxvZ0Vycm9yKCdpc0FwaVByb2R1Y3RSZXNwb25zZUF0dHJpYnV0ZXM6IGRlc2NyaXB0aW9uIGlzIG5vdCBhIHN0cmluZycsIHVuZGVmaW5lZCwge1xuICAgICAgYXR0cmlidXRlcyxcbiAgICB9KTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoXG4gICAgIWhhc1Byb3BlcnR5T2ZUeXBlKGF0dHJpYnV0ZXMsICdpbWFnZV91cmwnLCAnc3RyaW5nJywgdHJ1ZSlcbiAgKSB7XG4gICAgTG9nZ2VyLmxvZ0Vycm9yKCdpc0FwaVByb2R1Y3RSZXNwb25zZUF0dHJpYnV0ZXM6IGltYWdlX3VybCBpcyBub3QgYSBzdHJpbmcnLCB1bmRlZmluZWQsIHtcbiAgICAgIGF0dHJpYnV0ZXMsXG4gICAgfSk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKCFoYXNQcm9wZXJ0eU9mVHlwZShhdHRyaWJ1dGVzLCAndGl0bGUnLCAnc3RyaW5nJykpIHtcbiAgICBMb2dnZXIubG9nRXJyb3IoJ2lzQXBpUHJvZHVjdFJlc3BvbnNlQXR0cmlidXRlczogdGl0bGUgaXMgbm90IGEgc3RyaW5nJywgdW5kZWZpbmVkLCB7XG4gICAgICBhdHRyaWJ1dGVzLFxuICAgIH0pO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmICghaGFzUHJvcGVydHlPZlR5cGUoYXR0cmlidXRlcywgJ3VybCcsICdzdHJpbmcnKSkge1xuICAgIExvZ2dlci5sb2dFcnJvcignaXNBcGlQcm9kdWN0UmVzcG9uc2VBdHRyaWJ1dGVzOiB1cmwgaXMgbm90IGEgc3RyaW5nJywgdW5kZWZpbmVkLCB7XG4gICAgICBhdHRyaWJ1dGVzLFxuICAgIH0pO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmICghaGFzUHJvcGVydHlPZlR5cGUoYXR0cmlidXRlcywgJ29yaWdpbmFsX3ByaWNlJywgJ251bWJlcicsIHRydWUpKSB7XG4gICAgTG9nZ2VyLmxvZ0Vycm9yKCdpc0FwaVByb2R1Y3RSZXNwb25zZUF0dHJpYnV0ZXM6IG9yaWdpbmFsX3ByaWNlIGlzIG5vdCBhIG51bWJlcicsIHVuZGVmaW5lZCwge1xuICAgICAgYXR0cmlidXRlcyxcbiAgICB9KTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoIWhhc1Byb3BlcnR5T2ZUeXBlKGF0dHJpYnV0ZXMsICdzYWxlX3ByaWNlJywgJ251bWJlcicsIHRydWUpKSB7XG4gICAgTG9nZ2VyLmxvZ0Vycm9yKCdpc0FwaVByb2R1Y3RSZXNwb25zZUF0dHJpYnV0ZXM6IHNhbGVfcHJpY2UgaXMgbm90IGEgbnVtYmVyJywgdW5kZWZpbmVkLCB7XG4gICAgICBhdHRyaWJ1dGVzLFxuICAgIH0pO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmICghaGFzUHJvcGVydHlPZlR5cGUoYXR0cmlidXRlcywgJ2F2ZXJhZ2VfcmF0aW5nJywgJ251bWJlcicsIHRydWUpKSB7XG4gICAgTG9nZ2VyLmxvZ0Vycm9yKCdpc0FwaVByb2R1Y3RSZXNwb25zZUF0dHJpYnV0ZXM6IGF2ZXJhZ2VfcmF0aW5nIGlzIG5vdCBhIG51bWJlcicsIHVuZGVmaW5lZCwge1xuICAgICAgYXR0cmlidXRlcyxcbiAgICB9KTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoIWhhc1Byb3BlcnR5T2ZUeXBlKGF0dHJpYnV0ZXMsICdudW1iZXJfcmV2aWV3cycsICdudW1iZXInLCB0cnVlKSkge1xuICAgIExvZ2dlci5sb2dFcnJvcignaXNBcGlQcm9kdWN0UmVzcG9uc2VBdHRyaWJ1dGVzOiBudW1iZXJfcmV2aWV3cyBpcyBub3QgYSBudW1iZXInLCB1bmRlZmluZWQsIHtcbiAgICAgIGF0dHJpYnV0ZXMsXG4gICAgfSk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKCFoYXNQcm9wZXJ0eU9mVHlwZShhdHRyaWJ1dGVzLCAnbWV0YWRhdGEnLCAnYXJyYXknLCB0cnVlKSkge1xuICAgIExvZ2dlci5sb2dFcnJvcignaXNBcGlQcm9kdWN0UmVzcG9uc2VBdHRyaWJ1dGVzOiBtZXRhZGF0YSBpcyBub3QgYW4gYXJyYXknLCB1bmRlZmluZWQsIHtcbiAgICAgIGF0dHJpYnV0ZXMsXG4gICAgfSk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59O1xuIiwiaW1wb3J0IHsgQXBpUmV2aWV3UmljaEluZm9ybWF0aW9uIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy9hcGkvcmVzcG9uc2VHZW5lcmljcyc7XG5cbmV4cG9ydCBjb25zdCBpc0FwaVJldmlld1JpY2hJbmZvcm1hdGlvbiA9IChcbiAgcmljaEluZm86IHVua25vd24sXG4pOiByaWNoSW5mbyBpcyBBcGlSZXZpZXdSaWNoSW5mb3JtYXRpb24gPT4ge1xuICBpZiAocmljaEluZm8gPT0gbnVsbCB8fCB0eXBlb2YgcmljaEluZm8gIT09ICdvYmplY3QnKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKFxuICAgICdjb25zJyBpbiByaWNoSW5mbyAmJlxuICAgICghQXJyYXkuaXNBcnJheShyaWNoSW5mby5jb25zKSB8fCByaWNoSW5mby5jb25zLnNvbWUoKGNvbikgPT4gdHlwZW9mIGNvbiAhPT0gJ3N0cmluZycpKVxuICApIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoXG4gICAgJ3Byb3MnIGluIHJpY2hJbmZvICYmXG4gICAgKCFBcnJheS5pc0FycmF5KHJpY2hJbmZvLnByb3MpIHx8IHJpY2hJbmZvLnByb3Muc29tZSgocHJvKSA9PiB0eXBlb2YgcHJvICE9PSAnc3RyaW5nJykpXG4gICkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmICgncmV2aWV3X2RhdGUnIGluIHJpY2hJbmZvICYmIHR5cGVvZiByaWNoSW5mby5yZXZpZXdfZGF0ZSAhPT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoJ3Jldmlld2VyX3RpdGxlJyBpbiByaWNoSW5mbyAmJiB0eXBlb2YgcmljaEluZm8ucmV2aWV3ZXJfdGl0bGUgIT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKCdwcm9kdWN0X2ZhbWlsaWFyaXR5JyBpbiByaWNoSW5mbyAmJiB0eXBlb2YgcmljaEluZm8ucHJvZHVjdF9mYW1pbGlhcml0eSAhPT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn07XG4iLCJpbXBvcnQgeyBBcGlSZXZpZXdSZXNwb25zZUF0dHJpYnV0ZXMgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2FwaS9yZXNwb25zZUdlbmVyaWNzJztcbmltcG9ydCB7IGlzQXBpUmV2aWV3UmljaEluZm9ybWF0aW9uIH0gZnJvbSAnLi9pc0FwaVJldmlld1JpY2hJbmZvcm1hdGlvbic7XG5cbmV4cG9ydCBjb25zdCBpc0FwaVJldmlld1Jlc3BvbnNlQXR0cmlidXRlcyA9IChvYmo6IHVua25vd24pOiBvYmogaXMgQXBpUmV2aWV3UmVzcG9uc2VBdHRyaWJ1dGVzID0+IHtcbiAgaWYgKG9iaiA9PSBudWxsIHx8IHR5cGVvZiBvYmogIT09ICdvYmplY3QnKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKCd0aXRsZScgaW4gb2JqICYmIG9iai50aXRsZSAhPSBudWxsICYmIHR5cGVvZiBvYmoudGl0bGUgIT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKCdyZXZpZXcnIGluIG9iaiAmJiB0eXBlb2Ygb2JqLnJldmlldyAhPT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoJ3Jldmlld2VyJyBpbiBvYmogJiYgdHlwZW9mIG9iai5yZXZpZXdlciAhPT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoJ3N0YXJzJyBpbiBvYmogJiYgdHlwZW9mIG9iai5zdGFycyAhPT0gJ251bWJlcicpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoJ3JpY2hfaW5mb3JtYXRpb24nIGluIG9iaiAmJiAhaXNBcGlSZXZpZXdSaWNoSW5mb3JtYXRpb24ob2JqLnJpY2hfaW5mb3JtYXRpb24pKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59O1xuIiwiaW1wb3J0IHsgU2VhcmNoQXR0cmlidXRlcyB9IGZyb20gJ0BzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudCc7XG5cbmV4cG9ydCBjb25zdCBpc0FwaVNlYXJjaEF0dHJpYnV0ZXMgPSAoZGF0YTogdW5rbm93bik6IGRhdGEgaXMgU2VhcmNoQXR0cmlidXRlcyA9PiB7XG4gIGlmIChkYXRhID09IG51bGwgfHwgdHlwZW9mIGRhdGEgIT09ICdvYmplY3QnKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKCEoJ3NlYXJjaF90ZXJtJyBpbiBkYXRhKSB8fCB0eXBlb2YgZGF0YS5zZWFyY2hfdGVybSAhPT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgaWYgKCdzZWxlY3RlZF9maWx0ZXJzJyBpbiBkYXRhICYmICFBcnJheS5pc0FycmF5KGRhdGEuc2VsZWN0ZWRfZmlsdGVycykpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoISFkYXRhLnNlYXJjaF90ZXJtKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBpZiAoXG4gICAgISgnc2VhcmNoX3Jlc3VsdHMnIGluIGRhdGEpIHx8XG4gICAgIUFycmF5LmlzQXJyYXkoZGF0YS5zZWFyY2hfcmVzdWx0cykgfHxcbiAgICAhZGF0YS5zZWFyY2hfcmVzdWx0cy5ldmVyeSgodikgPT4gdHlwZW9mIHYgPT09ICdzdHJpbmcnKVxuICApIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn07XG4iLCJpbXBvcnQge1xuICBTdWdnZXN0aW9uIGFzIENvbW1lcmNlU3VnZ2VzdGlvbixcbiAgU3VnZ2VzdGlvbkNhdGVnb3J5LFxufSBmcm9tICdAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnQnO1xuXG5leHBvcnQgY29uc3QgaXNTdWdnZXN0aW9uID0gKGRhdGE6IHVua25vd24pOiBkYXRhIGlzIENvbW1lcmNlU3VnZ2VzdGlvbiA9PiB7XG4gIGlmIChkYXRhID09IG51bGwgfHwgdHlwZW9mIGRhdGEgIT09ICdvYmplY3QnKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKCEoJ2lkJyBpbiBkYXRhKSB8fCB0eXBlb2YgZGF0YS5pZCAhPT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoXG4gICAgISgnY2F0ZWdvcnknIGluIGRhdGEpIHx8XG4gICAgdHlwZW9mIGRhdGEuY2F0ZWdvcnkgIT09ICdzdHJpbmcnIHx8XG4gICAgIU9iamVjdC52YWx1ZXMoU3VnZ2VzdGlvbkNhdGVnb3J5KS5pbmNsdWRlcyhkYXRhLmNhdGVnb3J5IGFzIFN1Z2dlc3Rpb25DYXRlZ29yeSlcbiAgKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKCEoJ2NyZWF0ZWRfYXQnIGluIGRhdGEpIHx8IHR5cGVvZiBkYXRhLmNyZWF0ZWRfYXQgIT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKCEoJ2NvbnRlbnQnIGluIGRhdGEpIHx8IHR5cGVvZiBkYXRhLmNvbnRlbnQgIT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKCdpc19hbnN3ZXInIGluIGRhdGEgJiYgZGF0YS5pc19hbnN3ZXIgIT0gbnVsbCAmJiB0eXBlb2YgZGF0YS5pc19hbnN3ZXIgIT09ICdib29sZWFuJykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufTtcbiIsImltcG9ydCB7IFN1Z2dlc3Rpb25DbGlja2VkQXR0cmlidXRlcyB9IGZyb20gJ0BzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudCc7XG5cbmV4cG9ydCBjb25zdCBpc0FwaVN1Z2dlc3Rpb25DbGlja2VkQXR0cmlidXRlcyA9IChcbiAgZGF0YTogdW5rbm93bixcbik6IGRhdGEgaXMgU3VnZ2VzdGlvbkNsaWNrZWRBdHRyaWJ1dGVzID0+XG4gIGRhdGEgIT0gbnVsbCAmJlxuICB0eXBlb2YgZGF0YSA9PT0gJ29iamVjdCcgJiZcbiAgJ3N1Z2dlc3Rpb25faWQnIGluIGRhdGEgJiZcbiAgdHlwZW9mIGRhdGEuc3VnZ2VzdGlvbl9pZCA9PT0gJ3N0cmluZyc7XG4iLCJpbXBvcnQgeyBBcGlUZXh0UmVzcG9uc2VBdHRyaWJ1dGVzIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy9hcGkvcmVzcG9uc2VHZW5lcmljcyc7XG5cbmV4cG9ydCBjb25zdCBpc0FwaVRleHRSZXNwb25zZUF0dHJpYnV0ZXMgPSAoXG4gIGF0dHJpYnV0ZXM6IHVua25vd24sXG4pOiBhdHRyaWJ1dGVzIGlzIEFwaVRleHRSZXNwb25zZUF0dHJpYnV0ZXMgPT5cbiAgdHlwZW9mIGF0dHJpYnV0ZXMgPT09ICdvYmplY3QnICYmXG4gIGF0dHJpYnV0ZXMgIT0gbnVsbCAmJlxuICAnY29udGVudCcgaW4gYXR0cmlidXRlcyAmJlxuICB0eXBlb2YgYXR0cmlidXRlcy5jb250ZW50ID09PSAnc3RyaW5nJztcbiIsImltcG9ydCB7IFVzZXJFdmVudCwgVXNlckV2ZW50Q2F0ZWdvcnkgfSBmcm9tICdAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnQnO1xuXG5leHBvcnQgY29uc3QgaXNBcGlVc2VyRXZlbnQgPSAoZGF0YTogdW5rbm93bik6IGRhdGEgaXMgVXNlckV2ZW50ID0+IHtcbiAgaWYgKGRhdGEgPT0gbnVsbCB8fCB0eXBlb2YgZGF0YSAhPT0gJ29iamVjdCcpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoISgnZXZlbnRfaWQnIGluIGRhdGEpIHx8IHR5cGVvZiBkYXRhLmV2ZW50X2lkICE9PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmICghKCdjcmVhdGVkX2F0JyBpbiBkYXRhKSB8fCB0eXBlb2YgZGF0YS5jcmVhdGVkX2F0ICE9PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmIChcbiAgICAhKCdjYXRlZ29yeScgaW4gZGF0YSkgfHxcbiAgICB0eXBlb2YgZGF0YS5jYXRlZ29yeSAhPT0gJ3N0cmluZycgfHxcbiAgICAhT2JqZWN0LnZhbHVlcyhVc2VyRXZlbnRDYXRlZ29yeSkuaW5jbHVkZXMoZGF0YS5jYXRlZ29yeSBhcyBVc2VyRXZlbnRDYXRlZ29yeSlcbiAgKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59O1xuIiwiaW1wb3J0IHsgUHJvZHVjdFNlYXJjaFJlc3BvbnNlQXR0cmlidXRlcyB9IGZyb20gJ0BzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudCc7XG5cbmV4cG9ydCBjb25zdCBpc0FwaVByb2R1Y3RTZWFyY2hSZXNwb25zZUF0dHJpYnV0ZXMgPSAoXG4gIGF0dHJpYnV0ZXM6IHVua25vd24sXG4pOiBhdHRyaWJ1dGVzIGlzIFByb2R1Y3RTZWFyY2hSZXNwb25zZUF0dHJpYnV0ZXMgPT4ge1xuICBpZiAoYXR0cmlidXRlcyA9PSBudWxsIHx8IHR5cGVvZiBhdHRyaWJ1dGVzICE9PSAnb2JqZWN0Jykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmICgnZ2VuZXJhdGVkX3F1ZXJ5JyBpbiBhdHRyaWJ1dGVzICYmIHR5cGVvZiBhdHRyaWJ1dGVzLmdlbmVyYXRlZF9xdWVyeSAhPT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoXG4gICAgJ3Byb2R1Y3RfY291bnQnIGluIGF0dHJpYnV0ZXMgJiZcbiAgICBhdHRyaWJ1dGVzLnByb2R1Y3RfY291bnQgIT0gbnVsbCAmJlxuICAgIHR5cGVvZiBhdHRyaWJ1dGVzLnByb2R1Y3RfY291bnQgIT09ICdudW1iZXInXG4gICkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFFQSxNQUFhLHNCQUFzQixTQUF5QztBQUMxRSxLQUFJLFFBQVEsUUFBUSxPQUFPLFNBQVMsU0FDbEMsUUFBTztBQUdULEtBQUksRUFBRSxnQkFBZ0IsU0FBUyxPQUFPLEtBQUssZUFBZSxTQUN4RCxRQUFPO0FBR1QsS0FBSSx1QkFBdUIsUUFBUSxPQUFPLEtBQUssc0JBQXNCLFNBQ25FLFFBQU87QUFHVCxLQUFJLFNBQVMsUUFBUSxLQUFLLE9BQU8sUUFBUSxPQUFPLEtBQUssUUFBUSxTQUMzRCxRQUFPO0FBR1QsUUFBTzs7Ozs7QUNqQlQsTUFBYSw2QkFBNkIsU0FDeEMsUUFBUSxRQUFRLE9BQU8sU0FBUyxZQUFZLFdBQVcsUUFBUSxPQUFPLEtBQUssVUFBVTs7OztBQ0N2RixNQUFhLGlCQUFpQixTQUFvQztBQUNoRSxLQUFJLFFBQVEsUUFBUSxPQUFPLFNBQVMsVUFBVTtBQUM1QyxpQkFBTyxTQUFTLGdEQUFnRCxRQUFXLEVBQUUsTUFBTSxDQUFDO0FBQ3BGLFNBQU87O0FBR1QsS0FBSSxDQUFDLGtCQUFrQixNQUFNLE1BQU0sU0FBUyxFQUFFO0FBQzVDLGlCQUFPLFNBQVMscUNBQXFDLFFBQVcsRUFBRSxNQUFNLENBQUM7QUFDekUsU0FBTzs7QUFHVCxLQUNFLENBQUMsa0JBQWtCLE1BQU0sWUFBWSxTQUFTLElBQzlDLENBQUMsT0FBTyxPQUFPLGlCQUFpQixDQUFDLFNBQVMsS0FBSyxTQUE2QixFQUM1RTtBQUNBLGlCQUFPLFNBQ0wsNEVBQ0EsUUFDQSxFQUFFLE1BQU0sQ0FDVDtBQUNELFNBQU87O0FBR1QsS0FBSSxDQUFDLGtCQUFrQixNQUFNLGNBQWMsU0FBUyxFQUFFO0FBQ3BELGlCQUFPLFNBQVMsNkNBQTZDLFFBQVcsRUFBRSxNQUFNLENBQUM7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
@@ -1,132 +0,0 @@
1
- import { OrgShortName } from "./models-CgvSM2fW.js";
2
- import { FeatureGates } from "./featureGates-Blx10fwB.js";
3
- import { contextSourceAtom, enviveConfigAtom } from "./enviveConfig-BSfyz_pm.js";
4
- import { sessionStorageUtil } from "./atomStore-BuopbV9k.js";
5
- import { ContextSourceEnum, SupportedEventProductCategory } from "@spiffy-ai/commerce-api-client";
6
- import { v4 } from "uuid";
7
- import { atom } from "jotai";
8
- import { atomWithStorage } from "jotai/utils";
9
-
10
- //#region src/atoms/app/variant.ts
11
- const internalStorageUrlResolverAtom = atomWithStorage("spiffy-url-resolver", void 0, sessionStorageUtil, { getOnInit: true });
12
- const urlResolverAtom = atom((get) => {
13
- const maybeUrlResolver = get(internalStorageUrlResolverAtom);
14
- if (maybeUrlResolver == null) return {};
15
- return JSON.parse(maybeUrlResolver);
16
- }, (get, set, value) => {
17
- const newCache = {
18
- ...get(urlResolverAtom),
19
- [value.url]: value.response
20
- };
21
- set(internalStorageUrlResolverAtom, JSON.stringify(newCache));
22
- });
23
- const internalStorageSupportedEventAtom = atomWithStorage("spiffy-supported-event", void 0, sessionStorageUtil, { getOnInit: true });
24
- const internalSupportedEventAtom = atom(void 0);
25
- const featureFlagServiceAtom = atom((get) => {
26
- const featureOverrides = get(enviveConfigAtom)?.featureOverrides;
27
- return { isFeatureGateEnabled: (gate) => featureOverrides?.[gate] || false };
28
- });
29
- const supportedEventAtom = atom((get) => {
30
- const maybeSupportedEvent = get(internalStorageSupportedEventAtom);
31
- if (maybeSupportedEvent == null) return;
32
- return JSON.parse(maybeSupportedEvent);
33
- }, (get, set, value) => {
34
- if (value == null) {
35
- set(internalStorageSupportedEventAtom, void 0);
36
- set(internalSupportedEventAtom, void 0);
37
- return;
38
- }
39
- const featureFlagService = get(featureFlagServiceAtom);
40
- const variantCategory = get(internalSupportedEventAtom)?.category;
41
- const orgShortName = get(enviveConfigAtom)?.orgShortName;
42
- if (featureFlagService && !featureFlagService.isFeatureGateEnabled(FeatureGates.IsNonShapewearEnabled) && variantCategory && variantCategory !== SupportedEventProductCategory.Shapewear && (orgShortName === OrgShortName.Spanx || orgShortName === OrgShortName.SpanxStaging)) {
43
- const modifiedSupportedEvent = {
44
- supported: false,
45
- ready: value.ready,
46
- category: value.category,
47
- numberOfReviews: value.numberOfReviews,
48
- collections: value.collections,
49
- top_category: value.top_category,
50
- merchant_tags: value.merchant_tags
51
- };
52
- set(internalSupportedEventAtom, modifiedSupportedEvent);
53
- set(internalStorageSupportedEventAtom, JSON.stringify(modifiedSupportedEvent));
54
- return;
55
- }
56
- set(internalSupportedEventAtom, value);
57
- set(internalStorageSupportedEventAtom, JSON.stringify(value));
58
- });
59
- const internalVariantIdAtom = atom();
60
- const internalProductIdAtom = atom();
61
- const internalParentProductIdAtom = atom();
62
- const internalProductUrlAtom = atom();
63
- const internalPlpIdAtom = atom();
64
- const internalUrlAtom = atom();
65
- const internalPageVisitCategoryAtom = atom();
66
- const internalVariantAtom = atom("pdp");
67
- const variantIdAtom = atom((get) => get(internalVariantIdAtom));
68
- const productIdAtom = atom((get) => get(internalProductIdAtom));
69
- const parentProductIdAtom = atom((get) => get(internalParentProductIdAtom));
70
- const productUrlAtom = atom((get) => get(internalProductUrlAtom));
71
- const plpIdAtom = atom((get) => get(internalPlpIdAtom));
72
- const urlAtom = atom((get) => get(internalUrlAtom));
73
- const pageVisitCategoryAtom = atom((get) => get(internalPageVisitCategoryAtom));
74
- const variantAtom = atom((get) => get(internalVariantAtom));
75
- const hasParsedVariantInfoAtom = atom(false);
76
- const variantInfoAtom = atom((get) => {
77
- const variant = get(variantAtom);
78
- if (variant === "pdp") return {
79
- variantId: get(variantIdAtom),
80
- variant,
81
- productId: get(productIdAtom),
82
- parentProductId: get(parentProductIdAtom),
83
- url: get(urlAtom)
84
- };
85
- if (variant === "plp") return {
86
- variantId: get(variantIdAtom),
87
- variant,
88
- plpId: get(plpIdAtom),
89
- url: get(urlAtom)
90
- };
91
- if (variant === "page_visit") return {
92
- variantId: get(variantIdAtom),
93
- variant,
94
- url: get(urlAtom),
95
- pageVisitCategory: get(pageVisitCategoryAtom)
96
- };
97
- throw new Error("Invalid variantInfo details");
98
- }, (_, set, newVariant) => {
99
- set(internalVariantAtom, newVariant.variant);
100
- set(internalVariantIdAtom, newVariant.variantId);
101
- if (newVariant.variant === "pdp") {
102
- set(internalProductIdAtom, newVariant.productId);
103
- set(internalParentProductIdAtom, newVariant.parentProductId);
104
- set(internalUrlAtom, newVariant.url);
105
- }
106
- if (newVariant.variant === "plp") {
107
- set(internalPlpIdAtom, newVariant.plpId);
108
- set(internalUrlAtom, newVariant.url);
109
- }
110
- if (newVariant.variant === "page_visit") {
111
- set(internalUrlAtom, newVariant.url);
112
- set(internalPageVisitCategoryAtom, newVariant.pageVisitCategory);
113
- }
114
- });
115
-
116
- //#endregion
117
- //#region src/atoms/app/index.ts
118
- const internalUserIdAtom = atom(void 0);
119
- const userIdAtom = atom((get) => {
120
- const maybeUserId = get(internalUserIdAtom);
121
- if (maybeUserId) return maybeUserId;
122
- return get(userIdentityAtom)?.getUserIdOrDefault() ?? "";
123
- }, (_, set, value) => {
124
- set(internalUserIdAtom, value);
125
- });
126
- const userIdentityAtom = atom(void 0);
127
- const appSourceAtom = atom((get) => get(contextSourceAtom) ?? ContextSourceEnum.App);
128
- const chatIdAtom = atomWithStorage("v1-spiffy-chat-session-id", v4(), void 0, { getOnInit: true });
129
-
130
- //#endregion
131
- export { appSourceAtom, chatIdAtom, hasParsedVariantInfoAtom, supportedEventAtom, userIdAtom, userIdentityAtom, variantInfoAtom };
132
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLUNvUTFuQy1qLmpzIiwibmFtZXMiOlsidXVpZCJdLCJzb3VyY2VzIjpbIi4uL3NyYy9hdG9tcy9hcHAvdmFyaWFudC50cyIsIi4uL3NyYy9hdG9tcy9hcHAvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXRvbVdpdGhTdG9yYWdlIH0gZnJvbSBcImpvdGFpL3V0aWxzXCI7XG5pbXBvcnQgeyBhdG9tIH0gZnJvbSBcImpvdGFpXCI7XG5pbXBvcnQge1xuICBTdXBwb3J0ZWRFdmVudFByb2R1Y3RDYXRlZ29yeSxcbiAgU3VwcG9ydGVkRXZlbnRSZXNwb25zZSxcbiAgUGFnZVZpc2l0Q2F0ZWdvcnksXG59IGZyb20gXCJAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnRcIjtcbmltcG9ydCB7XG4gIFBhZ2VWaXNpdFZhcmlhbnRJbmZvLFxuICBQRFBWYXJpYW50SW5mbyxcbiAgUExQVmFyaWFudEluZm8sXG4gIFZhcmlhbnRJbmZvLFxuICBGZWF0dXJlR2F0ZXMsXG4gIE9yZ1Nob3J0TmFtZSxcbn0gZnJvbSBcInNyYy9hcHBsaWNhdGlvbi9tb2RlbHNcIjtcbmltcG9ydCB7IHNlc3Npb25TdG9yYWdlVXRpbCB9IGZyb20gXCJzcmMvYXRvbXMvYXRvbVN0b3JlL2F0b21TdG9yZVwiO1xuaW1wb3J0IHsgZW52aXZlQ29uZmlnQXRvbSB9IGZyb20gXCJzcmMvYXRvbXMvZW52aXZlL2Vudml2ZUNvbmZpZ1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFN1cHBvcnRlZEV2ZW50XG4gIGV4dGVuZHMgUGljazxcbiAgICBTdXBwb3J0ZWRFdmVudFJlc3BvbnNlLFxuICAgIFwic3VwcG9ydGVkXCIgfCBcInJlYWR5XCIgfCBcImNhdGVnb3J5XCIgfCBcImNvbGxlY3Rpb25zXCIgfCBcInRvcF9jYXRlZ29yeVwiXG4gID4ge1xuICBudW1iZXJPZlJldmlld3M6IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgbWVyY2hhbnRfdGFncz86IHN0cmluZ1tdO1xufVxuXG5pbnRlcmZhY2UgUERQQXR0cmlidXRlcyB7XG4gIHByb2R1Y3RfaWQ/OiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBQTFBBdHRyaWJ1dGVzIHtcbiAgYXR0cmlidXRlcz86IHtcbiAgICBpZD86IHN0cmluZztcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVcmxSZXNvbHZpbmdQRFBDb25maWcge1xuICBwZHBfYXR0cmlidXRlczogUERQQXR0cmlidXRlcztcbiAgbnVtYmVyX29mX3Jldmlld3M/OiBudW1iZXI7XG4gIGNvbGxlY3Rpb25zPzogc3RyaW5nW107XG4gIG1lcmNoYW50X3RhZ3M/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVcmxSZXNvbHZpbmdQTFBDb25maWcge1xuICBwbHBfYXR0cmlidXRlczogUExQQXR0cmlidXRlcztcbiAgdG9wX2NhdGVnb3J5Pzogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgVXJsUmVzb2x2aW5nR2VuZXJpY0NvbmZpZyB7XG4gIGRldGFpbHM/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIFBhZ2VWYXJpYW50Q2hlY2tDb25maWcgPSB7XG4gIGNoZWNrX3R5cGU6IHN0cmluZztcbiAgZmVhdHVyZV9nYXRlPzogc3RyaW5nO1xuICBleHRyYWN0b3I/OiB7XG4gICAgdHlwZTogc3RyaW5nO1xuICAgIG1hcD86IFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPjtcbiAgICB2YWx1ZT86IHN0cmluZztcbiAgfTtcbiAgcHJvZHVjdF9pZF9leHRyYWN0b3I/OiBzdHJpbmc7XG4gIHByb2R1Y3RfaWRzPzogc3RyaW5nW107XG4gIHBscF9pZF9leHRyYWN0b3I/OiBzdHJpbmc7XG4gIHBscF9pZHM/OiBzdHJpbmdbXTtcbiAgY29sbGVjdGlvbnM/OiBzdHJpbmdbXTtcbiAgcXVlcnlfcGFyYW0/OiBzdHJpbmc7XG4gIGNhdGVnb3J5Pzogc3RyaW5nO1xuICB0b3BfY2F0ZWdvcnk/OiBzdHJpbmdbXTtcbiAgcmV2aWV3X21pbmltdW0/OiBudW1iZXI7XG4gIG1lcmNoYW50X3RhZ3M/OiBzdHJpbmdbXTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tlbmRXaWRnZXRNb3VudGluZ0NvbmZpZyA9IHtcbiAgbW91bnRpbmdfY29uZmlnX2lkOiBzdHJpbmc7XG4gIHdpZGdldF9jb25maWdfaWQ/OiBzdHJpbmc7XG4gIG1vdW50aW5nX3BvaW50X3dpZGdldHM/OiBBcnJheTx7XG4gICAgY2hlY2tzOiBQYWdlVmFyaWFudENoZWNrQ29uZmlnW107XG4gICAgd2lkZ2V0X2NvbmZpZ19pZDogc3RyaW5nO1xuICB9Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tlbmRQYWdlVmFyaWFudENvbmZpZyA9IHtcbiAgdmFyaWFudF9pZDogc3RyaW5nO1xuICB2YXJpYW50X3R5cGU6IHN0cmluZztcbiAgdmFyaWFudF9jaGVja3M6IFBhZ2VWYXJpYW50Q2hlY2tDb25maWdbXTtcbiAgd2lkZ2V0X21vdW50aW5nOiBCYWNrZW5kV2lkZ2V0TW91bnRpbmdDb25maWdbXTtcbiAgcGxwX2lkX2V4dHJhY3Rvcj86IHN0cmluZztcbiAgcHJvZHVjdF9pZF9leHRyYWN0b3I/OiBzdHJpbmc7XG4gIHBhcmVudF9wcm9kdWN0X2lkX2V4dHJhY3Rvcj86IHN0cmluZztcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXJsUmVzb2x2ZXJSZXNwb25zZSB7XG4gIHZhcmlhbnRfdHlwZTogc3RyaW5nO1xuICBzcGVjaWZpY19kZXRhaWxzOlxuICAgIHwgVXJsUmVzb2x2aW5nUERQQ29uZmlnXG4gICAgfCBVcmxSZXNvbHZpbmdQTFBDb25maWdcbiAgICB8IFVybFJlc29sdmluZ0dlbmVyaWNDb25maWc7XG4gIHJlYWR5OiBib29sZWFuO1xuICB1c2VyX2V2ZW50Pzoge1xuICAgIGV2ZW50X2lkPzogc3RyaW5nO1xuICAgIGF0dHJpYnV0ZXM/OiBQRFBBdHRyaWJ1dGVzIHwgUExQQXR0cmlidXRlcztcbiAgICBjYXRlZ29yeT86IHN0cmluZztcbiAgICBjcmVhdGVkX2F0Pzogc3RyaW5nO1xuICB9O1xuICBwYWdlX3ZhcmlhbnQ/OiBCYWNrZW5kUGFnZVZhcmlhbnRDb25maWc7XG59XG5cbi8vIFVzZSBhIG1hcCBmb3IgcGVyLVVSTCBjYWNoZVxuZXhwb3J0IHR5cGUgVXJsUmVzb2x2ZXJDYWNoZSA9IFJlY29yZDxzdHJpbmcsIFVybFJlc29sdmVyUmVzcG9uc2UgfCB1bmRlZmluZWQ+O1xuXG5jb25zdCBpbnRlcm5hbFN0b3JhZ2VVcmxSZXNvbHZlckF0b20gPSBhdG9tV2l0aFN0b3JhZ2U8c3RyaW5nIHwgdW5kZWZpbmVkPihcbiAgXCJzcGlmZnktdXJsLXJlc29sdmVyXCIsXG4gIHVuZGVmaW5lZCxcbiAgc2Vzc2lvblN0b3JhZ2VVdGlsLFxuICB7XG4gICAgZ2V0T25Jbml0OiB0cnVlLFxuICB9XG4pO1xuXG5leHBvcnQgY29uc3QgdXJsUmVzb2x2ZXJBdG9tID0gYXRvbShcbiAgKGdldCk6IFVybFJlc29sdmVyQ2FjaGUgPT4ge1xuICAgIGNvbnN0IG1heWJlVXJsUmVzb2x2ZXIgPSBnZXQoaW50ZXJuYWxTdG9yYWdlVXJsUmVzb2x2ZXJBdG9tKTtcbiAgICBpZiAobWF5YmVVcmxSZXNvbHZlciA9PSBudWxsKSB7XG4gICAgICByZXR1cm4ge307XG4gICAgfVxuICAgIHJldHVybiBKU09OLnBhcnNlKG1heWJlVXJsUmVzb2x2ZXIpO1xuICB9LFxuICAoXG4gICAgZ2V0LFxuICAgIHNldCxcbiAgICB2YWx1ZTogeyB1cmw6IHN0cmluZzsgcmVzcG9uc2U6IFVybFJlc29sdmVyUmVzcG9uc2UgfCB1bmRlZmluZWQgfVxuICApID0+IHtcbiAgICAvLyBHZXQgY3VycmVudCBjYWNoZSBmcm9tIHN0b3JhZ2VcbiAgICBjb25zdCBjdXJyZW50Q2FjaGUgPSBnZXQodXJsUmVzb2x2ZXJBdG9tKTtcbiAgICBjb25zdCBuZXdDYWNoZSA9IHsgLi4uY3VycmVudENhY2hlLCBbdmFsdWUudXJsXTogdmFsdWUucmVzcG9uc2UgfTtcblxuICAgIHNldChpbnRlcm5hbFN0b3JhZ2VVcmxSZXNvbHZlckF0b20sIEpTT04uc3RyaW5naWZ5KG5ld0NhY2hlKSk7XG4gIH1cbik7XG5cbmNvbnN0IGludGVybmFsU3RvcmFnZVN1cHBvcnRlZEV2ZW50QXRvbSA9IGF0b21XaXRoU3RvcmFnZTxzdHJpbmcgfCB1bmRlZmluZWQ+KFxuICBcInNwaWZmeS1zdXBwb3J0ZWQtZXZlbnRcIixcbiAgdW5kZWZpbmVkLFxuICBzZXNzaW9uU3RvcmFnZVV0aWwsXG4gIHtcbiAgICBnZXRPbkluaXQ6IHRydWUsXG4gIH1cbik7XG5jb25zdCBpbnRlcm5hbFN1cHBvcnRlZEV2ZW50QXRvbSA9IGF0b208U3VwcG9ydGVkRXZlbnQgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cbmNvbnN0IGZlYXR1cmVGbGFnU2VydmljZUF0b20gPSBhdG9tKChnZXQpID0+IHtcbiAgY29uc3QgY29uZmlnID0gZ2V0KGVudml2ZUNvbmZpZ0F0b20pO1xuICBjb25zdCBmZWF0dXJlT3ZlcnJpZGVzID0gY29uZmlnPy5mZWF0dXJlT3ZlcnJpZGVzO1xuICByZXR1cm4ge1xuICAgIGlzRmVhdHVyZUdhdGVFbmFibGVkOiAoZ2F0ZTogc3RyaW5nKSA9PiBmZWF0dXJlT3ZlcnJpZGVzPy5bZ2F0ZV0gfHwgZmFsc2UsXG4gIH07XG59KTtcblxuZXhwb3J0IGNvbnN0IHN1cHBvcnRlZEV2ZW50QXRvbSA9IGF0b20oXG4gIChnZXQpOiBTdXBwb3J0ZWRFdmVudCB8IHVuZGVmaW5lZCA9PiB7XG4gICAgY29uc3QgbWF5YmVTdXBwb3J0ZWRFdmVudCA9IGdldChpbnRlcm5hbFN0b3JhZ2VTdXBwb3J0ZWRFdmVudEF0b20pO1xuICAgIGlmIChtYXliZVN1cHBvcnRlZEV2ZW50ID09IG51bGwpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgLy8gVE9ETyB0aGlzIGlzIGFuIHVudmFsaWRhdGVkIHBhcnNlLiBJdCBtYXkgYmUgYmV0dGVyIHRvIGltcGxlbWVudCBhIGN1c3RvbSBzdG9yYWdlIHV0aWxcbiAgICAvLyBhbmQgcGVyZm9ybSB0aGUgb2JqZWN0IHZhbGlkYXRpb24gb24gXCJnZXRcIiB0aGVyZS5cbiAgICByZXR1cm4gSlNPTi5wYXJzZShtYXliZVN1cHBvcnRlZEV2ZW50KTtcbiAgfSxcbiAgKGdldCwgc2V0LCB2YWx1ZTogU3VwcG9ydGVkRXZlbnQgfCB1bmRlZmluZWQpID0+IHtcbiAgICBpZiAodmFsdWUgPT0gbnVsbCkge1xuICAgICAgc2V0KGludGVybmFsU3RvcmFnZVN1cHBvcnRlZEV2ZW50QXRvbSwgdW5kZWZpbmVkKTtcbiAgICAgIHNldChpbnRlcm5hbFN1cHBvcnRlZEV2ZW50QXRvbSwgdW5kZWZpbmVkKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBmZWF0dXJlRmxhZ1NlcnZpY2UgPSBnZXQoZmVhdHVyZUZsYWdTZXJ2aWNlQXRvbSk7XG4gICAgY29uc3QgbWF5YmVTdXBwb3J0ZWRFdmVudCA9IGdldChpbnRlcm5hbFN1cHBvcnRlZEV2ZW50QXRvbSk7XG4gICAgY29uc3QgdmFyaWFudENhdGVnb3J5ID0gbWF5YmVTdXBwb3J0ZWRFdmVudD8uY2F0ZWdvcnk7XG4gICAgY29uc3QgY29uZmlnID0gZ2V0KGVudml2ZUNvbmZpZ0F0b20pO1xuICAgIGNvbnN0IG9yZ1Nob3J0TmFtZSA9IGNvbmZpZz8ub3JnU2hvcnROYW1lO1xuXG4gICAgLy8gVE9ETzogY2xlYW4gdXAgdGhpcyBsb2dpYyAmIHRoZSBmZWF0dXJlIGdhdGUgd2hlbiB3ZSd2ZSBmdWxseSByb2xsZWQgb3V0XG4gICAgaWYgKFxuICAgICAgZmVhdHVyZUZsYWdTZXJ2aWNlICYmXG4gICAgICAhZmVhdHVyZUZsYWdTZXJ2aWNlLmlzRmVhdHVyZUdhdGVFbmFibGVkKFxuICAgICAgICBGZWF0dXJlR2F0ZXMuSXNOb25TaGFwZXdlYXJFbmFibGVkXG4gICAgICApICYmXG4gICAgICB2YXJpYW50Q2F0ZWdvcnkgJiZcbiAgICAgIHZhcmlhbnRDYXRlZ29yeSAhPT0gU3VwcG9ydGVkRXZlbnRQcm9kdWN0Q2F0ZWdvcnkuU2hhcGV3ZWFyICYmXG4gICAgICAob3JnU2hvcnROYW1lID09PSBPcmdTaG9ydE5hbWUuU3BhbnggfHxcbiAgICAgICAgb3JnU2hvcnROYW1lID09PSBPcmdTaG9ydE5hbWUuU3BhbnhTdGFnaW5nKVxuICAgICkge1xuICAgICAgY29uc3QgbW9kaWZpZWRTdXBwb3J0ZWRFdmVudCA9IHtcbiAgICAgICAgc3VwcG9ydGVkOiBmYWxzZSxcbiAgICAgICAgcmVhZHk6IHZhbHVlLnJlYWR5LFxuICAgICAgICBjYXRlZ29yeTogdmFsdWUuY2F0ZWdvcnksXG4gICAgICAgIG51bWJlck9mUmV2aWV3czogdmFsdWUubnVtYmVyT2ZSZXZpZXdzLFxuICAgICAgICBjb2xsZWN0aW9uczogdmFsdWUuY29sbGVjdGlvbnMsXG4gICAgICAgIHRvcF9jYXRlZ29yeTogdmFsdWUudG9wX2NhdGVnb3J5LFxuICAgICAgICBtZXJjaGFudF90YWdzOiB2YWx1ZS5tZXJjaGFudF90YWdzLFxuICAgICAgfTtcbiAgICAgIHNldChpbnRlcm5hbFN1cHBvcnRlZEV2ZW50QXRvbSwgbW9kaWZpZWRTdXBwb3J0ZWRFdmVudCk7XG4gICAgICBzZXQoXG4gICAgICAgIGludGVybmFsU3RvcmFnZVN1cHBvcnRlZEV2ZW50QXRvbSxcbiAgICAgICAgSlNPTi5zdHJpbmdpZnkobW9kaWZpZWRTdXBwb3J0ZWRFdmVudClcbiAgICAgICk7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBzZXQoaW50ZXJuYWxTdXBwb3J0ZWRFdmVudEF0b20sIHZhbHVlKTtcbiAgICBzZXQoaW50ZXJuYWxTdG9yYWdlU3VwcG9ydGVkRXZlbnRBdG9tLCBKU09OLnN0cmluZ2lmeSh2YWx1ZSkpO1xuICB9XG4pO1xuXG5jb25zdCBpbnRlcm5hbFZhcmlhbnRJZEF0b20gPSBhdG9tPHN0cmluZz4oKTtcbmNvbnN0IGludGVybmFsUHJvZHVjdElkQXRvbSA9IGF0b208c3RyaW5nPigpO1xuY29uc3QgaW50ZXJuYWxQYXJlbnRQcm9kdWN0SWRBdG9tID0gYXRvbTxzdHJpbmc+KCk7XG5jb25zdCBpbnRlcm5hbFByb2R1Y3RVcmxBdG9tID0gYXRvbTxzdHJpbmc+KCk7XG5jb25zdCBpbnRlcm5hbFBscElkQXRvbSA9IGF0b208c3RyaW5nPigpO1xuY29uc3QgaW50ZXJuYWxVcmxBdG9tID0gYXRvbTxzdHJpbmc+KCk7XG5jb25zdCBpbnRlcm5hbFBhZ2VWaXNpdENhdGVnb3J5QXRvbSA9IGF0b208UGFnZVZpc2l0Q2F0ZWdvcnk+KCk7XG5jb25zdCBpbnRlcm5hbFZhcmlhbnRBdG9tID0gYXRvbTxcInBkcFwiIHwgXCJwbHBcIiB8IFwic2VhcmNoXCIgfCBcInBhZ2VfdmlzaXRcIj4oXG4gIFwicGRwXCJcbik7XG5cbmV4cG9ydCBjb25zdCB2YXJpYW50SWRBdG9tID0gYXRvbSgoZ2V0KSA9PiBnZXQoaW50ZXJuYWxWYXJpYW50SWRBdG9tKSk7XG5leHBvcnQgY29uc3QgcHJvZHVjdElkQXRvbSA9IGF0b20oKGdldCkgPT4gZ2V0KGludGVybmFsUHJvZHVjdElkQXRvbSkpO1xuZXhwb3J0IGNvbnN0IHBhcmVudFByb2R1Y3RJZEF0b20gPSBhdG9tKChnZXQpID0+XG4gIGdldChpbnRlcm5hbFBhcmVudFByb2R1Y3RJZEF0b20pXG4pO1xuZXhwb3J0IGNvbnN0IHByb2R1Y3RVcmxBdG9tID0gYXRvbSgoZ2V0KSA9PiBnZXQoaW50ZXJuYWxQcm9kdWN0VXJsQXRvbSkpO1xuZXhwb3J0IGNvbnN0IHBscElkQXRvbSA9IGF0b20oKGdldCkgPT4gZ2V0KGludGVybmFsUGxwSWRBdG9tKSk7XG5leHBvcnQgY29uc3QgdXJsQXRvbSA9IGF0b20oKGdldCkgPT4gZ2V0KGludGVybmFsVXJsQXRvbSkpO1xuZXhwb3J0IGNvbnN0IHBhZ2VWaXNpdENhdGVnb3J5QXRvbSA9IGF0b20oKGdldCkgPT5cbiAgZ2V0KGludGVybmFsUGFnZVZpc2l0Q2F0ZWdvcnlBdG9tKVxuKTtcbmV4cG9ydCBjb25zdCB2YXJpYW50QXRvbSA9IGF0b20oKGdldCkgPT4gZ2V0KGludGVybmFsVmFyaWFudEF0b20pKTtcbmV4cG9ydCBjb25zdCBoYXNQYXJzZWRWYXJpYW50SW5mb0F0b20gPSBhdG9tKGZhbHNlKTtcblxuZXhwb3J0IGNvbnN0IHZhcmlhbnRJbmZvQXRvbSA9IGF0b20oXG4gIChnZXQpOiBWYXJpYW50SW5mbyA9PiB7XG4gICAgY29uc3QgdmFyaWFudCA9IGdldCh2YXJpYW50QXRvbSk7XG4gICAgaWYgKHZhcmlhbnQgPT09IFwicGRwXCIpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHZhcmlhbnRJZDogZ2V0KHZhcmlhbnRJZEF0b20pLFxuICAgICAgICB2YXJpYW50LFxuICAgICAgICBwcm9kdWN0SWQ6IGdldChwcm9kdWN0SWRBdG9tKSxcbiAgICAgICAgcGFyZW50UHJvZHVjdElkOiBnZXQocGFyZW50UHJvZHVjdElkQXRvbSksXG4gICAgICAgIHVybDogZ2V0KHVybEF0b20pLFxuICAgICAgfSBhcyBQRFBWYXJpYW50SW5mbztcbiAgICB9XG4gICAgaWYgKHZhcmlhbnQgPT09IFwicGxwXCIpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHZhcmlhbnRJZDogZ2V0KHZhcmlhbnRJZEF0b20pLFxuICAgICAgICB2YXJpYW50LFxuICAgICAgICBwbHBJZDogZ2V0KHBscElkQXRvbSksXG4gICAgICAgIHVybDogZ2V0KHVybEF0b20pLFxuICAgICAgfSBhcyBQTFBWYXJpYW50SW5mbztcbiAgICB9XG4gICAgaWYgKHZhcmlhbnQgPT09IFwicGFnZV92aXNpdFwiKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB2YXJpYW50SWQ6IGdldCh2YXJpYW50SWRBdG9tKSxcbiAgICAgICAgdmFyaWFudCxcbiAgICAgICAgdXJsOiBnZXQodXJsQXRvbSksXG4gICAgICAgIHBhZ2VWaXNpdENhdGVnb3J5OiBnZXQocGFnZVZpc2l0Q2F0ZWdvcnlBdG9tKSxcbiAgICAgIH0gYXMgUGFnZVZpc2l0VmFyaWFudEluZm87XG4gICAgfVxuICAgIHRocm93IG5ldyBFcnJvcihcIkludmFsaWQgdmFyaWFudEluZm8gZGV0YWlsc1wiKTtcbiAgfSxcbiAgKF8sIHNldCwgbmV3VmFyaWFudDogVmFyaWFudEluZm8pID0+IHtcbiAgICBzZXQoaW50ZXJuYWxWYXJpYW50QXRvbSwgbmV3VmFyaWFudC52YXJpYW50KTtcbiAgICBzZXQoaW50ZXJuYWxWYXJpYW50SWRBdG9tLCBuZXdWYXJpYW50LnZhcmlhbnRJZCk7XG4gICAgaWYgKG5ld1ZhcmlhbnQudmFyaWFudCA9PT0gXCJwZHBcIikge1xuICAgICAgc2V0KGludGVybmFsUHJvZHVjdElkQXRvbSwgbmV3VmFyaWFudC5wcm9kdWN0SWQpO1xuICAgICAgc2V0KGludGVybmFsUGFyZW50UHJvZHVjdElkQXRvbSwgbmV3VmFyaWFudC5wYXJlbnRQcm9kdWN0SWQpO1xuICAgICAgc2V0KGludGVybmFsVXJsQXRvbSwgbmV3VmFyaWFudC51cmwpO1xuICAgIH1cbiAgICBpZiAobmV3VmFyaWFudC52YXJpYW50ID09PSBcInBscFwiKSB7XG4gICAgICBzZXQoaW50ZXJuYWxQbHBJZEF0b20sIG5ld1ZhcmlhbnQucGxwSWQpO1xuICAgICAgc2V0KGludGVybmFsVXJsQXRvbSwgbmV3VmFyaWFudC51cmwpO1xuICAgIH1cbiAgICBpZiAobmV3VmFyaWFudC52YXJpYW50ID09PSBcInBhZ2VfdmlzaXRcIikge1xuICAgICAgc2V0KGludGVybmFsVXJsQXRvbSwgbmV3VmFyaWFudC51cmwpO1xuICAgICAgc2V0KGludGVybmFsUGFnZVZpc2l0Q2F0ZWdvcnlBdG9tLCBuZXdWYXJpYW50LnBhZ2VWaXNpdENhdGVnb3J5KTtcbiAgICB9XG4gIH1cbik7XG4iLCJpbXBvcnQge1xuICBDb250ZXh0RW52RW51bSxcbiAgQ29udGV4dFNvdXJjZUVudW0sXG59IGZyb20gXCJAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnRcIjtcbmltcG9ydCB7IGF0b20gfSBmcm9tIFwiam90YWlcIjtcbmltcG9ydCB7IGF0b21XaXRoU3RvcmFnZSB9IGZyb20gXCJqb3RhaS91dGlsc1wiO1xuaW1wb3J0IHsgVmFyaWFudEluZm8gfSBmcm9tIFwic3JjL2FwcGxpY2F0aW9uL21vZGVsc1wiO1xuaW1wb3J0IHsgVXNlcklkZW50aXR5Q29udGV4dFR5cGUgfSBmcm9tIFwic3JjL2NvbnRleHRzL3VzZXJJZGVudGl0eUNvbnRleHQvdXNlcklkZW50aXR5Q29udGV4dFwiO1xuaW1wb3J0IHsgdmFyaWFudEluZm9BdG9tIH0gZnJvbSBcInNyYy9hdG9tcy9hcHAvdmFyaWFudFwiO1xuaW1wb3J0IHsgdjQgYXMgdXVpZCB9IGZyb20gXCJ1dWlkXCI7XG5pbXBvcnQgeyBjb250ZXh0U291cmNlQXRvbSB9IGZyb20gXCIuLi9lbnZpdmUvZW52aXZlQ29uZmlnXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXBwRGV0YWlscyB7XG4gIG9yZ0lkOiBzdHJpbmc7XG4gIG9yZ1Nob3J0TmFtZTogc3RyaW5nO1xuICBjaGF0SWQ6IHN0cmluZztcbiAgdXNlcklkOiBzdHJpbmc7XG4gIHNvdXJjZTogQ29udGV4dFNvdXJjZUVudW07XG4gIGVudjogQ29udGV4dEVudkVudW07XG4gIHZhcmlhbnRJbmZvOiBWYXJpYW50SW5mbztcbn1cblxuZXhwb3J0IHsgdmFyaWFudEluZm9BdG9tIH0gZnJvbSBcIi4vdmFyaWFudFwiO1xuXG5jb25zdCBpbnRlcm5hbFVzZXJJZEF0b20gPSBhdG9tPHN0cmluZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuZXhwb3J0IGNvbnN0IHVzZXJJZEF0b20gPSBhdG9tKFxuICAoZ2V0KSA9PiB7XG4gICAgY29uc3QgbWF5YmVVc2VySWQgPSBnZXQoaW50ZXJuYWxVc2VySWRBdG9tKTtcblxuICAgIGlmIChtYXliZVVzZXJJZCkge1xuICAgICAgcmV0dXJuIG1heWJlVXNlcklkO1xuICAgIH1cblxuICAgIHJldHVybiBnZXQodXNlcklkZW50aXR5QXRvbSk/LmdldFVzZXJJZE9yRGVmYXVsdCgpID8/IFwiXCI7XG4gIH0sXG4gIChfLCBzZXQsIHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpID0+IHtcbiAgICBzZXQoaW50ZXJuYWxVc2VySWRBdG9tLCB2YWx1ZSk7XG4gIH1cbik7XG5cbmV4cG9ydCBjb25zdCB1c2VySWRlbnRpdHlBdG9tID0gYXRvbTxVc2VySWRlbnRpdHlDb250ZXh0VHlwZSB8IHVuZGVmaW5lZD4oXG4gIHVuZGVmaW5lZFxuKTtcblxuZXhwb3J0IGNvbnN0IGFwcFNvdXJjZUF0b20gPSBhdG9tPENvbnRleHRTb3VyY2VFbnVtPihcbiAgKGdldCk6IENvbnRleHRTb3VyY2VFbnVtID0+IGdldChjb250ZXh0U291cmNlQXRvbSkgPz8gQ29udGV4dFNvdXJjZUVudW0uQXBwXG4pO1xuZXhwb3J0IGNvbnN0IGNoYXRJZEF0b20gPSBhdG9tV2l0aFN0b3JhZ2U8c3RyaW5nPihcbiAgXCJ2MS1zcGlmZnktY2hhdC1zZXNzaW9uLWlkXCIsXG4gIHV1aWQoKSxcbiAgdW5kZWZpbmVkLFxuICB7XG4gICAgZ2V0T25Jbml0OiB0cnVlLFxuICB9XG4pO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBK0dBLE1BQU0saUNBQWlDLGdCQUNyQyx1QkFDQSxRQUNBLG9CQUNBLEVBQ0UsV0FBVyxNQUNaLENBQ0Y7QUFFRCxNQUFhLGtCQUFrQixNQUM1QixRQUEwQjtDQUN6QixNQUFNLG1CQUFtQixJQUFJLCtCQUErQjtBQUM1RCxLQUFJLG9CQUFvQixLQUN0QixRQUFPLEVBQUU7QUFFWCxRQUFPLEtBQUssTUFBTSxpQkFBaUI7SUFHbkMsS0FDQSxLQUNBLFVBQ0c7Q0FHSCxNQUFNLFdBQVc7RUFBRSxHQURFLElBQUksZ0JBQWdCO0dBQ0osTUFBTSxNQUFNLE1BQU07RUFBVTtBQUVqRSxLQUFJLGdDQUFnQyxLQUFLLFVBQVUsU0FBUyxDQUFDO0VBRWhFO0FBRUQsTUFBTSxvQ0FBb0MsZ0JBQ3hDLDBCQUNBLFFBQ0Esb0JBQ0EsRUFDRSxXQUFXLE1BQ1osQ0FDRjtBQUNELE1BQU0sNkJBQTZCLEtBQWlDLE9BQVU7QUFFOUUsTUFBTSx5QkFBeUIsTUFBTSxR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
@@ -1,178 +0,0 @@
1
- const require_chunk = require('./chunk-CUT6urMc.cjs');
2
- const require_models = require('./models-B1P-dSCW.cjs');
3
- const require_featureGates = require('./featureGates-DcZNrUma.cjs');
4
- const require_enviveConfig = require('./enviveConfig-D8vcVPWD.cjs');
5
- const require_atomStore = require('./atomStore-CZKe3itM.cjs');
6
- let __spiffy_ai_commerce_api_client = require("@spiffy-ai/commerce-api-client");
7
- __spiffy_ai_commerce_api_client = require_chunk.__toESM(__spiffy_ai_commerce_api_client);
8
- let uuid = require("uuid");
9
- uuid = require_chunk.__toESM(uuid);
10
- let jotai = require("jotai");
11
- jotai = require_chunk.__toESM(jotai);
12
- let jotai_utils = require("jotai/utils");
13
- jotai_utils = require_chunk.__toESM(jotai_utils);
14
-
15
- //#region src/atoms/app/variant.ts
16
- const internalStorageUrlResolverAtom = (0, jotai_utils.atomWithStorage)("spiffy-url-resolver", void 0, require_atomStore.sessionStorageUtil, { getOnInit: true });
17
- const urlResolverAtom = (0, jotai.atom)((get) => {
18
- const maybeUrlResolver = get(internalStorageUrlResolverAtom);
19
- if (maybeUrlResolver == null) return {};
20
- return JSON.parse(maybeUrlResolver);
21
- }, (get, set, value) => {
22
- const newCache = {
23
- ...get(urlResolverAtom),
24
- [value.url]: value.response
25
- };
26
- set(internalStorageUrlResolverAtom, JSON.stringify(newCache));
27
- });
28
- const internalStorageSupportedEventAtom = (0, jotai_utils.atomWithStorage)("spiffy-supported-event", void 0, require_atomStore.sessionStorageUtil, { getOnInit: true });
29
- const internalSupportedEventAtom = (0, jotai.atom)(void 0);
30
- const featureFlagServiceAtom = (0, jotai.atom)((get) => {
31
- const featureOverrides = get(require_enviveConfig.enviveConfigAtom)?.featureOverrides;
32
- return { isFeatureGateEnabled: (gate) => featureOverrides?.[gate] || false };
33
- });
34
- const supportedEventAtom = (0, jotai.atom)((get) => {
35
- const maybeSupportedEvent = get(internalStorageSupportedEventAtom);
36
- if (maybeSupportedEvent == null) return;
37
- return JSON.parse(maybeSupportedEvent);
38
- }, (get, set, value) => {
39
- if (value == null) {
40
- set(internalStorageSupportedEventAtom, void 0);
41
- set(internalSupportedEventAtom, void 0);
42
- return;
43
- }
44
- const featureFlagService = get(featureFlagServiceAtom);
45
- const variantCategory = get(internalSupportedEventAtom)?.category;
46
- const orgShortName = get(require_enviveConfig.enviveConfigAtom)?.orgShortName;
47
- if (featureFlagService && !featureFlagService.isFeatureGateEnabled(require_featureGates.FeatureGates.IsNonShapewearEnabled) && variantCategory && variantCategory !== __spiffy_ai_commerce_api_client.SupportedEventProductCategory.Shapewear && (orgShortName === require_models.OrgShortName.Spanx || orgShortName === require_models.OrgShortName.SpanxStaging)) {
48
- const modifiedSupportedEvent = {
49
- supported: false,
50
- ready: value.ready,
51
- category: value.category,
52
- numberOfReviews: value.numberOfReviews,
53
- collections: value.collections,
54
- top_category: value.top_category,
55
- merchant_tags: value.merchant_tags
56
- };
57
- set(internalSupportedEventAtom, modifiedSupportedEvent);
58
- set(internalStorageSupportedEventAtom, JSON.stringify(modifiedSupportedEvent));
59
- return;
60
- }
61
- set(internalSupportedEventAtom, value);
62
- set(internalStorageSupportedEventAtom, JSON.stringify(value));
63
- });
64
- const internalVariantIdAtom = (0, jotai.atom)();
65
- const internalProductIdAtom = (0, jotai.atom)();
66
- const internalParentProductIdAtom = (0, jotai.atom)();
67
- const internalProductUrlAtom = (0, jotai.atom)();
68
- const internalPlpIdAtom = (0, jotai.atom)();
69
- const internalUrlAtom = (0, jotai.atom)();
70
- const internalPageVisitCategoryAtom = (0, jotai.atom)();
71
- const internalVariantAtom = (0, jotai.atom)("pdp");
72
- const variantIdAtom = (0, jotai.atom)((get) => get(internalVariantIdAtom));
73
- const productIdAtom = (0, jotai.atom)((get) => get(internalProductIdAtom));
74
- const parentProductIdAtom = (0, jotai.atom)((get) => get(internalParentProductIdAtom));
75
- const productUrlAtom = (0, jotai.atom)((get) => get(internalProductUrlAtom));
76
- const plpIdAtom = (0, jotai.atom)((get) => get(internalPlpIdAtom));
77
- const urlAtom = (0, jotai.atom)((get) => get(internalUrlAtom));
78
- const pageVisitCategoryAtom = (0, jotai.atom)((get) => get(internalPageVisitCategoryAtom));
79
- const variantAtom = (0, jotai.atom)((get) => get(internalVariantAtom));
80
- const hasParsedVariantInfoAtom = (0, jotai.atom)(false);
81
- const variantInfoAtom = (0, jotai.atom)((get) => {
82
- const variant = get(variantAtom);
83
- if (variant === "pdp") return {
84
- variantId: get(variantIdAtom),
85
- variant,
86
- productId: get(productIdAtom),
87
- parentProductId: get(parentProductIdAtom),
88
- url: get(urlAtom)
89
- };
90
- if (variant === "plp") return {
91
- variantId: get(variantIdAtom),
92
- variant,
93
- plpId: get(plpIdAtom),
94
- url: get(urlAtom)
95
- };
96
- if (variant === "page_visit") return {
97
- variantId: get(variantIdAtom),
98
- variant,
99
- url: get(urlAtom),
100
- pageVisitCategory: get(pageVisitCategoryAtom)
101
- };
102
- throw new Error("Invalid variantInfo details");
103
- }, (_, set, newVariant) => {
104
- set(internalVariantAtom, newVariant.variant);
105
- set(internalVariantIdAtom, newVariant.variantId);
106
- if (newVariant.variant === "pdp") {
107
- set(internalProductIdAtom, newVariant.productId);
108
- set(internalParentProductIdAtom, newVariant.parentProductId);
109
- set(internalUrlAtom, newVariant.url);
110
- }
111
- if (newVariant.variant === "plp") {
112
- set(internalPlpIdAtom, newVariant.plpId);
113
- set(internalUrlAtom, newVariant.url);
114
- }
115
- if (newVariant.variant === "page_visit") {
116
- set(internalUrlAtom, newVariant.url);
117
- set(internalPageVisitCategoryAtom, newVariant.pageVisitCategory);
118
- }
119
- });
120
-
121
- //#endregion
122
- //#region src/atoms/app/index.ts
123
- const internalUserIdAtom = (0, jotai.atom)(void 0);
124
- const userIdAtom = (0, jotai.atom)((get) => {
125
- const maybeUserId = get(internalUserIdAtom);
126
- if (maybeUserId) return maybeUserId;
127
- return get(userIdentityAtom)?.getUserIdOrDefault() ?? "";
128
- }, (_, set, value) => {
129
- set(internalUserIdAtom, value);
130
- });
131
- const userIdentityAtom = (0, jotai.atom)(void 0);
132
- const appSourceAtom = (0, jotai.atom)((get) => get(require_enviveConfig.contextSourceAtom) ?? __spiffy_ai_commerce_api_client.ContextSourceEnum.App);
133
- const chatIdAtom = (0, jotai_utils.atomWithStorage)("v1-spiffy-chat-session-id", (0, uuid.v4)(), void 0, { getOnInit: true });
134
-
135
- //#endregion
136
- Object.defineProperty(exports, 'appSourceAtom', {
137
- enumerable: true,
138
- get: function () {
139
- return appSourceAtom;
140
- }
141
- });
142
- Object.defineProperty(exports, 'chatIdAtom', {
143
- enumerable: true,
144
- get: function () {
145
- return chatIdAtom;
146
- }
147
- });
148
- Object.defineProperty(exports, 'hasParsedVariantInfoAtom', {
149
- enumerable: true,
150
- get: function () {
151
- return hasParsedVariantInfoAtom;
152
- }
153
- });
154
- Object.defineProperty(exports, 'supportedEventAtom', {
155
- enumerable: true,
156
- get: function () {
157
- return supportedEventAtom;
158
- }
159
- });
160
- Object.defineProperty(exports, 'userIdAtom', {
161
- enumerable: true,
162
- get: function () {
163
- return userIdAtom;
164
- }
165
- });
166
- Object.defineProperty(exports, 'userIdentityAtom', {
167
- enumerable: true,
168
- get: function () {
169
- return userIdentityAtom;
170
- }
171
- });
172
- Object.defineProperty(exports, 'variantInfoAtom', {
173
- enumerable: true,
174
- get: function () {
175
- return variantInfoAtom;
176
- }
177
- });
178
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLURONzJzcGdRLmNqcyIsIm5hbWVzIjpbInNlc3Npb25TdG9yYWdlVXRpbCIsImVudml2ZUNvbmZpZ0F0b20iLCJGZWF0dXJlR2F0ZXMiLCJTdXBwb3J0ZWRFdmVudFByb2R1Y3RDYXRlZ29yeSIsIk9yZ1Nob3J0TmFtZSIsImNvbnRleHRTb3VyY2VBdG9tIiwiQ29udGV4dFNvdXJjZUVudW0iXSwic291cmNlcyI6WyIuLi9zcmMvYXRvbXMvYXBwL3ZhcmlhbnQudHMiLCIuLi9zcmMvYXRvbXMvYXBwL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGF0b21XaXRoU3RvcmFnZSB9IGZyb20gXCJqb3RhaS91dGlsc1wiO1xuaW1wb3J0IHsgYXRvbSB9IGZyb20gXCJqb3RhaVwiO1xuaW1wb3J0IHtcbiAgU3VwcG9ydGVkRXZlbnRQcm9kdWN0Q2F0ZWdvcnksXG4gIFN1cHBvcnRlZEV2ZW50UmVzcG9uc2UsXG4gIFBhZ2VWaXNpdENhdGVnb3J5LFxufSBmcm9tIFwiQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50XCI7XG5pbXBvcnQge1xuICBQYWdlVmlzaXRWYXJpYW50SW5mbyxcbiAgUERQVmFyaWFudEluZm8sXG4gIFBMUFZhcmlhbnRJbmZvLFxuICBWYXJpYW50SW5mbyxcbiAgRmVhdHVyZUdhdGVzLFxuICBPcmdTaG9ydE5hbWUsXG59IGZyb20gXCJzcmMvYXBwbGljYXRpb24vbW9kZWxzXCI7XG5pbXBvcnQgeyBzZXNzaW9uU3RvcmFnZVV0aWwgfSBmcm9tIFwic3JjL2F0b21zL2F0b21TdG9yZS9hdG9tU3RvcmVcIjtcbmltcG9ydCB7IGVudml2ZUNvbmZpZ0F0b20gfSBmcm9tIFwic3JjL2F0b21zL2Vudml2ZS9lbnZpdmVDb25maWdcIjtcblxuZXhwb3J0IGludGVyZmFjZSBTdXBwb3J0ZWRFdmVudFxuICBleHRlbmRzIFBpY2s8XG4gICAgU3VwcG9ydGVkRXZlbnRSZXNwb25zZSxcbiAgICBcInN1cHBvcnRlZFwiIHwgXCJyZWFkeVwiIHwgXCJjYXRlZ29yeVwiIHwgXCJjb2xsZWN0aW9uc1wiIHwgXCJ0b3BfY2F0ZWdvcnlcIlxuICA+IHtcbiAgbnVtYmVyT2ZSZXZpZXdzOiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gIG1lcmNoYW50X3RhZ3M/OiBzdHJpbmdbXTtcbn1cblxuaW50ZXJmYWNlIFBEUEF0dHJpYnV0ZXMge1xuICBwcm9kdWN0X2lkPzogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgUExQQXR0cmlidXRlcyB7XG4gIGF0dHJpYnV0ZXM/OiB7XG4gICAgaWQ/OiBzdHJpbmc7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXJsUmVzb2x2aW5nUERQQ29uZmlnIHtcbiAgcGRwX2F0dHJpYnV0ZXM6IFBEUEF0dHJpYnV0ZXM7XG4gIG51bWJlcl9vZl9yZXZpZXdzPzogbnVtYmVyO1xuICBjb2xsZWN0aW9ucz86IHN0cmluZ1tdO1xuICBtZXJjaGFudF90YWdzPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXJsUmVzb2x2aW5nUExQQ29uZmlnIHtcbiAgcGxwX2F0dHJpYnV0ZXM6IFBMUEF0dHJpYnV0ZXM7XG4gIHRvcF9jYXRlZ29yeT86IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIFVybFJlc29sdmluZ0dlbmVyaWNDb25maWcge1xuICBkZXRhaWxzPzogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBQYWdlVmFyaWFudENoZWNrQ29uZmlnID0ge1xuICBjaGVja190eXBlOiBzdHJpbmc7XG4gIGZlYXR1cmVfZ2F0ZT86IHN0cmluZztcbiAgZXh0cmFjdG9yPzoge1xuICAgIHR5cGU6IHN0cmluZztcbiAgICBtYXA/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT47XG4gICAgdmFsdWU/OiBzdHJpbmc7XG4gIH07XG4gIHByb2R1Y3RfaWRfZXh0cmFjdG9yPzogc3RyaW5nO1xuICBwcm9kdWN0X2lkcz86IHN0cmluZ1tdO1xuICBwbHBfaWRfZXh0cmFjdG9yPzogc3RyaW5nO1xuICBwbHBfaWRzPzogc3RyaW5nW107XG4gIGNvbGxlY3Rpb25zPzogc3RyaW5nW107XG4gIHF1ZXJ5X3BhcmFtPzogc3RyaW5nO1xuICBjYXRlZ29yeT86IHN0cmluZztcbiAgdG9wX2NhdGVnb3J5Pzogc3RyaW5nW107XG4gIHJldmlld19taW5pbXVtPzogbnVtYmVyO1xuICBtZXJjaGFudF90YWdzPzogc3RyaW5nW107XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrZW5kV2lkZ2V0TW91bnRpbmdDb25maWcgPSB7XG4gIG1vdW50aW5nX2NvbmZpZ19pZDogc3RyaW5nO1xuICB3aWRnZXRfY29uZmlnX2lkPzogc3RyaW5nO1xuICBtb3VudGluZ19wb2ludF93aWRnZXRzPzogQXJyYXk8e1xuICAgIGNoZWNrczogUGFnZVZhcmlhbnRDaGVja0NvbmZpZ1tdO1xuICAgIHdpZGdldF9jb25maWdfaWQ6IHN0cmluZztcbiAgfT47XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrZW5kUGFnZVZhcmlhbnRDb25maWcgPSB7XG4gIHZhcmlhbnRfaWQ6IHN0cmluZztcbiAgdmFyaWFudF90eXBlOiBzdHJpbmc7XG4gIHZhcmlhbnRfY2hlY2tzOiBQYWdlVmFyaWFudENoZWNrQ29uZmlnW107XG4gIHdpZGdldF9tb3VudGluZzogQmFja2VuZFdpZGdldE1vdW50aW5nQ29uZmlnW107XG4gIHBscF9pZF9leHRyYWN0b3I/OiBzdHJpbmc7XG4gIHByb2R1Y3RfaWRfZXh0cmFjdG9yPzogc3RyaW5nO1xuICBwYXJlbnRfcHJvZHVjdF9pZF9leHRyYWN0b3I/OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIFVybFJlc29sdmVyUmVzcG9uc2Uge1xuICB2YXJpYW50X3R5cGU6IHN0cmluZztcbiAgc3BlY2lmaWNfZGV0YWlsczpcbiAgICB8IFVybFJlc29sdmluZ1BEUENvbmZpZ1xuICAgIHwgVXJsUmVzb2x2aW5nUExQQ29uZmlnXG4gICAgfCBVcmxSZXNvbHZpbmdHZW5lcmljQ29uZmlnO1xuICByZWFkeTogYm9vbGVhbjtcbiAgdXNlcl9ldmVudD86IHtcbiAgICBldmVudF9pZD86IHN0cmluZztcbiAgICBhdHRyaWJ1dGVzPzogUERQQXR0cmlidXRlcyB8IFBMUEF0dHJpYnV0ZXM7XG4gICAgY2F0ZWdvcnk/OiBzdHJpbmc7XG4gICAgY3JlYXRlZF9hdD86IHN0cmluZztcbiAgfTtcbiAgcGFnZV92YXJpYW50PzogQmFja2VuZFBhZ2VWYXJpYW50Q29uZmlnO1xufVxuXG4vLyBVc2UgYSBtYXAgZm9yIHBlci1VUkwgY2FjaGVcbmV4cG9ydCB0eXBlIFVybFJlc29sdmVyQ2FjaGUgPSBSZWNvcmQ8c3RyaW5nLCBVcmxSZXNvbHZlclJlc3BvbnNlIHwgdW5kZWZpbmVkPjtcblxuY29uc3QgaW50ZXJuYWxTdG9yYWdlVXJsUmVzb2x2ZXJBdG9tID0gYXRvbVdpdGhTdG9yYWdlPHN0cmluZyB8IHVuZGVmaW5lZD4oXG4gIFwic3BpZmZ5LXVybC1yZXNvbHZlclwiLFxuICB1bmRlZmluZWQsXG4gIHNlc3Npb25TdG9yYWdlVXRpbCxcbiAge1xuICAgIGdldE9uSW5pdDogdHJ1ZSxcbiAgfVxuKTtcblxuZXhwb3J0IGNvbnN0IHVybFJlc29sdmVyQXRvbSA9IGF0b20oXG4gIChnZXQpOiBVcmxSZXNvbHZlckNhY2hlID0+IHtcbiAgICBjb25zdCBtYXliZVVybFJlc29sdmVyID0gZ2V0KGludGVybmFsU3RvcmFnZVVybFJlc29sdmVyQXRvbSk7XG4gICAgaWYgKG1heWJlVXJsUmVzb2x2ZXIgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHt9O1xuICAgIH1cbiAgICByZXR1cm4gSlNPTi5wYXJzZShtYXliZVVybFJlc29sdmVyKTtcbiAgfSxcbiAgKFxuICAgIGdldCxcbiAgICBzZXQsXG4gICAgdmFsdWU6IHsgdXJsOiBzdHJpbmc7IHJlc3BvbnNlOiBVcmxSZXNvbHZlclJlc3BvbnNlIHwgdW5kZWZpbmVkIH1cbiAgKSA9PiB7XG4gICAgLy8gR2V0IGN1cnJlbnQgY2FjaGUgZnJvbSBzdG9yYWdlXG4gICAgY29uc3QgY3VycmVudENhY2hlID0gZ2V0KHVybFJlc29sdmVyQXRvbSk7XG4gICAgY29uc3QgbmV3Q2FjaGUgPSB7IC4uLmN1cnJlbnRDYWNoZSwgW3ZhbHVlLnVybF06IHZhbHVlLnJlc3BvbnNlIH07XG5cbiAgICBzZXQoaW50ZXJuYWxTdG9yYWdlVXJsUmVzb2x2ZXJBdG9tLCBKU09OLnN0cmluZ2lmeShuZXdDYWNoZSkpO1xuICB9XG4pO1xuXG5jb25zdCBpbnRlcm5hbFN0b3JhZ2VTdXBwb3J0ZWRFdmVudEF0b20gPSBhdG9tV2l0aFN0b3JhZ2U8c3RyaW5nIHwgdW5kZWZpbmVkPihcbiAgXCJzcGlmZnktc3VwcG9ydGVkLWV2ZW50XCIsXG4gIHVuZGVmaW5lZCxcbiAgc2Vzc2lvblN0b3JhZ2VVdGlsLFxuICB7XG4gICAgZ2V0T25Jbml0OiB0cnVlLFxuICB9XG4pO1xuY29uc3QgaW50ZXJuYWxTdXBwb3J0ZWRFdmVudEF0b20gPSBhdG9tPFN1cHBvcnRlZEV2ZW50IHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG5jb25zdCBmZWF0dXJlRmxhZ1NlcnZpY2VBdG9tID0gYXRvbSgoZ2V0KSA9PiB7XG4gIGNvbnN0IGNvbmZpZyA9IGdldChlbnZpdmVDb25maWdBdG9tKTtcbiAgY29uc3QgZmVhdHVyZU92ZXJyaWRlcyA9IGNvbmZpZz8uZmVhdHVyZU92ZXJyaWRlcztcbiAgcmV0dXJuIHtcbiAgICBpc0ZlYXR1cmVHYXRlRW5hYmxlZDogKGdhdGU6IHN0cmluZykgPT4gZmVhdHVyZU92ZXJyaWRlcz8uW2dhdGVdIHx8IGZhbHNlLFxuICB9O1xufSk7XG5cbmV4cG9ydCBjb25zdCBzdXBwb3J0ZWRFdmVudEF0b20gPSBhdG9tKFxuICAoZ2V0KTogU3VwcG9ydGVkRXZlbnQgfCB1bmRlZmluZWQgPT4ge1xuICAgIGNvbnN0IG1heWJlU3VwcG9ydGVkRXZlbnQgPSBnZXQoaW50ZXJuYWxTdG9yYWdlU3VwcG9ydGVkRXZlbnRBdG9tKTtcbiAgICBpZiAobWF5YmVTdXBwb3J0ZWRFdmVudCA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIC8vIFRPRE8gdGhpcyBpcyBhbiB1bnZhbGlkYXRlZCBwYXJzZS4gSXQgbWF5IGJlIGJldHRlciB0byBpbXBsZW1lbnQgYSBjdXN0b20gc3RvcmFnZSB1dGlsXG4gICAgLy8gYW5kIHBlcmZvcm0gdGhlIG9iamVjdCB2YWxpZGF0aW9uIG9uIFwiZ2V0XCIgdGhlcmUuXG4gICAgcmV0dXJuIEpTT04ucGFyc2UobWF5YmVTdXBwb3J0ZWRFdmVudCk7XG4gIH0sXG4gIChnZXQsIHNldCwgdmFsdWU6IFN1cHBvcnRlZEV2ZW50IHwgdW5kZWZpbmVkKSA9PiB7XG4gICAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICAgIHNldChpbnRlcm5hbFN0b3JhZ2VTdXBwb3J0ZWRFdmVudEF0b20sIHVuZGVmaW5lZCk7XG4gICAgICBzZXQoaW50ZXJuYWxTdXBwb3J0ZWRFdmVudEF0b20sIHVuZGVmaW5lZCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZmVhdHVyZUZsYWdTZXJ2aWNlID0gZ2V0KGZlYXR1cmVGbGFnU2VydmljZUF0b20pO1xuICAgIGNvbnN0IG1heWJlU3VwcG9ydGVkRXZlbnQgPSBnZXQoaW50ZXJuYWxTdXBwb3J0ZWRFdmVudEF0b20pO1xuICAgIGNvbnN0IHZhcmlhbnRDYXRlZ29yeSA9IG1heWJlU3VwcG9ydGVkRXZlbnQ/LmNhdGVnb3J5O1xuICAgIGNvbnN0IGNvbmZpZyA9IGdldChlbnZpdmVDb25maWdBdG9tKTtcbiAgICBjb25zdCBvcmdTaG9ydE5hbWUgPSBjb25maWc/Lm9yZ1Nob3J0TmFtZTtcblxuICAgIC8vIFRPRE86IGNsZWFuIHVwIHRoaXMgbG9naWMgJiB0aGUgZmVhdHVyZSBnYXRlIHdoZW4gd2UndmUgZnVsbHkgcm9sbGVkIG91dFxuICAgIGlmIChcbiAgICAgIGZlYXR1cmVGbGFnU2VydmljZSAmJlxuICAgICAgIWZlYXR1cmVGbGFnU2VydmljZS5pc0ZlYXR1cmVHYXRlRW5hYmxlZChcbiAgICAgICAgRmVhdHVyZUdhdGVzLklzTm9uU2hhcGV3ZWFyRW5hYmxlZFxuICAgICAgKSAmJlxuICAgICAgdmFyaWFudENhdGVnb3J5ICYmXG4gICAgICB2YXJpYW50Q2F0ZWdvcnkgIT09IFN1cHBvcnRlZEV2ZW50UHJvZHVjdENhdGVnb3J5LlNoYXBld2VhciAmJlxuICAgICAgKG9yZ1Nob3J0TmFtZSA9PT0gT3JnU2hvcnROYW1lLlNwYW54IHx8XG4gICAgICAgIG9yZ1Nob3J0TmFtZSA9PT0gT3JnU2hvcnROYW1lLlNwYW54U3RhZ2luZylcbiAgICApIHtcbiAgICAgIGNvbnN0IG1vZGlmaWVkU3VwcG9ydGVkRXZlbnQgPSB7XG4gICAgICAgIHN1cHBvcnRlZDogZmFsc2UsXG4gICAgICAgIHJlYWR5OiB2YWx1ZS5yZWFkeSxcbiAgICAgICAgY2F0ZWdvcnk6IHZhbHVlLmNhdGVnb3J5LFxuICAgICAgICBudW1iZXJPZlJldmlld3M6IHZhbHVlLm51bWJlck9mUmV2aWV3cyxcbiAgICAgICAgY29sbGVjdGlvbnM6IHZhbHVlLmNvbGxlY3Rpb25zLFxuICAgICAgICB0b3BfY2F0ZWdvcnk6IHZhbHVlLnRvcF9jYXRlZ29yeSxcbiAgICAgICAgbWVyY2hhbnRfdGFnczogdmFsdWUubWVyY2hhbnRfdGFncyxcbiAgICAgIH07XG4gICAgICBzZXQoaW50ZXJuYWxTdXBwb3J0ZWRFdmVudEF0b20sIG1vZGlmaWVkU3VwcG9ydGVkRXZlbnQpO1xuICAgICAgc2V0KFxuICAgICAgICBpbnRlcm5hbFN0b3JhZ2VTdXBwb3J0ZWRFdmVudEF0b20sXG4gICAgICAgIEpTT04uc3RyaW5naWZ5KG1vZGlmaWVkU3VwcG9ydGVkRXZlbnQpXG4gICAgICApO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgc2V0KGludGVybmFsU3VwcG9ydGVkRXZlbnRBdG9tLCB2YWx1ZSk7XG4gICAgc2V0KGludGVybmFsU3RvcmFnZVN1cHBvcnRlZEV2ZW50QXRvbSwgSlNPTi5zdHJpbmdpZnkodmFsdWUpKTtcbiAgfVxuKTtcblxuY29uc3QgaW50ZXJuYWxWYXJpYW50SWRBdG9tID0gYXRvbTxzdHJpbmc+KCk7XG5jb25zdCBpbnRlcm5hbFByb2R1Y3RJZEF0b20gPSBhdG9tPHN0cmluZz4oKTtcbmNvbnN0IGludGVybmFsUGFyZW50UHJvZHVjdElkQXRvbSA9IGF0b208c3RyaW5nPigpO1xuY29uc3QgaW50ZXJuYWxQcm9kdWN0VXJsQXRvbSA9IGF0b208c3RyaW5nPigpO1xuY29uc3QgaW50ZXJuYWxQbHBJZEF0b20gPSBhdG9tPHN0cmluZz4oKTtcbmNvbnN0IGludGVybmFsVXJsQXRvbSA9IGF0b208c3RyaW5nPigpO1xuY29uc3QgaW50ZXJuYWxQYWdlVmlzaXRDYXRlZ29yeUF0b20gPSBhdG9tPFBhZ2VWaXNpdENhdGVnb3J5PigpO1xuY29uc3QgaW50ZXJuYWxWYXJpYW50QXRvbSA9IGF0b208XCJwZHBcIiB8IFwicGxwXCIgfCBcInNlYXJjaFwiIHwgXCJwYWdlX3Zpc2l0XCI+KFxuICBcInBkcFwiXG4pO1xuXG5leHBvcnQgY29uc3QgdmFyaWFudElkQXRvbSA9IGF0b20oKGdldCkgPT4gZ2V0KGludGVybmFsVmFyaWFudElkQXRvbSkpO1xuZXhwb3J0IGNvbnN0IHByb2R1Y3RJZEF0b20gPSBhdG9tKChnZXQpID0+IGdldChpbnRlcm5hbFByb2R1Y3RJZEF0b20pKTtcbmV4cG9ydCBjb25zdCBwYXJlbnRQcm9kdWN0SWRBdG9tID0gYXRvbSgoZ2V0KSA9PlxuICBnZXQoaW50ZXJuYWxQYXJlbnRQcm9kdWN0SWRBdG9tKVxuKTtcbmV4cG9ydCBjb25zdCBwcm9kdWN0VXJsQXRvbSA9IGF0b20oKGdldCkgPT4gZ2V0KGludGVybmFsUHJvZHVjdFVybEF0b20pKTtcbmV4cG9ydCBjb25zdCBwbHBJZEF0b20gPSBhdG9tKChnZXQpID0+IGdldChpbnRlcm5hbFBscElkQXRvbSkpO1xuZXhwb3J0IGNvbnN0IHVybEF0b20gPSBhdG9tKChnZXQpID0+IGdldChpbnRlcm5hbFVybEF0b20pKTtcbmV4cG9ydCBjb25zdCBwYWdlVmlzaXRDYXRlZ29yeUF0b20gPSBhdG9tKChnZXQpID0+XG4gIGdldChpbnRlcm5hbFBhZ2VWaXNpdENhdGVnb3J5QXRvbSlcbik7XG5leHBvcnQgY29uc3QgdmFyaWFudEF0b20gPSBhdG9tKChnZXQpID0+IGdldChpbnRlcm5hbFZhcmlhbnRBdG9tKSk7XG5leHBvcnQgY29uc3QgaGFzUGFyc2VkVmFyaWFudEluZm9BdG9tID0gYXRvbShmYWxzZSk7XG5cbmV4cG9ydCBjb25zdCB2YXJpYW50SW5mb0F0b20gPSBhdG9tKFxuICAoZ2V0KTogVmFyaWFudEluZm8gPT4ge1xuICAgIGNvbnN0IHZhcmlhbnQgPSBnZXQodmFyaWFudEF0b20pO1xuICAgIGlmICh2YXJpYW50ID09PSBcInBkcFwiKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB2YXJpYW50SWQ6IGdldCh2YXJpYW50SWRBdG9tKSxcbiAgICAgICAgdmFyaWFudCxcbiAgICAgICAgcHJvZHVjdElkOiBnZXQocHJvZHVjdElkQXRvbSksXG4gICAgICAgIHBhcmVudFByb2R1Y3RJZDogZ2V0KHBhcmVudFByb2R1Y3RJZEF0b20pLFxuICAgICAgICB1cmw6IGdldCh1cmxBdG9tKSxcbiAgICAgIH0gYXMgUERQVmFyaWFudEluZm87XG4gICAgfVxuICAgIGlmICh2YXJpYW50ID09PSBcInBscFwiKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB2YXJpYW50SWQ6IGdldCh2YXJpYW50SWRBdG9tKSxcbiAgICAgICAgdmFyaWFudCxcbiAgICAgICAgcGxwSWQ6IGdldChwbHBJZEF0b20pLFxuICAgICAgICB1cmw6IGdldCh1cmxBdG9tKSxcbiAgICAgIH0gYXMgUExQVmFyaWFudEluZm87XG4gICAgfVxuICAgIGlmICh2YXJpYW50ID09PSBcInBhZ2VfdmlzaXRcIikge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdmFyaWFudElkOiBnZXQodmFyaWFudElkQXRvbSksXG4gICAgICAgIHZhcmlhbnQsXG4gICAgICAgIHVybDogZ2V0KHVybEF0b20pLFxuICAgICAgICBwYWdlVmlzaXRDYXRlZ29yeTogZ2V0KHBhZ2VWaXNpdENhdGVnb3J5QXRvbSksXG4gICAgICB9IGFzIFBhZ2VWaXNpdFZhcmlhbnRJbmZvO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIHZhcmlhbnRJbmZvIGRldGFpbHNcIik7XG4gIH0sXG4gIChfLCBzZXQsIG5ld1ZhcmlhbnQ6IFZhcmlhbnRJbmZvKSA9PiB7XG4gICAgc2V0KGludGVybmFsVmFyaWFudEF0b20sIG5ld1ZhcmlhbnQudmFyaWFudCk7XG4gICAgc2V0KGludGVybmFsVmFyaWFudElkQXRvbSwgbmV3VmFyaWFudC52YXJpYW50SWQpO1xuICAgIGlmIChuZXdWYXJpYW50LnZhcmlhbnQgPT09IFwicGRwXCIpIHtcbiAgICAgIHNldChpbnRlcm5hbFByb2R1Y3RJZEF0b20sIG5ld1ZhcmlhbnQucHJvZHVjdElkKTtcbiAgICAgIHNldChpbnRlcm5hbFBhcmVudFByb2R1Y3RJZEF0b20sIG5ld1ZhcmlhbnQucGFyZW50UHJvZHVjdElkKTtcbiAgICAgIHNldChpbnRlcm5hbFVybEF0b20sIG5ld1ZhcmlhbnQudXJsKTtcbiAgICB9XG4gICAgaWYgKG5ld1ZhcmlhbnQudmFyaWFudCA9PT0gXCJwbHBcIikge1xuICAgICAgc2V0KGludGVybmFsUGxwSWRBdG9tLCBuZXdWYXJpYW50LnBscElkKTtcbiAgICAgIHNldChpbnRlcm5hbFVybEF0b20sIG5ld1ZhcmlhbnQudXJsKTtcbiAgICB9XG4gICAgaWYgKG5ld1ZhcmlhbnQudmFyaWFudCA9PT0gXCJwYWdlX3Zpc2l0XCIpIHtcbiAgICAgIHNldChpbnRlcm5hbFVybEF0b20sIG5ld1ZhcmlhbnQudXJsKTtcbiAgICAgIHNldChpbnRlcm5hbFBhZ2VWaXNpdENhdGVnb3J5QXRvbSwgbmV3VmFyaWFudC5wYWdlVmlzaXRDYXRlZ29yeSk7XG4gICAgfVxuICB9XG4pO1xuIiwiaW1wb3J0IHtcbiAgQ29udGV4dEVudkVudW0sXG4gIENvbnRleHRTb3VyY2VFbnVtLFxufSBmcm9tIFwiQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50XCI7XG5pbXBvcnQgeyBhdG9tIH0gZnJvbSBcImpvdGFpXCI7XG5pbXBvcnQgeyBhdG9tV2l0aFN0b3JhZ2UgfSBmcm9tIFwiam90YWkvdXRpbHNcIjtcbmltcG9ydCB7IFZhcmlhbnRJbmZvIH0gZnJvbSBcInNyYy9hcHBsaWNhdGlvbi9tb2RlbHNcIjtcbmltcG9ydCB7IFVzZXJJZGVudGl0eUNvbnRleHRUeXBlIH0gZnJvbSBcInNyYy9jb250ZXh0cy91c2VySWRlbnRpdHlDb250ZXh0L3VzZXJJZGVudGl0eUNvbnRleHRcIjtcbmltcG9ydCB7IHZhcmlhbnRJbmZvQXRvbSB9IGZyb20gXCJzcmMvYXRvbXMvYXBwL3ZhcmlhbnRcIjtcbmltcG9ydCB7IHY0IGFzIHV1aWQgfSBmcm9tIFwidXVpZFwiO1xuaW1wb3J0IHsgY29udGV4dFNvdXJjZUF0b20gfSBmcm9tIFwiLi4vZW52aXZlL2Vudml2ZUNvbmZpZ1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFwcERldGFpbHMge1xuICBvcmdJZDogc3RyaW5nO1xuICBvcmdTaG9ydE5hbWU6IHN0cmluZztcbiAgY2hhdElkOiBzdHJpbmc7XG4gIHVzZXJJZDogc3RyaW5nO1xuICBzb3VyY2U6IENvbnRleHRTb3VyY2VFbnVtO1xuICBlbnY6IENvbnRleHRFbnZFbnVtO1xuICB2YXJpYW50SW5mbzogVmFyaWFudEluZm87XG59XG5cbmV4cG9ydCB7IHZhcmlhbnRJbmZvQXRvbSB9IGZyb20gXCIuL3ZhcmlhbnRcIjtcblxuY29uc3QgaW50ZXJuYWxVc2VySWRBdG9tID0gYXRvbTxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cbmV4cG9ydCBjb25zdCB1c2VySWRBdG9tID0gYXRvbShcbiAgKGdldCkgPT4ge1xuICAgIGNvbnN0IG1heWJlVXNlcklkID0gZ2V0KGludGVybmFsVXNlcklkQXRvbSk7XG5cbiAgICBpZiAobWF5YmVVc2VySWQpIHtcbiAgICAgIHJldHVybiBtYXliZVVzZXJJZDtcbiAgICB9XG5cbiAgICByZXR1cm4gZ2V0KHVzZXJJZGVudGl0eUF0b20pPy5nZXRVc2VySWRPckRlZmF1bHQoKSA/PyBcIlwiO1xuICB9LFxuICAoXywgc2V0LCB2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSA9PiB7XG4gICAgc2V0KGludGVybmFsVXNlcklkQXRvbSwgdmFsdWUpO1xuICB9XG4pO1xuXG5leHBvcnQgY29uc3QgdXNlcklkZW50aXR5QXRvbSA9IGF0b208VXNlcklkZW50aXR5Q29udGV4dFR5cGUgfCB1bmRlZmluZWQ+KFxuICB1bmRlZmluZWRcbik7XG5cbmV4cG9ydCBjb25zdCBhcHBTb3VyY2VBdG9tID0gYXRvbTxDb250ZXh0U291cmNlRW51bT4oXG4gIChnZXQpOiBDb250ZXh0U291cmNlRW51bSA9PiBnZXQoY29udGV4dFNvdXJjZUF0b20pID8/IENvbnRleHRTb3VyY2VFbnVtLkFwcFxuKTtcbmV4cG9ydCBjb25zdCBjaGF0SWRBdG9tID0gYXRvbVdpdGhTdG9yYWdlPHN0cmluZz4oXG4gIFwidjEtc3BpZmZ5LWNoYXQtc2Vzc2lvbi1pZFwiLFxuICB1dWlkKCksXG4gIHVuZGVmaW5lZCxcbiAge1xuICAgIGdldE9uSW5pdDogdHJ1ZSxcbiAgfVxuKTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBK0dBLE1BQU0sa0VBQ0osdUJBQ0EsUUFDQUEsc0NBQ0EsRUFDRSxXQUFXLE1BQ1osQ0FDRjtBQUVELE1BQWEsbUNBQ1YsUUFBMEI7Q0FDekIsTUFBTSxtQkFBbUIsSUFBSSwrQkFBK0I7QUFDNUQsS0FBSSxvQkFBb0IsS0FDdEIsUUFBTyxFQUFFO0FBRVgsUUFBTyxLQUFLLE1BQU0saUJBQWlCO0lBR25DLEtBQ0EsS0FDQSxVQUNHO0NBR0gsTUFBTSxXQUFXO0VBQUUsR0FERSxJQUFJLGdCQUFnQjtHQUNKLE1BQU0sTUFBTSxNQUFNO0VBQVU7QUFFakUsS0FBSSxnQ0FBZ0MsS0FBSyxVQUFVLFNBQVMsQ0FBQztFQUVoRTtBQUVELE1BQU0scUVBQ0osMEJBQ0EsUUFDQUEsc0NBQ0EsRUFDRSxXQUFXLE1BQ1osQ0FDRjtBQUNELE1BQU0sNkNBQThELE9BQVU7QUFFOUUsTUFBTSwwQ0FBK0IsUUFBUTtDQUUzQyxNQUFNLG1CQURTLElBQUlDLHNDQUFpQixFQUNIO0FBQ2pDLFFBQU8sRUFDTCx1QkFBdUIsU0FBaUIsbUJBQW1CLFNBQVMsT0FDckU7RUFDRDtBQUVGLE1BQWEsc0NBQ1YsUUFBb0M7Q0FDbkMsTUFBTSxzQkFBc0IsSUFBSSxrQ0FBa0M7QUFDbEUsS0FBSSx1QkFBdUIsS0FDekI7QUFLRixRQUFPLEtBQUssTUFBTSxvQkFBb0I7SUFFdkMsS0FBSyxLQUFLLFVBQXNDO0FBQy9DLEtBQUksU0FBUyxNQUFNO0FBQ2pCLE1BQUksbUNBQW1DLE9BQVU7QUFDakQsTUFBSSw0QkFBNEIsT0FBVTtBQUMxQzs7Q0FHRixNQUFNLHFCQUFxQixJQUFJLHVCQUF1QjtDQUV0RCxNQUFNLGtCQURzQixJQUFJLDJCQUEyQixFQUNkO0NBRTdDLE1BQU0sZUFEUyxJQUFJQSxzQ0FBaUIsRUFDUDtBQUc3QixLQUNFLHNCQUNBLENBQUMsbUJBQW1CLHFCQUNsQkMsa0NBQWEsc0JBQ2QsSUFDRCxtQkFDQSxvQkFBb0JDLDhEQUE4QixjQUNqRCxpQkFBaUJDLDRCQUFhLFNBQzdCLGlCQUFpQkEsNEJBQWEsZUFDaEM7RUFDQSxNQUFNLHlCQUF5QjtHQUM3QixXQUFXO0dBQ1gsT0FBTyxNQUFNO0dBQ2IsVUFBVSxNQUFNO0dBQ2hCLGlCQUFpQixNQUFNO0dBQ3ZCLGFBQWEsTUFBTTtHQUNuQixjQUFjLE1BQU07R0FDcEIsZUFBZSxNQUFNO0dBQ3RCO0FBQ0QsTUFBSSw0QkFBNEIsdUJBQXVCO0FBQ3ZELE1BQ0UsbUNBQ0EsS0FBSyxVQUFVLHVCQUF1QixDQUN2QztBQUVEOztBQUdGLEtBQUksNEJBQTRCLE1BQU07QUFDdEMsS0FBSSxtQ0FBbUMsS0FBSyxVQUFVLE1BQU0sQ0FBQztFQUVoRTtBQUVELE1BQU0seUNBQXNDO0FBQzVDLE1BQU0seUNBQXNDO0FBQzVDLE1BQU0sK0NBQTRDO0FBQ2xELE1BQU0sMENBQXVDO0FBQzdDLE1BQU0scUNBQWtDO0FBQ3hDLE1BQU0sbUNBQWdDO0FBQ3RDLE1BQU0saURBQXlEO0FBQy9ELE1BQU0sc0NBQ0osTUFDRDtBQUVELE1BQWEsaUNBQXNCLFFBQVEsSUFBSSxzQkFBc0IsQ0FBQztBQUN0RSxNQUFhLGlDQUFzQixRQUFRLElBQUksc0JBQXNCLENBQUM7QUFDdEUsTUFBYSx1Q0FBNEIsUUFDdkMsSUFBSSw0QkFBNEIsQ0FDakM7QUFDRCxNQUFhLGtDQUF1QixRQUFRLElBQUksdUJBQXVCLENBQUM7QUFDeEUsTUFBYSw2QkFBa0IsUUFBUSxJQUFJLGtCQUFrQixDQUFDO0FBQzlELE1BQWEsMkJBQWdCLFFBQVEsSUFBSSxnQkFBZ0IsQ0FBQztBQUMxRCxNQUFhLHlDQUE4QixRQUN6QyxJQUFJLDhCQUE4QixDQUNuQztBQUNELE1BQWEsK0JBQW9CLFFBQVEsSUFBSSxvQkFBb0IsQ0FBQztBQUNsRSxNQUFhLDJDQUFnQyxNQUFNO0FBRW5ELE1BQWEsbUNBQ1YsUUFBcUI7Q0FDcEIsTUFBTSxVQUFVLElBQUksWUFBWTtBQUNoQyxLQUFJLFlBQVksTUFDZCxRQUFPO0VBQ0wsV0FBVyxJQUFJLGNBQWM7RUFDN0I7RUFDQSxXQUFXLElBQUksY0FBYztFQUM3QixpQkFBaUIsSUFBSSxvQkFBb0I7RUFDekMsS0FBSyxJQUFJLFFBQVE7RUFDbEI7QUFFSCxLQUFJLFlBQVksTUFDZCxRQUFPO0VBQ0wsV0FBVyxJQUFJLGNBQWM7RUFDN0I7RUFDQSxPQUFPLElBQUksVUFBVTtFQUNyQixLQUFLLElBQUksUUFBUTtFQUNsQjtBQUVILEtBQUksWUFBWSxhQUNkLFFBQU87RUFDTCxXQUFXLElBQUksY0FBYztFQUM3QjtFQUNBLEtBQUssSUFBSSxRQUFRO0VBQ2pCLG1CQUFtQixJQUFJLHNCQUFzQjtFQUM5QztBQUVILE9BQU0sSUFBSSxNQUFNLDhCQUE4QjtJQUUvQyxHQUFHLEtBQUssZUFBNEI7QUFDbkMsS0FBSSxxQkFBcUIsV0FBVyxRQUFRO0FBQzVDLEtBQUksdUJBQXVCLFdBQVcsVUFBVTtBQUNoRCxLQUFJLFdBQVcsWUFBWSxPQUFPO0FBQ2hDLE1BQUksdUJBQXVCLFdBQVcsVUFBVTtBQUNoRCxNQUFJLDZCQUE2QixXQUFXLGdCQUFnQjtBQUM1RCxNQUFJLGlCQUFpQixXQUFXLElBQUk7O0FBRXRDLEtBQUksV0FBVyxZQUFZLE9BQU87QUFDaEMsTUFBSSxtQkFBbUIsV0FBVyxNQUFNO0FBQ3hDLE1BQUksaUJBQWlCLFdBQVcsSUFBSTs7QUFFdEMsS0FBSSxXQUFXLFlBQVksY0FBYztBQUN2QyxNQUFJLGlCQUFpQixXQUFXLElBQUk7QUFDcEMsTUFBSSwrQkFBK0IsV0FBVyxrQkFBa0I7O0VBR3JFOzs7O0FDelFELE1BQU0scUNBQThDLE9BQVU7QUFFOUQsTUFBYSw4QkFDVixRQUFRO0NBQ1AsTUFBTSxjQUFjLElBQUksbUJBQW1CO0FBRTNDLEtBQUksWUFDRixRQUFPO0FBR1QsUUFBTyxJQUFJLGlCQUFpQixFQUFFLG9CQUFvQixJQUFJO0lBRXZELEdBQUcsS0FBSyxVQUE4QjtBQUNyQyxLQUFJLG9CQUFvQixNQUFNO0VBRWpDO0FBRUQsTUFBYSxtQ0FDWCxPQUNEO0FBRUQsTUFBYSxpQ0FDVixRQUEyQixJQUFJQyx1Q0FBa0IsSUFBSUMsa0RBQWtCLElBQ3pFO0FBQ0QsTUFBYSw4Q0FDWCwyQ0FDTSxFQUNOLFFBQ0EsRUFDRSxXQUFXLE1BQ1osQ0FDRiJ9
@@ -1,5 +0,0 @@
1
- require('../../../urlsParser-BV5yF8sa.cjs');
2
- const require_graphql = require('../../../graphql-B9HhDXYt.cjs');
3
-
4
- exports.getMerchantColorsQuery = require_graphql.getMerchantColorsQuery;
5
- exports.getMerchantFrontendConfigQuery = require_graphql.getMerchantFrontendConfigQuery;
@@ -1,2 +0,0 @@
1
- import { GetMerchantColorsQueryData, GetMerchantFrontendConfigQueryData, MountingConfigQueryData, PageVariantCheckQueryData, PageVariantQueryData, UIConfigQueryData, WidgetConfigQueryData, WidgetMountingQueryData, getMerchantColorsQuery, getMerchantFrontendConfigQuery } from "../../../index-Bmub8e38.cjs";
2
- export { GetMerchantColorsQueryData, GetMerchantFrontendConfigQueryData, MountingConfigQueryData, PageVariantCheckQueryData, PageVariantQueryData, UIConfigQueryData, WidgetConfigQueryData, WidgetMountingQueryData, getMerchantColorsQuery, getMerchantFrontendConfigQuery };
@@ -1,2 +0,0 @@
1
- import { GetMerchantColorsQueryData, GetMerchantFrontendConfigQueryData, MountingConfigQueryData, PageVariantCheckQueryData, PageVariantQueryData, UIConfigQueryData, WidgetConfigQueryData, WidgetMountingQueryData, getMerchantColorsQuery, getMerchantFrontendConfigQuery } from "../../../index-Dr_c2DDq.js";
2
- export { GetMerchantColorsQueryData, GetMerchantFrontendConfigQueryData, MountingConfigQueryData, PageVariantCheckQueryData, PageVariantQueryData, UIConfigQueryData, WidgetConfigQueryData, WidgetMountingQueryData, getMerchantColorsQuery, getMerchantFrontendConfigQuery };
@@ -1,4 +0,0 @@
1
- import "../../../urlsParser-DUgV_Qy9.js";
2
- import { getMerchantColorsQuery, getMerchantFrontendConfigQuery } from "../../../graphql-W7GMIHUu.js";
3
-
4
- export { getMerchantColorsQuery, getMerchantFrontendConfigQuery };
@@ -1,16 +0,0 @@
1
- require('../../../../utils-Cavu4XiM.cjs');
2
- const require_api = require('../../../../api-Bc3_julZ.cjs');
3
- require('../../../../logger-Cp7J4YJT.cjs');
4
-
5
- exports.isApiPDPAttributes = require_api.isApiPDPAttributes;
6
- exports.isApiProductResponseAttributes = require_api.isApiProductResponseAttributes;
7
- exports.isApiProductSearchResponseAttributes = require_api.isApiProductSearchResponseAttributes;
8
- exports.isApiQueryTypedAttributes = require_api.isApiQueryTypedAttributes;
9
- exports.isApiResponse = require_api.isApiResponse;
10
- exports.isApiReviewResponseAttributes = require_api.isApiReviewResponseAttributes;
11
- exports.isApiReviewRichInformation = require_api.isApiReviewRichInformation;
12
- exports.isApiSearchAttributes = require_api.isApiSearchAttributes;
13
- exports.isApiSuggestionClickedAttributes = require_api.isApiSuggestionClickedAttributes;
14
- exports.isApiTextResponseAttributes = require_api.isApiTextResponseAttributes;
15
- exports.isApiUserEvent = require_api.isApiUserEvent;
16
- exports.isSuggestion = require_api.isSuggestion;
@@ -1,3 +0,0 @@
1
- import { isApiPDPAttributes, isApiProductResponseAttributes, isApiProductSearchResponseAttributes, isApiQueryTypedAttributes, isApiResponse, isApiReviewResponseAttributes, isApiReviewRichInformation, isApiSearchAttributes, isApiSuggestionClickedAttributes, isApiTextResponseAttributes, isApiUserEvent, isSuggestion } from "../../../../index-CiWEYzXl.cjs";
2
- import "../../../../index-CESxqFso.cjs";
3
- export { isApiPDPAttributes, isApiProductResponseAttributes, isApiProductSearchResponseAttributes, isApiQueryTypedAttributes, isApiResponse, isApiReviewResponseAttributes, isApiReviewRichInformation, isApiSearchAttributes, isApiSuggestionClickedAttributes, isApiTextResponseAttributes, isApiUserEvent, isSuggestion };