1import{S as e,y as t}from"./phone-lJ-RIB1n.js";import{n}from"./format-DNYWnKQB.js";import{r}from"./postal-HqcpNnIK.js";import{n as i}from"./client-DVSqKt4u.js";import"./supabase-TKbh2EQb.js";function a(){return{countryCode:t(),stateName:``,city:``,postalCode:``}}function o(t,n={}){let{requirePostal:i=!0,requireState:a=!0}=n;if(!t.city?.trim()||t.city.trim().length<2)return`Select or enter a valid city.`;if(a&&(!t.stateName?.trim()||t.stateName.trim().length<2))return`Select or enter a valid state or region.`;let o=e(t.countryCode);if(!o)return`Select a country.`;if(i){let e=r(o,t.postalCode??``);if(e)return e}return null}function s(t){return{city:t.city.trim(),state:t.stateName.trim(),country:e(t.countryCode),postal_code:t.postalCode?.trim()??``}}function c(e){return n({city:e.city??``,state:e.state??``,country:e.country??``,postal_code:e.postal_code??``})}function l(e){if(!e)return null;let t=Array.isArray(e)?e[0]:e;return!t||typeof t!=`object`?null:t}async function u(e){let{data:t,error:n}=await i.from(`shops`).select(`shop_address:addresses!shops_shop_address_id_fkey(address_line_1, address_line_2, city, state, country, postal_code)`).eq(`id`,e).maybeSingle();return n?{address:null,error:n.message}:{address:l(t?.shop_address)??null,error:null}}async function d(e,t,n){let r=n.address_line_1.trim();if(r.length<3)return{address:null,error:`Enter a valid street address (at least 3 characters).`};let a=o(n,{requirePostal:!0});if(a)return{address:null,error:a};let c=s(n),{data:l,error:d}=await i.from(`shops`).select(`shop_address_id`).eq(`id`,e).eq(`user_id`,t).maybeSingle();if(d||!l)return{address:null,error:d?.message??`Shop not found.`};let f={address_line_1:r,address_line_2:n.address_line_2?.trim()||null,city:c.city,state:c.state,country:c.country,postal_code:c.postal_code,address_type:`shop`,address_label:`Shop`,is_default:!1};if(l.shop_address_id){let{error:e}=await i.from(`addresses`).update(f).eq(`id`,l.shop_address_id).eq(`user_id`,t);if(e)return{address:null,error:e.message}}else{let{data:n,error:r}=await i.from(`addresses`).insert({...f,user_id:t}).select(`id`).single();if(r||!n)return{address:null,error:r?.message??`Could not save shop address.`};let{error:a}=await i.from(`shops`).update({shop_address_id:n.id}).eq(`id`,e).eq(`user_id`,t);if(a)return{address:null,error:a.message}}return u(e)}export{c as a,a as i,l as n,o,d as r,u as t};
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.