PageSourceSearch

https://www.47brand.com/cdn/shop/t/1457/assets/algolia-frontend.js?v=108921715087890136181789581618

js 47brand.com collected 2026-10-02 06:17:11 UTC 3,703 bytes, 2 lines download raw bytes

1function waitUntil(conditionFn,callback,interval=50,timeout=3e3){const start=Date.now(),timer=setInterval(()=>{conditionFn()?(clearInterval(timer),callback()):Date.now()-start>timeout&&(clearInterval(timer),console.warn("[ShopifyAnalytics] Timed out waiting for lib.user()"),callback())},interval)}function formatFiltersViewedData(rawFilters){const formatted=[];for(const attribute in rawFilters){const values=rawFilters[attribute];if(typeof values=="object"&&values!==null)for(const value in values)formatted.push(`${attribute}:${value}`)}return formatted}function chunkArray(arr,size){const chunks=[];for(let i=0;i<arr.length;i+=size)chunks.push(arr.slice(i,i+size));return chunks}function extractFiltersFromReferrer(){try{const rawFilters=new URL(document.referrer).searchParams.get("filters");return rawFilters?decodeURIComponent(decodeURIComponent(rawFilters)).split(/\s+AND\s+/).map(filter=>filter.replace(/^\(+|\)+$/g,"").trim()):[]}catch(e){return console.warn("[Analytics] Failed to extract filters from referrer:",e),[]}}let _algoliaUserToken=null;window.getAlgoliaUserToken=()=>_algoliaUserToken,(()=>{const defaultIndex="shopify_ics_products";waitUntil(()=>typeof ShopifyAnalytics<"u"&&typeof ShopifyAnalytics.lib?.user=="function",()=>{const userTraits=ShopifyAnalytics.meta.page.customerId?{userToken:"",authenticatedUserToken:ShopifyAnalytics.meta.page.customerId.toString()}:{userToken:ShopifyAnalytics.lib.user()?.traits()?.uniqToken?.toString()||"",authenticatedUserToken:""};_algoliaUserToken=userTraits.authenticatedUserToken||userTraits.userToken||null,Shopify.analytics.publish("setUserToken",{userToken:userTraits.userToken,authenticatedUserToken:userTraits.authenticatedUserToken});const storedQueryID=sessionStorage.getItem("algolia_queryID"),storedIndex=sessionStorage.getItem("algolia_index")||defaultIndex;Shopify.analytics.publish("setData",{queryID:storedQueryID||null,index:storedIndex});const refFilters=extractFiltersFromReferrer();refFilters.length&&Shopify.analytics.publish("algolia:referrerFilters",{filters:refFilters,timestamp:Date.now()})})})(),window.addEventListener("algolia:setData",e=>{const{queryID,index}=e.detail;queryID&&(sessionStorage.setItem("algolia_queryID",queryID),sessionStorage.setItem("algolia_index",index),Shopify.analytics.publish("setData",{queryID,index}))}),window.addEventListener("algolia:productsViewed",e=>{const objectIDs=(e.detail.products||[]).map(product=>product.objectID).filter(Boolean),chunks=chunkArray(objectIDs,20);for(const chunk of chunks)Shopify.analytics.publish("viewedObjectIDs",{objectIDs:chunk})}),window.addEventListener("algolia:filtersViewed",e=>{const rawFilters=e.detail.filters,filters=formatFiltersViewedData(rawFilters),chunks=chunkArray(filters,10);for(const chunk of chunks)Shopify.analytics.publish("viewedFilters",{filters:chunk})}),document.addEventListener("click",e=>{const defaultIndex="shopify_ics_products",productEl=e.target.closest("[data-position][data-object-id]")||e.target.closest("[data-object-id]")||e.target.closest('a[href*="variant="]');if(productEl){const dataset=productEl.dataset,objectId=dataset.objectId||new URLSearchParams(productEl.href?.split("?")[1]).get("variant"),position=dataset.position;objectId&&position?Shopify.analytics.publish("clickedAfterSearch",{objectIDs:[objectId],positions:[Number(position)]}):objectId&&Shopify.analytics.publish("clickedNotAfterSearch",{index:defaultIndex,objectIDs:[objectId]})}if(e.target.closest("[data-filter]")){const{filter}=e.target.closest("[data-filter]").dataset;Shopify.analytics.publish("clickedFilter",{filters:[filter]})}});
2//# sourceMappingURL=/cdn/shop/t/1457/assets/algolia-frontend.js.map?v=108921715087890136181789581618

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.