PageSourceSearch

https://www.diveinfo.net/_nuxt/C3P8wyjq.js

js diveinfo.net collected 2026-10-07 16:16:32 UTC 4,314 bytes, 1 lines download raw bytes

1import{S as z,ak as A,C as x,c as b,bh as F}from"#entry";const f=e=>typeof e!="string"?null:e.trim()||null,l=e=>`${e.productUuid}::${e.variantUuid??""}`,R=(e,t)=>{const r=f(e?.uuid),a=f(e?.parent?.uuid);if(a&&r)return{productUuid:a,variantUuid:r};if(!r||e?.is_main_product===!1)return null;const n=f(t);return{productUuid:r,...n&&n!==r?{variantUuid:n}:{}}},B=e=>Array.from(new Set(e.flatMap(t=>[t.productUuid,...t.variantUuid?[t.variantUuid]:[]]))),V=(e,t)=>e.map(r=>{const a=t[r.productUuid],n=r.variantUuid??r.productUuid,i=t[n];return{entry:r,primary:a,target:i,isPrimaryMissing:!a,isTargetMissing:!i}}),y=e=>typeof e=="number"||typeof e=="string"&&e!=="",P=e=>y(e.display_value)||y(e.value),S=(e,t)=>{const r=new Map,a=n=>{for(const i of n??[]){const u=i.key?.trim();!u||!P(i)||r.set(u,i)}};return a(e?.attribute_datas),t!==e&&a(t?.attribute_datas),r},j=e=>e.map(t=>({...t,isVariant:!!t.entry.variantUuid,attributes:S(t.primary,t.target)})),v=e=>e?.split(",").map(t=>t.trim()).find(Boolean)??null,m=e=>typeof e!="number"||!Number.isFinite(e)?null:`฿ ${new Intl.NumberFormat("th-TH",{maximumFractionDigits:2}).format(e)}`,I=e=>{const t=e.target;if(!t)return null;if(!e.isVariant&&t.has_subproduct){const r=Number.isFinite(t.price_min)?t.price_min:null,a=Number.isFinite(t.price_max)?t.price_max:null;if(r!==null&&a!==null&&r!==a)return`${m(r)} - ${m(a)}`;if(r!==null)return m(r);if(a!==null)return m(a)}return m(t.price)},T=(e,t)=>{const{primary:r,target:a}=t;switch(e){case"image":return v(a?.images)??v(r?.images);case"price":return I(t);case"code":return a?.code||null;case"stock":return a?.remain??null;case"brand":return a?.brand||r?.brand||null;case"category":return a?.category_name||r?.category_name||null}},w=(e,t)=>{const r=t.get(e);return r?y(r.display_value)?r.display_value:y(r.value)?r.value:null:null},O=(e,t)=>e.source.type==="core"?T(e.source.key,t):w(e.source.key,t.attributes),_=[{key:"image",label:"Image",renderer:"image",source:{type:"core",key:"image"}},{key:"price",label:"Price",renderer:"text",source:{type:"core",key:"price"}},{key:"code",label:"Code",renderer:"text",source:{type:"core",key:"code"}},{key:"stock",label:"Stock",renderer:"text",source:{type:"core",key:"stock"}},{key:"brand",label:"Brand",renderer:"text",source:{type:"core",key:"brand"}},{key:"category",label:"Category",renderer:"text",source:{type:"core",key:"category"}},{key:"color",label:"Color",renderer:"text",source:{type:"attribute",key:"color"}},{key:"size",label:"Size",renderer:"text",source:{type:"attribute",key:"size"}}],K=e=>_,L=(e,t=_)=>{const r=e.map(n=>({key:l(n.entry),entry:n.entry,title:n.target?.title||n.target?.name||n.primary?.title||n.primary?.name||n.entry.variantUuid||n.entry.productUuid,isUnavailable:n.isPrimaryMissing||n.isTargetMissing,unavailableMessage:n.isPrimaryMissing?"Product unavailable":n.isTargetMissing?"Compared product unavailable":void 0})),a=t.map(n=>({key:n.key,label:n.label,type:n.renderer,values:Object.fromEntries(e.map(i=>[l(i.entry),O(n,i)]))}));return{columns:r,rows:a}},N="product-compare-v1",C=8,k=e=>typeof e!="string"?null:e.trim()||null,U=e=>{if(!Array.isArray(e))return[];const t=new Set,r=[];for(const a of e){if(!a||typeof a!="object")continue;const n=a,i=k(n.productUuid),u=k(n.variantUuid);if(!i)continue;const c={productUuid:i,...u?{variantUuid:u}:{}},d=l(c);if(!t.has(d)&&(r.push(c),t.add(d),r.length>=C))break}return r},$=(e,t)=>!Array.isArray(e)||e.length!==t.length?!1:e.every((r,a)=>!!r&&typeof r=="object"&&l(r)===l(t[a])),H=z("compare",()=>{const e=A(N,[],{initOnMounted:!0});x(e,o=>{const s=U(o);$(o,s)||(e.value=s)},{immediate:!0,deep:!0});const t=b(()=>e.value.length),r=C,a=b(()=>t.value>=r),n=o=>({status:o,count:t.value,max:r}),i=o=>U(o?[o]:[])[0]??null,u=o=>{const s=i(o);return s?e.value.some(p=>l(p)===l(s)):!1},c=o=>{const s=i(o);return s?u(s)?n("duplicate"):a.value?n("limit-reached"):(e.value=[s,...e.value],n("added")):n("invalid")},d=o=>{const s=i(o);if(!s)return n("invalid");const p=l(s),g=e.value.filter(E=>l(E)!==p);return g.length===e.value.length?n("not-found"):(e.value=g,n("removed"))},M=o=>{const s=i(o);return s?u(s)?d(s):c(s):n("invalid")},h=()=>{e.value=[]};return{compareEntries:F(e),count:t,max:r,isFull:a,has:u,add:c,remove:d,toggle:M,clear:h}});
1export{l as a,R as b,B as c,j as d,L as e,K as g,V as r,H as u};

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.