PageSourceSearch

https://www.maisonpavane.com/cdn/shop/t/64/assets/delivery-estimate.dev.js?v=103307744638106402711788859539

js maisonpavane.com collected 2026-10-09 17:33:48 UTC 6,051 bytes, 2 lines download raw bytes

1(function(){"use strict";window.rdvdeco=window.rdvdeco||{};var ESTIMATE_SELECTOR="[data-rdvdeco-delivery-estimate]",PROPERTY_SELECTOR="input[data-rdvdeco-delivery-property]",STOCK_LOCATION="00 - Yusen Stock",TRANSIT_LOCATION="01 - Transit",stockRequests={},hydratedNodes=new WeakSet,unsubscribers=[],observer=null,scanScheduled=!1;function apiBaseUrl(){var config=window.rdvdeco.config||{},base=config.apiBaseUrl||"https://fastapi.aeci.pro";return base.replace(/\/+$/,"")}function fetchJson(url){return fetch(url,{method:"GET",headers:{Accept:"application/json"}}).then(function(response){if(!response.ok)throw new Error("HTTP "+response.status+" on "+url);return response.json()})}function fetchInventoryStock(variantId,sku){if(!variantId&&!sku)return Promise.resolve(null);var key=String(variantId||"")+"|"+String(sku||"");if(!stockRequests[key]){var variantUrl=apiBaseUrl()+"/inventory/shopify/variant/"+encodeURIComponent(String(variantId)),skuUrl=apiBaseUrl()+"/inventory/shopify/sku/"+encodeURIComponent(String(sku)),request;variantId?sku?request=fetchJson(variantUrl).catch(function(){return fetchJson(skuUrl)}):request=fetchJson(variantUrl):request=fetchJson(skuUrl),stockRequests[key]=request.catch(function(error){return delete stockRequests[key],console.error("rdvdeco delivery estimate: stock fetch failed",error),null})}return stockRequests[key]}function availableAt(levels,locationName){if(!Array.isArray(levels))return null;for(var i=0;i<levels.length;i++){var level=levels[i];if(level&&level.location===locationName)return Number(level.available)||0}return null}function resolveStockState(levels){var stock=availableAt(levels,STOCK_LOCATION),transit=availableAt(levels,TRANSIT_LOCATION);return stock===null&&transit===null?null:stock>0?"in_stock":transit>0?"preorder":null}function applyState(node,state){var current=node.getAttribute("data-state"),target=node.querySelector('[data-state-label="'+state+'"]');if(!(!target||current===state)){node.setAttribute("data-state",state),node.classList.remove("rdvdeco-delivery-estimate--"+current),node.classList.add("rdvdeco-delivery-estimate--"+state);for(var labels=node.querySelectorAll("[data-state-label]"),i=0;i<labels.length;i++)labels[i]===target?labels[i].removeAttribute("hidden"):labels[i].setAttribute("hidden","hidden")}}function hydrateEstimate(node){hydratedNodes.add(node);var state=node.getAttribute("data-state");if(!(state==="sold_out"||state==="back_soon")){var variantId=node.getAttribute("data-variant-id"),sku=node.getAttribute("data-sku");fetchInventoryStock(variantId,sku).then(function(levels){if(variantId===node.getAttribute("data-variant-id")){var resolved=resolveStockState(levels);resolved&&applyState(node,resolved)}})}}function hydrateProperty(input){hydratedNodes.add(input);var variantId=input.getAttribute("data-variant-id"),sku=input.getAttribute("data-sku"),preorderValue=input.getAttribute("data-property-preorder"),inStockValue=input.getAttribute("data-property-in-stock");fetchInventoryStock(variantId,sku).then(function(levels){if(variantId===input.getAttribute("data-variant-id")){var resolved=resolveStockState(levels);resolved==="preorder"&&preorderValue?input.value=preorderValue:resolved==="in_stock"&&inStockValue&&(input.value=inStockValue)}})}function scan(root){for(var scope=root&&root.querySelectorAll?root:document,estimates=scope.querySelectorAll(ESTIMATE_SELECTOR),i=0;i<estimates.length;i++)hydratedNodes.has(estimates[i])||hydrateEstimate(estimates[i]);for(var properties=scope.querySelectorAll(PROPERTY_SELECTOR),j=0;j<properties.length;j++)hydratedNodes.has(properties[j])||hydrateProperty(properties[j])}function scheduleScan(){scanScheduled||(scanScheduled=!0,window.requestAnimationFrame(function(){scanScheduled=!1,scan(document)}))}function nodesForProduct(selector,productId){if(!productId)return[];var nodes=document.querySelectorAll(selector+'[data-product-id="'+String(productId)+'"]');return Array.prototype.slice.call(nodes)}function onVariantChange(payload){var data=payload&&payload.data||payload,variant=data&&data.variant;if(!(!variant||!variant.id)){var productId=variant.product_id;
1nodesForProduct(ESTIMATE_SELECTOR,productId).forEach(function(node){if(node.setAttribute("data-variant-id",String(variant.id)),variant.sku&&node.setAttribute("data-sku",variant.sku),variant.available===!1){var daysBack=Number(node.getAttribute("data-days-back-in-stock"))||0;node.setAttribute("data-state",daysBack>0?"back_soon":"sold_out"),node.setAttribute("hidden","hidden");return}node.removeAttribute("hidden");var current=node.getAttribute("data-state");(current==="sold_out"||current==="back_soon")&&applyState(node,"in_stock"),hydratedNodes.delete(node),hydrateEstimate(node)}),nodesForProduct(PROPERTY_SELECTOR,productId).forEach(function(input){input.setAttribute("data-variant-id",String(variant.id)),variant.sku&&input.setAttribute("data-sku",variant.sku),variant.available!==!1&&hydrateProperty(input)})}}function getPubSub(){var theme=window.FoxTheme;return!theme||!theme.pubsub?null:theme.pubsub}function subscribe(eventKey,handler){var pubsub=getPubSub();if(!(!pubsub||!pubsub.PUB_SUB_EVENTS||typeof pubsub.subscribe!="function")){var eventName=pubsub.PUB_SUB_EVENTS[eventKey];if(eventName){var unsubscribe=pubsub.subscribe(eventName,handler);typeof unsubscribe=="function"&&unsubscribers.push(unsubscribe)}}}function init(){scan(document),subscribe("variantChange",onVariantChange),"MutationObserver"in window&&(observer=new MutationObserver(scheduleScan),observer.observe(document.body,{childList:!0,subtree:!0}))}function teardown(){for(;unsubscribers.length;){var fn=unsubscribers.pop();try{fn()}catch(error){}}observer&&(observer.disconnect(),observer=null)}window.rdvdeco.inventoryStock=fetchInventoryStock,window.rdvdeco.deliveryEstimate={init:init,teardown:teardown,scan:scan,applyState:applyState},document.readyState==="loading"?document.addEventListener("DOMContentLoaded",init,{once:!0}):init()})();
2//# sourceMappingURL=/cdn/shop/t/64/assets/delivery-estimate.dev.js.map?v=103307744638106402711788859539

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.