brass-runtime 1.9.2 → 1.9.3
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/dist/http/index.d.mts +16 -7
- package/dist/http/index.d.ts +16 -7
- package/dist/http/index.js +1 -1
- package/dist/http/index.mjs +1 -1
- package/package.json +1 -1
package/dist/http/index.d.mts
CHANGED
|
@@ -80,13 +80,16 @@ type HttpResponseWithMeta<A> = {
|
|
|
80
80
|
response: HttpResponse<A>;
|
|
81
81
|
meta: HttpMeta;
|
|
82
82
|
};
|
|
83
|
+
type AnyInitWithHeaders = {
|
|
84
|
+
headers?: any;
|
|
85
|
+
} & Record<string, any>;
|
|
83
86
|
type Dx = {
|
|
84
|
-
request: (req: HttpRequest) =>
|
|
85
|
-
get: (url: string, init?:
|
|
86
|
-
post: (url: string, body?: string, init?:
|
|
87
|
-
getText: (url: string, init?:
|
|
88
|
-
getJson: <A>(url: string, init?:
|
|
89
|
-
postJson: <A>(url: string,
|
|
87
|
+
request: (req: HttpRequest) => AsyncWithPromise<unknown, HttpError, HttpWireResponse>;
|
|
88
|
+
get: (url: string, init?: AnyInitWithHeaders) => AsyncWithPromise<unknown, HttpError, HttpWireResponse>;
|
|
89
|
+
post: (url: string, body?: string, init?: AnyInitWithHeaders) => AsyncWithPromise<unknown, HttpError, HttpWireResponse>;
|
|
90
|
+
getText: (url: string, init?: InitNoMethodBody) => AsyncWithPromise<unknown, HttpError, HttpResponse<string>>;
|
|
91
|
+
getJson: <A>(url: string, init?: InitNoMethodBody) => AsyncWithPromise<unknown, HttpError, HttpResponse<A>>;
|
|
92
|
+
postJson: <A>(url: string, bodyObj: unknown, init?: AnyInitWithHeaders) => AsyncWithPromise<unknown, HttpError, HttpResponse<A>>;
|
|
90
93
|
with: (mw: HttpMiddleware) => Dx;
|
|
91
94
|
withRetry: (p: RetryPolicy) => Dx;
|
|
92
95
|
wire: HttpClient;
|
|
@@ -125,10 +128,16 @@ declare function httpClientWithMeta(cfg?: MakeHttpConfig): {
|
|
|
125
128
|
wire: HttpWireResponse;
|
|
126
129
|
meta: HttpMeta;
|
|
127
130
|
}>;
|
|
128
|
-
postJson: <A>(url: string, bodyObj:
|
|
131
|
+
postJson: <A>(url: string, bodyObj: unknown, init?: HttpInit & {
|
|
129
132
|
headers?: Record<string, string>;
|
|
130
133
|
}) => AsyncWithPromise<unknown, HttpError, {
|
|
131
134
|
wire: HttpWireResponse;
|
|
135
|
+
response: {
|
|
136
|
+
status: number;
|
|
137
|
+
statusText: string;
|
|
138
|
+
headers: Record<string, string>;
|
|
139
|
+
body: A;
|
|
140
|
+
};
|
|
132
141
|
meta: HttpMeta;
|
|
133
142
|
}>;
|
|
134
143
|
};
|
package/dist/http/index.d.ts
CHANGED
|
@@ -80,13 +80,16 @@ type HttpResponseWithMeta<A> = {
|
|
|
80
80
|
response: HttpResponse<A>;
|
|
81
81
|
meta: HttpMeta;
|
|
82
82
|
};
|
|
83
|
+
type AnyInitWithHeaders = {
|
|
84
|
+
headers?: any;
|
|
85
|
+
} & Record<string, any>;
|
|
83
86
|
type Dx = {
|
|
84
|
-
request: (req: HttpRequest) =>
|
|
85
|
-
get: (url: string, init?:
|
|
86
|
-
post: (url: string, body?: string, init?:
|
|
87
|
-
getText: (url: string, init?:
|
|
88
|
-
getJson: <A>(url: string, init?:
|
|
89
|
-
postJson: <A>(url: string,
|
|
87
|
+
request: (req: HttpRequest) => AsyncWithPromise<unknown, HttpError, HttpWireResponse>;
|
|
88
|
+
get: (url: string, init?: AnyInitWithHeaders) => AsyncWithPromise<unknown, HttpError, HttpWireResponse>;
|
|
89
|
+
post: (url: string, body?: string, init?: AnyInitWithHeaders) => AsyncWithPromise<unknown, HttpError, HttpWireResponse>;
|
|
90
|
+
getText: (url: string, init?: InitNoMethodBody) => AsyncWithPromise<unknown, HttpError, HttpResponse<string>>;
|
|
91
|
+
getJson: <A>(url: string, init?: InitNoMethodBody) => AsyncWithPromise<unknown, HttpError, HttpResponse<A>>;
|
|
92
|
+
postJson: <A>(url: string, bodyObj: unknown, init?: AnyInitWithHeaders) => AsyncWithPromise<unknown, HttpError, HttpResponse<A>>;
|
|
90
93
|
with: (mw: HttpMiddleware) => Dx;
|
|
91
94
|
withRetry: (p: RetryPolicy) => Dx;
|
|
92
95
|
wire: HttpClient;
|
|
@@ -125,10 +128,16 @@ declare function httpClientWithMeta(cfg?: MakeHttpConfig): {
|
|
|
125
128
|
wire: HttpWireResponse;
|
|
126
129
|
meta: HttpMeta;
|
|
127
130
|
}>;
|
|
128
|
-
postJson: <A>(url: string, bodyObj:
|
|
131
|
+
postJson: <A>(url: string, bodyObj: unknown, init?: HttpInit & {
|
|
129
132
|
headers?: Record<string, string>;
|
|
130
133
|
}) => AsyncWithPromise<unknown, HttpError, {
|
|
131
134
|
wire: HttpWireResponse;
|
|
135
|
+
response: {
|
|
136
|
+
status: number;
|
|
137
|
+
statusText: string;
|
|
138
|
+
headers: Record<string, string>;
|
|
139
|
+
body: A;
|
|
140
|
+
};
|
|
132
141
|
meta: HttpMeta;
|
|
133
142
|
}>;
|
|
134
143
|
};
|
package/dist/http/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';var chunk2NVQIUW5_js=require('../chunk-2NVQIUW5.js');var
|
|
1
|
+
'use strict';var chunk2NVQIUW5_js=require('../chunk-2NVQIUW5.js');var A={make(t,e){return {get:t,set:e}},over(t,e){return r=>t.set(e(t.get(r)))(r)},compose(t,e){return A.make(r=>t.get(e.get(r)),r=>n=>e.set(t.set(r)(e.get(n)))(n))}};var M={headers:A.make(t=>t.headers??{},t=>e=>({...e,headers:t}))};var W=t=>e=>A.over(M.headers,r=>({...r,...t}))(e),S=t=>e=>A.over(M.headers,r=>({...t,...r}))(e),g=(t,e)=>r=>A.over(M.headers,n=>n[t]?n:{...n,[t]:e})(r);var mt=t=>e=>C(t(e)),C=t=>Object.assign((e=>t(e)),{with:e=>C(e(t))}),T=t=>t instanceof DOMException&&t.name==="AbortError"?{_tag:"Abort"}:typeof t=="object"&&t&&"_tag"in t?t:{_tag:"FetchError",message:String(t)},O=t=>{if(t){if(typeof Headers<"u"&&t instanceof Headers){let e={};return t.forEach((r,n)=>e[n]=r),e}if(Array.isArray(t))return Object.fromEntries(t);if(typeof t=="object")return {...t}}},F=t=>e=>{let r=Object.keys(t).length?S(t)(e):e,n=O(e.init?.headers);return n&&Object.keys(n).length&&(r=S(n)(r)),r};function N(t={}){let e=t.baseUrl??"",r=t.headers??{},n=F(r);return p=>chunk2NVQIUW5_js.M(async c=>{let m=n(p),i;try{i=new URL(m.url,e);}catch{throw {_tag:"BadUrl",message:`URL inv\xE1lida: ${m.url}`}}let a=performance.now(),s=await fetch(i,{...m.init??{},method:m.method,headers:M.headers.get(m),body:m.body,signal:c}),u={};s.headers.forEach((d,y)=>u[y]=d);let o=chunk2NVQIUW5_js.ia(s.body,T);return {status:s.status,statusText:s.statusText,headers:u,body:o,ms:Math.round(performance.now()-a)}},T)}function U(t={}){let e=t.baseUrl??"",r=t.headers??{},n=F(r);return C(c=>chunk2NVQIUW5_js.M(async m=>{let i=n(c),a;try{a=new URL(i.url,e);}catch{throw {_tag:"BadUrl",message:`URL inv\xE1lida: ${i.url}`}}let s=performance.now(),u=await fetch(a,{...i.init??{},method:i.method,headers:M.headers.get(i),body:i.body,signal:m}),o=await u.text(),d={};return u.headers.forEach((y,H)=>d[H]=y),{status:u.status,statusText:u.statusText,headers:d,bodyText:o,ms:Math.round(performance.now()-s)}},T))}var J=(t,e,r)=>Math.max(e,Math.min(r,t)),G=t=>t._tag==="FetchError",z=t=>t===408||t===429||t===500||t===502||t===503||t===504,I=(t,e,r)=>{let n=e*Math.pow(2,t),p=J(n,0,r);return Math.floor(Math.random()*p)},D=t=>chunk2NVQIUW5_js.M(e=>new Promise((r,n)=>{if(e.aborted)return n({_tag:"Abort"});let p=setTimeout(r,t);e.addEventListener("abort",()=>{clearTimeout(p),n({_tag:"Abort"});},{once:true});}),e=>typeof e=="object"&&e&&"_tag"in e?e:{_tag:"FetchError",message:String(e)}),Z=t=>{let e=Object.keys(t).find(c=>c.toLowerCase()==="retry-after");if(!e)return;let r=t[e]?.trim();if(!r)return;let n=Number(r);if(Number.isFinite(n))return Math.max(0,Math.floor(n*1e3));let p=Date.parse(r);if(Number.isFinite(p))return Math.max(0,p-Date.now())},_=t=>e=>(r=>{let n=p=>chunk2NVQIUW5_js.a(e(r),c=>{if(c._tag==="Abort"||c._tag==="BadUrl")return chunk2NVQIUW5_js.f(c);if(!(p<t.maxRetries&&(t.retryOnError??G)(c)))return chunk2NVQIUW5_js.f(c);let i=I(p,t.baseDelayMs,t.maxDelayMs);return chunk2NVQIUW5_js.k(D(i),()=>n(p+1))},c=>{if(!(p<t.maxRetries&&(t.retryOnStatus??z)(c.status)))return chunk2NVQIUW5_js.e(c);let a=Z(c.headers)??I(p,t.baseDelayMs,t.maxDelayMs);return chunk2NVQIUW5_js.k(D(a),()=>n(p+1))});return n(0)});var $=["GET","HEAD","OPTIONS"],K=t=>t===408||t===429||t===500||t===502||t===503||t===504,Q=t=>t._tag==="FetchError",V=t=>typeof t=="object"&&t!==null&&"name"in t&&t.name==="AbortError"?{_tag:"Abort"}:typeof t=="object"&&t&&"_tag"in t?t:{_tag:"FetchError",message:String(t)},L=t=>chunk2NVQIUW5_js.M(e=>new Promise((r,n)=>{let p=setTimeout(r,t),c=()=>{clearTimeout(p);let m=typeof globalThis.DOMException=="function"?new globalThis.DOMException("Aborted","AbortError"):{name:"AbortError"};n(m);};if(e.aborted)return c();e.addEventListener("abort",c,{once:true});}),V),X=(t,e,r)=>Math.max(e,Math.min(r,t)),v=(t,e,r)=>{let n=Math.max(0,e),p=Math.max(0,r),c=n*Math.pow(2,t),m=X(c,0,p);return Math.floor(Math.random()*m)},Y=(t,e)=>{let r=Object.keys(t).find(n=>n.toLowerCase()===e.toLowerCase());return r?t[r]:void 0},tt=t=>{let e=Y(t,"retry-after")?.trim();if(!e)return;let r=Number(e);if(Number.isFinite(r))return Math.max(0,Math.floor(r*1e3));let n=Date.parse(e);if(Number.isFinite(n))return Math.max(0,n-Date.now())},B=t=>e=>{let r=t.retryOnMethods??$,n=t.retryOnStatus??K,p=t.retryOnError??Q,c=i=>r.includes(i.method),m=(i,a)=>c(i)?chunk2NVQIUW5_js.a(e(i),s=>{if(s._tag==="Abort"||s._tag==="BadUrl")return chunk2NVQIUW5_js.f(s);if(!(a<t.maxRetries&&p(s)))return chunk2NVQIUW5_js.f(s);let o=v(a,t.baseDelayMs,t.maxDelayMs);return chunk2NVQIUW5_js.k(L(o),()=>m(i,a+1))},s=>{if(!(a<t.maxRetries&&n(s.status)))return chunk2NVQIUW5_js.e(s);let d=tt(s.headers)??v(a,t.baseDelayMs,t.maxDelayMs);return chunk2NVQIUW5_js.k(L(d),()=>m(i,a+1))}):e(i);return i=>m(i,0)};var et=(t,e)=>{try{return new URL(e,t??"").toString()}catch{return (t??"")+e}},j=(t={})=>{let e=U(t),r=a=>chunk2NVQIUW5_js.n((s,u)=>chunk2NVQIUW5_js.I(s,u))(a),n=a=>e(a),p=a=>{let{headers:s,...u}=a??{};return {headers:O(s),init:u}},c=a=>s=>a?W(a)(s):s;return {cfg:t,wire:e,withPromise:r,requestRaw:n,splitInit:p,applyInitHeaders:c,buildReq:(a,s,u,o)=>{let d=p(u),y={method:a,url:s,...o&&o.length>0?{body:o}:{},init:d.init};return c(d.headers)(y)},toResponse:(a,s)=>({status:a.status,statusText:a.statusText,headers:a.headers,body:s})}};function Dt(t={}){let e=j(t),r=n=>{let p=o=>n(o),c=o=>e.withPromise(p(o));return {request:c,get:(o,d)=>c(e.buildReq("GET",o,d)),post:(o,d,y)=>c(e.buildReq("POST",o,y,d)),getText:(o,d)=>{let y=e.buildReq("GET",o,d);return e.withPromise(chunk2NVQIUW5_js.p(p(y),H=>e.toResponse(H,H.bodyText)))},getJson:(o,d)=>{let y=e.buildReq("GET",o,d),H=g("accept","application/json")(y);return e.withPromise(chunk2NVQIUW5_js.p(p(H),l=>e.toResponse(l,JSON.parse(l.bodyText))))},postJson:(o,d,y)=>{let H=e.buildReq("POST",o,y,JSON.stringify(d??{})),l=g("content-type","application/json")(g("accept","application/json")(H));return e.withPromise(chunk2NVQIUW5_js.p(p(l),P=>e.toResponse(P,JSON.parse(P.bodyText))))},with:o=>r(n.with(o)),withRetry:o=>r(n.with(B(o))),wire:n}};return r(e.wire)}function Ft(t={}){let e=j(t),r=(s,u,o)=>({request:s,urlFinal:et(e.cfg.baseUrl,s.url),startedAt:o,durationMs:u.ms}),n=s=>{let u=Date.now();return e.withPromise(chunk2NVQIUW5_js.p(e.requestRaw(s),o=>({wire:o,meta:r(s,o,u)})))};return {request:n,get:(s,u)=>{let o=e.buildReq("GET",s,u);return n(o)},getText:(s,u)=>{let o=e.buildReq("GET",s,u),d=Date.now();return e.withPromise(chunk2NVQIUW5_js.p(e.requestRaw(o),y=>({wire:y,response:e.toResponse(y,y.bodyText),meta:r(o,y,d)})))},getJson:(s,u)=>{let o=e.buildReq("GET",s,u),d=g("accept","application/json")(o),y=Date.now();return e.withPromise(chunk2NVQIUW5_js.p(e.requestRaw(d),H=>({wire:H,response:e.toResponse(H,JSON.parse(H.bodyText)),meta:r(d,H,y)})))},post:(s,u,o)=>{let d=e.buildReq("POST",s,o,u);return n(d)},postJson:(s,u,o)=>{let d=e.buildReq("POST",s,o,JSON.stringify(u??{})),y=g("content-type","application/json")(g("accept","application/json")(d)),H=Date.now();return e.withPromise(chunk2NVQIUW5_js.p(e.requestRaw(y),l=>({wire:l,response:e.toResponse(l,JSON.parse(l.bodyText)),meta:r(y,l,H)})))}}}function Nt(t={}){let e=N(t),r=n=>{let p=i=>chunk2NVQIUW5_js.n((a,s)=>chunk2NVQIUW5_js.I(a,s))(i),c=i=>p(n(i)),m=(i,a)=>{let s={method:"GET",url:i,init:a},u=g("accept","*/*")(s);return c(u)};return {request:c,getStream:m,get:m,with:i=>r(i(n)),withRetry:i=>r(_(i)(n)),wire:n}};return r(e)}exports.decorate=C;exports.httpClient=Dt;exports.httpClientStream=Nt;exports.httpClientWithMeta=Ft;exports.makeHttp=U;exports.makeHttpStream=N;exports.normalizeHeadersInit=O;exports.withMiddleware=mt;exports.withRetryStream=_;
|
package/dist/http/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import {M as M$1,ia,a,p,n,f
|
|
1
|
+
import {M as M$1,ia,a,p,n,f,k,e,I as I$1}from'../chunk-JTRM4ZSS.mjs';var A={make(t,e){return {get:t,set:e}},over(t,e){return r=>t.set(e(t.get(r)))(r)},compose(t,e){return A.make(r=>t.get(e.get(r)),r=>n=>e.set(t.set(r)(e.get(n)))(n))}};var M={headers:A.make(t=>t.headers??{},t=>e=>({...e,headers:t}))};var W=t=>e=>A.over(M.headers,r=>({...r,...t}))(e),S=t=>e=>A.over(M.headers,r=>({...t,...r}))(e),g=(t,e)=>r=>A.over(M.headers,n=>n[t]?n:{...n,[t]:e})(r);var mt=t=>e=>C(t(e)),C=t=>Object.assign((e=>t(e)),{with:e=>C(e(t))}),T=t=>t instanceof DOMException&&t.name==="AbortError"?{_tag:"Abort"}:typeof t=="object"&&t&&"_tag"in t?t:{_tag:"FetchError",message:String(t)},O=t=>{if(t){if(typeof Headers<"u"&&t instanceof Headers){let e={};return t.forEach((r,n)=>e[n]=r),e}if(Array.isArray(t))return Object.fromEntries(t);if(typeof t=="object")return {...t}}},F=t=>e=>{let r=Object.keys(t).length?S(t)(e):e,n=O(e.init?.headers);return n&&Object.keys(n).length&&(r=S(n)(r)),r};function N(t={}){let e=t.baseUrl??"",r=t.headers??{},n=F(r);return p=>M$1(async c=>{let m=n(p),i;try{i=new URL(m.url,e);}catch{throw {_tag:"BadUrl",message:`URL inv\xE1lida: ${m.url}`}}let a=performance.now(),s=await fetch(i,{...m.init??{},method:m.method,headers:M.headers.get(m),body:m.body,signal:c}),u={};s.headers.forEach((d,y)=>u[y]=d);let o=ia(s.body,T);return {status:s.status,statusText:s.statusText,headers:u,body:o,ms:Math.round(performance.now()-a)}},T)}function U(t={}){let e=t.baseUrl??"",r=t.headers??{},n=F(r);return C(c=>M$1(async m=>{let i=n(c),a;try{a=new URL(i.url,e);}catch{throw {_tag:"BadUrl",message:`URL inv\xE1lida: ${i.url}`}}let s=performance.now(),u=await fetch(a,{...i.init??{},method:i.method,headers:M.headers.get(i),body:i.body,signal:m}),o=await u.text(),d={};return u.headers.forEach((y,H)=>d[H]=y),{status:u.status,statusText:u.statusText,headers:d,bodyText:o,ms:Math.round(performance.now()-s)}},T))}var J=(t,e,r)=>Math.max(e,Math.min(r,t)),G=t=>t._tag==="FetchError",z=t=>t===408||t===429||t===500||t===502||t===503||t===504,I=(t,e,r)=>{let n=e*Math.pow(2,t),p=J(n,0,r);return Math.floor(Math.random()*p)},D=t=>M$1(e=>new Promise((r,n)=>{if(e.aborted)return n({_tag:"Abort"});let p=setTimeout(r,t);e.addEventListener("abort",()=>{clearTimeout(p),n({_tag:"Abort"});},{once:true});}),e=>typeof e=="object"&&e&&"_tag"in e?e:{_tag:"FetchError",message:String(e)}),Z=t=>{let e=Object.keys(t).find(c=>c.toLowerCase()==="retry-after");if(!e)return;let r=t[e]?.trim();if(!r)return;let n=Number(r);if(Number.isFinite(n))return Math.max(0,Math.floor(n*1e3));let p=Date.parse(r);if(Number.isFinite(p))return Math.max(0,p-Date.now())},_=t=>e$1=>(r=>{let n=p=>a(e$1(r),c=>{if(c._tag==="Abort"||c._tag==="BadUrl")return f(c);if(!(p<t.maxRetries&&(t.retryOnError??G)(c)))return f(c);let i=I(p,t.baseDelayMs,t.maxDelayMs);return k(D(i),()=>n(p+1))},c=>{if(!(p<t.maxRetries&&(t.retryOnStatus??z)(c.status)))return e(c);let a=Z(c.headers)??I(p,t.baseDelayMs,t.maxDelayMs);return k(D(a),()=>n(p+1))});return n(0)});var $=["GET","HEAD","OPTIONS"],K=t=>t===408||t===429||t===500||t===502||t===503||t===504,Q=t=>t._tag==="FetchError",V=t=>typeof t=="object"&&t!==null&&"name"in t&&t.name==="AbortError"?{_tag:"Abort"}:typeof t=="object"&&t&&"_tag"in t?t:{_tag:"FetchError",message:String(t)},L=t=>M$1(e=>new Promise((r,n)=>{let p=setTimeout(r,t),c=()=>{clearTimeout(p);let m=typeof globalThis.DOMException=="function"?new globalThis.DOMException("Aborted","AbortError"):{name:"AbortError"};n(m);};if(e.aborted)return c();e.addEventListener("abort",c,{once:true});}),V),X=(t,e,r)=>Math.max(e,Math.min(r,t)),v=(t,e,r)=>{let n=Math.max(0,e),p=Math.max(0,r),c=n*Math.pow(2,t),m=X(c,0,p);return Math.floor(Math.random()*m)},Y=(t,e)=>{let r=Object.keys(t).find(n=>n.toLowerCase()===e.toLowerCase());return r?t[r]:void 0},tt=t=>{let e=Y(t,"retry-after")?.trim();if(!e)return;let r=Number(e);if(Number.isFinite(r))return Math.max(0,Math.floor(r*1e3));let n=Date.parse(e);if(Number.isFinite(n))return Math.max(0,n-Date.now())},B=t=>e$1=>{let r=t.retryOnMethods??$,n=t.retryOnStatus??K,p=t.retryOnError??Q,c=i=>r.includes(i.method),m=(i,a$1)=>c(i)?a(e$1(i),s=>{if(s._tag==="Abort"||s._tag==="BadUrl")return f(s);if(!(a$1<t.maxRetries&&p(s)))return f(s);let o=v(a$1,t.baseDelayMs,t.maxDelayMs);return k(L(o),()=>m(i,a$1+1))},s=>{if(!(a$1<t.maxRetries&&n(s.status)))return e(s);let d=tt(s.headers)??v(a$1,t.baseDelayMs,t.maxDelayMs);return k(L(d),()=>m(i,a$1+1))}):e$1(i);return i=>m(i,0)};var et=(t,e)=>{try{return new URL(e,t??"").toString()}catch{return (t??"")+e}},j=(t={})=>{let e=U(t),r=a=>n((s,u)=>I$1(s,u))(a),n$1=a=>e(a),p=a=>{let{headers:s,...u}=a??{};return {headers:O(s),init:u}},c=a=>s=>a?W(a)(s):s;return {cfg:t,wire:e,withPromise:r,requestRaw:n$1,splitInit:p,applyInitHeaders:c,buildReq:(a,s,u,o)=>{let d=p(u),y={method:a,url:s,...o&&o.length>0?{body:o}:{},init:d.init};return c(d.headers)(y)},toResponse:(a,s)=>({status:a.status,statusText:a.statusText,headers:a.headers,body:s})}};function Dt(t={}){let e=j(t),r=n=>{let p$1=o=>n(o),c=o=>e.withPromise(p$1(o));return {request:c,get:(o,d)=>c(e.buildReq("GET",o,d)),post:(o,d,y)=>c(e.buildReq("POST",o,y,d)),getText:(o,d)=>{let y=e.buildReq("GET",o,d);return e.withPromise(p(p$1(y),H=>e.toResponse(H,H.bodyText)))},getJson:(o,d)=>{let y=e.buildReq("GET",o,d),H=g("accept","application/json")(y);return e.withPromise(p(p$1(H),l=>e.toResponse(l,JSON.parse(l.bodyText))))},postJson:(o,d,y)=>{let H=e.buildReq("POST",o,y,JSON.stringify(d??{})),l=g("content-type","application/json")(g("accept","application/json")(H));return e.withPromise(p(p$1(l),P=>e.toResponse(P,JSON.parse(P.bodyText))))},with:o=>r(n.with(o)),withRetry:o=>r(n.with(B(o))),wire:n}};return r(e.wire)}function Ft(t={}){let e=j(t),r=(s,u,o)=>({request:s,urlFinal:et(e.cfg.baseUrl,s.url),startedAt:o,durationMs:u.ms}),n=s=>{let u=Date.now();return e.withPromise(p(e.requestRaw(s),o=>({wire:o,meta:r(s,o,u)})))};return {request:n,get:(s,u)=>{let o=e.buildReq("GET",s,u);return n(o)},getText:(s,u)=>{let o=e.buildReq("GET",s,u),d=Date.now();return e.withPromise(p(e.requestRaw(o),y=>({wire:y,response:e.toResponse(y,y.bodyText),meta:r(o,y,d)})))},getJson:(s,u)=>{let o=e.buildReq("GET",s,u),d=g("accept","application/json")(o),y=Date.now();return e.withPromise(p(e.requestRaw(d),H=>({wire:H,response:e.toResponse(H,JSON.parse(H.bodyText)),meta:r(d,H,y)})))},post:(s,u,o)=>{let d=e.buildReq("POST",s,o,u);return n(d)},postJson:(s,u,o)=>{let d=e.buildReq("POST",s,o,JSON.stringify(u??{})),y=g("content-type","application/json")(g("accept","application/json")(d)),H=Date.now();return e.withPromise(p(e.requestRaw(y),l=>({wire:l,response:e.toResponse(l,JSON.parse(l.bodyText)),meta:r(y,l,H)})))}}}function Nt(t={}){let e=N(t),r=n$1=>{let p=i=>n((a,s)=>I$1(a,s))(i),c=i=>p(n$1(i)),m=(i,a)=>{let s={method:"GET",url:i,init:a},u=g("accept","*/*")(s);return c(u)};return {request:c,getStream:m,get:m,with:i=>r(i(n$1)),withRetry:i=>r(_(i)(n$1)),wire:n$1}};return r(e)}export{C as decorate,Dt as httpClient,Nt as httpClientStream,Ft as httpClientWithMeta,U as makeHttp,N as makeHttpStream,O as normalizeHeadersInit,mt as withMiddleware,_ as withRetryStream};
|