PageSourceSearch

https://www.integrativenutrition.com/hubfs/hub_generated/template_…/1790876459582/template_cart.min.js

js integrativenutrition.com collected 2026-10-02 03:19:59 UTC 4,826 bytes, 2 lines download raw bytes

1const IINShopifyClient=ShopifyBuy.buildClient({domain:"the-institute-for-integrative-nutrition.myshopify.com",storefrontAccessToken:"626e521d492a31fd27657fc6fa8e95b7"}),updateCartTotal=cart=>{let total=0;const lineItems=cart?.lineItems||[];Array.isArray(lineItems)&&lineItems.forEach(lineItem=>{total+=lineItem.quantity});const linkText="View Cart"+(total?` (${total})`:"");document.querySelectorAll(".jd-view-cart-link").forEach(viewCartLink=>{viewCartLink.textContent=linkText});return document.querySelectorAll(".jd-cart-item-count").forEach(cartItemCount=>{cartItemCount.textContent=total,cartItemCount.style.display=total>0?"":"none"}),total},setShopifyCartCookie=async(checkout,skipHubSpotEmail)=>{const clientDomain=IINShopifyClient.config.domain,email="".toLowerCase().trim(),currentEmail=checkout?.email?.toLowerCase().trim(),checkoutURL=checkout.webUrl.replace(clientDomain,"store.integrativenutrition.com"),encodedID=encodeURIComponent(checkout?.id);IIN.cookies.setCookie("shopifyCart",encodedID,365);const checkoutLink=document.querySelector(".jd-checkout-link");if(checkoutLink&&(checkoutLink.href=checkoutURL),skipHubSpotEmail||!email||email===currentEmail)return updateCartTotal(checkout),IIN.cookies.getCookie("shopifyCart");try{const cartCookie=IIN.cookies.getCookieString("shopifyCart"),updatedCheckout=await IINShopifyClient.checkout.updateEmail(cartCookie,email),updatedCheckoutURL=updatedCheckout.webUrl.replace(clientDomain,"store.integrativenutrition.com"),updatedEncodedID=encodeURIComponent(updatedCheckout.id);IIN.cookies.setCookie("shopifyCart",updatedEncodedID,365),checkoutLink&&(checkoutLink.href=updatedCheckoutURL),updateCartTotal(updatedCheckout)}catch(error){console.error(error)}return IIN.cookies.getCookie("shopifyCart")},updateCartAttributes=async()=>{const{clientID:clientID,measurementID:measurementID}=await IIN.cookies.getGoogleTrackingData(),facebookClickID=await IIN.cookies.getFacebookClickID(),params=IIN.cookies.getCookieObject("params"),customAttributeData={"Ambassador ID":params?.AmbassadorID,"Facebook Click ID":facebookClickID,"Google Analytics Client ID":clientID,"Google Analytics Measurement ID":measurementID,"Partner Lead Source":params?.source,"Promo Code":params?.shareiincode||params?.sldiscountcode,Tracking:(cookie=>{let tracking="";return cookie?(Object.entries(cookie).forEach(([key,value])=>{(key=>["fbclid","gbraid","gclid","msclkid","wbraid"].includes(key)||key.startsWith("utm_"))(key)&&(tracking+=`${tracking?"&":""}${key}=${value}`)}),tracking):tracking})(params)},customAttributes=[];if(Object.entries(customAttributeData).forEach(([key,value])=>{value&&customAttributes.push({key:key,value:value})}),!customAttributes.length)return[];const cartAttributes={customAttributes:customAttributes},cartCookie=IIN.cookies.getCookieString("shopifyCart");try{await IINShopifyClient.checkout.updateAttributes(cartCookie,cartAttributes)}catch(error){console.error(error)}return customAttributes},getDiscount=()=>
1{const param=new URLSearchParams(window.location.search).get("discount_code"),cookie=IIN.cookies.getCookieObject("params");return param||cookie?.shareiincode||cookie?.sldiscountcode||""},initializeCheckout=async()=>{const urlParams=new URLSearchParams(window.location.search),variantIDs=urlParams.get("variant_ids")?.split(",")||[],discount=getDiscount(),cookie=IIN.cookies.getCookieString("shopifyCart");let checkout;try{if(variantIDs.length){IIN.cookies.deleteCookie("shopifyCart");const newCheckout=await IINShopifyClient.checkout.create();checkout=await IIN.shopify.addLineItemsToCheckoutFromParams(newCheckout,variantIDs)}else if(cookie){const existingCheckout=await IINShopifyClient.checkout.fetch(cookie);existingCheckout&&!existingCheckout.completedAt&&(checkout=existingCheckout)}checkout||(checkout=await IINShopifyClient.checkout.create()),discount&&(checkout=await IIN.shopify.addDiscountToCheckout(checkout.id,discount)),await setShopifyCartCookie(checkout),await updateCartAttributes()}catch(error){console.error(error)}return checkout},refreshCheckout=async cookie=>{const cookieString=cookie??IIN.cookies.getCookieString("shopifyCart"),currentCheckout=await IINShopifyClient.checkout.fetch(cookieString);let refreshedCheckout=currentCheckout;return currentCheckout&&!currentCheckout.completedAt||(refreshedCheckout=await initializeCheckout()),refreshedCheckout},checkoutReadyPromise=new Promise(resolve=>{$(()=>{initializeCheckout().then(resolve)})});IIN.cart={ready:checkoutReadyPromise},window.addEventListener("pageshow",event=>{const navigationType=performance.getEntriesByType("navigation")[0].type;(event.persisted||"back_forward"===navigationType)&&$(()=>{refreshCheckout()})});
2//# sourceURL=https://23273748.fs1.hubspotusercontent-na1.net/hubfs/23273748/hub_generated/template_assets/1/165340887167/1790876459582/template_cart.js

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.