PageSourceSearch

https://www.viome.com/_next/static/chunks/commons-9477ab22-69c3afa7e26ad845.js

js viome.com collected 2026-10-02 04:20:11 UTC 15,309 bytes, 194 lines download raw bytes

1try{!function(){var t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},e=(new t.Error).stack;e&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[e]="975ddbf4-1770-4489-9a50-d0b3727e83df",t._sentryDebugIdIdentifier="sentry-dbid-975ddbf4-1770-4489-9a50-d0b3727e83df")}()}catch(t){}"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5720],{18331:(t,e,r)=>{function n(t){return null==t?"":"string"==typeof t?t:Array.isArray(t)?t.map(t=>null==t?"":"string"==typeof t?t:"object"!=typeof t?"":"text"===t.type&&"string"==typeof t.text?t.text:Array.isArray(t.children)?n(t.children):"").filter(Boolean).join(" "):""}function a(t){return Array.isArray(t)&&t.length>0&&t.every(t=>null!=t&&"object"==typeof t&&"type"in t&&"string"==typeof t.type)}function i(t){if(a(t)){let e=function(t){let e=t.find(t=>null!=t&&"string"==typeof t.type&&"list"===t.type);if(!e||!Array.isArray(e.children))return null;let r=e.children.map(t=>null==t?"":n([t])).filter(Boolean);return r.length>0?r:null}(t);return null!==e?e:[n(t)]}return Array.isArray(t)?t.filter(t=>"string"==typeof t):"string"==typeof t?[t]:[]}function o(t,e=[]){if(!a(e))return"paragraphs";let r=e.find(t=>null!=t&&"string"==typeof t.type&&"list"===t.type);return r&&"ordered"===r.format?"ordered":r?"unordered":"paragraphs"}function s(t,e="ordered"){if("string"==typeof t)return t;if(!Array.isArray(t)||0===t.length)return"";let r=t.filter(t=>"string"==typeof t);return 1===r.length?r[0]:"paragraphs"===e?r.join("\n\n"):"unordered"===e?r.map(t=>`• ${t}`).join("\n"):r.map((t,e)=>`${e+1}. ${t}`).join("\n")}r.d(e,{GG:()=>s,XJ:()=>i,o3:()=>o})},19513:(t,e,r)=>{r.d(e,{Fy:()=>C,HI:()=>A,T5:()=>I,addLinesToCart:()=>h,hG:()=>w,removeCartLines:()=>v,zA:()=>g});var n=r(49544);let a=`
2  fragment CartFields on Cart {
3    id
4    checkoutUrl
5    totalQuantity
6    attributes {
7      key
8      value
9    }
10    discountCodes {
11      code
12      applicable
13    }
14    cost {
15      totalAmount {
16        amount
17        currencyCode
18      }
19      subtotalAmount {
20        amount
21        currencyCode
22      }
23    }
24    lines(first: 100) {
25      edges {
26        node {
27          id
28          quantity
29          attributes {
30            key
31            value
32          }
33          merchandise {
34            ... on ProductVariant {
35              id
36              title
37              sku
38              image {
39                url
40                altText
41              }
42              compareAtPrice {
43                amount
44                currencyCode
45              }
46              product {
47                id
48                title
49                handle
50                productImageNew: metafield(namespace: "custom", key: "product_image_new") {
51                  value
52                  type
53                  reference {
54                    ... on MediaImage {
55                      image {
56                        url
57                        altText
58                      }
59                    }
60                  }
61                }
62              }
63            }
64          }
65          sellingPlanAllocation {
66            sellingPlan {
67              id
68              name
69            }
70          }
71          cost {
72            amountPerQuantity {
73              amount
74              currencyCode
75            }
76            compareAtAmountPerQuantity {
77              amount
78              currencyCode
79            }
80            totalAmount {
81              amount
82              currencyCode
83            }
84          }
85          discountAllocations {
86            discountedAmount {
87              amount
88              currencyCode
89            }
90            ... on CartCodeDiscountAllocation {
91              code
92              discountedAmount {
93                amount
94                currencyCode
95              }
96            }
97            ... on CartAutomaticDiscountAllocation {
98              title
99              discountedAmount {
100                amount
101                currencyCode
102              }
103            }
104          }
105        }
106      }
107    }
108  }
109`,i=`
110  ${a}
111  mutation CartCreate($input: CartInput!) {
112    cartCreate(input: $input) {
113      cart {
114        ...CartFields
115      }
116      userErrors {
117        field
118        message
119      }
120    }
121  }
122`,o=`
123  ${a}
124  mutation CartLinesAdd($cartId: ID!, $lines: [CartLineInput!]!) {
125    cartLinesAdd(cartId: $cartId, lines: $lines) {
126      cart {
127        ...CartFields
128      }
129      userErrors {
130        field
131        message
132      }
133    }
134  }
135`,s=`
136  ${a}
137  mutation CartLinesUpdate($cartId: ID!, $lines: [CartLineUpdateInput!]!) {
138    cartLinesUpdate(cartId: $cartId, lines: $lines) {
139      cart {
140        ...CartFields
141      }
142      userErrors {
143        field
144        message
145      }
146    }
147  }
148`,u=`
149  ${a}
150  mutation CartLinesRemove($cartId: ID!, $lineIds: [ID!]!) {
151    cartLinesRemove(cartId: $cartId, lineIds: $lineIds) {
152      cart {
153        ...CartFields
154      }
155      userErrors {
156        field
157        message
158      }
159    }
160  }
161`,d=`
162  ${a}
163  mutation CartAttributesUpdate($cartId: ID!, $attributes: [AttributeInput!]!) {
164    cartAttributesUpdate(cartId: $cartId, attributes: $attributes) {
165      cart {
166        ...CartFields
167      }
168      userErrors {
169        field
170        message
171      }
172    }
173  }
174`,l=`
175  ${a}
176  mutation CartDiscountCodesUpdate($cartId: ID!, $discountCodes: [String!]!) {
177    cartDiscountCodesUpdate(cartId: $cartId, discountCodes: $discountCodes) {
178      cart {
179        ...CartFields
180      }
181      userErrors {
182        field
183        message
184      }
185    }
186  }
187`,c=`
188  ${a}
189  query CartQuery($cartId: ID!) {
190    cart(id: $cartId) {
191      ...CartFields
192    }
193  }
194`;function m(t){let e=t.node,r=e.merchandise??{};return{id:e.id,merchandiseId:r.id??"",quantity:e.quantity,sellingPlanId:e.sellingPlanAllocation?.sellingPlan?.id,sellingPlanName:e.sellingPlanAllocation?.sellingPlan?.name,attributes:e.attributes??[],productTitle:r.product?.title,variantTitle:r.title,productHandle:r.product?.handle,productId:r.product?.id??void 0,sku:r.sku??void 0,image:r.image?{url:r.image.url,altText:r.image.altText??void 0}:void 0,productImageNew:function(t){if(!t)return;let e=t.reference?.image?.url;if("string"==typeof e&&e.length>0)return{url:e,altText:t.reference?.image?.altText??void 0};let r=t.value;if("string"==typeof r&&r.length>0&&(r.startsWith("http://")||r.startsWith("https://")))return{url:r}}(r.product?.productImageNew),compareAtPrice:r.compareAtPrice??void 0,cost:e.cost?{amountPerQuantity:e.cost.amountPerQuantity,totalAmount:e.cost.totalAmount,compareAtAmountPerQuantity:e.cost.compareAtAmountPerQuantity??void 0}:void 0,discountAllocations:(e.discountAllocations??[]).map(t=>({discountedAmount:t.discountedAmount,code:t.code??void 0,title:t.title??void 0}))}}function f(t){return{id:t.id,checkoutUrl:t.checkoutUrl,totalQuantity:t.totalQuantity,lines:(t.lines?.edges??[]).map(m),attributes:t.attributes??[],discountCodes:t.discountCodes??[],cost:{totalAmount:t.cost?.totalAmount??{amount:"0",currencyCode:"USD"},subtotalAmount:t.cost?.subtotalAmount??{amount:"0",currencyCode:"USD"}}}}function p(t,e){if(t&&t.length>0){let r=t.map(t=>t.message).join("; ");throw Error(`[cartClient] ${e}: ${r}`)}}function y(t){let e={merchandiseId:t.merchandiseId,quantity:t.quantity};return t.sellingPlanId&&(e.sellingPlanId=t.sellingPlanId),t.attributes?.length&&(e.attributes=t.attributes),e}async function g(t,e,r){let a=(0,n.K)(),o={};t?.length&&(o.lines=t.map(y)),e?.length&&(o.attributes=e),r?.length&&(o.discountCodes=r);let{data:s,errors:u}=await a.request(i,{variables:{input:o}});if(u)throw Error(`[cartClient] cartCreate network error: ${JSON.stringify(u)}`);return p(s?.cartCreate?.userErrors??[],"cartCreate"),f(s.cartCreate.cart)}async function C(t){let e=(0,n.K)(),{data:r,errors:a}=await e.request(c,{variables:{cartId:t}});if(a)throw Error(`[cartClient] fetchCart network error: ${JSON.stringify(a)}`);return r?.cart?f(r.cart):null}async function h(t,e){let r=(0,n.K)(),{data:a,errors:i}=await r.request(o,{variables:{cartId:t,lines:e.map(y)}});if(i)throw Error(`[cartClient] cartLinesAdd network error: ${JSON.stringify(i)}`);return p(a?.cartLinesAdd?.userErrors??[],"cartLinesAdd"),f(a.cartLinesAdd.cart)}async function I(t,e){let r=(0,n.K)(),{data:a,errors:i}=await r.request(s,{variables:{cartId:t,lines:e}});if(i)throw Error(`[cartClient] cartLinesUpdate network error: ${JSON.stringify(i)}`);return p(a?.cartLinesUpdate?.userErrors??[],"cartLinesUpdate"),f(a.cartLinesUpdate.cart)}async function v(t,e){let r=(0,n.K)(),{data:a,errors:i}=await r.request(u,{variables:{cartId:t,lineIds:e}});if(i)throw Error(`[cartClient] cartLinesRemove network error: ${JSON.stringify(i)}`);return p(a?.cartLinesRemove?.userErrors??[],"cartLinesRemove"),f(a.cartLinesRemove.cart)}async function A(t,e){let r=(0,n.K)(),{data:a,errors:i}=await r.request(d,{variables:{cartId:t,attributes:e}});if(i)throw Error(`[cartClient] cartAttributesUpdate network error: ${JSON.stringify(i)}`);return p(a?.cartAttributesUpdate?.userErrors??[],"cartAttributesUpdate"),f(a.cartAttributesUpdate.cart)}async function w(t,e){let r=(0,n.K)(),{data:a,errors:i}=await r.request(l,{variables:{cartId:t,discountCodes:e}});if(i)throw Error(`[cartClient] cartDiscountCodesUpdate network error: ${JSON.stringify(i)}`);return p(a?.cartDiscountCodesUpdate?.userErrors??[],"cartDiscountCodesUpdate"),f(a.cartDiscountCodesUpdate.cart)}},58150:(t,e,r)=>{r.d(e,{b:()=>$,O:()=>k});var n=r(98473),a=r(19513),i=r(82874),o=r(46037),s=r(65749),u=r(60873),d=r(15021),l=r(83737),c=r(81420),m=r(39512),f=r(10670),p=r(10220),y=r(55652),g=r(78286),C=r(44182),h=r(59864),I=r(3723),v=r(34358),A=r(88224),w=r(77030),b=r(3558);async function $(t){try{let{cartId:r,cart:n}=await T(),f={...t,variantId:(0,u.$Y)(t.variantId),sellingPlanId:t.sellingPlanId?(0,u.pg)(t.sellingPlanId):void 0},p=n;if((0,u.eI)(i.e)){let{lineIdsToRemove:t,linesToReAdd:e}=(0,u.im)(p.lines,i.e);t.length&&(await (0,a.removeCartLines)(r,t),p=await (0,a.addLinesToCart)(r,e))}let y=function(t){let e={merchandiseId:t.variantId,quantity:t.quantity};t.sellingPlanId&&(e.sellingPlanId=t.sellingPlanId);let r=[...t.lineAttributes??[]];return t.bmid&&r.push({key:"boa_member_id",value:t.bmid}),r.length&&(e.attributes=r),e}(f),{competingLineIds:$,hasConflict:k}=(0,d.CD)(p.lines,y);k&&(p=await (0,a.removeCartLines)(r,$));let{lineIdsToRemove:U,hasConflict:q}=(0,l.X)(p.lines,f.variantId,f.sku);
194q&&(p=await (0,a.removeCartLines)(r,U));let P=(0,s.lJ)(p.lines);P.lineIdsToRemove.length&&(p=await (0,a.removeCartLines)(r,P.lineIdsToRemove)),P.linesToUpdate.length&&(p=await (0,a.T5)(r,P.linesToUpdate));let D=(0,s.q5)(y.merchandiseId)?p.lines.filter(t=>(0,s.q5)(t.merchandiseId)).reduce((t,e)=>t+e.quantity,0):0,E=(0,s.lS)(y.merchandiseId,y.quantity,D);y.quantity=E;let _=(0,m.pB)(),N=(0,c.o9)(f.variantId,o.ef,f.sellingPlanId);if(N)for(let t of N.gifts){let e=(0,u.$Y)(t.variantId),n=p.lines.some(t=>(0,u.$Y)(t.merchandiseId)===e),i=_.has(e);n||i||(p=await (0,a.addLinesToCart)(r,[{merchandiseId:e,quantity:t.quantity??1,attributes:[{key:"_gift",value:"true"}]}]))}for(let t of(E>0&&(p=await (0,a.addLinesToCart)(r,[y])),(0,c.wq)(p.lines,o.ef,_)))(0,m.GE)(t),_.delete(t);let S=(0,c._2)(p.lines,o.cc);S.length&&(p=await (0,a.removeCartLines)(r,S));let{linesToAdd:x,lineIdsToRemove:R,hasDelta:O}=(0,c.Q4)(p.lines,o.ef,_);if(O&&(R.length&&(p=await (0,a.removeCartLines)(r,R)),x.length&&(p=await (0,a.addLinesToCart)(r,x))),p=await L(r,p,f.cartAttributes),f.discountCode&&(p=await (0,a.hG)(r,[f.discountCode])),E>0){var e={input:f,quantity:E,cartLines:p.lines};try{let{name:t,sku:r,price:n,productType:a,position:i}
194=function(t){let{input:e,cartLines:r}=t,n=function(t,e){if(!e?.length)return;let r=(0,w.U)(t);return e.find(t=>(0,w.U)(t.merchandiseId)===r)}(e.variantId,r),a=Number(n?.cost?.amountPerQuantity?.amount);return{name:n?.productTitle||e.productName||"",sku:n?.sku||e.sku||"",price:Number.isFinite(a)?a:e.price||0,productType:e.productType||"",position:e.source||window.location.pathname||""}}(e);(0,I.Dd)(C.bk.ADD_TO_CART,{eventName:C.bk.ADD_TO_CART,payload:{currency:"USD",lines:[{sku:r,name:t,value:n,quantity:e.quantity}]}});let o=(0,v.v)();(0,h.us)({event:A.B2.ADD_TO_CART,value:t,metadata:{"data-name":t,"data-sku":r,"data-price":String(n),"data-quantity":String(e.quantity),"data-position":i,"data-product-type":a,"data-utm-session-medium":o["source/medium"]||""}})}catch(t){}(0,g.j)({variantId:f.variantId,productName:f.productName??"",sku:f.sku,price:f.price,quantity:E,cartId:r}),(0,b.up)({variantId:f.variantId,productName:f.productName??"",sku:f.sku,price:f.price,quantity:E,cartId:r,productType:f.productType,sellingPlanId:f.sellingPlanId,currency:p.cost?.totalAmount?.currencyCode,discountCode:f.discountCode,cartLines:p.lines})}return{success:!0,cartId:r,checkoutUrl:p.checkoutUrl}}catch(t){return{success:!1,error:t instanceof Error?t.message:"An unexpected error occurred"}}}async function k(t={}){try{let e=(0,n.Cy)();if(!e)return{success:!1,error:"No active cart found. Please add a product first."};let r=await (0,a.Fy)(e);if(!r)return{success:!1,error:"Cart has expired. Please add a product again."};let i=(0,m.pB)();for(let t of(0,c.wq)(r.lines,o.ef,i))(0,m.GE)(t),i.delete(t);let s=(0,c._2)(r.lines,o.cc);s.length&&(r=await (0,a.removeCartLines)(e,s));let{linesToAdd:d,lineIdsToRemove:l,hasDelta:f}=(0,c.Q4)(r.lines,o.ef,i);f&&(l.length&&(r=await (0,a.removeCartLines)(e,l)),d.length&&(r=await (0,a.addLinesToCart)(e,d)));let p=[];for(let t of o.ef){let e=new Set(t.triggerVariantIds.map(u.$Y)),n=r.lines.find(t=>e.has((0,u.$Y)(t.merchandiseId)));if(!n)continue;let a=r.lines.indexOf(n);for(let e of t.gifts){let t=(0,u.$Y)(e.variantId),n=r.lines.find(e=>(0,u.$Y)(e.merchandiseId)===t);n&&r.lines.indexOf(n)<a&&p.push(n.id)}}if(p.length){let t=r.lines.filter(t=>p.includes(t.id)).map(t=>({merchandiseId:t.merchandiseId,quantity:t.quantity,attributes:t.attributes}));r=await (0,a.removeCartLines)(e,p),r=await (0,a.addLinesToCart)(e,t)}return r=await L(e,r),t.discountCode&&(r=await (0,a.hG)(e,[t.discountCode])),{success:!0,checkoutUrl:r.checkoutUrl}}catch(t){return{success:!1,error:t instanceof Error?t.message:"An unexpected error occurred"}}}async function L(t,e,r){let n=(0,p.B7)(e.attributes??[],e.lines),i=(0,p.fg)((0,p.K5)((0,f.qW)(n,(0,f.yd)(),r),e.lines),e.lines),o=e;return i.length&&(o=await (0,a.HI)(t,i)),(0,y.hL)(t,o)}async function T(){let t=(0,n.Cy)();if(t){let e=await (0,a.Fy)(t);if(e)return{cartId:t,cart:e}}let e=await (0,a.zA)();return(0,n.Om)(e.id),{cartId:e.id,cart:e}}},98473:(t,e,r)=>{r.d(e,{Cy:()=>i,JQ:()=>s,Om:()=>o});let n="_viome_cart",a="viome_cart_id";function i(){let t=function(t){if("undefined"==typeof document)return null;let e=document.cookie.match(RegExp(`(?:^|; )${t}=([^;]*)`));return e?decodeURIComponent(e[1]):null}(n);if(t)return t;try{return localStorage.getItem(a)}catch{return null}}function o(t){!function(t,e,r){if("undefined"==typeof document)return;let n=new Date(Date.now()+12096e5).toUTCString();document.cookie=`${t}=${encodeURIComponent(e)}; expires=${n}; path=/; SameSite=Lax`}(n,t,0);try{localStorage.setItem(a,t)}catch{}}function s(){"undefined"!=typeof document&&(document.cookie=`${n}=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/`);try{localStorage.removeItem(a)}catch{}}}}]);

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.