@opra/client 0.31.8 → 0.31.9
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 +3 -3
- package/cjs/http/http-storage-node.js +26 -4
- package/cjs/index.js +1 -0
- package/esm/http/http-storage-node.js +26 -4
- package/esm/index.js +1 -0
- package/package.json +2 -2
- package/types/http/http-client-base.d.ts +2 -2
- package/types/http/http-storage-node.d.ts +4 -4
- package/types/index.d.ts +1 -0
package/browser.js
CHANGED
|
@@ -3,6 +3,6 @@
|
|
|
3
3
|
* http://www.panates.com
|
|
4
4
|
*****************************************/
|
|
5
5
|
|
|
6
|
-
var te=Object.defineProperty,le=Object.defineProperties;var he=Object.getOwnPropertyDescriptors;var ee=Object.getOwnPropertySymbols;var de=Object.prototype.hasOwnProperty,me=Object.prototype.propertyIsEnumerable;var re=(h,r,e)=>r in h?te(h,r,{enumerable:!0,configurable:!0,writable:!0,value:e}):h[r]=e,b=(h,r)=>{for(var e in r||(r={}))de.call(r,e)&&re(h,e,r[e]);if(ee)for(var e of ee(r))me.call(r,e)&&re(h,e,r[e]);return h},k=(h,r)=>le(h,he(r)),l=(h,r)=>te(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"),f=Symbol.for("kBackend"),n=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 ne}from"rxjs/internal/util/isReadableStreamLike";import I from"@browsery/type-is";import{isBlob as ie,isFormData as oe,OpraURL as ye}from"@opra/common";var F=class F extends p{constructor(r,e){super(e),this.serviceUrl=r}};l(F,"HttpBackend");var T=F;var _=class _{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 _(b(b({},this),r))}};l(_,"HttpResponse");var R=_;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 T{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:ce,value:$}=await A.read();if(ce)break;w+=$.byteLength,x.enqueue($),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 ye(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):ne(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):ie(a)?(c=a.type||"application/octet-stream",e.set("Content-Length",String(a.size)),delete t.duplex):(oe(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 ke,ResponsiveMap as X}from"@opra/common";import{toArrayDef as u}from"putil-varhelpers";import{OpraURL as V}from"@opra/common";import{lastValueFrom as ae,Observable as ge}from"rxjs";import we from"@browsery/type-is";import{OpraURL as xe}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)}),be),this.finalHandler=e}handle(r){return this.chain(r,e=>this.finalHandler.handle(e))}};l(K,"HttpInterceptorHandler");var P=K;function be(h,r){return r(h)}l(be,"chainEnd");var E=class E extends ge{constructor(r,e){super(s=>{let a=this[n].observe;new P(r.interceptors||[],this[f]).handle(this[n]).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=we.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,f,{enumerable:!1,value:r});let t=new xe(e==null?void 0:e.url,r.serviceUrl.toString());Object.defineProperty(this,n,{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[f],this[n])}options(r){return Object.assign(this[n],r),this}header(r,e){let t=this[n].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[n].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[n].observe)return this;let e=this.clone();return e[n].observe=r||o.Body,e}getBody(){return ae(this.observe(o.Body))}getResponse(){return ae(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",u(e.include,[]).join(",")),e!=null&&e.pick&&t.param("pick",u(e.pick,[]).join(",")),e!=null&&e.omit&&t.param("omit",u(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",u(e.include,[]).join(",")),e!=null&&e.pick&&s.param("pick",u(e.pick,[]).join(",")),e!=null&&e.omit&&s.param("omit",u(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",u(r.include,[]).join(",")),r!=null&&r.pick&&e.param("pick",u(r.pick,[]).join(",")),r!=null&&r.omit&&e.param("omit",u(r.omit,[]).join(",")),r!=null&&r.sort&&e.param("sort",u(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",u(t.include,[]).join(",")),t!=null&&t.pick&&a.param("pick",u(t.pick,[]).join(",")),t!=null&&t.omit&&a.param("omit",u(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 B=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 L=Q;var W=class W{constructor(r,e){this._backend=r,this._path=e}delete(){return new m(this._backend,{method:"DELETE",url:this._path})}get(){return new m(this._backend,{method:"GET",url:this._path})}post(r){return new m(this._backend,{method:"POST",url:this._path,body:r})}};l(W,"HttpStorageNode");var C=W;var Y=class Y extends j{constructor(r){super(r),this._collectionCache=new X,this._singletonCache=new X,this._storageCache=new X}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
|
|
8
|
-
`+t.message,t}}collection(r){let e=this._collectionCache.get(r);return e||(e=new
|
|
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};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.HttpStorageNode = void 0;
|
|
4
|
+
const common_1 = require("@opra/common");
|
|
4
5
|
const http_request_observable_js_1 = require("./http-request-observable.js");
|
|
5
6
|
/**
|
|
6
7
|
* @class HttpStorageNode
|
|
@@ -10,23 +11,44 @@ class HttpStorageNode {
|
|
|
10
11
|
this._backend = backend;
|
|
11
12
|
this._path = path;
|
|
12
13
|
}
|
|
13
|
-
delete() {
|
|
14
|
+
delete(path) {
|
|
15
|
+
if (path) {
|
|
16
|
+
const url = new common_1.OpraURL(this._path);
|
|
17
|
+
url.join(path);
|
|
18
|
+
path = url.toString();
|
|
19
|
+
}
|
|
20
|
+
else
|
|
21
|
+
path = this._path;
|
|
14
22
|
return new http_request_observable_js_1.HttpRequestObservable(this._backend, {
|
|
15
23
|
method: 'DELETE',
|
|
16
24
|
url: this._path
|
|
17
25
|
});
|
|
18
26
|
}
|
|
19
|
-
get() {
|
|
27
|
+
get(path) {
|
|
28
|
+
if (path) {
|
|
29
|
+
const url = new common_1.OpraURL(this._path);
|
|
30
|
+
url.join(path);
|
|
31
|
+
path = url.toString();
|
|
32
|
+
}
|
|
33
|
+
else
|
|
34
|
+
path = this._path;
|
|
20
35
|
const observable = new http_request_observable_js_1.HttpRequestObservable(this._backend, {
|
|
21
36
|
method: 'GET',
|
|
22
37
|
url: this._path
|
|
23
38
|
});
|
|
24
39
|
return observable;
|
|
25
40
|
}
|
|
26
|
-
post(data) {
|
|
41
|
+
post(data, path) {
|
|
42
|
+
if (path) {
|
|
43
|
+
const url = new common_1.OpraURL(this._path);
|
|
44
|
+
url.join(path);
|
|
45
|
+
path = url.toString();
|
|
46
|
+
}
|
|
47
|
+
else
|
|
48
|
+
path = this._path;
|
|
27
49
|
const observable = new http_request_observable_js_1.HttpRequestObservable(this._backend, {
|
|
28
50
|
method: 'POST',
|
|
29
|
-
url:
|
|
51
|
+
url: path,
|
|
30
52
|
body: data
|
|
31
53
|
});
|
|
32
54
|
return observable;
|
package/cjs/index.js
CHANGED
|
@@ -14,6 +14,7 @@ tslib_1.__exportStar(require("./http/http-collection-node.js"), exports);
|
|
|
14
14
|
tslib_1.__exportStar(require("./http/http-request-observable.js"), exports);
|
|
15
15
|
tslib_1.__exportStar(require("./http/http-response.js"), exports);
|
|
16
16
|
tslib_1.__exportStar(require("./http/http-singleton-node.js"), exports);
|
|
17
|
+
tslib_1.__exportStar(require("./http/http-storage-node.js"), exports);
|
|
17
18
|
tslib_1.__exportStar(require("./http/enums/http-observable-type.enum.js"), exports);
|
|
18
19
|
tslib_1.__exportStar(require("./http/interfaces/http-event.js"), exports);
|
|
19
20
|
tslib_1.__exportStar(require("./http/interfaces/http-handler.js"), exports);
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { OpraURL } from '@opra/common';
|
|
1
2
|
import { HttpRequestObservable } from './http-request-observable.js';
|
|
2
3
|
/**
|
|
3
4
|
* @class HttpStorageNode
|
|
@@ -7,23 +8,44 @@ export class HttpStorageNode {
|
|
|
7
8
|
this._backend = backend;
|
|
8
9
|
this._path = path;
|
|
9
10
|
}
|
|
10
|
-
delete() {
|
|
11
|
+
delete(path) {
|
|
12
|
+
if (path) {
|
|
13
|
+
const url = new OpraURL(this._path);
|
|
14
|
+
url.join(path);
|
|
15
|
+
path = url.toString();
|
|
16
|
+
}
|
|
17
|
+
else
|
|
18
|
+
path = this._path;
|
|
11
19
|
return new HttpRequestObservable(this._backend, {
|
|
12
20
|
method: 'DELETE',
|
|
13
21
|
url: this._path
|
|
14
22
|
});
|
|
15
23
|
}
|
|
16
|
-
get() {
|
|
24
|
+
get(path) {
|
|
25
|
+
if (path) {
|
|
26
|
+
const url = new OpraURL(this._path);
|
|
27
|
+
url.join(path);
|
|
28
|
+
path = url.toString();
|
|
29
|
+
}
|
|
30
|
+
else
|
|
31
|
+
path = this._path;
|
|
17
32
|
const observable = new HttpRequestObservable(this._backend, {
|
|
18
33
|
method: 'GET',
|
|
19
34
|
url: this._path
|
|
20
35
|
});
|
|
21
36
|
return observable;
|
|
22
37
|
}
|
|
23
|
-
post(data) {
|
|
38
|
+
post(data, path) {
|
|
39
|
+
if (path) {
|
|
40
|
+
const url = new OpraURL(this._path);
|
|
41
|
+
url.join(path);
|
|
42
|
+
path = url.toString();
|
|
43
|
+
}
|
|
44
|
+
else
|
|
45
|
+
path = this._path;
|
|
24
46
|
const observable = new HttpRequestObservable(this._backend, {
|
|
25
47
|
method: 'POST',
|
|
26
|
-
url:
|
|
48
|
+
url: path,
|
|
27
49
|
body: data
|
|
28
50
|
});
|
|
29
51
|
return observable;
|
package/esm/index.js
CHANGED
|
@@ -10,6 +10,7 @@ export * from './http/http-collection-node.js';
|
|
|
10
10
|
export * from './http/http-request-observable.js';
|
|
11
11
|
export * from './http/http-response.js';
|
|
12
12
|
export * from './http/http-singleton-node.js';
|
|
13
|
+
export * from './http/http-storage-node.js';
|
|
13
14
|
export * from './http/enums/http-observable-type.enum.js';
|
|
14
15
|
export * from './http/interfaces/http-event.js';
|
|
15
16
|
export * from './http/interfaces/http-handler.js';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opra/client",
|
|
3
|
-
"version": "0.31.
|
|
3
|
+
"version": "0.31.9",
|
|
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.
|
|
43
|
+
"@opra/common": "^0.31.9",
|
|
44
44
|
"accepts": "^1.3.8",
|
|
45
45
|
"buffer": "^6.0.3",
|
|
46
46
|
"cookie": "^0.6.0",
|
|
@@ -15,14 +15,14 @@ export declare abstract class HttpClientBase<TRequestOptions = {}, TResponseExt
|
|
|
15
15
|
[kBackend]: HttpBackend;
|
|
16
16
|
protected _collectionCache: ResponsiveMap<HttpCollectionNode<any, {}, {}>>;
|
|
17
17
|
protected _singletonCache: ResponsiveMap<HttpCollectionNode<any, {}, {}>>;
|
|
18
|
-
protected _storageCache: ResponsiveMap<HttpStorageNode<any, {}
|
|
18
|
+
protected _storageCache: ResponsiveMap<HttpStorageNode<any, {}>>;
|
|
19
19
|
protected _metadataPromise?: Promise<any>;
|
|
20
20
|
protected constructor(backend: HttpBackend);
|
|
21
21
|
get serviceUrl(): string;
|
|
22
22
|
getMetadata(): Promise<ApiDocument>;
|
|
23
23
|
collection<TType = any>(path: string): HttpCollectionNode<TType, TRequestOptions, TResponseExt>;
|
|
24
24
|
singleton<TType = any>(path: string): HttpSingletonNode<TType, TRequestOptions, TResponseExt>;
|
|
25
|
-
storage(path: string): HttpStorageNode<
|
|
25
|
+
storage(path: string): HttpStorageNode<TRequestOptions, TResponseExt>;
|
|
26
26
|
action<T = any>(path: string, params?: Record<string, any>): HttpRequestObservable<T, T, TRequestOptions, TResponseExt>;
|
|
27
27
|
}
|
|
28
28
|
/**
|
|
@@ -4,11 +4,11 @@ import { HttpRequestObservable } from './http-request-observable.js';
|
|
|
4
4
|
/**
|
|
5
5
|
* @class HttpStorageNode
|
|
6
6
|
*/
|
|
7
|
-
export declare class HttpStorageNode<
|
|
7
|
+
export declare class HttpStorageNode<TRequestOptions = {}, TResponseExt = {}> {
|
|
8
8
|
protected _backend: HttpBackend;
|
|
9
9
|
protected _path: string;
|
|
10
10
|
constructor(backend: HttpBackend, path: string);
|
|
11
|
-
delete(): HttpRequestObservable<OperationResult<never>, OperationResult<never>, TRequestOptions, TResponseExt>;
|
|
12
|
-
get(): HttpRequestObservable<OperationResult<
|
|
13
|
-
post(data: FormData): HttpRequestObservable<OperationResult<
|
|
11
|
+
delete(path?: string): HttpRequestObservable<OperationResult<never>, OperationResult<never>, TRequestOptions, TResponseExt>;
|
|
12
|
+
get(path?: string): HttpRequestObservable<OperationResult<any>, OperationResult<any>, TRequestOptions, TResponseExt>;
|
|
13
|
+
post(data: FormData, path?: string): HttpRequestObservable<OperationResult<any>, OperationResult<any>, TRequestOptions, TResponseExt>;
|
|
14
14
|
}
|
package/types/index.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ export * from './http/http-collection-node.js';
|
|
|
10
10
|
export * from './http/http-request-observable.js';
|
|
11
11
|
export * from './http/http-response.js';
|
|
12
12
|
export * from './http/http-singleton-node.js';
|
|
13
|
+
export * from './http/http-storage-node.js';
|
|
13
14
|
export * from './http/enums/http-observable-type.enum.js';
|
|
14
15
|
export * from './http/interfaces/http-event.js';
|
|
15
16
|
export * from './http/interfaces/http-handler.js';
|