liferay-headless-rest-client
Version:
A collection of Headless Clients used in Liferay Portal
2 lines (1 loc) • 8.09 kB
JavaScript
var m=async(F,X)=>{let G=typeof X=="function"?await X(F):X;if(G)return F.scheme==="bearer"?`Bearer ${G}`:F.scheme==="basic"?`Basic ${btoa(G)}`:G},U=(F,X,G)=>{typeof G=="string"||G instanceof Blob?F.append(X,G):F.append(X,JSON.stringify(G))};var D={bodySerializer:(F)=>{let X=new FormData;return Object.entries(F).forEach(([G,E])=>{E!=null&&(Array.isArray(E)?E.forEach((k)=>U(X,G,k)):U(X,G,E))}),X}},w={bodySerializer:(F)=>JSON.stringify(F,(X,G)=>typeof G=="bigint"?G.toString():G)};var b=(F)=>{switch(F){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},_=(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"&"}},R=({allowReserved:F,explode:X,name:G,style:E,value:k})=>{if(!X){let V=(F?k:k.map((J)=>encodeURIComponent(J))).join(_(E));switch(E){case"label":return`.${V}`;case"matrix":return`;${G}=${V}`;case"simple":return V;default:return`${G}=${V}`}}let H=b(E),Z=k.map((V)=>E==="label"||E==="simple"?F?V:encodeURIComponent(V):I({allowReserved:F,name:G,value:V})).join(H);return E==="label"||E==="matrix"?H+Z:Z},I=({allowReserved:F,name:X,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`${X}=${F?G:encodeURIComponent(G)}`},T=({allowReserved:F,explode:X,name:G,style:E,value:k})=>{if(k instanceof Date)return`${G}=${k.toISOString()}`;if(E!=="deepObject"&&!X){let V=[];Object.entries(k).forEach(([Q,P])=>{V=[...V,Q,F?P:encodeURIComponent(P)]});let J=V.join(",");switch(E){case"form":return`${G}=${J}`;case"label":return`.${J}`;case"matrix":return`;${G}=${J}`;default:return J}}let H=A(E),Z=Object.entries(k).map(([V,J])=>I({allowReserved:F,name:E==="deepObject"?`${G}[${V}]`:V,value:J})).join(H);return E==="label"||E==="matrix"?H+Z:Z},g=/\{[^{}]+\}/g,d=({path:F,url:X})=>{let G=X,E=X.match(g);if(E)for(let k of E){let H=!1,Z=k.substring(1,k.length-1),V="simple";Z.endsWith("*")&&(H=!0,Z=Z.substring(0,Z.length-1)),Z.startsWith(".")?(Z=Z.substring(1),V="label"):Z.startsWith(";")&&(Z=Z.substring(1),V="matrix");let J=F[Z];if(J==null)continue;if(Array.isArray(J)){G=G.replace(k,R({explode:H,name:Z,style:V,value:J}));continue}if(typeof J=="object"){G=G.replace(k,T({explode:H,name:Z,style:V,value:J}));continue}if(V==="matrix"){G=G.replace(k,`;${I({name:Z,value:J})}`);continue}let Q=encodeURIComponent(V==="label"?`.${J}`:J);G=G.replace(k,Q)}return G},v=({allowReserved:F,array:X,object:G}={})=>(E)=>{let k=[];if(E&&typeof E=="object")for(let H in E){let Z=E[H];if(Z!=null)if(Array.isArray(Z)){let V=R({allowReserved:F,explode:!0,name:H,style:"form",value:Z,...X});V&&k.push(V)}else if(typeof Z=="object"){let V=T({allowReserved:F,explode:!0,name:H,style:"deepObject",value:Z,...G});V&&k.push(V)}else{let V=I({allowReserved:F,name:H,value:Z});V&&k.push(V)}}return k.join("&")},C=(F)=>{if(!F)return"stream";let X=F.split(";")[0]?.trim();if(X){if(X.startsWith("application/json")||X.endsWith("+json"))return"json";if(X==="multipart/form-data")return"formData";if(["application/","audio/","image/","video/"].some((G)=>X.startsWith(G)))return"blob";if(X.startsWith("text/"))return"text"}},f=async({security:F,...X})=>{for(let G of F){let E=await m(G,X.auth);if(!E)continue;let k=G.name??"Authorization";switch(G.in){case"query":X.query||(X.query={}),X.query[k]=E;break;case"cookie":X.headers.append("Cookie",`${k}=${E}`);break;case"header":default:X.headers.set(k,E);break}return}},Y=(F)=>y({baseUrl:F.baseUrl,path:F.path,query:F.query,querySerializer:typeof F.querySerializer=="function"?F.querySerializer:v(F.querySerializer),url:F.url}),y=({baseUrl:F,path:X,query:G,querySerializer:E,url:k})=>{let H=k.startsWith("/")?k:`/${k}`,Z=(F??"")+H;X&&(Z=d({path:X,url:Z}));let V=G?E(G):"";return V.startsWith("?")&&(V=V.substring(1)),V&&(Z+=`?${V}`),Z},x=(F,X)=>{let G={...F,...X};return G.baseUrl?.endsWith("/")&&(G.baseUrl=G.baseUrl.substring(0,G.baseUrl.length-1)),G.headers=S(F.headers,X.headers),G},S=(...F)=>{let X=new Headers;for(let G of F){if(!G||typeof G!="object")continue;let E=G instanceof Headers?G.entries():Object.entries(G);for(let[k,H]of E)if(H===null)X.delete(k);else if(Array.isArray(H))for(let Z of H)X.append(k,Z);else H!==void 0&&X.set(k,typeof H=="object"?JSON.stringify(H):H)}return X},N=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 X=this.getInterceptorIndex(F);return!!this._fns[X]}eject(F){let X=this.getInterceptorIndex(F);this._fns[X]&&(this._fns[X]=null)}update(F,X){let G=this.getInterceptorIndex(F);return this._fns[G]?(this._fns[G]=X,F):!1}use(F){return this._fns=[...this._fns,F],this._fns.length-1}},h=()=>({error:new N,request:new N,response:new N}),u=v({allowReserved:!1,array:{explode:!0,style:"form"},object:{explode:!0,style:"deepObject"}}),c={"Content-Type":"application/json"},O=(F={})=>({...w,headers:c,parseAs:"auto",querySerializer:u,...F}),j=(F={})=>{let X=x(O(),F),G=()=>({...X}),E=(Z)=>(X=x(X,Z),G()),k=h(),H=async(Z)=>{let V={...X,...Z,fetch:Z.fetch??X.fetch??globalThis.fetch,headers:S(X.headers,Z.headers)};V.security&&await f({...V,security:V.security}),V.body&&V.bodySerializer&&(V.body=V.bodySerializer(V.body)),(V.body===void 0||V.body==="")&&V.headers.delete("Content-Type");let J=Y(V),Q={redirect:"follow",...V},P=new Request(J,Q);for(let L of k.request._fns)L&&(P=await L(P,V));let z=V.fetch,K=await z(P);for(let L of k.response._fns)L&&(K=await L(K,P,V));let q={request:P,response:K};if(K.ok){if(K.status===204||K.headers.get("Content-Length")==="0")return V.responseStyle==="data"?{}:{data:{},...q};let L=(V.parseAs==="auto"?C(K.headers.get("Content-Type")):V.parseAs)??"json";if(L==="stream")return V.responseStyle==="data"?K.body:{data:K.body,...q};let $=await K[L]();return L==="json"&&(V.responseValidator&&await V.responseValidator($),V.responseTransformer&&($=await V.responseTransformer($))),V.responseStyle==="data"?$:{data:$,...q}}let B=await K.text();try{B=JSON.parse(B)}catch{}let W=B;for(let L of k.error._fns)L&&(W=await L(B,K,P,V));if(W=W||{},V.throwOnError)throw W;return V.responseStyle==="data"?void 0:{error:W,...q}};return{buildUrl:Y,connect:(Z)=>H({...Z,method:"CONNECT"}),delete:(Z)=>H({...Z,method:"DELETE"}),get:(Z)=>H({...Z,method:"GET"}),getConfig:G,head:(Z)=>H({...Z,method:"HEAD"}),interceptors:k,options:(Z)=>H({...Z,method:"OPTIONS"}),patch:(Z)=>H({...Z,method:"PATCH"}),post:(Z)=>H({...Z,method:"POST"}),put:(Z)=>H({...Z,method:"PUT"}),request:H,setConfig:E,trace:(Z)=>H({...Z,method:"TRACE"})}};var M=j(O({baseUrl:"http://localhost:8080"}));var o=(F)=>{return(F?.client??M).delete({url:"/o/language/v1.0/messages",...F})},i=(F)=>{return(F?.client??M).get({url:"/o/language/v1.0/messages",...F})},t=(F)=>{return(F?.client??M).post({url:"/o/language/v1.0/messages",...F,headers:{"Content-Type":"application/json",...F?.headers}})},e=(F)=>{return(F?.client??M).put({url:"/o/language/v1.0/messages",...F,headers:{"Content-Type":"application/json",...F?.headers}})},FF=(F)=>{return(F?.client??M).delete({url:"/o/language/v1.0/messages/batch",...F,headers:{"Content-Type":"application/json",...F?.headers}})},GF=(F)=>{return(F?.client??M).post({url:"/o/language/v1.0/messages/batch",...F,headers:{"Content-Type":"application/json",...F?.headers}})},VF=(F)=>{return(F?.client??M).put({url:"/o/language/v1.0/messages/batch",...F,headers:{"Content-Type":"application/json",...F?.headers}})},XF=(F)=>{return(F?.client??M).post({...D,url:"/o/language/v1.0/messages/import",...F,headers:{"Content-Type":null,...F?.headers}})},ZF=(F)=>{return(F?.client??M).post({url:"/o/language/v1.0/messages/export",...F,headers:{"Content-Type":"application/json",...F?.headers}})};export{VF as putMessageBatch,e as putMessage,ZF as postMessagesExportPage,XF as postMessageImport,GF as postMessageBatch,t as postMessage,i as getMessage,FF as deleteMessageBatch,o as deleteMessage};