@opra/client 0.31.9 → 0.31.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/browser.js CHANGED
@@ -3,6 +3,6 @@
3
3
  * http://www.panates.com
4
4
  *****************************************/
5
5
 
6
- var ae=Object.defineProperty,he=Object.defineProperties;var de=Object.getOwnPropertyDescriptors;var re=Object.getOwnPropertySymbols;var me=Object.prototype.hasOwnProperty,ne=Object.prototype.propertyIsEnumerable;var te=(h,r,e)=>r in h?ae(h,r,{enumerable:!0,configurable:!0,writable:!0,value:e}):h[r]=e,b=(h,r)=>{for(var e in r||(r={}))me.call(r,e)&&te(h,e,r[e]);if(re)for(var e of re(r))ne.call(r,e)&&te(h,e,r[e]);return h},k=(h,r)=>he(h,de(r)),l=(h,r)=>ae(h,"name",{value:r,configurable:!0});var G=class G{constructor(r){this.api=r==null?void 0:r.api}};l(G,"Backend");var p=G;var fe=Symbol.for("kClient"),n=Symbol.for("kBackend"),u=Symbol.for("kContext");var M=class M{constructor(r){Object.defineProperty(this,n,{enumerable:!1,value:r})}};l(M,"ClientBase");var j=M;var z=class z extends Error{constructor(r,e){super(r.message),this.cause=e,this.issues=r.issues||[],this.status=r.status,e&&(this.cause=e,e.stack&&(this.stack=e.stack))}};l(z,"ClientError");var S=z;import{Observable as ue}from"rxjs";import{isReadableStreamLike as ie}from"rxjs/internal/util/isReadableStreamLike";import I from"@browsery/type-is";import{isBlob as oe,isFormData as ye,OpraURL as be}from"@opra/common";var F=class F extends p{constructor(r,e){super(e),this.serviceUrl=r}};l(F,"HttpBackend");var _=F;var T=class T{constructor(r){this.hasBody=!1,this.headers=(r==null?void 0:r.headers)instanceof Headers?r==null?void 0:r.headers:new Headers(r==null?void 0:r.headers),this.status=(r==null?void 0:r.status)||200,this.statusText=(r==null?void 0:r.statusText)||"OK",this.url=(r==null?void 0:r.url)||null,this.ok=this.status>=200&&this.status<300,this.body=r==null?void 0:r.body,this.hasBody=(r==null?void 0:r.body)!=null||!!(r!=null&&r.hasBody),this.contentType=(this.headers.get("content-type")||"").split(";")[0]}clone(r){return new T(b(b({},this),r))}};l(T,"HttpResponse");var R=T;var i;(function(h){h.Sent="Sent",h.UploadProgress="UploadProgress",h.ResponseHeader="ResponseHeader",h.DownloadProgress="DownloadProgress",h.Response="Response",h.User="User"})(i||(i={}));var J=class J extends _{constructor(r,e){var t,s,a,c,d,g;super(r,e),this.interceptors=Array.from(new Set([...(e==null?void 0:e.interceptors)||[]])),this.defaults=k(b({},e==null?void 0:e.defaults),{headers:((t=e==null?void 0:e.defaults)==null?void 0:t.headers)instanceof Headers?(s=e==null?void 0:e.defaults)==null?void 0:s.headers:new Headers((a=e==null?void 0:e.defaults)==null?void 0:a.headers),params:((c=e==null?void 0:e.defaults)==null?void 0:c.params)instanceof URLSearchParams?(d=e==null?void 0:e.defaults)==null?void 0:d.params:new URLSearchParams((g=e==null?void 0:e.defaults)==null?void 0:g.params)})}handle(r){return new ue(e=>{(async()=>{let t=this.prepareRequest(r);if(t.body&&r.reportProgress){let O=t.body,D=t.headers.get("content-length")||"0",q=parseInt(D,10)||0,w=0,H=new TransformStream({transform(x,A){A.enqueue(x),w+=x.byteLength,e.next({type:i.UploadProgress,request:t,total:q,loaded:w})}});t=new Request(t.url,{cache:t.cache,credentials:t.credentials,headers:t.headers,integrity:t.integrity,keepalive:t.keepalive,method:t.method,mode:t.mode,redirect:t.redirect,referrer:t.referrer,referrerPolicy:t.referrerPolicy,signal:t.signal,body:O.pipeThrough(H),window:r.window,duplex:"half"})}let s=this.send(t);e.next({request:t,type:i.Sent});let a=await s,c=this.createResponse({url:a.url,headers:a.headers,status:a.status,statusText:a.statusText,hasBody:!!a.body});e.next({request:t,type:i.ResponseHeader,response:c});let d;if(a.body)if(r.reportProgress){let O=a.body,D=a.headers.get("content-length")||"0",q=parseInt(D,10)||0,w=0,H=new Response(new ReadableStream({async start(x){let A=O.getReader();for(;;){let{done:le,value:ee}=await A.read();if(le)break;w+=ee.byteLength,x.enqueue(ee),e.next({type:i.DownloadProgress,request:t,total:q,loaded:w})}x.close()}}));d=await this.parseBody(H)}else d=await this.parseBody(a);let g=this.createResponse({url:a.url,headers:a.headers,status:a.status,statusText:a.statusText,body:d});e.next({request:t,type:i.Response,response:g}),e.complete()})().catch(t=>e.error(t))})}send(r){return fetch(r)}prepareRequest(r){let e=r.headers||new Headers,t=k(b({},r),{headers:e});this.defaults.headers.forEach((c,d)=>{e.has(d)||e.set(d,c)});let s=new be(t.url,this.serviceUrl);this.defaults.params.size&&(this.defaults.params.forEach((c,d)=>{s.searchParams.has(d)||s.searchParams.set(d,c)}),t.url=s.toString());let a=t.body;if(a){let c="";typeof a=="string"||typeof a=="number"||typeof a=="boolean"?(c='text/plain; charset="UTF-8"',t.body=new Blob([String(a)],{type:c}),e.set("Content-Length",String(t.body.size)),delete t.duplex):ie(a)?(c="application/octet-stream",t.duplex="half"):Buffer.isBuffer(a)?(c="application/octet-stream",e.set("Content-Length",String(a.length)),delete t.duplex):oe(a)?(c=a.type||"application/octet-stream",e.set("Content-Length",String(a.size)),delete t.duplex):(ye(a)||(c='application/json;charset="UTF-8"',t.body=new Blob([JSON.stringify(a)],{type:c}),e.set("Content-Length",String(t.body.size))),delete t.duplex),c&&!e.has("Content-Type")&&e.set("Content-Type",c)}return new Request(s.toString(),t)}createResponse(r){return new R(r)}async parseBody(r){let e,t=r.headers.get("Content-Type")||"";if(I.is(t,["json","application/*+json"]))e=await r.json(),typeof e=="string"&&(e=JSON.parse(e));else if(I.is(t,["text"]))e=await r.text();else if(I.is(t,["multipart"]))e=await r.formData();else{let s=await r.arrayBuffer();s.byteLength&&(e=s)}return e}};l(J,"FetchBackend");var v=J;import{ApiDocumentFactory as pe,ResponsiveMap as Y}from"@opra/common";import{toArrayDef as f}from"putil-varhelpers";import{OpraURL as V}from"@opra/common";import{lastValueFrom as se,Observable as we}from"rxjs";import xe from"@browsery/type-is";import{OpraURL as ke}from"@opra/common";var o;(function(h){h.ResponseHeader="response-header",h.Response="response",h.Body="body",h.Events="events"})(o||(o={}));var K=class K{constructor(r,e){this.chain=r.reduceRight((t,s)=>(a,c)=>s.intercept(a,{handle:d=>t(d,c)}),ge),this.finalHandler=e}handle(r){return this.chain(r,e=>this.finalHandler.handle(e))}};l(K,"HttpInterceptorHandler");var P=K;function ge(h,r){return r(h)}l(ge,"chainEnd");var E=class E extends we{constructor(r,e){super(s=>{let a=this[u].observe;new P(r.interceptors||[],this[n]).handle(this[u]).subscribe({next(c){if(a===o.Events){s.next(c);return}if(a===o.ResponseHeader&&c.type===i.ResponseHeader){s.next(c.response),s.complete();return}if(c.type===i.Response){let{response:d}=c;if(a===o.Response){s.next(d),s.complete();return}let g=xe.is(c.response.contentType||"",["application/opra+json"]);if(d.status>=400&&d.status<600){s.error(new S({message:d.status+" "+d.statusText,status:d.status,issues:g?d.body.errors:void 0})),s.complete();return}s.next(c.response.body),s.complete()}},error(c){s.error(c)},complete(){s.complete()}})}),Object.defineProperty(this,n,{enumerable:!1,value:r});let t=new ke(e==null?void 0:e.url,r.serviceUrl.toString());Object.defineProperty(this,u,{enumerable:!1,value:k(b({},e),{observe:o.Body,headers:new Headers(e==null?void 0:e.headers),url:t})})}clone(){return new E(this[n],this[u])}options(r){return Object.assign(this[u],r),this}header(r,e){let t=this[u].headers;return typeof r=="object"?((r instanceof Headers?r:new Headers(r)).forEach((a,c)=>{c.toLowerCase()==="set-cookie"?t.append(c,a):t.set(c,a)}),this):(e==null||e===""?t.delete(r):t.append(r,String(e)),this)}param(r,e){e&&typeof e=="object"&&(e=JSON.stringify(e));let t=this[u].url.searchParams;return typeof r=="object"?((r instanceof URLSearchParams?r:new URLSearchParams(r)).forEach((a,c)=>t.set(c,a)),this):(e==null?t.delete(r):t.set(r,String(e)),this)}observe(r){if(r===this[u].observe)return this;let e=this.clone();return e[u].observe=r||o.Body,e}getBody(){return se(this.observe(o.Body))}getResponse(){return se(this.observe(o.Response))}};l(E,"HttpRequestObservable");var m=E;var N=class N{constructor(r,e){this._backend=r,this._path=e}create(r,e){let t=new m(this._backend,{method:"POST",url:this._path,body:r});return e!=null&&e.include&&t.param("include",f(e.include,[]).join(",")),e!=null&&e.pick&&t.param("pick",f(e.pick,[]).join(",")),e!=null&&e.omit&&t.param("omit",f(e.omit,[]).join(",")),t}delete(r){if(r==null||r==="")throw new TypeError("'id' argument must have a value");let e=new V;return e.join({resource:this._path,key:r}),new m(this._backend,{method:"DELETE",url:e})}deleteMany(r){let e=new m(this._backend,{method:"DELETE",url:this._path});return r!=null&&r.filter&&e.param("filter",String(r.filter)),e}get(r,e){if(r==null||r==="")throw new TypeError("'id' argument must have a value");let t=new V;t.join({resource:this._path,key:r});let s=new m(this._backend,{method:"GET",url:t});return e!=null&&e.include&&s.param("include",f(e.include,[]).join(",")),e!=null&&e.pick&&s.param("pick",f(e.pick,[]).join(",")),e!=null&&e.omit&&s.param("omit",f(e.omit,[]).join(",")),s}findMany(r){let e=new m(this._backend,{method:"GET",url:this._path});return r!=null&&r.include&&e.param("include",f(r.include,[]).join(",")),r!=null&&r.pick&&e.param("pick",f(r.pick,[]).join(",")),r!=null&&r.omit&&e.param("omit",f(r.omit,[]).join(",")),r!=null&&r.sort&&e.param("sort",f(r.sort,[]).join(",")),r!=null&&r.filter&&e.param("filter",String(r.filter)),(r==null?void 0:r.limit)!=null&&e.param("limit",String(r.limit)),(r==null?void 0:r.skip)!=null&&e.param("skip",String(r.skip)),(r==null?void 0:r.count)!=null&&e.param("count",String(r.count)),(r==null?void 0:r.distinct)!=null&&e.param("distinct",String(r.distinct)),e}update(r,e,t){if(r==null)throw new TypeError("'id' argument must have a value");let s=new V;s.join({resource:this._path,key:r});let a=new m(this._backend,{method:"PATCH",url:s,body:e});return t!=null&&t.include&&a.param("include",f(t.include,[]).join(",")),t!=null&&t.pick&&a.param("pick",f(t.pick,[]).join(",")),t!=null&&t.omit&&a.param("omit",f(t.omit,[]).join(",")),a}updateMany(r,e){let t=new m(this._backend,{method:"PATCH",url:this._path,body:r});return e!=null&&e.filter&&t.param("filter",String(e.filter)),t}};l(N,"HttpCollectionNode");var L=N;import{toArrayDef as y}from"putil-varhelpers";var Q=class Q{constructor(r,e){this._backend=r,this._path=e}create(r,e){let t=new m(this._backend,{method:"POST",url:this._path,body:r});return e!=null&&e.include&&t.param("include",y(e.include,[]).join(",")),e!=null&&e.pick&&t.param("pick",y(e.pick,[]).join(",")),e!=null&&e.omit&&t.param("omit",y(e.omit,[]).join(",")),t}delete(){return new m(this._backend,{method:"DELETE",url:this._path})}get(r){let e=new m(this._backend,{method:"GET",url:this._path});return r!=null&&r.include&&e.param("include",y(r.include,[]).join(",")),r!=null&&r.pick&&e.param("pick",y(r.pick,[]).join(",")),r!=null&&r.omit&&e.param("omit",y(r.omit,[]).join(",")),e}update(r,e){let t=new m(this._backend,{method:"PATCH",url:this._path,body:r});return e!=null&&e.include&&t.param("include",y(e.include,[]).join(",")),e!=null&&e.pick&&t.param("pick",y(e.pick,[]).join(",")),e!=null&&e.omit&&t.param("omit",y(e.omit,[]).join(",")),t}};l(Q,"HttpSingletonNode");var B=Q;import{OpraURL as W}from"@opra/common";var X=class X{constructor(r,e){this._backend=r,this._path=e}delete(r){if(r){let e=new W(this._path);e.join(r),r=e.toString()}else r=this._path;return new m(this._backend,{method:"DELETE",url:this._path})}get(r){if(r){let t=new W(this._path);t.join(r),r=t.toString()}else r=this._path;return new m(this._backend,{method:"GET",url:this._path})}post(r,e){if(e){let s=new W(this._path);s.join(e),e=s.toString()}else e=this._path;return new m(this._backend,{method:"POST",url:e,body:r})}};l(X,"HttpStorageNode");var C=X;var Z=class Z extends j{constructor(r){super(r),this._collectionCache=new Y,this._singletonCache=new Y,this._storageCache=new Y}get serviceUrl(){return this[n].serviceUrl}async getMetadata(){if(this._metadataPromise)return this._metadataPromise;let r=new m(this[n],{method:"GET",url:"/",headers:new Headers({accept:"application/json"})}),e;try{this._metadataPromise=r.getBody(),e=await this._metadataPromise}catch(t){throw t.message="Error fetching metadata from url ("+this.serviceUrl+`).
7
- `+t.message,t}finally{this._metadataPromise=void 0}try{let t=await pe.createDocument(e);return this[n].api=t,t}catch(t){throw t.message=`Error loading api document.
8
- `+t.message,t}}collection(r){let e=this._collectionCache.get(r);return e||(e=new L(this[n],r),this._collectionCache.set(r,e)),e}singleton(r){let e=this._singletonCache.get(r);return e||(e=new B(this[n],r),this._singletonCache.set(r,e)),e}storage(r){let e=this._storageCache.get(r);return e||(e=new C(this[n],r),this._storageCache.set(r,e)),e}action(r,e){let t=new m(this[n],{method:"GET",url:r});return e&&(Object.keys(e).forEach(s=>e[s]=String(e[s])),t.param(e)),t}};l(Z,"HttpClientBase");var U=Z;var $=class $ extends U{constructor(r,e){super(new v(r,e))}get defaults(){return this[n].defaults}};l($,"OpraHttpClient");var ce=$;export{p as Backend,j as ClientBase,S as ClientError,v as FetchBackend,_ as HttpBackend,U as HttpClientBase,L as HttpCollectionNode,i as HttpEventType,o as HttpObserveType,m as HttpRequestObservable,R as HttpResponse,B as HttpSingletonNode,C as HttpStorageNode,ce as OpraHttpClient,n as kBackend,fe as kClient,u as kContext};
6
+ var ae=Object.defineProperty,de=Object.defineProperties;var he=Object.getOwnPropertyDescriptors;var re=Object.getOwnPropertySymbols;var me=Object.prototype.hasOwnProperty,fe=Object.prototype.propertyIsEnumerable;var te=(d,r,e)=>r in d?ae(d,r,{enumerable:!0,configurable:!0,writable:!0,value:e}):d[r]=e,g=(d,r)=>{for(var e in r||(r={}))me.call(r,e)&&te(d,e,r[e]);if(re)for(var e of re(r))fe.call(r,e)&&te(d,e,r[e]);return d},k=(d,r)=>de(d,he(r)),l=(d,r)=>ae(d,"name",{value:r,configurable:!0});var G=class G{constructor(r){this.api=r==null?void 0:r.api}};l(G,"Backend");var p=G;var ne=Symbol.for("kClient"),f=Symbol.for("kBackend"),u=Symbol.for("kContext");var M=class M{constructor(r){Object.defineProperty(this,f,{enumerable:!1,value:r})}};l(M,"ClientBase");var j=M;var z=class z extends Error{constructor(r,e){super(r.message),this.cause=e,this.issues=r.issues||[],this.status=r.status,e&&(this.cause=e,e.stack&&(this.stack=e.stack))}};l(z,"ClientError");var S=z;import{Observable as ue}from"rxjs";import{isReadableStreamLike as ie}from"rxjs/internal/util/isReadableStreamLike";import I from"@browsery/type-is";import{isBlob as oe,isFormData as ye,OpraURL as ge}from"@opra/common";var F=class F extends p{constructor(r,e){super(e),this.serviceUrl=r}};l(F,"HttpBackend");var _=F;var T=class T{constructor(r){this.hasBody=!1,this.headers=(r==null?void 0:r.headers)instanceof Headers?r==null?void 0:r.headers:new Headers(r==null?void 0:r.headers),this.status=(r==null?void 0:r.status)||200,this.statusText=(r==null?void 0:r.statusText)||"OK",this.url=(r==null?void 0:r.url)||null,this.ok=this.status>=200&&this.status<300,this.body=r==null?void 0:r.body,this.hasBody=(r==null?void 0:r.body)!=null||!!(r!=null&&r.hasBody),this.contentType=(this.headers.get("content-type")||"").split(";")[0]}clone(r){return new T(g(g({},this),r))}};l(T,"HttpResponse");var R=T;var i;(function(d){d.Sent="Sent",d.UploadProgress="UploadProgress",d.ResponseHeader="ResponseHeader",d.DownloadProgress="DownloadProgress",d.Response="Response",d.User="User"})(i||(i={}));var J=class J extends _{constructor(r,e){var t,s,a,c,h,w;super(r,e),this.interceptors=Array.from(new Set([...(e==null?void 0:e.interceptors)||[]])),this.defaults=k(g({},e==null?void 0:e.defaults),{headers:((t=e==null?void 0:e.defaults)==null?void 0:t.headers)instanceof Headers?(s=e==null?void 0:e.defaults)==null?void 0:s.headers:new Headers((a=e==null?void 0:e.defaults)==null?void 0:a.headers),params:((c=e==null?void 0:e.defaults)==null?void 0:c.params)instanceof URLSearchParams?(h=e==null?void 0:e.defaults)==null?void 0:h.params:new URLSearchParams((w=e==null?void 0:e.defaults)==null?void 0:w.params)})}handle(r){return new ue(e=>{(async()=>{let t=this.prepareRequest(r);if(t.body&&r.reportProgress){let O=t.body,D=t.headers.get("content-length")||"0",q=parseInt(D,10)||0,x=0,H=new TransformStream({transform(b,A){A.enqueue(b),x+=b.byteLength,e.next({type:i.UploadProgress,request:t,total:q,loaded:x})}});t=new Request(t.url,{cache:t.cache,credentials:t.credentials,headers:t.headers,integrity:t.integrity,keepalive:t.keepalive,method:t.method,mode:t.mode,redirect:t.redirect,referrer:t.referrer,referrerPolicy:t.referrerPolicy,signal:t.signal,body:O.pipeThrough(H),window:r.window,duplex:"half"})}let s=this.send(t);e.next({request:t,type:i.Sent});let a=await s,c=this.createResponse({url:a.url,headers:a.headers,status:a.status,statusText:a.statusText,hasBody:!!a.body});e.next({request:t,type:i.ResponseHeader,response:c});let h;if(a.body)if(r.reportProgress){let O=a.body,D=a.headers.get("content-length")||"0",q=parseInt(D,10)||0,x=0,H=new Response(new ReadableStream({async start(b){let A=O.getReader();for(;;){let{done:le,value:ee}=await A.read();if(le)break;x+=ee.byteLength,b.enqueue(ee),e.next({type:i.DownloadProgress,request:t,total:q,loaded:x})}b.close()}}));h=await this.parseBody(H)}else h=await this.parseBody(a);let w=this.createResponse({url:a.url,headers:a.headers,status:a.status,statusText:a.statusText,body:h});e.next({request:t,type:i.Response,response:w}),e.complete()})().catch(t=>e.error(t))})}send(r){return fetch(r)}prepareRequest(r){let e=r.headers||new Headers,t=k(g({},r),{headers:e});this.defaults.headers.forEach((c,h)=>{e.has(h)||e.set(h,c)});let s=new ge(t.url,this.serviceUrl);this.defaults.params.size&&(this.defaults.params.forEach((c,h)=>{s.searchParams.has(h)||s.searchParams.set(h,c)}),t.url=s.toString());let a=t.body;if(a){let c="";typeof a=="string"||typeof a=="number"||typeof a=="boolean"?(c='text/plain; charset="UTF-8"',t.body=new Blob([String(a)],{type:c}),e.set("Content-Length",String(t.body.size)),delete t.duplex):ie(a)?(c="application/octet-stream",t.duplex="half"):Buffer.isBuffer(a)?(c="application/octet-stream",e.set("Content-Length",String(a.length)),delete t.duplex):oe(a)?(c=a.type||"application/octet-stream",e.set("Content-Length",String(a.size)),delete t.duplex):(ye(a)||(c='application/json;charset="UTF-8"',t.body=new Blob([JSON.stringify(a)],{type:c}),e.set("Content-Length",String(t.body.size))),delete t.duplex),c&&!e.has("Content-Type")&&e.set("Content-Type",c)}return new Request(s.toString(),t)}createResponse(r){return new R(r)}async parseBody(r){let e,t=r.headers.get("Content-Type")||"";if(I.is(t,["json","application/*+json"]))e=await r.json(),typeof e=="string"&&(e=JSON.parse(e));else if(I.is(t,["text"]))e=await r.text();else if(I.is(t,["multipart"]))e=await r.formData();else{let s=await r.arrayBuffer();s.byteLength&&(e=s)}return e}};l(J,"FetchBackend");var P=J;import{ApiDocumentFactory as pe,ResponsiveMap as Y}from"@opra/common";import{toArrayDef as n}from"putil-varhelpers";import{OpraURL as V}from"@opra/common";import{lastValueFrom as se,Observable as xe}from"rxjs";import be from"@browsery/type-is";import{OpraURL as ke}from"@opra/common";var o;(function(d){d.ResponseHeader="response-header",d.Response="response",d.Body="body",d.Events="events"})(o||(o={}));var K=class K{constructor(r,e){this.chain=r.reduceRight((t,s)=>(a,c)=>s.intercept(a,{handle:h=>t(h,c)}),we),this.finalHandler=e}handle(r){return this.chain(r,e=>this.finalHandler.handle(e))}};l(K,"HttpInterceptorHandler");var E=K;function we(d,r){return r(d)}l(we,"chainEnd");var v=class v extends xe{constructor(r,e){super(s=>{let a=this[u].observe;new E(r.interceptors||[],this[f]).handle(this[u]).subscribe({next(c){if(a===o.Events){s.next(c);return}if(a===o.ResponseHeader&&c.type===i.ResponseHeader){s.next(c.response),s.complete();return}if(c.type===i.Response){let{response:h}=c;if(a===o.Response){s.next(h),s.complete();return}let w=be.is(c.response.contentType||"",["application/opra+json"]);if(h.status>=400&&h.status<600){s.error(new S({message:h.status+" "+h.statusText,status:h.status,issues:w?h.body.errors:void 0})),s.complete();return}s.next(c.response.body),s.complete()}},error(c){s.error(c)},complete(){s.complete()}})}),Object.defineProperty(this,f,{enumerable:!1,value:r});let t=new ke(e==null?void 0:e.url,r.serviceUrl.toString());Object.defineProperty(this,u,{enumerable:!1,value:k(g({},e),{observe:o.Body,headers:new Headers(e==null?void 0:e.headers),url:t})})}clone(){return new v(this[f],this[u])}options(r){return Object.assign(this[u],r),this}header(r,e){let t=this[u].headers;return typeof r=="object"?((r instanceof Headers?r:new Headers(r)).forEach((a,c)=>{c.toLowerCase()==="set-cookie"?t.append(c,a):t.set(c,a)}),this):(e==null||e===""?t.delete(r):t.append(r,String(e)),this)}param(r,e){e&&typeof e=="object"&&(e=JSON.stringify(e));let t=this[u].url.searchParams;return typeof r=="object"?((r instanceof URLSearchParams?r:new URLSearchParams(r)).forEach((a,c)=>t.set(c,a)),this):(e==null?t.delete(r):t.set(r,String(e)),this)}observe(r){if(r===this[u].observe)return this;let e=this.clone();return e[u].observe=r||o.Body,e}getBody(){return se(this.observe(o.Body))}getResponse(){return se(this.observe(o.Response))}};l(v,"HttpRequestObservable");var m=v;var N=class N{constructor(r,e){this._backend=r,this._path=e}create(r,e){let t=new m(this._backend,{method:"POST",url:this._path,body:r});return e!=null&&e.include&&t.param("include",n(e.include,[]).join(",")),e!=null&&e.pick&&t.param("pick",n(e.pick,[]).join(",")),e!=null&&e.omit&&t.param("omit",n(e.omit,[]).join(",")),t}delete(r){if(r==null||r==="")throw new TypeError("'id' argument must have a value");let e=new V;return e.join({resource:this._path,key:r}),new m(this._backend,{method:"DELETE",url:e})}deleteMany(r){let e=new m(this._backend,{method:"DELETE",url:this._path});return r!=null&&r.filter&&e.param("filter",String(r.filter)),e}get(r,e){if(r==null||r==="")throw new TypeError("'id' argument must have a value");let t=new V;t.join({resource:this._path,key:r});let s=new m(this._backend,{method:"GET",url:t});return e!=null&&e.include&&s.param("include",n(e.include,[]).join(",")),e!=null&&e.pick&&s.param("pick",n(e.pick,[]).join(",")),e!=null&&e.omit&&s.param("omit",n(e.omit,[]).join(",")),s}findMany(r){let e=new m(this._backend,{method:"GET",url:this._path});return r!=null&&r.include&&e.param("include",n(r.include,[]).join(",")),r!=null&&r.pick&&e.param("pick",n(r.pick,[]).join(",")),r!=null&&r.omit&&e.param("omit",n(r.omit,[]).join(",")),r!=null&&r.sort&&e.param("sort",n(r.sort,[]).join(",")),r!=null&&r.filter&&e.param("filter",String(r.filter)),(r==null?void 0:r.limit)!=null&&e.param("limit",String(r.limit)),(r==null?void 0:r.skip)!=null&&e.param("skip",String(r.skip)),(r==null?void 0:r.count)!=null&&e.param("count",String(r.count)),(r==null?void 0:r.distinct)!=null&&e.param("distinct",String(r.distinct)),e}update(r,e,t){if(r==null)throw new TypeError("'id' argument must have a value");let s=new V;s.join({resource:this._path,key:r});let a=new m(this._backend,{method:"PATCH",url:s,body:e});return t!=null&&t.include&&a.param("include",n(t.include,[]).join(",")),t!=null&&t.pick&&a.param("pick",n(t.pick,[]).join(",")),t!=null&&t.omit&&a.param("omit",n(t.omit,[]).join(",")),a}updateMany(r,e){let t=new m(this._backend,{method:"PATCH",url:this._path,body:r});return e!=null&&e.filter&&t.param("filter",String(e.filter)),t}};l(N,"HttpCollectionNode");var L=N;import{toArrayDef as y}from"putil-varhelpers";var Q=class Q{constructor(r,e){this._backend=r,this._path=e}create(r,e){let t=new m(this._backend,{method:"POST",url:this._path,body:r});return e!=null&&e.include&&t.param("include",y(e.include,[]).join(",")),e!=null&&e.pick&&t.param("pick",y(e.pick,[]).join(",")),e!=null&&e.omit&&t.param("omit",y(e.omit,[]).join(",")),t}delete(){return new m(this._backend,{method:"DELETE",url:this._path})}get(r){let e=new m(this._backend,{method:"GET",url:this._path});return r!=null&&r.include&&e.param("include",y(r.include,[]).join(",")),r!=null&&r.pick&&e.param("pick",y(r.pick,[]).join(",")),r!=null&&r.omit&&e.param("omit",y(r.omit,[]).join(",")),e}update(r,e){let t=new m(this._backend,{method:"PATCH",url:this._path,body:r});return e!=null&&e.include&&t.param("include",y(e.include,[]).join(",")),e!=null&&e.pick&&t.param("pick",y(e.pick,[]).join(",")),e!=null&&e.omit&&t.param("omit",y(e.omit,[]).join(",")),t}};l(Q,"HttpSingletonNode");var B=Q;import{OpraURL as W}from"@opra/common";var X=class X{constructor(r,e){this._backend=r,this._path=e}delete(r){if(r){let e=new W(this._path);e.join(r),r=e.toString()}else r=this._path;return new m(this._backend,{method:"DELETE",url:r})}get(r){if(r){let e=new W(this._path);e.join(r),r=e.toString()}else r=this._path;return new m(this._backend,{method:"GET",url:r})}post(r,e){if(e){let t=new W(this._path);t.join(e),e=t.toString()}else e=this._path;return new m(this._backend,{method:"POST",url:e,body:r})}};l(X,"HttpStorageNode");var C=X;var Z=class Z extends j{constructor(r){super(r),this._collectionCache=new Y,this._singletonCache=new Y,this._storageCache=new Y}get serviceUrl(){return this[f].serviceUrl}async getMetadata(){if(this._metadataPromise)return this._metadataPromise;let r=new m(this[f],{method:"GET",url:"/",headers:new Headers({accept:"application/json"})}),e;try{this._metadataPromise=r.getBody(),e=await this._metadataPromise}catch(t){throw t.message="Error fetching metadata from url ("+this.serviceUrl+`).
7
+ `+t.message,t}finally{this._metadataPromise=void 0}try{let t=await pe.createDocument(e);return this[f].api=t,t}catch(t){throw t.message=`Error loading api document.
8
+ `+t.message,t}}collection(r){let e=this._collectionCache.get(r);return e||(e=new L(this[f],r),this._collectionCache.set(r,e)),e}singleton(r){let e=this._singletonCache.get(r);return e||(e=new B(this[f],r),this._singletonCache.set(r,e)),e}storage(r){let e=this._storageCache.get(r);return e||(e=new C(this[f],r),this._storageCache.set(r,e)),e}action(r,e){let t=new m(this[f],{method:"GET",url:r});return e&&(Object.keys(e).forEach(s=>e[s]=String(e[s])),t.param(e)),t}};l(Z,"HttpClientBase");var U=Z;var $=class $ extends U{constructor(r,e){super(new P(r,e))}get defaults(){return this[f].defaults}};l($,"OpraHttpClient");var ce=$;export{p as Backend,j as ClientBase,S as ClientError,P as FetchBackend,_ as HttpBackend,U as HttpClientBase,L as HttpCollectionNode,i as HttpEventType,o as HttpObserveType,m as HttpRequestObservable,R as HttpResponse,B as HttpSingletonNode,C as HttpStorageNode,ce as OpraHttpClient,f as kBackend,ne as kClient,u as kContext};
@@ -21,7 +21,7 @@ class HttpStorageNode {
21
21
  path = this._path;
22
22
  return new http_request_observable_js_1.HttpRequestObservable(this._backend, {
23
23
  method: 'DELETE',
24
- url: this._path
24
+ url: path
25
25
  });
26
26
  }
27
27
  get(path) {
@@ -32,11 +32,10 @@ class HttpStorageNode {
32
32
  }
33
33
  else
34
34
  path = this._path;
35
- const observable = new http_request_observable_js_1.HttpRequestObservable(this._backend, {
35
+ return new http_request_observable_js_1.HttpRequestObservable(this._backend, {
36
36
  method: 'GET',
37
- url: this._path
37
+ url: path
38
38
  });
39
- return observable;
40
39
  }
41
40
  post(data, path) {
42
41
  if (path) {
@@ -46,12 +45,11 @@ class HttpStorageNode {
46
45
  }
47
46
  else
48
47
  path = this._path;
49
- const observable = new http_request_observable_js_1.HttpRequestObservable(this._backend, {
48
+ return new http_request_observable_js_1.HttpRequestObservable(this._backend, {
50
49
  method: 'POST',
51
50
  url: path,
52
51
  body: data
53
52
  });
54
- return observable;
55
53
  }
56
54
  }
57
55
  exports.HttpStorageNode = HttpStorageNode;
@@ -18,7 +18,7 @@ export class HttpStorageNode {
18
18
  path = this._path;
19
19
  return new HttpRequestObservable(this._backend, {
20
20
  method: 'DELETE',
21
- url: this._path
21
+ url: path
22
22
  });
23
23
  }
24
24
  get(path) {
@@ -29,11 +29,10 @@ export class HttpStorageNode {
29
29
  }
30
30
  else
31
31
  path = this._path;
32
- const observable = new HttpRequestObservable(this._backend, {
32
+ return new HttpRequestObservable(this._backend, {
33
33
  method: 'GET',
34
- url: this._path
34
+ url: path
35
35
  });
36
- return observable;
37
36
  }
38
37
  post(data, path) {
39
38
  if (path) {
@@ -43,11 +42,10 @@ export class HttpStorageNode {
43
42
  }
44
43
  else
45
44
  path = this._path;
46
- const observable = new HttpRequestObservable(this._backend, {
45
+ return new HttpRequestObservable(this._backend, {
47
46
  method: 'POST',
48
47
  url: path,
49
48
  body: data
50
49
  });
51
- return observable;
52
50
  }
53
51
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opra/client",
3
- "version": "0.31.9",
3
+ "version": "0.31.11",
4
4
  "description": "Opra Client package",
5
5
  "author": "Panates",
6
6
  "license": "MIT",
@@ -40,7 +40,7 @@
40
40
  "@browsery/stream": "^0.6.0",
41
41
  "@browsery/type-is": "^0.6.3",
42
42
  "@browsery/util": "^0.4.0",
43
- "@opra/common": "^0.31.9",
43
+ "@opra/common": "^0.31.11",
44
44
  "accepts": "^1.3.8",
45
45
  "buffer": "^6.0.3",
46
46
  "cookie": "^0.6.0",