UNPKG

@venuecms/sdk-next

Version:

This is a work in progress and is heavily in flux until we launch 1.0 in February.

3 lines 7.9 kB
"use client"; var T=/\{[^{}]+\}/g,b=({allowReserved:e,name:a,value:t})=>{if(t==null)return"";if(typeof t=="object")throw new Error("Deeply-nested arrays/objects aren\u2019t supported. Provide your own `querySerializer()` to handle these.");return`${a}=${e?t:encodeURIComponent(t)}`},U=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},z=e=>{switch(e){case"form":return",";case"pipeDelimited":return"|";case"spaceDelimited":return"%20";default:return","}},R=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},q=({allowReserved:e,explode:a,name:t,style:l,value:s})=>{if(!a){let i=(e?s:s.map(o=>encodeURIComponent(o))).join(z(l));switch(l){case"label":return`.${i}`;case"matrix":return`;${t}=${i}`;case"simple":return i;default:return`${t}=${i}`}}let n=U(l),r=s.map(i=>l==="label"||l==="simple"?e?i:encodeURIComponent(i):b({allowReserved:e,name:t,value:i})).join(n);return l==="label"||l==="matrix"?n+r:r},x=({allowReserved:e,explode:a,name:t,style:l,value:s})=>{if(s instanceof Date)return`${t}=${s.toISOString()}`;if(l!=="deepObject"&&!a){let i=[];Object.entries(s).forEach(([y,p])=>{i=[...i,y,e?p:encodeURIComponent(p)]});let o=i.join(",");switch(l){case"form":return`${t}=${o}`;case"label":return`.${o}`;case"matrix":return`;${t}=${o}`;default:return o}}let n=R(l),r=Object.entries(s).map(([i,o])=>b({allowReserved:e,name:l==="deepObject"?`${t}[${i}]`:i,value:o})).join(n);return l==="label"||l==="matrix"?n+r:r},_=({path:e,url:a})=>{let t=a,l=a.match(T);if(l)for(let s of l){let n=!1,r=s.substring(1,s.length-1),i="simple";r.endsWith("*")&&(n=!0,r=r.substring(0,r.length-1)),r.startsWith(".")?(r=r.substring(1),i="label"):r.startsWith(";")&&(r=r.substring(1),i="matrix");let o=e[r];if(o==null)continue;if(Array.isArray(o)){t=t.replace(s,q({explode:n,name:r,style:i,value:o}));continue}if(typeof o=="object"){t=t.replace(s,x({explode:n,name:r,style:i,value:o}));continue}if(i==="matrix"){t=t.replace(s,`;${b({name:r,value:o})}`);continue}let y=encodeURIComponent(i==="label"?`.${o}`:o);t=t.replace(s,y)}return t},C=({allowReserved:e,array:a,object:t}={})=>l=>{let s=[];if(l&&typeof l=="object")for(let n in l){let r=l[n];if(r!=null){if(Array.isArray(r)){s=[...s,q({allowReserved:e,explode:!0,name:n,style:"form",value:r,...a})];continue}if(typeof r=="object"){s=[...s,x({allowReserved:e,explode:!0,name:n,style:"deepObject",value:r,...t})];continue}s=[...s,b({allowReserved:e,name:n,value:r})]}}return s.join("&")},D=e=>{if(!e)return;let a=e.split(";")[0]?.trim();if(a){if(a.startsWith("application/json")||a.endsWith("+json"))return"json";if(a==="multipart/form-data")return"formData";if(["application/","audio/","image/","video/"].some(t=>a.startsWith(t)))return"blob";if(a.startsWith("text/"))return"text"}},N=async(e,a)=>{if(e.fn==="accessToken"){let t=typeof a.accessToken=="function"?await a.accessToken():a.accessToken;return t?`Bearer ${t}`:void 0}if(e.fn==="apiKey")return typeof a.apiKey=="function"?await a.apiKey():a.apiKey},W=async({security:e,...a})=>{for(let t of e){let l=await N(t,a);if(l){t.in==="header"?a.headers.set(t.name,l):t.in==="query"&&(a.query||(a.query={}),a.query[t.name]=l);return}}},E=e=>I({baseUrl:e.baseUrl??"",path:e.path,query:e.query,querySerializer:typeof e.querySerializer=="function"?e.querySerializer:C(e.querySerializer),url:e.url}),I=({baseUrl:e,path:a,query:t,querySerializer:l,url:s})=>{let n=s.startsWith("/")?s:`/${s}`,r=e+n;a&&(r=_({path:a,url:r}));let i=t?l(t):"";return i.startsWith("?")&&(i=i.substring(1)),i&&(r+=`?${i}`),r},P=(e,a)=>{let t={...e,...a};return t.baseUrl?.endsWith("/")&&(t.baseUrl=t.baseUrl.substring(0,t.baseUrl.length-1)),t.headers=O(e.headers,a.headers),t},O=(...e)=>{let a=new Headers;for(let t of e){if(!t||typeof t!="object")continue;let l=t instanceof Headers?t.entries():Object.entries(t);for(let[s,n]of l)if(n===null)a.delete(s);else if(Array.isArray(n))for(let r of n)a.append(s,r);else n!==void 0&&a.set(s,typeof n=="object"?JSON.stringify(n):n)}return a},w=class{_fns;constructor(){this._fns=[]}clear(){this._fns=[]}exists(e){return this._fns.indexOf(e)!==-1}eject(e){let a=this._fns.indexOf(e);a!==-1&&(this._fns=[...this._fns.slice(0,a),...this._fns.slice(a+1)])}use(e){this._fns=[...this._fns,e]}},B=()=>({error:new w,request:new w,response:new w});var L={bodySerializer:e=>JSON.stringify(e)};var k=C({allowReserved:!1,array:{explode:!0,style:"form"},object:{explode:!0,style:"deepObject"}}),H={"Content-Type":"application/json"},S=(e={})=>({...L,baseUrl:"",headers:H,parseAs:"auto",querySerializer:k,...e}),K=(e={})=>{let a=P(S(),e),t=()=>({...a}),l=r=>(a=P(a,r),t()),s=B(),n=async r=>{let i={...a,...r,fetch:r.fetch??a.fetch??globalThis.fetch,headers:O(a.headers,r.headers)};i.security&&await W({...i,security:i.security}),i.body&&i.bodySerializer&&(i.body=i.bodySerializer(i.body)),i.body||i.headers.delete("Content-Type");let o=E(i),y={redirect:"follow",...i},p=new Request(o,y);for(let d of s.request._fns)p=await d(p,i);let A=i.fetch,f=await A(p);for(let d of s.response._fns)f=await d(f,p,i);let g={request:p,response:f};if(f.ok){if(f.status===204||f.headers.get("Content-Length")==="0")return{data:{},...g};if(i.parseAs==="stream")return{data:f.body,...g};let d=(i.parseAs==="auto"?D(f.headers.get("Content-Type")):i.parseAs)??"json",m=await f[d]();return d==="json"&&(i.responseValidator&&await i.responseValidator(m),i.responseTransformer&&(m=await i.responseTransformer(m))),{data:m,...g}}let v=await f.text();try{v=JSON.parse(v)}catch{}let h=v;for(let d of s.error._fns)h=await d(v,f,p,i);if(h=h||{},i.throwOnError)throw h;return{error:h,...g}};return{buildUrl:E,connect:r=>n({...r,method:"CONNECT"}),delete:r=>n({...r,method:"DELETE"}),get:r=>n({...r,method:"GET"}),getConfig:t,head:r=>n({...r,method:"HEAD"}),interceptors:s,options:r=>n({...r,method:"OPTIONS"}),patch:r=>n({...r,method:"PATCH"}),post:r=>n({...r,method:"POST"}),put:r=>n({...r,method:"PUT"}),request:n,setConfig:l,trace:r=>n({...r,method:"TRACE"})}};var le=(e,a)=>{let t=a;return{content:e?.find(n=>n.locale===t)??e?.[0]??{},currentLocale:t}},u=K(S()),J=e=>(e?.client??u).get({...e,url:"/api/v2/{siteKey}/public/site"}),V=e=>(e?.client??u).get({...e,url:"/api/v2/{siteKey}/public/events"}),Y=e=>(e?.client??u).get({...e,url:"/api/v2/{siteKey}/public/events/{slug}"}),F=e=>(e?.client??u).get({...e,url:"/api/v2/{siteKey}/public/pages"}),G=e=>(e?.client??u).get({...e,url:"/api/v2/{siteKey}/public/pages/{slug}"}),Q=e=>(e?.client??u).get({...e,url:"/api/v2/{siteKey}/public/profiles"}),M=e=>(e?.client??u).get({...e,url:"/api/v2/{siteKey}/public/profiles/{slug}"}),X=e=>(e?.client??u).get({...e,url:"/api/v2/{siteKey}/public/profiles/{slug}/events"}),Z=e=>(e?.client??u).get({...e,url:"/api/v2/{siteKey}/public/products"}),ee=e=>(e?.client??u).get({...e,url:"/api/v2/{siteKey}/public/products/{slug}"}),te=e=>(e?.client??u).get({...e,url:"/api/v2/{siteKey}/public/search"}),re=e=>(e?.client??u).get({...e,url:"/api/v2/{siteKey}/public/domain/{domain}"}),c=process.env.VENUE_SITE_KEY,ae=process.env.VENUE_API_KEY,j={Authorization:`Bearer ${ae}`},ie="https://app.venuecms.com",$={baseUrl:ie,headers:j};u.setConfig($);var ue=e=>{c=e.siteKey,u.setConfig({...$,...e.options})},ce=()=>J({path:{siteKey:c},headers:j}),fe=({domain:e})=>re({path:{siteKey:"-",domain:e},headers:j}),pe=(e={})=>V({path:{siteKey:c},query:e}),de=e=>Y({path:{...e,siteKey:c}}),ye=(e={})=>F({path:{siteKey:c},query:e}),he=e=>G({path:{...e,siteKey:c}}),ge=(e={})=>Q({path:{siteKey:c},query:e}),ve=e=>M({path:{...e,siteKey:c}}),me=e=>{let{slug:a,...t}=e;return X({path:{slug:a,siteKey:c},query:t})},be=e=>Z({path:{siteKey:c},query:e}),we=e=>ee({path:{...e,siteKey:c}}),Se=e=>te({path:{siteKey:c},query:e});export{le as a,ue as b,ce as c,fe as d,pe as e,de as f,ye as g,he as h,ge as i,ve as j,me as k,be as l,we as m,Se as n}; //# sourceMappingURL=chunk-FYEJBDO3.mjs.map