liferay-headless-rest-client
Version:
A collection of Headless Clients used in Liferay Portal
2 lines (1 loc) • 7.78 kB
JavaScript
var b=async(F,V)=>{let G=typeof V=="function"?await V(F):V;if(G)return F.scheme==="bearer"?`Bearer ${G}`:F.scheme==="basic"?`Basic ${btoa(G)}`:G},I=(F,V,G)=>{typeof G=="string"||G instanceof Blob?F.append(V,G):F.append(V,JSON.stringify(G))};var T={bodySerializer:(F)=>{let V=new FormData;return Object.entries(F).forEach(([G,k])=>{k!=null&&(Array.isArray(k)?k.forEach((Z)=>I(V,G,Z)):I(V,G,k))}),V}},m={bodySerializer:(F)=>JSON.stringify(F,(V,G)=>typeof G=="bigint"?G.toString():G)};var _=(F)=>{switch(F){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},w=(F)=>{switch(F){case"form":return",";case"pipeDelimited":return"|";case"spaceDelimited":return"%20";default:return","}},A=(F)=>{switch(F){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},U=({allowReserved:F,explode:V,name:G,style:k,value:Z})=>{if(!V){let K=(F?Z:Z.map((H)=>encodeURIComponent(H))).join(w(k));switch(k){case"label":return`.${K}`;case"matrix":return`;${G}=${K}`;case"simple":return K;default:return`${G}=${K}`}}let E=_(k),X=Z.map((K)=>k==="label"||k==="simple"?F?K:encodeURIComponent(K):v({allowReserved:F,name:G,value:K})).join(E);return k==="label"||k==="matrix"?E+X:X},v=({allowReserved:F,name:V,value:G})=>{if(G==null)return"";if(typeof G=="object")throw new Error("Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.");return`${V}=${F?G:encodeURIComponent(G)}`},x=({allowReserved:F,explode:V,name:G,style:k,value:Z})=>{if(Z instanceof Date)return`${G}=${Z.toISOString()}`;if(k!=="deepObject"&&!V){let K=[];Object.entries(Z).forEach(([Q,M])=>{K=[...K,Q,F?M:encodeURIComponent(M)]});let H=K.join(",");switch(k){case"form":return`${G}=${H}`;case"label":return`.${H}`;case"matrix":return`;${G}=${H}`;default:return H}}let E=A(k),X=Object.entries(Z).map(([K,H])=>v({allowReserved:F,name:k==="deepObject"?`${G}[${K}]`:K,value:H})).join(E);return k==="label"||k==="matrix"?E+X:X},g=/\{[^{}]+\}/g,C=({path:F,url:V})=>{let G=V,k=V.match(g);if(k)for(let Z of k){let E=!1,X=Z.substring(1,Z.length-1),K="simple";X.endsWith("*")&&(E=!0,X=X.substring(0,X.length-1)),X.startsWith(".")?(X=X.substring(1),K="label"):X.startsWith(";")&&(X=X.substring(1),K="matrix");let H=F[X];if(H==null)continue;if(Array.isArray(H)){G=G.replace(Z,U({explode:E,name:X,style:K,value:H}));continue}if(typeof H=="object"){G=G.replace(Z,x({explode:E,name:X,style:K,value:H}));continue}if(K==="matrix"){G=G.replace(Z,`;${v({name:X,value:H})}`);continue}let Q=encodeURIComponent(K==="label"?`.${H}`:H);G=G.replace(Z,Q)}return G},R=({allowReserved:F,array:V,object:G}={})=>(k)=>{let Z=[];if(k&&typeof k=="object")for(let E in k){let X=k[E];if(X!=null)if(Array.isArray(X)){let K=U({allowReserved:F,explode:!0,name:E,style:"form",value:X,...V});K&&Z.push(K)}else if(typeof X=="object"){let K=x({allowReserved:F,explode:!0,name:E,style:"deepObject",value:X,...G});K&&Z.push(K)}else{let K=v({allowReserved:F,name:E,value:X});K&&Z.push(K)}}return Z.join("&")},f=(F)=>{if(!F)return"stream";let V=F.split(";")[0]?.trim();if(V){if(V.startsWith("application/json")||V.endsWith("+json"))return"json";if(V==="multipart/form-data")return"formData";if(["application/","audio/","image/","video/"].some((G)=>V.startsWith(G)))return"blob";if(V.startsWith("text/"))return"text"}},d=async({security:F,...V})=>{for(let G of F){let k=await b(G,V.auth);if(!k)continue;let Z=G.name??"Authorization";switch(G.in){case"query":V.query||(V.query={}),V.query[Z]=k;break;case"cookie":V.headers.append("Cookie",`${Z}=${k}`);break;case"header":default:V.headers.set(Z,k);break}return}},N=(F)=>y({baseUrl:F.baseUrl,path:F.path,query:F.query,querySerializer:typeof F.querySerializer=="function"?F.querySerializer:R(F.querySerializer),url:F.url}),y=({baseUrl:F,path:V,query:G,querySerializer:k,url:Z})=>{let E=Z.startsWith("/")?Z:`/${Z}`,X=(F??"")+E;V&&(X=C({path:V,url:X}));let K=G?k(G):"";return K.startsWith("?")&&(K=K.substring(1)),K&&(X+=`?${K}`),X},O=(F,V)=>{let G={...F,...V};return G.baseUrl?.endsWith("/")&&(G.baseUrl=G.baseUrl.substring(0,G.baseUrl.length-1)),G.headers=S(F.headers,V.headers),G},S=(...F)=>{let V=new Headers;for(let G of F){if(!G||typeof G!="object")continue;let k=G instanceof Headers?G.entries():Object.entries(G);for(let[Z,E]of k)if(E===null)V.delete(Z);else if(Array.isArray(E))for(let X of E)V.append(Z,X);else E!==void 0&&V.set(Z,typeof E=="object"?JSON.stringify(E):E)}return V},B=class{_fns;constructor(){this._fns=[]}clear(){this._fns=[]}getInterceptorIndex(F){return typeof F=="number"?this._fns[F]?F:-1:this._fns.indexOf(F)}exists(F){let V=this.getInterceptorIndex(F);return!!this._fns[V]}eject(F){let V=this.getInterceptorIndex(F);this._fns[V]&&(this._fns[V]=null)}update(F,V){let G=this.getInterceptorIndex(F);return this._fns[G]?(this._fns[G]=V,F):!1}use(F){return this._fns=[...this._fns,F],this._fns.length-1}},h=()=>({error:new B,request:new B,response:new B}),u=R({allowReserved:!1,array:{explode:!0,style:"form"},object:{explode:!0,style:"deepObject"}}),c={"Content-Type":"application/json"},D=(F={})=>({...m,headers:c,parseAs:"auto",querySerializer:u,...F}),j=(F={})=>{let V=O(D(),F),G=()=>({...V}),k=(X)=>(V=O(V,X),G()),Z=h(),E=async(X)=>{let K={...V,...X,fetch:X.fetch??V.fetch??globalThis.fetch,headers:S(V.headers,X.headers)};K.security&&await d({...K,security:K.security}),K.body&&K.bodySerializer&&(K.body=K.bodySerializer(K.body)),(K.body===void 0||K.body==="")&&K.headers.delete("Content-Type");let H=N(K),Q={redirect:"follow",...K},M=new Request(H,Q);for(let L of Z.request._fns)L&&(M=await L(M,K));let z=K.fetch,J=await z(M);for(let L of Z.response._fns)L&&(J=await L(J,M,K));let $={request:M,response:J};if(J.ok){if(J.status===204||J.headers.get("Content-Length")==="0")return K.responseStyle==="data"?{}:{data:{},...$};let L=(K.parseAs==="auto"?f(J.headers.get("Content-Type")):K.parseAs)??"json";if(L==="stream")return K.responseStyle==="data"?J.body:{data:J.body,...$};let Y=await J[L]();return L==="json"&&(K.responseValidator&&await K.responseValidator(Y),K.responseTransformer&&(Y=await K.responseTransformer(Y))),K.responseStyle==="data"?Y:{data:Y,...$}}let q=await J.text();try{q=JSON.parse(q)}catch{}let W=q;for(let L of Z.error._fns)L&&(W=await L(q,J,M,K));if(W=W||{},K.throwOnError)throw W;return K.responseStyle==="data"?void 0:{error:W,...$}};return{buildUrl:N,connect:(X)=>E({...X,method:"CONNECT"}),delete:(X)=>E({...X,method:"DELETE"}),get:(X)=>E({...X,method:"GET"}),getConfig:G,head:(X)=>E({...X,method:"HEAD"}),interceptors:Z,options:(X)=>E({...X,method:"OPTIONS"}),patch:(X)=>E({...X,method:"PATCH"}),post:(X)=>E({...X,method:"POST"}),put:(X)=>E({...X,method:"PUT"}),request:E,setConfig:k,trace:(X)=>E({...X,method:"TRACE"})}};var P=j(D({baseUrl:"http://localhost:8080"}));var s=(F)=>{return(F.client??P).delete({url:"/o/headless-site/v1.0/sites/{siteId}",...F})},t=(F)=>{return(F.client??P).delete({url:"/o/headless-site/v1.0/sites/by-external-reference-code/{externalReferenceCode}",...F})},i=(F)=>{return(F.client??P).get({url:"/o/headless-site/v1.0/sites/by-external-reference-code/{externalReferenceCode}",...F})},e=(F)=>{return(F.client??P).put({...T,url:"/o/headless-site/v1.0/sites/by-external-reference-code/{externalReferenceCode}",...F,headers:{"Content-Type":null,...F.headers}})},FF=(F)=>{return(F.client??P).get({url:"/o/headless-site/v1.0/sites/by-external-reference-code/{externalReferenceCode}/site-initializer",...F})},GF=(F)=>{return(F?.client??P).post({url:"/o/headless-site/v1.0/sites",...F,headers:{"Content-Type":"application/json",...F?.headers}})};export{e as putSiteByExternalReferenceCode,GF as postSite1,FF as getSiteByExternalReferenceCodeSiteInitializer,i as getSiteByExternalReferenceCode,t as deleteSiteByExternalReferenceCode,s as deleteSite};