@envive-ai/react-hooks 0.2.6-alpha-arthur-3 → 0.2.6-alpha-arthur-4
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.
- package/dist/{AmplitudeOperations-BjC8DOqm.js → AmplitudeOperations-BNFYCh-W.js} +2 -2
- package/dist/{AmplitudeOperations-CQs4sVHN.cjs → AmplitudeOperations-CHlghWFQ.cjs} +2 -2
- package/dist/{NewOrgConfig-CRakarmw.js → NewOrgConfig-BeoqDaSB.js} +2 -2
- package/dist/{NewOrgConfig-D48KabOj.cjs → NewOrgConfig-DgWHQyUc.cjs} +2 -2
- package/dist/{TrackComponentVisibleEvent-C9RvfdS9.js → TrackComponentVisibleEvent-HbfzgXtF.js} +4 -4
- package/dist/{TrackComponentVisibleEvent-_Fb-JXkV.cjs → TrackComponentVisibleEvent-vsaQaHKi.cjs} +4 -4
- package/dist/amplitudeContext-Dp-Tm43M.cjs +253 -0
- package/dist/amplitudeContext-DwszOulA.js +237 -0
- package/dist/{amplitudeTrackEventAtom-f22P2U0u.cjs → amplitudeTrackEventAtom-nkZxYoLu.cjs} +1 -1
- package/dist/{amplitudeTrackEventAtom-D66l5oFp.js → amplitudeTrackEventAtom-pJbLG4En.js} +1 -1
- package/dist/app-BCuEBoPJ.cjs +36 -0
- package/dist/app-D73Rksby.js +14 -0
- package/dist/application/models/graphql/index.d.ts +1 -1
- package/dist/application/models/guards/api/index.d.ts +2 -2
- package/dist/application/models/guards/utils.d.ts +1 -1
- package/dist/application/models/index.cjs +2 -2
- package/dist/application/models/index.d.ts +4 -4
- package/dist/application/models/index.js +2 -2
- package/dist/application/utils/index.cjs +3 -3
- package/dist/application/utils/index.d.ts +4 -4
- package/dist/application/utils/index.js +3 -3
- package/dist/atoms/app/index.cjs +5 -17
- package/dist/atoms/app/index.d.cts +7 -8
- package/dist/atoms/app/index.d.ts +7 -8
- package/dist/atoms/app/index.js +5 -16
- package/dist/atoms/atomStore/index.d.cts +1 -1
- package/dist/atoms/chat/index.cjs +14 -11
- package/dist/atoms/chat/index.d.ts +33 -33
- package/dist/atoms/chat/index.js +14 -11
- package/dist/atoms/globalSearch/index.cjs +1 -1
- package/dist/atoms/globalSearch/index.d.cts +6 -6
- package/dist/atoms/globalSearch/index.d.ts +6 -6
- package/dist/atoms/globalSearch/index.js +1 -1
- package/dist/atoms/org/index.cjs +7 -6
- package/dist/atoms/org/index.d.cts +16 -16
- package/dist/atoms/org/index.d.ts +17 -17
- package/dist/atoms/org/index.js +3 -2
- package/dist/atoms/search/index.cjs +7 -6
- package/dist/atoms/search/index.d.cts +14 -14
- package/dist/atoms/search/index.d.ts +15 -15
- package/dist/atoms/search/index.js +7 -6
- package/dist/atoms/search/utils.cjs +1 -1
- package/dist/atoms/search/utils.d.cts +1 -1
- package/dist/atoms/search/utils.d.ts +1 -1
- package/dist/atoms/search/utils.js +1 -1
- package/dist/{cdnContext-BoPraJxf.cjs → cdnContext-Bs73r4Xd.cjs} +2 -2
- package/dist/{cdnContext-BJT_Wn9Z.js → cdnContext-DJ1pDg-l.js} +2 -2
- package/dist/chat-BqUkaIbS.js +226 -0
- package/dist/chat-zxjIy0qQ.cjs +326 -0
- package/dist/{chatState-DlJpHAsW.cjs → chatState-CMoQ1TMs.cjs} +2 -2
- package/dist/{chatState-BbI93m6r.js → chatState-DRJrYuno.js} +2 -2
- package/dist/config/index.d.ts +4 -4
- package/dist/config/locators/components/chat/index.d.ts +1 -1
- package/dist/config/locators/components/common/index.d.ts +1 -1
- package/dist/config/locators/components/index.d.ts +1 -1
- package/dist/config/locators/components/search/index.d.cts +1 -1
- package/dist/config/locators/index.d.ts +4 -4
- package/dist/contexts/amplitudeContext/index.cjs +7 -19
- package/dist/contexts/amplitudeContext/index.js +7 -19
- package/dist/contexts/cdnContext/index.cjs +3 -3
- package/dist/contexts/cdnContext/index.js +3 -3
- package/dist/contexts/enviveConfigContext/index.cjs +4 -4
- package/dist/contexts/enviveConfigContext/index.js +4 -4
- package/dist/contexts/enviveCssContext/index.cjs +12 -12
- package/dist/contexts/enviveCssContext/index.js +12 -12
- package/dist/contexts/featureFlagContext/index.cjs +4 -4
- package/dist/contexts/featureFlagContext/index.js +4 -4
- package/dist/contexts/featureFlagServiceContext/index.cjs +3 -3
- package/dist/contexts/featureFlagServiceContext/index.d.ts +1 -1
- package/dist/contexts/featureFlagServiceContext/index.js +3 -3
- package/dist/contexts/graphqlContext/index.cjs +6 -6
- package/dist/contexts/graphqlContext/index.d.cts +1 -1
- package/dist/contexts/graphqlContext/index.js +6 -6
- package/dist/contexts/localStorageContext/index.cjs +2 -2
- package/dist/contexts/localStorageContext/index.d.cts +1 -1
- package/dist/contexts/localStorageContext/index.js +2 -2
- package/dist/contexts/newOrgConfigContext/index.cjs +11 -11
- package/dist/contexts/newOrgConfigContext/index.js +11 -11
- package/dist/contexts/searchContext/index.cjs +18 -15
- package/dist/contexts/searchContext/index.js +18 -15
- package/dist/contexts/sessionStorageContext/index.cjs +1 -1
- package/dist/contexts/sessionStorageContext/index.js +1 -1
- package/dist/contexts/shopifyUrlContext/index.cjs +1 -1
- package/dist/contexts/shopifyUrlContext/index.d.cts +1 -1
- package/dist/contexts/shopifyUrlContext/index.js +1 -1
- package/dist/contexts/systemSettingsContext/index.cjs +3 -3
- package/dist/contexts/systemSettingsContext/index.d.cts +2 -2
- package/dist/contexts/systemSettingsContext/index.d.ts +2 -2
- package/dist/contexts/systemSettingsContext/index.js +3 -3
- package/dist/contexts/userIdentityContext/index.cjs +13 -10
- package/dist/contexts/userIdentityContext/index.d.ts +1 -1
- package/dist/contexts/userIdentityContext/index.js +11 -8
- package/dist/{dist-VxRI6eQv.cjs → dist-B7BErEyV.cjs} +1 -1
- package/dist/{dist-C38adNK1.js → dist-CtkINi1R.js} +1 -1
- package/dist/{enviveConfig-CHXb9xwk.cjs → enviveConfig-6XJa6HAF.cjs} +2 -2
- package/dist/{enviveConfig-CUJgI97-.js → enviveConfig-Cw7o9TLb.js} +2 -2
- package/dist/{enviveConfigContext-C91Air9z.js → enviveConfigContext-D_bCeK56.js} +2 -2
- package/dist/{enviveConfigContext-zZAJwv87.cjs → enviveConfigContext-DoBbJZp_.cjs} +2 -2
- package/dist/exceptions/index.d.cts +1 -1
- package/dist/exceptions/index.d.ts +1 -1
- package/dist/{featureFlagServiceContext-x-hAAKdL.d.ts → featureFlagServiceContext-C6nTNI_i.d.ts} +1 -1
- package/dist/featureFlagServiceContext-ClnlCJV5.d.cts +1 -1
- package/dist/{featureFlagServiceContext-DHtkQAtq.cjs → featureFlagServiceContext-DQYo0d6Q.cjs} +2 -2
- package/dist/{featureFlagServiceContext-Cvp7NlpC.js → featureFlagServiceContext-GIO9xKV0.js} +2 -2
- package/dist/{globalSearch-nmrfGLOn.js → globalSearch-B8jHLScz.js} +1 -1
- package/dist/{globalSearch-Cpc8egsM.cjs → globalSearch-JJI1Fijh.cjs} +1 -1
- package/dist/{graphqlContext-DqWvz7Op.cjs → graphqlContext-CXyZamIk.cjs} +3 -3
- package/dist/{graphqlContext-C3T_K97L.js → graphqlContext-cAZtpn-W.js} +3 -3
- package/dist/hooks/AmplitudeOperations/index.cjs +8 -20
- package/dist/hooks/AmplitudeOperations/index.js +8 -20
- package/dist/hooks/AppDetails/index.cjs +16 -13
- package/dist/hooks/AppDetails/index.d.cts +12 -3
- package/dist/hooks/AppDetails/index.d.ts +12 -3
- package/dist/hooks/AppDetails/index.js +16 -13
- package/dist/hooks/BlockBackButton/index.d.ts +1 -1
- package/dist/hooks/CdnOperations/index.cjs +3 -3
- package/dist/hooks/CdnOperations/index.js +3 -3
- package/dist/hooks/ChatToggle/index.cjs +18 -15
- package/dist/hooks/ChatToggle/index.d.cts +1 -1
- package/dist/hooks/ChatToggle/index.js +18 -15
- package/dist/hooks/ChatToggleAnalytics/index.cjs +10 -22
- package/dist/hooks/ChatToggleAnalytics/index.d.cts +1 -1
- package/dist/hooks/ChatToggleAnalytics/index.js +10 -22
- package/dist/hooks/CustomerSupportHandoff/index.d.cts +1 -1
- package/dist/hooks/Debounce/index.d.cts +1 -1
- package/dist/hooks/Debounce/index.d.ts +1 -1
- package/dist/hooks/ElementObserver/index.d.ts +1 -1
- package/dist/hooks/GrabAndScroll/index.d.cts +1 -1
- package/dist/hooks/GrabAndScroll/index.d.ts +2 -2
- package/dist/hooks/GraphQLConfig/index.cjs +7 -7
- package/dist/hooks/GraphQLConfig/index.js +7 -7
- package/dist/hooks/IdentifyUser/index.cjs +13 -10
- package/dist/hooks/IdentifyUser/index.js +12 -9
- package/dist/hooks/ImageResolver/index.cjs +2 -2
- package/dist/hooks/ImageResolver/index.js +2 -2
- package/dist/hooks/Intersection/index.cjs +1 -1
- package/dist/hooks/Intersection/index.d.ts +1 -1
- package/dist/hooks/Intersection/index.js +1 -1
- package/dist/hooks/IsSmallScreen/index.d.ts +1 -1
- package/dist/hooks/LocalStorageOperations/index.cjs +2 -2
- package/dist/hooks/LocalStorageOperations/index.d.cts +1 -1
- package/dist/hooks/LocalStorageOperations/index.js +2 -2
- package/dist/hooks/MessageFilter/index.cjs +1 -1
- package/dist/hooks/MessageFilter/index.d.cts +1 -1
- package/dist/hooks/MessageFilter/index.js +1 -1
- package/dist/hooks/NewOrgConfig/index.cjs +12 -12
- package/dist/hooks/NewOrgConfig/index.d.ts +2 -2
- package/dist/hooks/NewOrgConfig/index.js +12 -12
- package/dist/hooks/Search/index.cjs +19 -29
- package/dist/hooks/Search/index.d.cts +1 -1
- package/dist/hooks/Search/index.js +18 -28
- package/dist/hooks/SearchOperations/index.cjs +19 -16
- package/dist/hooks/SearchOperations/index.d.cts +1 -1
- package/dist/hooks/SearchOperations/index.js +19 -16
- package/dist/hooks/SessionStorageOperations/index.cjs +1 -1
- package/dist/hooks/SessionStorageOperations/index.js +1 -1
- package/dist/hooks/ShopifyUrlOperations/index.cjs +1 -1
- package/dist/hooks/ShopifyUrlOperations/index.d.cts +2 -2
- package/dist/hooks/ShopifyUrlOperations/index.d.ts +2 -2
- package/dist/hooks/ShopifyUrlOperations/index.js +1 -1
- package/dist/hooks/SystemSettingsContext/index.cjs +3 -3
- package/dist/hooks/SystemSettingsContext/index.d.cts +2 -2
- package/dist/hooks/SystemSettingsContext/index.d.ts +3 -3
- package/dist/hooks/SystemSettingsContext/index.js +3 -3
- package/dist/hooks/TrackComponentVisibleEvent/index.cjs +9 -21
- package/dist/hooks/TrackComponentVisibleEvent/index.js +9 -21
- package/dist/hooks/UpdateAnalyticsProps/index.cjs +11 -21
- package/dist/hooks/UpdateAnalyticsProps/index.js +9 -19
- package/dist/hooks/utils.cjs +1 -1
- package/dist/hooks/utils.d.ts +1 -1
- package/dist/hooks/utils.js +1 -1
- package/dist/index-CMZcE7pk.d.cts +1 -1
- package/dist/{index-BiDHHLjr.d.ts → index-ChRMX2kc.d.ts} +2 -2
- package/dist/index-ChiZg0yw.d.cts +1 -1
- package/dist/{index-dc4j0jws.d.ts → index-CkaLTFlB.d.ts} +1 -1
- package/dist/{index-DywcCZdp.d.ts → index-Cl35ht05.d.ts} +1 -1
- package/dist/{index-B95cXAA4.d.ts → index-DIq5F_-r.d.ts} +1 -1
- package/dist/{index-DZU7c0jP.d.ts → index-DijHU7yp.d.ts} +1 -1
- package/dist/{index-CAXM2KiM.d.ts → index-PktRD1En.d.ts} +1 -1
- package/dist/index-npqPeJ1g.d.cts +1 -1
- package/dist/{index--OKiRCTl.d.ts → index-smzckpKv.d.ts} +1 -1
- package/dist/interceptors/index.cjs +1 -1
- package/dist/interceptors/index.d.cts +1 -1
- package/dist/interceptors/index.d.ts +1 -1
- package/dist/interceptors/index.js +1 -1
- package/dist/{localStorageContext-BFwvuEcf.js → localStorageContext-CvwraLEo.js} +2 -2
- package/dist/{localStorageContext-CWc5xJ6U.cjs → localStorageContext-DIIUUEvL.cjs} +2 -2
- package/dist/{models-Cw0QcbQv.js → models-DmsMlaHT.js} +2 -2
- package/dist/{models-Dl0_Ujgj.cjs → models-wh2gh_Qz.cjs} +2 -2
- package/dist/{newOrgConfigAtom-CDttTiuu.cjs → newOrgConfigAtom-vEChAMrW.cjs} +1 -1
- package/dist/{newOrgConfigAtom-C8h3w_Ji.js → newOrgConfigAtom-wQeGYEFq.js} +1 -1
- package/dist/{newOrgConfigContext-D1sgTmVU.cjs → newOrgConfigContext-C8uWGgkE.cjs} +5 -5
- package/dist/{newOrgConfigContext-B_rJMpwN.js → newOrgConfigContext-garCXaH1.js} +5 -5
- package/dist/{nodeSelector-NqW-FBED.d.ts → nodeSelector-DU-o1I1d.d.ts} +1 -1
- package/dist/org-DEzeBBk6.js +22 -0
- package/dist/org-Ky10pcuq.cjs +77 -0
- package/dist/orgAnalyticsConfig-Bxm8BZch.js +14 -0
- package/dist/orgAnalyticsConfig-DU1aESDh.cjs +39 -0
- package/dist/{search-OWKKaQQj.js → search-C4ZLnfzE.js} +5 -5
- package/dist/{search-CWkDtqQV.cjs → search-DUJiAeEo.cjs} +5 -5
- package/dist/{searchContext-Bhhp_q_P.js → searchContext-BrPSGjRo.js} +5 -5
- package/dist/{searchContext-3VsAb17A.cjs → searchContext-Ck94DuBO.cjs} +5 -5
- package/dist/{searchServiceAdapter-B0h7psvh.js → searchServiceAdapter-C3_FRUly.js} +1 -1
- package/dist/{searchServiceAdapter-BclWy4fE.cjs → searchServiceAdapter-tPd0NClV.cjs} +1 -1
- package/dist/{sessionStorageContext-kQJRbkHL.js → sessionStorageContext-CBwNI1Va.js} +1 -1
- package/dist/{sessionStorageContext-L3f_btsR.cjs → sessionStorageContext-CmHIsV7a.cjs} +1 -1
- package/dist/{shopifyUrlContext-CB9LQU_i.js → shopifyUrlContext-C3gw4ZIN.js} +1 -1
- package/dist/{shopifyUrlContext-BsYGfLvw.cjs → shopifyUrlContext-ZJtT_0XX.cjs} +1 -1
- package/dist/{systemSettingsContext-Cac6mmfA.js → systemSettingsContext-DzAyy0iP.js} +2 -2
- package/dist/{systemSettingsContext-B5plhu8S.cjs → systemSettingsContext-ru4nA9k_.cjs} +2 -2
- package/dist/types/index.d.ts +1 -1
- package/dist/useAppDetails-Bg1yCUZi.cjs +41 -0
- package/dist/useAppDetails-Buzm9yIj.js +33 -0
- package/dist/{useGraphQLConfig-Cm_lEb1T.cjs → useGraphQLConfig-B6CiGP57.cjs} +2 -2
- package/dist/{useGraphQLConfig-CeYY5maa.js → useGraphQLConfig-f2MK-FPn.js} +2 -2
- package/dist/{useIntersection-bCSteycU.js → useIntersection-UEO0Cezc.js} +1 -1
- package/dist/{useIntersection-DuwPFRY9.cjs → useIntersection-rV0Q8mBH.cjs} +1 -1
- package/dist/userIdentityContext-B8XLgxMQ.cjs +431 -0
- package/dist/userIdentityContext-DgFLendI.js +414 -0
- package/dist/{utils-DjhLO2vO.d.ts → utils-BLe5oreh.d.ts} +1 -1
- package/dist/{utils-DQhbbAnt.js → utils-B_cnJJAH.js} +1 -1
- package/dist/{utils-DMwh3QbT.js → utils-CxDOv-yL.js} +3 -3
- package/dist/{utils-BZT_oZ3n.js → utils-D_kATUj6.js} +1 -1
- package/dist/{utils-D3MjNkd3.cjs → utils-DucG4gQ7.cjs} +3 -3
- package/dist/{utils-CqVRbvfN.cjs → utils-_Q_-LvZS.cjs} +1 -1
- package/dist/{utils-qtHPLFby.cjs → utils-hYTjy7hJ.cjs} +1 -1
- package/dist/variant-Ben5gKtM.js +93 -0
- package/dist/variant-CvYVVCqU.cjs +107 -0
- package/package.json +1 -1
- package/src/application/commerce-api.ts +5 -2
- package/src/atoms/app/index.ts +2 -20
- package/src/atoms/chat/messageQueue.ts +8 -3
- package/src/contexts/amplitudeContext/amplitudeContext.tsx +2 -2
- package/src/contexts/chatContext/chatContext.tsx +512 -0
- package/src/hooks/AppDetails/useAppDetails.ts +15 -2
- package/dist/amplitudeContext-D5HSmIWg.cjs +0 -253
- package/dist/amplitudeContext-wW37Ziq-.js +0 -237
- package/dist/app-CGw4C9Bn.js +0 -515
- package/dist/app-Di_sBmzj.cjs +0 -570
- package/dist/chat-ZaY3KY-R.js +0 -226
- package/dist/chat-rhEjVfrd.cjs +0 -326
- package/dist/org-BNs_maoW.cjs +0 -111
- package/dist/org-CScQqL4k.js +0 -32
- package/dist/useAppDetails-B-lZpIPK.js +0 -30
- package/dist/useAppDetails-BAJjqvyF.cjs +0 -38
- /package/dist/{enviveConfigContext-CZPfJkcS.cjs → enviveConfigContext-DJLIdWAK.cjs} +0 -0
- /package/dist/{enviveConfigContext-Hc1JBLu-.js → enviveConfigContext-Qh6nF9qc.js} +0 -0
- /package/dist/{featureFlagServiceContext-CISyb90N.js → featureFlagServiceContext-CG3rFJov.js} +0 -0
- /package/dist/{featureFlagServiceContext-Csgo-MUv.cjs → featureFlagServiceContext-C_wrr2WY.cjs} +0 -0
|
@@ -127,4 +127,4 @@ Object.defineProperty(exports, 'isWithinBusinessHours', {
|
|
|
127
127
|
return isWithinBusinessHours;
|
|
128
128
|
}
|
|
129
129
|
});
|
|
130
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
130
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMtaFlUank3aEouY2pzIiwibmFtZXMiOlsiVXNlckV2ZW50Q2F0ZWdvcnkiLCJQTFBBdHRyaWJ1dGVDYXRlZ29yeSJdLCJzb3VyY2VzIjpbIi4uL3NyYy9ob29rcy91dGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQTFBBdHRyaWJ1dGVDYXRlZ29yeSwgVXNlckV2ZW50Q2F0ZWdvcnkgfSBmcm9tICdAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnQnO1xuaW1wb3J0IHsgVXNlckV2ZW50LCBWYXJpYW50SW5mbywgU2VhcmNoUmVzdWx0IH0gZnJvbSAnQGVudml2ZS1haS90eXBlcyc7XG5pbXBvcnQgeyB2NCBhcyB1dWlkIH0gZnJvbSAndXVpZCc7XG5cbmV4cG9ydCBjb25zdCBpc0VsZW1lbnRQYXJ0aWFsbHlWaXNpYmxlID0gKGVsPzogSFRNTERpdkVsZW1lbnQgfCBudWxsKSA9PiB7XG4gIGlmICghZWwpIHJldHVybiBmYWxzZTtcblxuICBjb25zdCByZWN0ID0gZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gIGNvbnN0IHdpbmRvd0hlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodCB8fCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0O1xuICBjb25zdCB3aW5kb3dXaWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoIHx8IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aDtcbiAgY29uc3QgdmVydGljYWxseVZpc2libGUgPSBNYXRoLnJvdW5kKHJlY3QudG9wKSA8IHdpbmRvd0hlaWdodCAmJiBNYXRoLnJvdW5kKHJlY3QuYm90dG9tKSA+IDA7XG4gIGNvbnN0IGhvcml6b250YWxseVZpc2libGUgPSBNYXRoLnJvdW5kKHJlY3QubGVmdCkgPCB3aW5kb3dXaWR0aCAmJiBNYXRoLnJvdW5kKHJlY3QucmlnaHQpID4gMDtcbiAgcmV0dXJuIHZlcnRpY2FsbHlWaXNpYmxlICYmIGhvcml6b250YWxseVZpc2libGU7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlQXBwTG9hZGVkRXZlbnQgPSAoKTogVXNlckV2ZW50ID0+ICh7XG4gIGV2ZW50SWQ6IHV1aWQoKSxcbiAgY3JlYXRlZEF0OiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG4gIGNhdGVnb3J5OiBVc2VyRXZlbnRDYXRlZ29yeS5BcHBMb2FkZWQsXG59KTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZVZpc2l0VXNlckV2ZW50ID0gKHtcbiAgdmFyaWFudEluZm8sXG59OiB7XG4gIHZhcmlhbnRJbmZvOiBWYXJpYW50SW5mbztcbn0pOiBVc2VyRXZlbnQgfCB1bmRlZmluZWQgPT4ge1xuICAvLyB0aGlzIGlzIGEgcGRwIHZpc2l0IGV2ZW50XG4gIGlmICh2YXJpYW50SW5mby52YXJpYW50ID09PSAncGRwJyAmJiB2YXJpYW50SW5mby5wcm9kdWN0SWQgIT0gbnVsbCkge1xuICAgIHJldHVybiB7XG4gICAgICBldmVudElkOiB1dWlkKCksXG4gICAgICBjcmVhdGVkQXQ6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgICAgIGNhdGVnb3J5OiBVc2VyRXZlbnRDYXRlZ29yeS5QZHBWaXNpdCxcbiAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgcHJvZHVjdElkOiB2YXJpYW50SW5mby5wcm9kdWN0SWQsXG4gICAgICAgIHBhcmVudFByb2R1Y3RJZDogdmFyaWFudEluZm8ucGFyZW50UHJvZHVjdElkID8/ICcnLFxuICAgICAgICB1cmw6IHZhcmlhbnRJbmZvLnVybCA/PyAnJyxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIC8vIHRoaXMgaXMgYSBwbHAgdmlzaXQgZXZlbnRcbiAgaWYgKHZhcmlhbnRJbmZvLnZhcmlhbnQgPT09ICdwbHAnICYmIHZhcmlhbnRJbmZvLnBscElkICE9IG51bGwpIHtcbiAgICByZXR1cm4ge1xuICAgICAgZXZlbnRJZDogdXVpZCgpLFxuICAgICAgY3JlYXRlZEF0OiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG4gICAgICBjYXRlZ29yeTogVXNlckV2ZW50Q2F0ZWdvcnkuUGxwVmlzaXQsXG4gICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgIGNhdGVnb3J5OiBQTFBBdHRyaWJ1dGVDYXRlZ29yeS5JZCxcbiAgICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICAgIGlkOiB2YXJpYW50SW5mby5wbHBJZCxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIGlmICh2YXJpYW50SW5mby52YXJpYW50ID09PSAncGFnZV92aXNpdCcpIHtcbiAgICByZXR1cm4ge1xuICAgICAgZXZlbnRJZDogdXVpZCgpLFxuICAgICAgY3JlYXRlZEF0OiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG4gICAgICBjYXRlZ29yeTogVXNlckV2ZW50Q2F0ZWdvcnkuUGFnZVZpc2l0LFxuICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICB1cmw6IHZhcmlhbnRJbmZvLnVybCxcbiAgICAgICAgcGFnZVZpc2l0Q2F0ZWdvcnk6IHZhcmlhbnRJbmZvLnBhZ2VWaXNpdENhdGVnb3J5LFxuICAgICAgfSxcbiAgICB9O1xuICB9XG4gIHJldHVybiB1bmRlZmluZWQ7XG59O1xuXG5jb25zdCBwYXJzZVRpbWUgPSAodGltZTogc3RyaW5nLCB0aW1lWm9uZTogc3RyaW5nKSA9PiB7XG4gIGNvbnN0IHRpbWVzID0gdGltZS5tYXRjaCgvXihbMC0xXT9cXGQpOihbMC01XVxcZCkoQU18UE0pJC9pKTtcbiAgY29uc3QgaG91cnMgPSB0aW1lcz8uWzFdO1xuICBjb25zdCBtaW51dGVzID0gdGltZXM/LlsyXTtcbiAgY29uc3QgcGVyaW9kID0gdGltZXM/LlszXTtcblxuICBpZiAoaG91cnMgJiYgbWludXRlcyAmJiBwZXJpb2QpIHtcbiAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoKTtcblxuICAgIC8vIEFkanVzdCBob3VycyBmb3IgQU0vUE1cbiAgICBsZXQgYWRqdXN0ZWRIb3VycyA9IDA7XG4gICAgaWYgKHBlcmlvZC50b1VwcGVyQ2FzZSgpID09PSAnUE0nICYmIGhvdXJzICE9PSAnMTInKSB7XG4gICAgICBhZGp1c3RlZEhvdXJzID0gcGFyc2VJbnQoaG91cnMpICsgMTI7XG4gICAgfVxuXG4gICAgaWYgKHBlcmlvZC50b1VwcGVyQ2FzZSgpID09PSAnQU0nICYmIGhvdXJzICE9PSAnMTInKSB7XG4gICAgICBhZGp1c3RlZEhvdXJzID0gcGFyc2VJbnQoaG91cnMpO1xuICAgIH1cblxuICAgIC8vIENyZWF0ZSB0aGUgZGF0ZSBzdHJpbmcgd2l0aCB0aW1lIHpvbmVcbiAgICBjb25zdCBmb3JtYXR0ZWREYXRlID0gYCR7ZGF0ZS50b0lTT1N0cmluZygpLnNwbGl0KCdUJylbMF19VCR7U3RyaW5nKGFkanVzdGVkSG91cnMpLnBhZFN0YXJ0KFxuICAgICAgMixcbiAgICAgICcwJyxcbiAgICApfToke21pbnV0ZXN9OjAwYDtcbiAgICByZXR1cm4gbmV3IERhdGUoYCR7Zm9ybWF0dGVkRGF0ZX0ke3RpbWVab25lfWApO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgaXNXaXRoaW5CdXNpbmVzc0hvdXJzID0gKHN0YXJ0VGltZTogc3RyaW5nLCBlbmRUaW1lOiBzdHJpbmcsIHRpbWVab25lOiBzdHJpbmcpID0+IHtcbiAgLy8gUGFyc2Ugc3RhcnQgYW5kIGVuZCB0aW1lc1xuICBjb25zdCBzdGFydCA9IHBhcnNlVGltZShzdGFydFRpbWUsIHRpbWVab25lKTtcbiAgbGV0IGVuZCA9IHBhcnNlVGltZShlbmRUaW1lLCB0aW1lWm9uZSk7XG5cbiAgaWYgKCFzdGFydCB8fCAhZW5kKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgbGV0IG5vdyA9IG5ldyBEYXRlKCk7XG5cbiAgLy8gSWYgdGhlIGVuZCBkYXRlIGlzIGdyZWF0ZXIgdGhhbiB0aGUgc3RhcnQgZGF0ZSwgYWRkIGEgZGF5IHRvIGJvdGggb2YgdGhlbVxuICAvLyBUaGlzIGhhbmRsZXMgY29uZmlndXJhdGlvbnMgc3VjaCBhcyBzdGFydFRpbWUgPSAxMDowMFBNIGFuZCBlbmRUaW1lID0gNzowMEFNXG4gIGlmIChlbmQgPCBzdGFydCkge1xuICAgIGVuZCA9IG5ldyBEYXRlKGVuZC5nZXRUaW1lKCkgKyAyNCAqIDYwICogNjAgKiAxMDAwKTtcbiAgICBub3cgPSBuZXcgRGF0ZShub3cuZ2V0VGltZSgpICsgMjQgKiA2MCAqIDYwICogMTAwMCk7XG4gIH1cblxuICAvLyBJZiB0aGUgZGF0ZSBjb252ZXJzaW9uIHNoaWZ0cyB0aGUgZW5kIGRhdGUgdG8gdGhlIG5leHQgZGF5LCBjb25zaWRlciBjb21wYXJpbmcgaXQgYWNyb3NzIG1pZG5pZ2h0XG4gIGlmIChlbmQuZ2V0VVRDRGF0ZSgpID4gc3RhcnQuZ2V0VVRDRGF0ZSgpKSB7XG4gICAgY29uc3QgY3Jvc3NpbmdNaWRuaWdodCA9IG5ldyBEYXRlKG5vdy5nZXRUaW1lKCkgKyAyNCAqIDYwICogNjAgKiAxMDAwKTtcbiAgICByZXR1cm4gc3RhcnQgPD0gbm93IHx8IGNyb3NzaW5nTWlkbmlnaHQgPD0gZW5kO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIGN1cnJlbnQgdGltZSBmYWxscyBiZXR3ZWVuIHN0YXJ0IGFuZCBlbmRcbiAgcmV0dXJuIG5vdyA+PSBzdGFydCAmJiBub3cgPD0gZW5kO1xufTtcblxuZXhwb3J0IGVudW0gU2VhcmNoUmVzdWx0c1N0YXRlIHtcbiAgTG9hZGluZyxcbiAgUmVzdWx0cyxcbiAgTm9SZXN1bHRzLFxufVxuXG5leHBvcnQgY29uc3QgZ2V0U2VhcmNoUmVzdWx0c1N0YXRlID0gKFxuICBpc0xvYWRpbmdTZWFyY2g6IGJvb2xlYW4sXG4gIHNlYXJjaERhdGE6IFNlYXJjaFJlc3VsdCB8IG51bGwsXG4pOiBTZWFyY2hSZXN1bHRzU3RhdGUgPT4ge1xuICBpZiAoaXNMb2FkaW5nU2VhcmNoKSB7XG4gICAgcmV0dXJuIFNlYXJjaFJlc3VsdHNTdGF0ZS5Mb2FkaW5nO1xuICB9XG4gIGlmIChzZWFyY2hEYXRhKSB7XG4gICAgcmV0dXJuIFNlYXJjaFJlc3VsdHNTdGF0ZS5SZXN1bHRzO1xuICB9XG4gIHJldHVybiBTZWFyY2hSZXN1bHRzU3RhdGUuTm9SZXN1bHRzO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUlBLE1BQWEsNkJBQTZCLE9BQStCO0FBQ3ZFLEtBQUksQ0FBQyxHQUFJLFFBQU87Q0FFaEIsTUFBTSxPQUFPLEdBQUcsdUJBQXVCO0NBQ3ZDLE1BQU0sZUFBZSxPQUFPLGVBQWUsU0FBUyxnQkFBZ0I7Q0FDcEUsTUFBTSxjQUFjLE9BQU8sY0FBYyxTQUFTLGdCQUFnQjtDQUNsRSxNQUFNLG9CQUFvQixLQUFLLE1BQU0sS0FBSyxJQUFJLEdBQUcsZ0JBQWdCLEtBQUssTUFBTSxLQUFLLE9BQU8sR0FBRztDQUMzRixNQUFNLHNCQUFzQixLQUFLLE1BQU0sS0FBSyxLQUFLLEdBQUcsZUFBZSxLQUFLLE1BQU0sS0FBSyxNQUFNLEdBQUc7QUFDNUYsUUFBTyxxQkFBcUI7O0FBRzlCLE1BQWEsOEJBQXlDO0NBQ3BELHVCQUFlO0NBQ2YsNEJBQVcsSUFBSSxNQUFNLEVBQUMsYUFBYTtDQUNuQyxVQUFVQSxrREFBa0I7Q0FDN0I7QUFFRCxNQUFhLHdCQUF3QixFQUNuQyxrQkFHMkI7QUFFM0IsS0FBSSxZQUFZLFlBQVksU0FBUyxZQUFZLGFBQWEsS0FDNUQsUUFBTztFQUNMLHVCQUFlO0VBQ2YsNEJBQVcsSUFBSSxNQUFNLEVBQUMsYUFBYTtFQUNuQyxVQUFVQSxrREFBa0I7RUFDNUIsWUFBWTtHQUNWLFdBQVcsWUFBWTtHQUN2QixpQkFBaUIsWUFBWSxtQkFBbUI7R0FDaEQsS0FBSyxZQUFZLE9BQU87R0FDekI7RUFDRjtBQUlILEtBQUksWUFBWSxZQUFZLFNBQVMsWUFBWSxTQUFTLEtBQ3hELFFBQU87RUFDTCx1QkFBZTtFQUNmLDRCQUFXLElBQUksTUFBTSxFQUFDLGFBQWE7RUFDbkMsVUFBVUEsa0RBQWtCO0VBQzVCLFlBQVk7R0FDVixVQUFVQyxxREFBcUI7R0FDL0IsWUFBWSxFQUNWLElBQUksWUFBWSxPQUNqQjtHQUNGO0VBQ0Y7QUFHSCxLQUFJLFlBQVksWUFBWSxhQUMxQixRQUFPO0VBQ0wsdUJBQWU7RUFDZiw0QkFBVyxJQUFJLE1BQU0sRUFBQyxhQUFhO0VBQ25DLFVBQVVELGtEQUFrQjtFQUM1QixZQUFZO0dBQ1YsS0FBSyxZQUFZO0dBQ2pCLG1CQUFtQixZQUFZO0dBQ2hDO0VBQ0Y7O0FBS0wsTUFBTSxhQUFhLE1BQWMsYUFBcUI7Q0FDcEQsTUFBTSxRQUFRLEtBQUssTUFBTSxpQ0FBaUM7Q0FDMUQsTUFBTSxRQUFRLFFBQVE7Q0FDdEIsTUFBTSxVQUFVLFFBQVE7Q0FDeEIsTUFBTSxTQUFTLFFBQVE7QUFFdkIsS0FBSSxTQUFTLFdBQVcsUUFBUTtFQUM5QixNQUFNLHVCQUFPLElBQUksTUFBTTtFQUd2QixJQUFJLGdCQUFnQjtBQUNwQixNQUFJLE9BQU8sYUFBYSxLQUFLLFFBQVEsVUFBVSxLQUM3QyxpQkFBZ0IsU0FBUyxNQUFNLEdBQUc7QUFHcEMsTUFBSSxPQUFPLGFBQWEsS0FBSyxRQUFRLFVBQVUsS0FDN0MsaUJBQWdCLFNBQVMsTUFBTTtFQUlqQyxNQUFNLGdCQUFnQixHQUFHLEtBQUssYUFBYSxDQUFDLE1BQU0sSUFBSSxDQUFDLEdBQUcsR0FBRyxPQUFPLGNBQWMsQ0FBQyxTQUNqRixHQUNBLElBQ0QsQ0FBQyxHQUFHLFFBQVE7QUFDYix5QkFBTyxJQUFJLEtBQUssR0FBRyxnQkFBZ0IsV0FBVzs7O0FBSWxELE1BQWEseUJBQXlCLFdBQW1CLFNBQWlCLGFBQXFCO0NBRTdGLE1BQU0sUUFBUSxVQUFVLFdBQVcsU0FBUztDQUM1QyxJQUFJLE1BQU0sVUFBVSxTQUFTLFNBQVM7QUFFdEMsS0FBSSxDQUFDLFNBQVMsQ0FBQyxJQUNiLFFBQU87Q0FHVCxJQUFJLHNCQUFNLElBQUksTUFBTTtBQUlwQixLQUFJLE1BQU0sT0FBTztBQUNmLFFBQU0sSUFBSSxLQUFLLElBQUksU0FBUyxHQUFHLE9BQVUsS0FBSyxJQUFLO0FBQ25ELFFBQU0sSUFBSSxLQUFLLElBQUksU0FBUyxHQUFHLE9BQVUsS0FBSyxJQUFLOztBQUlyRCxLQUFJLElBQUksWUFBWSxHQUFHLE1BQU0sWUFBWSxFQUFFO0VBQ3pDLE1BQU0sbUJBQW1CLElBQUksS0FBSyxJQUFJLFNBQVMsR0FBRyxPQUFVLEtBQUssSUFBSztBQUN0RSxTQUFPLFNBQVMsT0FBTyxvQkFBb0I7O0FBSTdDLFFBQU8sT0FBTyxTQUFTLE9BQU87O0FBR2hDLElBQVksb0VBQUw7QUFDTDtBQUNBO0FBQ0E7OztBQUdGLE1BQWEseUJBQ1gsaUJBQ0EsZUFDdUI7QUFDdkIsS0FBSSxnQkFDRixRQUFPLG1CQUFtQjtBQUU1QixLQUFJLFdBQ0YsUUFBTyxtQkFBbUI7QUFFNUIsUUFBTyxtQkFBbUIifQ==
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { VariantTypeEnum } from "./dist-CtkINi1R.js";
|
|
2
|
+
import { sessionStorageUtil } from "./atomStore-BuopbV9k.js";
|
|
3
|
+
import { atom } from "jotai";
|
|
4
|
+
import { atomWithStorage } from "jotai/utils";
|
|
5
|
+
|
|
6
|
+
//#region src/atoms/app/variant.ts
|
|
7
|
+
const internalStorageUrlResolverAtom = atomWithStorage("spiffy-url-resolver", void 0, sessionStorageUtil, { getOnInit: true });
|
|
8
|
+
const urlResolverAtom = atom((get) => {
|
|
9
|
+
const maybeUrlResolver = get(internalStorageUrlResolverAtom);
|
|
10
|
+
if (maybeUrlResolver == null) return {};
|
|
11
|
+
return JSON.parse(maybeUrlResolver);
|
|
12
|
+
}, (get, set, value) => {
|
|
13
|
+
const newCache = {
|
|
14
|
+
...get(urlResolverAtom),
|
|
15
|
+
[value.url]: value.response
|
|
16
|
+
};
|
|
17
|
+
set(internalStorageUrlResolverAtom, JSON.stringify(newCache));
|
|
18
|
+
});
|
|
19
|
+
const internalStorageSupportedEventAtom = atomWithStorage("spiffy-supported-event", void 0, sessionStorageUtil, { getOnInit: true });
|
|
20
|
+
const internalSupportedEventAtom = atom(void 0);
|
|
21
|
+
const supportedEventAtom = atom((get) => {
|
|
22
|
+
const maybeSupportedEvent = get(internalStorageSupportedEventAtom);
|
|
23
|
+
if (maybeSupportedEvent == null) return;
|
|
24
|
+
return JSON.parse(maybeSupportedEvent);
|
|
25
|
+
}, (_, set, value) => {
|
|
26
|
+
if (value == null) {
|
|
27
|
+
set(internalStorageSupportedEventAtom, void 0);
|
|
28
|
+
set(internalSupportedEventAtom, void 0);
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
set(internalSupportedEventAtom, value);
|
|
32
|
+
set(internalStorageSupportedEventAtom, JSON.stringify(value));
|
|
33
|
+
});
|
|
34
|
+
const internalVariantIdAtom = atom();
|
|
35
|
+
const internalProductIdAtom = atom();
|
|
36
|
+
const internalParentProductIdAtom = atom();
|
|
37
|
+
const internalProductUrlAtom = atom();
|
|
38
|
+
const internalPlpIdAtom = atom();
|
|
39
|
+
const internalUrlAtom = atom();
|
|
40
|
+
const internalPageVisitCategoryAtom = atom();
|
|
41
|
+
const internalVariantAtom = atom("pdp");
|
|
42
|
+
const variantIdAtom = atom((get) => get(internalVariantIdAtom));
|
|
43
|
+
const productIdAtom = atom((get) => get(internalProductIdAtom));
|
|
44
|
+
const parentProductIdAtom = atom((get) => get(internalParentProductIdAtom));
|
|
45
|
+
const productUrlAtom = atom((get) => get(internalProductUrlAtom));
|
|
46
|
+
const plpIdAtom = atom((get) => get(internalPlpIdAtom));
|
|
47
|
+
const urlAtom = atom((get) => get(internalUrlAtom));
|
|
48
|
+
const pageVisitCategoryAtom = atom((get) => get(internalPageVisitCategoryAtom));
|
|
49
|
+
const variantAtom = atom((get) => get(internalVariantAtom));
|
|
50
|
+
const hasParsedVariantInfoAtom = atom(false);
|
|
51
|
+
const variantInfoAtom = atom((get) => {
|
|
52
|
+
const variant = get(variantAtom);
|
|
53
|
+
if (variant === VariantTypeEnum.Pdp) return {
|
|
54
|
+
variantId: get(variantIdAtom),
|
|
55
|
+
variant,
|
|
56
|
+
productId: get(productIdAtom),
|
|
57
|
+
parentProductId: get(parentProductIdAtom),
|
|
58
|
+
url: get(urlAtom)
|
|
59
|
+
};
|
|
60
|
+
if (variant === VariantTypeEnum.Plp) return {
|
|
61
|
+
variantId: get(variantIdAtom),
|
|
62
|
+
variant,
|
|
63
|
+
plpId: get(plpIdAtom),
|
|
64
|
+
url: get(urlAtom)
|
|
65
|
+
};
|
|
66
|
+
if (variant === VariantTypeEnum.PageVisit) return {
|
|
67
|
+
variantId: get(variantIdAtom),
|
|
68
|
+
variant,
|
|
69
|
+
url: get(urlAtom),
|
|
70
|
+
pageVisitCategory: get(pageVisitCategoryAtom)
|
|
71
|
+
};
|
|
72
|
+
throw new Error("Invalid variantInfo details");
|
|
73
|
+
}, (_, set, newVariant) => {
|
|
74
|
+
set(internalVariantAtom, newVariant.variant);
|
|
75
|
+
set(internalVariantIdAtom, newVariant.variantId);
|
|
76
|
+
if (newVariant.variant === VariantTypeEnum.Pdp) {
|
|
77
|
+
set(internalProductIdAtom, newVariant.productId);
|
|
78
|
+
set(internalParentProductIdAtom, newVariant.parentProductId);
|
|
79
|
+
set(internalUrlAtom, newVariant.url);
|
|
80
|
+
}
|
|
81
|
+
if (newVariant.variant === VariantTypeEnum.Plp) {
|
|
82
|
+
set(internalPlpIdAtom, newVariant.plpId);
|
|
83
|
+
set(internalUrlAtom, newVariant.url);
|
|
84
|
+
}
|
|
85
|
+
if (newVariant.variant === VariantTypeEnum.PageVisit) {
|
|
86
|
+
set(internalUrlAtom, newVariant.url);
|
|
87
|
+
set(internalPageVisitCategoryAtom, newVariant.pageVisitCategory);
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
|
|
91
|
+
//#endregion
|
|
92
|
+
export { hasParsedVariantInfoAtom, variantInfoAtom };
|
|
93
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFyaWFudC1CZW41Z0t0TS5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi9zcmMvYXRvbXMvYXBwL3ZhcmlhbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXRvbVdpdGhTdG9yYWdlIH0gZnJvbSAnam90YWkvdXRpbHMnO1xuaW1wb3J0IHsgYXRvbSB9IGZyb20gJ2pvdGFpJztcbmltcG9ydCB7IFN1cHBvcnRlZEV2ZW50UmVzcG9uc2UsIFBhZ2VWaXNpdENhdGVnb3J5IH0gZnJvbSAnQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50JztcbmltcG9ydCB7XG4gIFBhZ2VWaXNpdFZhcmlhbnRJbmZvLFxuICBQRFBWYXJpYW50SW5mbyxcbiAgUExQVmFyaWFudEluZm8sXG4gIFZhcmlhbnRJbmZvLFxuICBWYXJpYW50VHlwZUVudW0sXG59IGZyb20gJ0BlbnZpdmUtYWkvdHlwZXMnO1xuaW1wb3J0IHsgc2Vzc2lvblN0b3JhZ2VVdGlsIH0gZnJvbSAnc3JjL2F0b21zL2F0b21TdG9yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3VwcG9ydGVkRXZlbnRcbiAgZXh0ZW5kcyBQaWNrPFxuICAgIFN1cHBvcnRlZEV2ZW50UmVzcG9uc2UsXG4gICAgJ3N1cHBvcnRlZCcgfCAncmVhZHknIHwgJ2NhdGVnb3J5JyB8ICdjb2xsZWN0aW9ucycgfCAndG9wX2NhdGVnb3J5J1xuICA+IHtcbiAgbnVtYmVyT2ZSZXZpZXdzOiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gIG1lcmNoYW50X3RhZ3M/OiBzdHJpbmdbXTtcbn1cblxuaW50ZXJmYWNlIFBEUEF0dHJpYnV0ZXMge1xuICBwcm9kdWN0X2lkPzogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgUExQQXR0cmlidXRlcyB7XG4gIGF0dHJpYnV0ZXM/OiB7XG4gICAgaWQ/OiBzdHJpbmc7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXJsUmVzb2x2aW5nUERQQ29uZmlnIHtcbiAgcGRwX2F0dHJpYnV0ZXM6IFBEUEF0dHJpYnV0ZXM7XG4gIG51bWJlcl9vZl9yZXZpZXdzPzogbnVtYmVyO1xuICBjb2xsZWN0aW9ucz86IHN0cmluZ1tdO1xuICBtZXJjaGFudF90YWdzPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXJsUmVzb2x2aW5nUExQQ29uZmlnIHtcbiAgcGxwX2F0dHJpYnV0ZXM6IFBMUEF0dHJpYnV0ZXM7XG4gIHRvcF9jYXRlZ29yeT86IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIFVybFJlc29sdmluZ0dlbmVyaWNDb25maWcge1xuICBkZXRhaWxzPzogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBQYWdlVmFyaWFudENoZWNrQ29uZmlnID0ge1xuICBjaGVja190eXBlOiBzdHJpbmc7XG4gIGZlYXR1cmVfZ2F0ZT86IHN0cmluZztcbiAgZXh0cmFjdG9yPzoge1xuICAgIHR5cGU6IHN0cmluZztcbiAgICBtYXA/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT47XG4gICAgdmFsdWU/OiBzdHJpbmc7XG4gIH07XG4gIHByb2R1Y3RfaWRfZXh0cmFjdG9yPzogc3RyaW5nO1xuICBwcm9kdWN0X2lkcz86IHN0cmluZ1tdO1xuICBwbHBfaWRfZXh0cmFjdG9yPzogc3RyaW5nO1xuICBwbHBfaWRzPzogc3RyaW5nW107XG4gIGNvbGxlY3Rpb25zPzogc3RyaW5nW107XG4gIHF1ZXJ5X3BhcmFtPzogc3RyaW5nO1xuICBjYXRlZ29yeT86IHN0cmluZztcbiAgdG9wX2NhdGVnb3J5Pzogc3RyaW5nW107XG4gIHJldmlld19taW5pbXVtPzogbnVtYmVyO1xuICBtZXJjaGFudF90YWdzPzogc3RyaW5nW107XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrZW5kV2lkZ2V0TW91bnRpbmdDb25maWcgPSB7XG4gIG1vdW50aW5nX2NvbmZpZ19pZDogc3RyaW5nO1xuICB3aWRnZXRfY29uZmlnX2lkPzogc3RyaW5nO1xuICBtb3VudGluZ19wb2ludF93aWRnZXRzPzogQXJyYXk8e1xuICAgIGNoZWNrczogUGFnZVZhcmlhbnRDaGVja0NvbmZpZ1tdO1xuICAgIHdpZGdldF9jb25maWdfaWQ6IHN0cmluZztcbiAgfT47XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrZW5kUGFnZVZhcmlhbnRDb25maWcgPSB7XG4gIHZhcmlhbnRfaWQ6IHN0cmluZztcbiAgdmFyaWFudF90eXBlOiBzdHJpbmc7XG4gIHZhcmlhbnRfY2hlY2tzOiBQYWdlVmFyaWFudENoZWNrQ29uZmlnW107XG4gIHdpZGdldF9tb3VudGluZzogQmFja2VuZFdpZGdldE1vdW50aW5nQ29uZmlnW107XG4gIHBscF9pZF9leHRyYWN0b3I/OiBzdHJpbmc7XG4gIHByb2R1Y3RfaWRfZXh0cmFjdG9yPzogc3RyaW5nO1xuICBwYXJlbnRfcHJvZHVjdF9pZF9leHRyYWN0b3I/OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIFVybFJlc29sdmVyUmVzcG9uc2Uge1xuICB2YXJpYW50X3R5cGU6IHN0cmluZztcbiAgc3BlY2lmaWNfZGV0YWlsczogVXJsUmVzb2x2aW5nUERQQ29uZmlnIHwgVXJsUmVzb2x2aW5nUExQQ29uZmlnIHwgVXJsUmVzb2x2aW5nR2VuZXJpY0NvbmZpZztcbiAgcmVhZHk6IGJvb2xlYW47XG4gIHVzZXJfZXZlbnQ/OiB7XG4gICAgZXZlbnRfaWQ/OiBzdHJpbmc7XG4gICAgYXR0cmlidXRlcz86IFBEUEF0dHJpYnV0ZXMgfCBQTFBBdHRyaWJ1dGVzO1xuICAgIGNhdGVnb3J5Pzogc3RyaW5nO1xuICAgIGNyZWF0ZWRfYXQ/OiBzdHJpbmc7XG4gIH07XG4gIHBhZ2VfdmFyaWFudD86IEJhY2tlbmRQYWdlVmFyaWFudENvbmZpZztcbn1cblxuLy8gVXNlIGEgbWFwIGZvciBwZXItVVJMIGNhY2hlXG5leHBvcnQgdHlwZSBVcmxSZXNvbHZlckNhY2hlID0gUmVjb3JkPHN0cmluZywgVXJsUmVzb2x2ZXJSZXNwb25zZSB8IHVuZGVmaW5lZD47XG5cbmNvbnN0IGludGVybmFsU3RvcmFnZVVybFJlc29sdmVyQXRvbSA9IGF0b21XaXRoU3RvcmFnZTxzdHJpbmcgfCB1bmRlZmluZWQ+KFxuICAnc3BpZmZ5LXVybC1yZXNvbHZlcicsXG4gIHVuZGVmaW5lZCxcbiAgc2Vzc2lvblN0b3JhZ2VVdGlsLFxuICB7XG4gICAgZ2V0T25Jbml0OiB0cnVlLFxuICB9LFxuKTtcblxuZXhwb3J0IGNvbnN0IHVybFJlc29sdmVyQXRvbSA9IGF0b20oXG4gIChnZXQpOiBVcmxSZXNvbHZlckNhY2hlID0+IHtcbiAgICBjb25zdCBtYXliZVVybFJlc29sdmVyID0gZ2V0KGludGVybmFsU3RvcmFnZVVybFJlc29sdmVyQXRvbSk7XG4gICAgaWYgKG1heWJlVXJsUmVzb2x2ZXIgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHt9O1xuICAgIH1cbiAgICByZXR1cm4gSlNPTi5wYXJzZShtYXliZVVybFJlc29sdmVyKTtcbiAgfSxcbiAgKGdldCwgc2V0LCB2YWx1ZTogeyB1cmw6IHN0cmluZzsgcmVzcG9uc2U6IFVybFJlc29sdmVyUmVzcG9uc2UgfCB1bmRlZmluZWQgfSkgPT4ge1xuICAgIC8vIEdldCBjdXJyZW50IGNhY2hlIGZyb20gc3RvcmFnZVxuICAgIGNvbnN0IGN1cnJlbnRDYWNoZSA9IGdldCh1cmxSZXNvbHZlckF0b20pO1xuICAgIGNvbnN0IG5ld0NhY2hlID0geyAuLi5jdXJyZW50Q2FjaGUsIFt2YWx1ZS51cmxdOiB2YWx1ZS5yZXNwb25zZSB9O1xuXG4gICAgc2V0KGludGVybmFsU3RvcmFnZVVybFJlc29sdmVyQXRvbSwgSlNPTi5zdHJpbmdpZnkobmV3Q2FjaGUpKTtcbiAgfSxcbik7XG5cbmNvbnN0IGludGVybmFsU3RvcmFnZVN1cHBvcnRlZEV2ZW50QXRvbSA9IGF0b21XaXRoU3RvcmFnZTxzdHJpbmcgfCB1bmRlZmluZWQ+KFxuICAnc3BpZmZ5LXN1cHBvcnRlZC1ldmVudCcsXG4gIHVuZGVmaW5lZCxcbiAgc2Vzc2lvblN0b3JhZ2VVdGlsLFxuICB7XG4gICAgZ2V0T25Jbml0OiB0cnVlLFxuICB9LFxuKTtcbmNvbnN0IGludGVybmFsU3VwcG9ydGVkRXZlbnRBdG9tID0gYXRvbTxTdXBwb3J0ZWRFdmVudCB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuZXhwb3J0IGNvbnN0IHN1cHBvcnRlZEV2ZW50QXRvbSA9IGF0b20oXG4gIChnZXQpOiBTdXBwb3J0ZWRFdmVudCB8IHVuZGVmaW5lZCA9PiB7XG4gICAgY29uc3QgbWF5YmVTdXBwb3J0ZWRFdmVudCA9IGdldChpbnRlcm5hbFN0b3JhZ2VTdXBwb3J0ZWRFdmVudEF0b20pO1xuICAgIGlmIChtYXliZVN1cHBvcnRlZEV2ZW50ID09IG51bGwpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgLy8gVE9ETyB0aGlzIGlzIGFuIHVudmFsaWRhdGVkIHBhcnNlLiBJdCBtYXkgYmUgYmV0dGVyIHRvIGltcGxlbWVudCBhIGN1c3RvbSBzdG9yYWdlIHV0aWxcbiAgICAvLyBhbmQgcGVyZm9ybSB0aGUgb2JqZWN0IHZhbGlkYXRpb24gb24gXCJnZXRcIiB0aGVyZS5cbiAgICByZXR1cm4gSlNPTi5wYXJzZShtYXliZVN1cHBvcnRlZEV2ZW50KTtcbiAgfSxcbiAgKF8sIHNldCwgdmFsdWU6IFN1cHBvcnRlZEV2ZW50IHwgdW5kZWZpbmVkKSA9PiB7XG4gICAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICAgIHNldChpbnRlcm5hbFN0b3JhZ2VTdXBwb3J0ZWRFdmVudEF0b20sIHVuZGVmaW5lZCk7XG4gICAgICBzZXQoaW50ZXJuYWxTdXBwb3J0ZWRFdmVudEF0b20sIHVuZGVmaW5lZCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgc2V0KGludGVybmFsU3VwcG9ydGVkRXZlbnRBdG9tLCB2YWx1ZSk7XG4gICAgc2V0KGludGVybmFsU3RvcmFnZVN1cHBvcnRlZEV2ZW50QXRvbSwgSlNPTi5zdHJpbmdpZnkodmFsdWUpKTtcbiAgfSxcbik7XG5cbmNvbnN0IGludGVybmFsVmFyaWFudElkQXRvbSA9IGF0b208c3RyaW5nPigpO1xuY29uc3QgaW50ZXJuYWxQcm9kdWN0SWRBdG9tID0gYXRvbTxzdHJpbmc+KCk7XG5jb25zdCBpbnRlcm5hbFBhcmVudFByb2R1Y3RJZEF0b20gPSBhdG9tPHN0cmluZz4oKTtcbmNvbnN0IGludGVybmFsUHJvZHVjdFVybEF0b20gPSBhdG9tPHN0cmluZz4oKTtcbmNvbnN0IGludGVybmFsUGxwSWRBdG9tID0gYXRvbTxzdHJpbmc+KCk7XG5jb25zdCBpbnRlcm5hbFVybEF0b20gPSBhdG9tPHN0cmluZz4oKTtcbmNvbnN0IGludGVybmFsUGFnZVZpc2l0Q2F0ZWdvcnlBdG9tID0gYXRvbTxQYWdlVmlzaXRDYXRlZ29yeT4oKTtcbmNvbnN0IGludGVybmFsVmFyaWFudEF0b20gPSBhdG9tPCdwZHAnIHwgJ3BscCcgfCAnc2VhcmNoJyB8ICdwYWdlX3Zpc2l0Jz4oJ3BkcCcpO1xuXG5leHBvcnQgY29uc3QgdmFyaWFudElkQXRvbSA9IGF0b20oKGdldCkgPT4gZ2V0KGludGVybmFsVmFyaWFudElkQXRvbSkpO1xuZXhwb3J0IGNvbnN0IHByb2R1Y3RJZEF0b20gPSBhdG9tKChnZXQpID0+IGdldChpbnRlcm5hbFByb2R1Y3RJZEF0b20pKTtcbmV4cG9ydCBjb25zdCBwYXJlbnRQcm9kdWN0SWRBdG9tID0gYXRvbSgoZ2V0KSA9PiBnZXQoaW50ZXJuYWxQYXJlbnRQcm9kdWN0SWRBdG9tKSk7XG5leHBvcnQgY29uc3QgcHJvZHVjdFVybEF0b20gPSBhdG9tKChnZXQpID0+IGdldChpbnRlcm5hbFByb2R1Y3RVcmxBdG9tKSk7XG5leHBvcnQgY29uc3QgcGxwSWRBdG9tID0gYXRvbSgoZ2V0KSA9PiBnZXQoaW50ZXJuYWxQbHBJZEF0b20pKTtcbmV4cG9ydCBjb25zdCB1cmxBdG9tID0gYXRvbSgoZ2V0KSA9PiBnZXQoaW50ZXJuYWxVcmxBdG9tKSk7XG5leHBvcnQgY29uc3QgcGFnZVZpc2l0Q2F0ZWdvcnlBdG9tID0gYXRvbSgoZ2V0KSA9PiBnZXQoaW50ZXJuYWxQYWdlVmlzaXRDYXRlZ29yeUF0b20pKTtcbmV4cG9ydCBjb25zdCB2YXJpYW50QXRvbSA9IGF0b20oKGdldCkgPT4gZ2V0KGludGVybmFsVmFyaWFudEF0b20pKTtcbmV4cG9ydCBjb25zdCBoYXNQYXJzZWRWYXJpYW50SW5mb0F0b20gPSBhdG9tKGZhbHNlKTtcblxuZXhwb3J0IGNvbnN0IHZhcmlhbnRJbmZvQXRvbSA9IGF0b20oXG4gIChnZXQpOiBWYXJpYW50SW5mbyA9PiB7XG4gICAgY29uc3QgdmFyaWFudCA9IGdldCh2YXJpYW50QXRvbSk7XG4gICAgaWYgKHZhcmlhbnQgPT09IFZhcmlhbnRUeXBlRW51bS5QZHApIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHZhcmlhbnRJZDogZ2V0KHZhcmlhbnRJZEF0b20pLFxuICAgICAgICB2YXJpYW50LFxuICAgICAgICBwcm9kdWN0SWQ6IGdldChwcm9kdWN0SWRBdG9tKSxcbiAgICAgICAgcGFyZW50UHJvZHVjdElkOiBnZXQocGFyZW50UHJvZHVjdElkQXRvbSksXG4gICAgICAgIHVybDogZ2V0KHVybEF0b20pLFxuICAgICAgfSBhcyBQRFBWYXJpYW50SW5mbztcbiAgICB9XG4gICAgaWYgKHZhcmlhbnQgPT09IFZhcmlhbnRUeXBlRW51bS5QbHApIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHZhcmlhbnRJZDogZ2V0KHZhcmlhbnRJZEF0b20pLFxuICAgICAgICB2YXJpYW50LFxuICAgICAgICBwbHBJZDogZ2V0KHBscElkQXRvbSksXG4gICAgICAgIHVybDogZ2V0KHVybEF0b20pLFxuICAgICAgfSBhcyBQTFBWYXJpYW50SW5mbztcbiAgICB9XG4gICAgaWYgKHZhcmlhbnQgPT09IFZhcmlhbnRUeXBlRW51bS5QYWdlVmlzaXQpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHZhcmlhbnRJZDogZ2V0KHZhcmlhbnRJZEF0b20pLFxuICAgICAgICB2YXJpYW50LFxuICAgICAgICB1cmw6IGdldCh1cmxBdG9tKSxcbiAgICAgICAgcGFnZVZpc2l0Q2F0ZWdvcnk6IGdldChwYWdlVmlzaXRDYXRlZ29yeUF0b20pLFxuICAgICAgfSBhcyBQYWdlVmlzaXRWYXJpYW50SW5mbztcbiAgICB9XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHZhcmlhbnRJbmZvIGRldGFpbHMnKTtcbiAgfSxcbiAgKF8sIHNldCwgbmV3VmFyaWFudDogVmFyaWFudEluZm8pID0+IHtcbiAgICBzZXQoaW50ZXJuYWxWYXJpYW50QXRvbSwgbmV3VmFyaWFudC52YXJpYW50KTtcbiAgICBzZXQoaW50ZXJuYWxWYXJpYW50SWRBdG9tLCBuZXdWYXJpYW50LnZhcmlhbnRJZCk7XG4gICAgaWYgKG5ld1ZhcmlhbnQudmFyaWFudCA9PT0gVmFyaWFudFR5cGVFbnVtLlBkcCkge1xuICAgICAgc2V0KGludGVybmFsUHJvZHVjdElkQXRvbSwgbmV3VmFyaWFudC5wcm9kdWN0SWQpO1xuICAgICAgc2V0KGludGVybmFsUGFyZW50UHJvZHVjdElkQXRvbSwgbmV3VmFyaWFudC5wYXJlbnRQcm9kdWN0SWQpO1xuICAgICAgc2V0KGludGVybmFsVXJsQXRvbSwgbmV3VmFyaWFudC51cmwpO1xuICAgIH1cbiAgICBpZiAobmV3VmFyaWFudC52YXJpYW50ID09PSBWYXJpYW50VHlwZUVudW0uUGxwKSB7XG4gICAgICBzZXQoaW50ZXJuYWxQbHBJZEF0b20sIG5ld1ZhcmlhbnQucGxwSWQpO1xuICAgICAgc2V0KGludGVybmFsVXJsQXRvbSwgbmV3VmFyaWFudC51cmwpO1xuICAgIH1cbiAgICBpZiAobmV3VmFyaWFudC52YXJpYW50ID09PSBWYXJpYW50VHlwZUVudW0uUGFnZVZpc2l0KSB7XG4gICAgICBzZXQoaW50ZXJuYWxVcmxBdG9tLCBuZXdWYXJpYW50LnVybCk7XG4gICAgICBzZXQoaW50ZXJuYWxQYWdlVmlzaXRDYXRlZ29yeUF0b20sIG5ld1ZhcmlhbnQucGFnZVZpc2l0Q2F0ZWdvcnkpO1xuICAgIH1cbiAgfSxcbik7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQXNHQSxNQUFNLGlD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
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
const require_chunk = require('./chunk-CUT6urMc.cjs');
|
|
2
|
+
const require_dist = require('./dist-B7BErEyV.cjs');
|
|
3
|
+
const require_atomStore = require('./atomStore-CZKe3itM.cjs');
|
|
4
|
+
let jotai = require("jotai");
|
|
5
|
+
jotai = require_chunk.__toESM(jotai);
|
|
6
|
+
let jotai_utils = require("jotai/utils");
|
|
7
|
+
jotai_utils = require_chunk.__toESM(jotai_utils);
|
|
8
|
+
|
|
9
|
+
//#region src/atoms/app/variant.ts
|
|
10
|
+
const internalStorageUrlResolverAtom = (0, jotai_utils.atomWithStorage)("spiffy-url-resolver", void 0, require_atomStore.sessionStorageUtil, { getOnInit: true });
|
|
11
|
+
const urlResolverAtom = (0, jotai.atom)((get) => {
|
|
12
|
+
const maybeUrlResolver = get(internalStorageUrlResolverAtom);
|
|
13
|
+
if (maybeUrlResolver == null) return {};
|
|
14
|
+
return JSON.parse(maybeUrlResolver);
|
|
15
|
+
}, (get, set, value) => {
|
|
16
|
+
const newCache = {
|
|
17
|
+
...get(urlResolverAtom),
|
|
18
|
+
[value.url]: value.response
|
|
19
|
+
};
|
|
20
|
+
set(internalStorageUrlResolverAtom, JSON.stringify(newCache));
|
|
21
|
+
});
|
|
22
|
+
const internalStorageSupportedEventAtom = (0, jotai_utils.atomWithStorage)("spiffy-supported-event", void 0, require_atomStore.sessionStorageUtil, { getOnInit: true });
|
|
23
|
+
const internalSupportedEventAtom = (0, jotai.atom)(void 0);
|
|
24
|
+
const supportedEventAtom = (0, jotai.atom)((get) => {
|
|
25
|
+
const maybeSupportedEvent = get(internalStorageSupportedEventAtom);
|
|
26
|
+
if (maybeSupportedEvent == null) return;
|
|
27
|
+
return JSON.parse(maybeSupportedEvent);
|
|
28
|
+
}, (_, set, value) => {
|
|
29
|
+
if (value == null) {
|
|
30
|
+
set(internalStorageSupportedEventAtom, void 0);
|
|
31
|
+
set(internalSupportedEventAtom, void 0);
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
set(internalSupportedEventAtom, value);
|
|
35
|
+
set(internalStorageSupportedEventAtom, JSON.stringify(value));
|
|
36
|
+
});
|
|
37
|
+
const internalVariantIdAtom = (0, jotai.atom)();
|
|
38
|
+
const internalProductIdAtom = (0, jotai.atom)();
|
|
39
|
+
const internalParentProductIdAtom = (0, jotai.atom)();
|
|
40
|
+
const internalProductUrlAtom = (0, jotai.atom)();
|
|
41
|
+
const internalPlpIdAtom = (0, jotai.atom)();
|
|
42
|
+
const internalUrlAtom = (0, jotai.atom)();
|
|
43
|
+
const internalPageVisitCategoryAtom = (0, jotai.atom)();
|
|
44
|
+
const internalVariantAtom = (0, jotai.atom)("pdp");
|
|
45
|
+
const variantIdAtom = (0, jotai.atom)((get) => get(internalVariantIdAtom));
|
|
46
|
+
const productIdAtom = (0, jotai.atom)((get) => get(internalProductIdAtom));
|
|
47
|
+
const parentProductIdAtom = (0, jotai.atom)((get) => get(internalParentProductIdAtom));
|
|
48
|
+
const productUrlAtom = (0, jotai.atom)((get) => get(internalProductUrlAtom));
|
|
49
|
+
const plpIdAtom = (0, jotai.atom)((get) => get(internalPlpIdAtom));
|
|
50
|
+
const urlAtom = (0, jotai.atom)((get) => get(internalUrlAtom));
|
|
51
|
+
const pageVisitCategoryAtom = (0, jotai.atom)((get) => get(internalPageVisitCategoryAtom));
|
|
52
|
+
const variantAtom = (0, jotai.atom)((get) => get(internalVariantAtom));
|
|
53
|
+
const hasParsedVariantInfoAtom = (0, jotai.atom)(false);
|
|
54
|
+
const variantInfoAtom = (0, jotai.atom)((get) => {
|
|
55
|
+
const variant = get(variantAtom);
|
|
56
|
+
if (variant === require_dist.VariantTypeEnum.Pdp) return {
|
|
57
|
+
variantId: get(variantIdAtom),
|
|
58
|
+
variant,
|
|
59
|
+
productId: get(productIdAtom),
|
|
60
|
+
parentProductId: get(parentProductIdAtom),
|
|
61
|
+
url: get(urlAtom)
|
|
62
|
+
};
|
|
63
|
+
if (variant === require_dist.VariantTypeEnum.Plp) return {
|
|
64
|
+
variantId: get(variantIdAtom),
|
|
65
|
+
variant,
|
|
66
|
+
plpId: get(plpIdAtom),
|
|
67
|
+
url: get(urlAtom)
|
|
68
|
+
};
|
|
69
|
+
if (variant === require_dist.VariantTypeEnum.PageVisit) return {
|
|
70
|
+
variantId: get(variantIdAtom),
|
|
71
|
+
variant,
|
|
72
|
+
url: get(urlAtom),
|
|
73
|
+
pageVisitCategory: get(pageVisitCategoryAtom)
|
|
74
|
+
};
|
|
75
|
+
throw new Error("Invalid variantInfo details");
|
|
76
|
+
}, (_, set, newVariant) => {
|
|
77
|
+
set(internalVariantAtom, newVariant.variant);
|
|
78
|
+
set(internalVariantIdAtom, newVariant.variantId);
|
|
79
|
+
if (newVariant.variant === require_dist.VariantTypeEnum.Pdp) {
|
|
80
|
+
set(internalProductIdAtom, newVariant.productId);
|
|
81
|
+
set(internalParentProductIdAtom, newVariant.parentProductId);
|
|
82
|
+
set(internalUrlAtom, newVariant.url);
|
|
83
|
+
}
|
|
84
|
+
if (newVariant.variant === require_dist.VariantTypeEnum.Plp) {
|
|
85
|
+
set(internalPlpIdAtom, newVariant.plpId);
|
|
86
|
+
set(internalUrlAtom, newVariant.url);
|
|
87
|
+
}
|
|
88
|
+
if (newVariant.variant === require_dist.VariantTypeEnum.PageVisit) {
|
|
89
|
+
set(internalUrlAtom, newVariant.url);
|
|
90
|
+
set(internalPageVisitCategoryAtom, newVariant.pageVisitCategory);
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
//#endregion
|
|
95
|
+
Object.defineProperty(exports, 'hasParsedVariantInfoAtom', {
|
|
96
|
+
enumerable: true,
|
|
97
|
+
get: function () {
|
|
98
|
+
return hasParsedVariantInfoAtom;
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
Object.defineProperty(exports, 'variantInfoAtom', {
|
|
102
|
+
enumerable: true,
|
|
103
|
+
get: function () {
|
|
104
|
+
return variantInfoAtom;
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFyaWFudC1DdllWVkNxVS5janMiLCJuYW1lcyI6WyJzZXNzaW9uU3RvcmFnZVV0aWwiLCJWYXJpYW50VHlwZUVudW0iXSwic291cmNlcyI6WyIuLi9zcmMvYXRvbXMvYXBwL3ZhcmlhbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXRvbVdpdGhTdG9yYWdlIH0gZnJvbSAnam90YWkvdXRpbHMnO1xuaW1wb3J0IHsgYXRvbSB9IGZyb20gJ2pvdGFpJztcbmltcG9ydCB7IFN1cHBvcnRlZEV2ZW50UmVzcG9uc2UsIFBhZ2VWaXNpdENhdGVnb3J5IH0gZnJvbSAnQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50JztcbmltcG9ydCB7XG4gIFBhZ2VWaXNpdFZhcmlhbnRJbmZvLFxuICBQRFBWYXJpYW50SW5mbyxcbiAgUExQVmFyaWFudEluZm8sXG4gIFZhcmlhbnRJbmZvLFxuICBWYXJpYW50VHlwZUVudW0sXG59IGZyb20gJ0BlbnZpdmUtYWkvdHlwZXMnO1xuaW1wb3J0IHsgc2Vzc2lvblN0b3JhZ2VVdGlsIH0gZnJvbSAnc3JjL2F0b21zL2F0b21TdG9yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3VwcG9ydGVkRXZlbnRcbiAgZXh0ZW5kcyBQaWNrPFxuICAgIFN1cHBvcnRlZEV2ZW50UmVzcG9uc2UsXG4gICAgJ3N1cHBvcnRlZCcgfCAncmVhZHknIHwgJ2NhdGVnb3J5JyB8ICdjb2xsZWN0aW9ucycgfCAndG9wX2NhdGVnb3J5J1xuICA+IHtcbiAgbnVtYmVyT2ZSZXZpZXdzOiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gIG1lcmNoYW50X3RhZ3M/OiBzdHJpbmdbXTtcbn1cblxuaW50ZXJmYWNlIFBEUEF0dHJpYnV0ZXMge1xuICBwcm9kdWN0X2lkPzogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgUExQQXR0cmlidXRlcyB7XG4gIGF0dHJpYnV0ZXM/OiB7XG4gICAgaWQ/OiBzdHJpbmc7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXJsUmVzb2x2aW5nUERQQ29uZmlnIHtcbiAgcGRwX2F0dHJpYnV0ZXM6IFBEUEF0dHJpYnV0ZXM7XG4gIG51bWJlcl9vZl9yZXZpZXdzPzogbnVtYmVyO1xuICBjb2xsZWN0aW9ucz86IHN0cmluZ1tdO1xuICBtZXJjaGFudF90YWdzPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXJsUmVzb2x2aW5nUExQQ29uZmlnIHtcbiAgcGxwX2F0dHJpYnV0ZXM6IFBMUEF0dHJpYnV0ZXM7XG4gIHRvcF9jYXRlZ29yeT86IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIFVybFJlc29sdmluZ0dlbmVyaWNDb25maWcge1xuICBkZXRhaWxzPzogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBQYWdlVmFyaWFudENoZWNrQ29uZmlnID0ge1xuICBjaGVja190eXBlOiBzdHJpbmc7XG4gIGZlYXR1cmVfZ2F0ZT86IHN0cmluZztcbiAgZXh0cmFjdG9yPzoge1xuICAgIHR5cGU6IHN0cmluZztcbiAgICBtYXA/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT47XG4gICAgdmFsdWU/OiBzdHJpbmc7XG4gIH07XG4gIHByb2R1Y3RfaWRfZXh0cmFjdG9yPzogc3RyaW5nO1xuICBwcm9kdWN0X2lkcz86IHN0cmluZ1tdO1xuICBwbHBfaWRfZXh0cmFjdG9yPzogc3RyaW5nO1xuICBwbHBfaWRzPzogc3RyaW5nW107XG4gIGNvbGxlY3Rpb25zPzogc3RyaW5nW107XG4gIHF1ZXJ5X3BhcmFtPzogc3RyaW5nO1xuICBjYXRlZ29yeT86IHN0cmluZztcbiAgdG9wX2NhdGVnb3J5Pzogc3RyaW5nW107XG4gIHJldmlld19taW5pbXVtPzogbnVtYmVyO1xuICBtZXJjaGFudF90YWdzPzogc3RyaW5nW107XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrZW5kV2lkZ2V0TW91bnRpbmdDb25maWcgPSB7XG4gIG1vdW50aW5nX2NvbmZpZ19pZDogc3RyaW5nO1xuICB3aWRnZXRfY29uZmlnX2lkPzogc3RyaW5nO1xuICBtb3VudGluZ19wb2ludF93aWRnZXRzPzogQXJyYXk8e1xuICAgIGNoZWNrczogUGFnZVZhcmlhbnRDaGVja0NvbmZpZ1tdO1xuICAgIHdpZGdldF9jb25maWdfaWQ6IHN0cmluZztcbiAgfT47XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrZW5kUGFnZVZhcmlhbnRDb25maWcgPSB7XG4gIHZhcmlhbnRfaWQ6IHN0cmluZztcbiAgdmFyaWFudF90eXBlOiBzdHJpbmc7XG4gIHZhcmlhbnRfY2hlY2tzOiBQYWdlVmFyaWFudENoZWNrQ29uZmlnW107XG4gIHdpZGdldF9tb3VudGluZzogQmFja2VuZFdpZGdldE1vdW50aW5nQ29uZmlnW107XG4gIHBscF9pZF9leHRyYWN0b3I/OiBzdHJpbmc7XG4gIHByb2R1Y3RfaWRfZXh0cmFjdG9yPzogc3RyaW5nO1xuICBwYXJlbnRfcHJvZHVjdF9pZF9leHRyYWN0b3I/OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIFVybFJlc29sdmVyUmVzcG9uc2Uge1xuICB2YXJpYW50X3R5cGU6IHN0cmluZztcbiAgc3BlY2lmaWNfZGV0YWlsczogVXJsUmVzb2x2aW5nUERQQ29uZmlnIHwgVXJsUmVzb2x2aW5nUExQQ29uZmlnIHwgVXJsUmVzb2x2aW5nR2VuZXJpY0NvbmZpZztcbiAgcmVhZHk6IGJvb2xlYW47XG4gIHVzZXJfZXZlbnQ/OiB7XG4gICAgZXZlbnRfaWQ/OiBzdHJpbmc7XG4gICAgYXR0cmlidXRlcz86IFBEUEF0dHJpYnV0ZXMgfCBQTFBBdHRyaWJ1dGVzO1xuICAgIGNhdGVnb3J5Pzogc3RyaW5nO1xuICAgIGNyZWF0ZWRfYXQ/OiBzdHJpbmc7XG4gIH07XG4gIHBhZ2VfdmFyaWFudD86IEJhY2tlbmRQYWdlVmFyaWFudENvbmZpZztcbn1cblxuLy8gVXNlIGEgbWFwIGZvciBwZXItVVJMIGNhY2hlXG5leHBvcnQgdHlwZSBVcmxSZXNvbHZlckNhY2hlID0gUmVjb3JkPHN0cmluZywgVXJsUmVzb2x2ZXJSZXNwb25zZSB8IHVuZGVmaW5lZD47XG5cbmNvbnN0IGludGVybmFsU3RvcmFnZVVybFJlc29sdmVyQXRvbSA9IGF0b21XaXRoU3RvcmFnZTxzdHJpbmcgfCB1bmRlZmluZWQ+KFxuICAnc3BpZmZ5LXVybC1yZXNvbHZlcicsXG4gIHVuZGVmaW5lZCxcbiAgc2Vzc2lvblN0b3JhZ2VVdGlsLFxuICB7XG4gICAgZ2V0T25Jbml0OiB0cnVlLFxuICB9LFxuKTtcblxuZXhwb3J0IGNvbnN0IHVybFJlc29sdmVyQXRvbSA9IGF0b20oXG4gIChnZXQpOiBVcmxSZXNvbHZlckNhY2hlID0+IHtcbiAgICBjb25zdCBtYXliZVVybFJlc29sdmVyID0gZ2V0KGludGVybmFsU3RvcmFnZVVybFJlc29sdmVyQXRvbSk7XG4gICAgaWYgKG1heWJlVXJsUmVzb2x2ZXIgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHt9O1xuICAgIH1cbiAgICByZXR1cm4gSlNPTi5wYXJzZShtYXliZVVybFJlc29sdmVyKTtcbiAgfSxcbiAgKGdldCwgc2V0LCB2YWx1ZTogeyB1cmw6IHN0cmluZzsgcmVzcG9uc2U6IFVybFJlc29sdmVyUmVzcG9uc2UgfCB1bmRlZmluZWQgfSkgPT4ge1xuICAgIC8vIEdldCBjdXJyZW50IGNhY2hlIGZyb20gc3RvcmFnZVxuICAgIGNvbnN0IGN1cnJlbnRDYWNoZSA9IGdldCh1cmxSZXNvbHZlckF0b20pO1xuICAgIGNvbnN0IG5ld0NhY2hlID0geyAuLi5jdXJyZW50Q2FjaGUsIFt2YWx1ZS51cmxdOiB2YWx1ZS5yZXNwb25zZSB9O1xuXG4gICAgc2V0KGludGVybmFsU3RvcmFnZVVybFJlc29sdmVyQXRvbSwgSlNPTi5zdHJpbmdpZnkobmV3Q2FjaGUpKTtcbiAgfSxcbik7XG5cbmNvbnN0IGludGVybmFsU3RvcmFnZVN1cHBvcnRlZEV2ZW50QXRvbSA9IGF0b21XaXRoU3RvcmFnZTxzdHJpbmcgfCB1bmRlZmluZWQ+KFxuICAnc3BpZmZ5LXN1cHBvcnRlZC1ldmVudCcsXG4gIHVuZGVmaW5lZCxcbiAgc2Vzc2lvblN0b3JhZ2VVdGlsLFxuICB7XG4gICAgZ2V0T25Jbml0OiB0cnVlLFxuICB9LFxuKTtcbmNvbnN0IGludGVybmFsU3VwcG9ydGVkRXZlbnRBdG9tID0gYXRvbTxTdXBwb3J0ZWRFdmVudCB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuZXhwb3J0IGNvbnN0IHN1cHBvcnRlZEV2ZW50QXRvbSA9IGF0b20oXG4gIChnZXQpOiBTdXBwb3J0ZWRFdmVudCB8IHVuZGVmaW5lZCA9PiB7XG4gICAgY29uc3QgbWF5YmVTdXBwb3J0ZWRFdmVudCA9IGdldChpbnRlcm5hbFN0b3JhZ2VTdXBwb3J0ZWRFdmVudEF0b20pO1xuICAgIGlmIChtYXliZVN1cHBvcnRlZEV2ZW50ID09IG51bGwpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgLy8gVE9ETyB0aGlzIGlzIGFuIHVudmFsaWRhdGVkIHBhcnNlLiBJdCBtYXkgYmUgYmV0dGVyIHRvIGltcGxlbWVudCBhIGN1c3RvbSBzdG9yYWdlIHV0aWxcbiAgICAvLyBhbmQgcGVyZm9ybSB0aGUgb2JqZWN0IHZhbGlkYXRpb24gb24gXCJnZXRcIiB0aGVyZS5cbiAgICByZXR1cm4gSlNPTi5wYXJzZShtYXliZVN1cHBvcnRlZEV2ZW50KTtcbiAgfSxcbiAgKF8sIHNldCwgdmFsdWU6IFN1cHBvcnRlZEV2ZW50IHwgdW5kZWZpbmVkKSA9PiB7XG4gICAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICAgIHNldChpbnRlcm5hbFN0b3JhZ2VTdXBwb3J0ZWRFdmVudEF0b20sIHVuZGVmaW5lZCk7XG4gICAgICBzZXQoaW50ZXJuYWxTdXBwb3J0ZWRFdmVudEF0b20sIHVuZGVmaW5lZCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgc2V0KGludGVybmFsU3VwcG9ydGVkRXZlbnRBdG9tLCB2YWx1ZSk7XG4gICAgc2V0KGludGVybmFsU3RvcmFnZVN1cHBvcnRlZEV2ZW50QXRvbSwgSlNPTi5zdHJpbmdpZnkodmFsdWUpKTtcbiAgfSxcbik7XG5cbmNvbnN0IGludGVybmFsVmFyaWFudElkQXRvbSA9IGF0b208c3RyaW5nPigpO1xuY29uc3QgaW50ZXJuYWxQcm9kdWN0SWRBdG9tID0gYXRvbTxzdHJpbmc+KCk7XG5jb25zdCBpbnRlcm5hbFBhcmVudFByb2R1Y3RJZEF0b20gPSBhdG9tPHN0cmluZz4oKTtcbmNvbnN0IGludGVybmFsUHJvZHVjdFVybEF0b20gPSBhdG9tPHN0cmluZz4oKTtcbmNvbnN0IGludGVybmFsUGxwSWRBdG9tID0gYXRvbTxzdHJpbmc+KCk7XG5jb25zdCBpbnRlcm5hbFVybEF0b20gPSBhdG9tPHN0cmluZz4oKTtcbmNvbnN0IGludGVybmFsUGFnZVZpc2l0Q2F0ZWdvcnlBdG9tID0gYXRvbTxQYWdlVmlzaXRDYXRlZ29yeT4oKTtcbmNvbnN0IGludGVybmFsVmFyaWFudEF0b20gPSBhdG9tPCdwZHAnIHwgJ3BscCcgfCAnc2VhcmNoJyB8ICdwYWdlX3Zpc2l0Jz4oJ3BkcCcpO1xuXG5leHBvcnQgY29uc3QgdmFyaWFudElkQXRvbSA9IGF0b20oKGdldCkgPT4gZ2V0KGludGVybmFsVmFyaWFudElkQXRvbSkpO1xuZXhwb3J0IGNvbnN0IHByb2R1Y3RJZEF0b20gPSBhdG9tKChnZXQpID0+IGdldChpbnRlcm5hbFByb2R1Y3RJZEF0b20pKTtcbmV4cG9ydCBjb25zdCBwYXJlbnRQcm9kdWN0SWRBdG9tID0gYXRvbSgoZ2V0KSA9PiBnZXQoaW50ZXJuYWxQYXJlbnRQcm9kdWN0SWRBdG9tKSk7XG5leHBvcnQgY29uc3QgcHJvZHVjdFVybEF0b20gPSBhdG9tKChnZXQpID0+IGdldChpbnRlcm5hbFByb2R1Y3RVcmxBdG9tKSk7XG5leHBvcnQgY29uc3QgcGxwSWRBdG9tID0gYXRvbSgoZ2V0KSA9PiBnZXQoaW50ZXJuYWxQbHBJZEF0b20pKTtcbmV4cG9ydCBjb25zdCB1cmxBdG9tID0gYXRvbSgoZ2V0KSA9PiBnZXQoaW50ZXJuYWxVcmxBdG9tKSk7XG5leHBvcnQgY29uc3QgcGFnZVZpc2l0Q2F0ZWdvcnlBdG9tID0gYXRvbSgoZ2V0KSA9PiBnZXQoaW50ZXJuYWxQYWdlVmlzaXRDYXRlZ29yeUF0b20pKTtcbmV4cG9ydCBjb25zdCB2YXJpYW50QXRvbSA9IGF0b20oKGdldCkgPT4gZ2V0KGludGVybmFsVmFyaWFudEF0b20pKTtcbmV4cG9ydCBjb25zdCBoYXNQYXJzZWRWYXJpYW50SW5mb0F0b20gPSBhdG9tKGZhbHNlKTtcblxuZXhwb3J0IGNvbnN0IHZhcmlhbnRJbmZvQXRvbSA9IGF0b20oXG4gIChnZXQpOiBWYXJpYW50SW5mbyA9PiB7XG4gICAgY29uc3QgdmFyaWFudCA9IGdldCh2YXJpYW50QXRvbSk7XG4gICAgaWYgKHZhcmlhbnQgPT09IFZhcmlhbnRUeXBlRW51bS5QZHApIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHZhcmlhbnRJZDogZ2V0KHZhcmlhbnRJZEF0b20pLFxuICAgICAgICB2YXJpYW50LFxuICAgICAgICBwcm9kdWN0SWQ6IGdldChwcm9kdWN0SWRBdG9tKSxcbiAgICAgICAgcGFyZW50UHJvZHVjdElkOiBnZXQocGFyZW50UHJvZHVjdElkQXRvbSksXG4gICAgICAgIHVybDogZ2V0KHVybEF0b20pLFxuICAgICAgfSBhcyBQRFBWYXJpYW50SW5mbztcbiAgICB9XG4gICAgaWYgKHZhcmlhbnQgPT09IFZhcmlhbnRUeXBlRW51bS5QbHApIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHZhcmlhbnRJZDogZ2V0KHZhcmlhbnRJZEF0b20pLFxuICAgICAgICB2YXJpYW50LFxuICAgICAgICBwbHBJZDogZ2V0KHBscElkQXRvbSksXG4gICAgICAgIHVybDogZ2V0KHVybEF0b20pLFxuICAgICAgfSBhcyBQTFBWYXJpYW50SW5mbztcbiAgICB9XG4gICAgaWYgKHZhcmlhbnQgPT09IFZhcmlhbnRUeXBlRW51bS5QYWdlVmlzaXQpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHZhcmlhbnRJZDogZ2V0KHZhcmlhbnRJZEF0b20pLFxuICAgICAgICB2YXJpYW50LFxuICAgICAgICB1cmw6IGdldCh1cmxBdG9tKSxcbiAgICAgICAgcGFnZVZpc2l0Q2F0ZWdvcnk6IGdldChwYWdlVmlzaXRDYXRlZ29yeUF0b20pLFxuICAgICAgfSBhcyBQYWdlVmlzaXRWYXJpYW50SW5mbztcbiAgICB9XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHZhcmlhbnRJbmZvIGRldGFpbHMnKTtcbiAgfSxcbiAgKF8sIHNldCwgbmV3VmFyaWFudDogVmFyaWFudEluZm8pID0+IHtcbiAgICBzZXQoaW50ZXJuYWxWYXJpYW50QXRvbSwgbmV3VmFyaWFudC52YXJpYW50KTtcbiAgICBzZXQoaW50ZXJuYWxWYXJpYW50SWRBdG9tLCBuZXdWYXJpYW50LnZhcmlhbnRJZCk7XG4gICAgaWYgKG5ld1ZhcmlhbnQudmFyaWFudCA9PT0gVmFyaWFudFR5cGVFbnVtLlBkcCkge1xuICAgICAgc2V0KGludGVybmFsUHJvZHVjdElkQXRvbSwgbmV3VmFyaWFudC5wcm9kdWN0SWQpO1xuICAgICAgc2V0KGludGVybmFsUGFyZW50UHJvZHVjdElkQXRvbSwgbmV3VmFyaWFudC5wYXJlbnRQcm9kdWN0SWQpO1xuICAgICAgc2V0KGludGVybmFsVXJsQXRvbSwgbmV3VmFyaWFudC51cmwpO1xuICAgIH1cbiAgICBpZiAobmV3VmFyaWFudC52YXJpYW50ID09PSBWYXJpYW50VHlwZUVudW0uUGxwKSB7XG4gICAgICBzZXQoaW50ZXJuYWxQbHBJZEF0b20sIG5ld1ZhcmlhbnQucGxwSWQpO1xuICAgICAgc2V0KGludGVybmFsVXJsQXRvbSwgbmV3VmFyaWFudC51cmwpO1xuICAgIH1cbiAgICBpZiAobmV3VmFyaWFudC52YXJpYW50ID09PSBWYXJpYW50VHlwZUVudW0uUGFnZVZpc2l0KSB7XG4gICAgICBzZXQoaW50ZXJuYWxVcmxBdG9tLCBuZXdWYXJpYW50LnVybCk7XG4gICAgICBzZXQoaW50ZXJuYWxQYWdlVmlzaXRDYXRlZ29yeUF0b20sIG5ld1ZhcmlhbnQucGFnZVZpc2l0Q2F0ZWdvcnkpO1xuICAgIH1cbiAgfSxc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
|
package/package.json
CHANGED
|
@@ -26,7 +26,7 @@ import {
|
|
|
26
26
|
OrgConfig,
|
|
27
27
|
} from "@envive-ai/types";
|
|
28
28
|
import { ApiResponse, Message, Suggestion } from "src/types";
|
|
29
|
-
import {
|
|
29
|
+
import { chatIdAtom } from "src/atoms/app";
|
|
30
30
|
import { getAtomStore } from "src/atoms/atomStore";
|
|
31
31
|
import {
|
|
32
32
|
baseUrlAtom,
|
|
@@ -56,6 +56,8 @@ import {
|
|
|
56
56
|
coreSupportedEventRequestToApiRequest,
|
|
57
57
|
} from "./utils";
|
|
58
58
|
|
|
59
|
+
import { useUserIdentity } from "src/contexts/userIdentityContext";
|
|
60
|
+
|
|
59
61
|
async function errorResponseBody(error: ResponseError) {
|
|
60
62
|
try {
|
|
61
63
|
return await error.response.json();
|
|
@@ -135,10 +137,11 @@ class CommerceApiClient {
|
|
|
135
137
|
const atomStore = getAtomStore();
|
|
136
138
|
const orgShortName = atomStore.get(orgShortNameAtom);
|
|
137
139
|
const orgId = atomStore.get(orgIdAtom);
|
|
138
|
-
const userId = atomStore.get(userIdAtom);
|
|
139
140
|
const chatId = atomStore.get(chatIdAtom);
|
|
140
141
|
const source = atomStore.get(contextSourceAtom);
|
|
141
142
|
const env = atomStore.get(envAtom);
|
|
143
|
+
const { getUserIdOrDefault } = useUserIdentity();
|
|
144
|
+
const userId = getUserIdOrDefault();
|
|
142
145
|
|
|
143
146
|
const featureFlagService = atomStore.get(featureFlagServiceAtom);
|
|
144
147
|
|
package/src/atoms/app/index.ts
CHANGED
|
@@ -2,8 +2,6 @@ import { ContextEnvEnum, ContextSourceEnum } from '@spiffy-ai/commerce-api-clien
|
|
|
2
2
|
import { atom } from 'jotai';
|
|
3
3
|
import { atomWithStorage } from 'jotai/utils';
|
|
4
4
|
import { VariantInfo, UserIdentityContextType } from '@envive-ai/types';
|
|
5
|
-
import { useUserIdentity } from 'src/contexts/userIdentityContext/userIdentityContext';
|
|
6
|
-
import { variantInfoAtom } from 'src/atoms/app/variant';
|
|
7
5
|
import { v4 as uuid } from 'uuid';
|
|
8
6
|
import { contextSourceAtom } from '../envive/enviveConfig';
|
|
9
7
|
|
|
@@ -19,26 +17,10 @@ export interface AppDetails {
|
|
|
19
17
|
|
|
20
18
|
export { variantInfoAtom } from './variant';
|
|
21
19
|
|
|
22
|
-
const
|
|
23
|
-
|
|
24
|
-
export const userIdAtom = atom(
|
|
25
|
-
(get) => {
|
|
26
|
-
const maybeUserId = get(internalUserIdAtom);
|
|
27
|
-
|
|
28
|
-
if (maybeUserId) {
|
|
29
|
-
return maybeUserId;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
const { getUserIdOrDefault } = useUserIdentity();
|
|
33
|
-
return getUserIdOrDefault();
|
|
34
|
-
},
|
|
35
|
-
(_, set, value: string | undefined) => {
|
|
36
|
-
set(internalUserIdAtom, value);
|
|
37
|
-
},
|
|
20
|
+
export const userIdentityAtom = atom<UserIdentityContextType | undefined>(
|
|
21
|
+
undefined
|
|
38
22
|
);
|
|
39
23
|
|
|
40
|
-
export const userIdentityAtom = atom<UserIdentityContextType | undefined>(undefined);
|
|
41
|
-
|
|
42
24
|
export const appSourceAtom = atom<ContextSourceEnum>(
|
|
43
25
|
(get): ContextSourceEnum => get(contextSourceAtom) ?? ContextSourceEnum.App,
|
|
44
26
|
);
|
|
@@ -2,7 +2,7 @@ import { atom } from 'jotai';
|
|
|
2
2
|
import { v4 as uuid } from 'uuid';
|
|
3
3
|
import { GenerationParams, NextMessageRequest, UserEvent } from '@envive-ai/types';
|
|
4
4
|
import { getAtomStore } from 'src/atoms/atomStore/atomStore';
|
|
5
|
-
import {
|
|
5
|
+
import { chatIdAtom } from 'src/atoms/app';
|
|
6
6
|
import { orgShortNameAtom, contextSourceAtom, envAtom } from 'src/atoms/envive/enviveConfig';
|
|
7
7
|
import { orgIdAtom, featureFlagServiceAtom } from 'src/atoms/org/graphqlConfig';
|
|
8
8
|
|
|
@@ -45,7 +45,11 @@ export const processUserEventAtom = atom(null, (get, set, eventIds: string[]) =>
|
|
|
45
45
|
|
|
46
46
|
export const userQueueEventCountAtom = atom((get) => get(userEventQueueAtom).length);
|
|
47
47
|
|
|
48
|
-
import {
|
|
48
|
+
import {
|
|
49
|
+
ContextSourceEnum,
|
|
50
|
+
ContextEnvEnum,
|
|
51
|
+
} from "@spiffy-ai/commerce-api-client"; // Import necessary enums
|
|
52
|
+
import { useUserIdentity } from "src/contexts/userIdentityContext";
|
|
49
53
|
// import type { Context } from "@spiffy-ai/commerce-api-client/dist/models/Context"; // Import Context type
|
|
50
54
|
|
|
51
55
|
export const createResponsePayload = ({
|
|
@@ -58,10 +62,11 @@ export const createResponsePayload = ({
|
|
|
58
62
|
const atomStore = getAtomStore();
|
|
59
63
|
const orgShortName = atomStore.get(orgShortNameAtom);
|
|
60
64
|
const orgId = atomStore.get(orgIdAtom);
|
|
61
|
-
const userId = atomStore.get(userIdAtom);
|
|
62
65
|
const chatId = atomStore.get(chatIdAtom);
|
|
63
66
|
const source = atomStore.get(contextSourceAtom);
|
|
64
67
|
const env = atomStore.get(envAtom);
|
|
68
|
+
const { getUserIdOrDefault } = useUserIdentity();
|
|
69
|
+
const userId = getUserIdOrDefault();
|
|
65
70
|
|
|
66
71
|
const featureFlagService = atomStore.get(featureFlagServiceAtom);
|
|
67
72
|
|
|
@@ -24,7 +24,6 @@ import {
|
|
|
24
24
|
} from "src/atoms/envive/enviveConfig";
|
|
25
25
|
import { useLocalStorage } from "src/contexts/localStorageContext";
|
|
26
26
|
import { orgAnalyticsGoogleAnalyticsConfigAtom } from "src/atoms/org/orgAnalyticsConfig";
|
|
27
|
-
import { userIdAtom } from "src/atoms/app";
|
|
28
27
|
import { envAtom } from "src/atoms/envive/enviveConfig";
|
|
29
28
|
import Logger from "src/application/logging/logger";
|
|
30
29
|
import type {
|
|
@@ -49,7 +48,8 @@ if (typeof window !== 'undefined') {
|
|
|
49
48
|
export const AmplitudeProvider: React.FC<{ children: React.ReactNode }> = ({
|
|
50
49
|
children,
|
|
51
50
|
}) => {
|
|
52
|
-
const
|
|
51
|
+
const { getUserIdOrDefault } = useUserIdentity();
|
|
52
|
+
const userId = getUserIdOrDefault();
|
|
53
53
|
const amplitudeApiKey = useAtomValue(amplitudeApiKeyAtom);
|
|
54
54
|
const dataResidency = useAtomValue(dataResidencyAtom);
|
|
55
55
|
const orgGaConfig = useAtomValue(orgAnalyticsGoogleAnalyticsConfigAtom);
|