import{g as r,f as u,u as l}from"./5KckzC-e.js";class g{constructor({email:t}){this.email=t,this.uuid=null,this.sessionInfo=this.fetchRegid(t)}async fetchRegid(t){var i,o,n;const a={userAgent:this.getUserAgent(),email:t,uuid:t?null:this.getOrMakeUUID()},s=await r("https://cors.forloveandlemons.com?https://api.swym.regid.forloveandlemons.com",{method:"POST",body:a},"$msX7VajiVo").catch(c=>{console.error("Swym error: problem retriving regid",c)});return typeof((i=s==null?void 0:s.data)==null?void 0:i.value)=="string"?{...JSON.parse((o=s==null?void 0:s.data)==null?void 0:o.value)}:{...(n=s==null?void 0:s.data)==null?void 0:n.value}}async mergeGuestWithEmail(t){var i;if(!u("swym-guest-session-uuid").value)return;await this.sessionInfo;const a={useremail:t,useragenttype:this.getUserAgent(),regid:this.sessionInfo.regid},s=await r("https://cors.forloveandlemons.com?https://api.swym.lists.forloveandlemons.com",{method:"POST",body:{data:a,location:"/storeadmin/v3/user/guest-validate-sync"}},"$vjVbfA6Dgk").catch(o=>{console.error("Swym error: problem retriving regid",o)});return{...(i=s==null?void 0:s.data)==null?void 0:i.value}}async markListPublic(t){return await this.swymRequest({location:"api/v3/lists/markPublic",data:{regid:this.sessionInfo.regid,sessionid:this.sessionInfo.sessionId,lid:t}})}async fetchSingleList(t){return await this.swymRequest({location:"api/v3/lists/fetch-list-with-contents",data:{lid:t}})}async fetchLists(t){return await this.swymRequest({location:"api/v3/lists/fetch-lists",data:{lty:t}})}async createList({lname:t}){return await this.swymRequest({location:"api/v3/lists/create",data:{lname:t}})}async editList({lid:t,lname:e}){return await this.swymRequest({location:"api/v3/lists/update",data:{lid:t,lname:e}})}async deleteList(t){return await this.swymRequest({location:"api/v3/lists/delete-list",data:{lid:t}})}async addProductsToList({lid:t,products:e}){return await this.swymRequest({location:"api/v3/lists/update-ctx",data:{lid:t,a:JSON.stringify(e)},userAgent:this.getUserAgent()})}async removeProductsFromList({lid:t,products:e}){return await this.swymRequest({location:"api/v3/lists/update-ctx",data:{lid:t,d:JSON.stringify(e)},userAgent:this.getUserAgent()})}async updateProductsOnList({lid:t,products:e}){return await this.swymRequest({location:"api/v3/lists/update-ctx",data:{lid:t,u:JSON.stringify(e)},userAgent:this.getUserAgent()})}async shareList({lid:t,fromname:e,toemail:a}){return await this.swymRequest({location:"api/v3/lists/emailList",data:{lid:t,fromname:e,toemail:a}})}async swymRequest({location:t,data:e,userAgent:a}){const s=await this.sessionInfo,i=await r("https://cors.forloveandlemons.com?https://api.swym.lists.forloveandlemons.com",{method:"POST",body:{location:t,data:{...e,regid:s.regid,sessionid:s.sessionid},userAgent:a}},"$SXA1J3C6sI").catch(o=>{console.error("Swym error: problem retriving regid",o)});return typeof i.data.value=="string"?JSON.parse(i.data.value):i.data.value}getOrMakeUUID(){const t=u("swym-guest-session-uuid");return t.value=t.value?t.value:crypto.randomUUID(),this.uuid=t.value,t.value}getUserAgent(){return l().isMobileSize?"mobileSite":"desktopSite"}}export{g as S};
