@defjs/core 0.3.2 → 0.4.0-beta.0
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/LICENSE +1 -1
- package/README.md +122 -2
- package/index.d.ts +1593 -189
- package/index.js +5140 -846
- package/index.min.js +2 -1
- package/package.json +13 -12
package/index.min.js
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
var K=new Error("ERR_ABORTED"),X=new Error("ERR_TIMEOUT"),Ht=new Error("ERR_NETWORK"),y=new Error("ERR_NOT_FOUND_HANDLER"),Et=new Error("ERR_OBSERVE"),A=new Error("ERR_NOT_SET_ALIAS"),W=new Error("ERR_UNSUPPORTED_FIELD_TYPE"),J=new Error("ERR_INVALID_CLIENT"),j=new Error("ERR_NOT_FOUND_GLOBAL_CLIENT"),L=new Error("ERR_INVALID_HTTP_CONTEXT_TOKEN"),pt=new Error("ERR_UNKNOWN");function N(t){let n=t?.status??0,r=n>=200&&n<300,o=t?.statusText??"",T=t?.url??"",H=t?.headers??new Headers,f=t?.body??null,i=t?.error;if(!i&&!r){let e=`Http failure response for ${T||"(unknown url)"}: ${n}`;if(o)e+=` - ${o}`;i=new Error(e)}return{status:n,statusText:o,url:T,headers:H,body:f,error:i}}var d=Symbol("HttpContextToken");function wt(t){return Object.defineProperty(t,d,{value:t}),t}function P(t){return typeof t==="function"&&d in t}var Q=Symbol("HttpContext");function it(t){return typeof t==="object"&&t!==null&&Q in t}function Y(t){let n=new Map;switch(!0){case Array.isArray(t):{for(let[r,o]of t)if(P(r))n.set(r,o);break}case it(t):{for(let[r,o]of t[Q])n.set(r,o);break}}return{set(r,o){if(!P(r))throw L;return n.set(r,o),this},get(r){if(!P(r))throw L;if(!n.has(r))n.set(r,r());return n.get(r)},del(r){return n.delete(r),this},has(r){return n.has(r)},keys(){return n.keys()},get length(){return Array.from(n.keys()).length},[Q]:n}}var Z=Symbol("field");function Rt(t){let n={required:typeof t!=="undefined",alias:new Map,validators:[],asyncValidator:[]},r=()=>t;return Object.defineProperty(r,Z,{value:n}),r.withJson=(o)=>{return n.alias.set(0,o),r},r.withForm=(o)=>{return n.alias.set(4,o),r},r.withQuery=(o)=>{return n.alias.set(1,o),r},r.withParam=(o)=>{return n.alias.set(2,o),r},r.withHeader=(o)=>{return n.alias.set(3,o),r},r.withUrlForm=(o)=>{return n.alias.set(6,o),r},r.withBody=()=>{return n.alias.set(5,void 0),r},r.withValidators=(...o)=>{return n.validators=o,r},r.withAsyncValidators=(...o)=>{return n.asyncValidator=o,r},r}function G(t){return t[Z]}async function V(t,n){await Promise.all(t.map((r)=>r(n)))}function M(t){return!!t&&typeof t==="function"&&Z in t}function g(t){return!!t&&typeof t==="object"&&Object.entries(t).every(([,n])=>M(n))}var ft=void 0;var a=()=>ft;function q(t){return t.reduceRight((n,r)=>{return(o,T)=>r(o,(H)=>n(H,T))},(n,r)=>r(n))}function v(t){switch(!0){case t instanceof FormData:case t instanceof Blob:case t instanceof ArrayBuffer:case t instanceof URLSearchParams:case typeof t==="string":return t;case typeof t==="object":case typeof t==="boolean":case typeof t==="number":case Array.isArray(t):return JSON.stringify(t);default:return null}}function tt(t){switch(!0){case t instanceof FormData:case t instanceof URLSearchParams:return null;case t instanceof ArrayBuffer:return"application/octet-stream";case t instanceof Blob:return t.type||"application/octet-stream";case typeof t==="string":return"text/plain";case(typeof t==="object"&&t!==null):case typeof t==="number":case typeof t==="boolean":return"application/json";default:return null}}function kt(t){if(g(t)){let n={};for(let[r,o]of Object.entries(t))n[r]=o();return n}return}function st(...t){let n,r,o=!1,T,H=[],f="json",i,e=!1,p=[],w;switch(t.length){case 1:{n="GET",r=t[0];break}case 2:{n=t[0],r=t[1];break}default:throw new Error("Invalid arguments")}let c=(x)=>{let R=x?.timeout||0,k=x?.client||S(),E=z(k),s=x?.handler||E?.handler||a();if(!s)throw y;let m,I,h,_=[];if(x?.abort)_.push(x.abort);else h=new AbortController,_.push(h.signal);if(R>0)_.push(AbortSignal.timeout(R));return{doRequest:async(...F)=>{try{let U;if(o&&F.length===1)U=F[0];if(o&&!U)throw new Error("Because the request has input, the argument must be the input value");if(p.length>0)for(let ct of p)ct(U);let b={host:E?.host,method:n,endpoint:r,queryParams:new URLSearchParams,headers:new Headers,body:void 0,withCredentials:e,responseType:f,context:i||Y(),uploadProgress:m,downloadProgress:I,timeout:R,abort:AbortSignal.any(_)};if(o&&T)await Ct(b,T,U);let D=await q([...E.interceptors,...H])(b,s);if(typeof w==="function")D=N({...D,body:w(D)});return D}catch(U){return N({error:U})}},cancel:()=>{h?.abort()},getInitValue:()=>kt(T),setUploadProgress:(F)=>{m=F},setDownloadProgress:(F)=>{I=F}}};return c.withField=(x)=>{return T=x,o=!0,c},c.withInterceptors=(x)=>{return H=x,c},c.withContext=(x)=>{return i=x,c},c.withCredentials=(x)=>{return e=x,c},c.withValidators=(...x)=>{return p=x,c},c.withTransformResponse=(x)=>{return w=x,c},c.withResponseType=(x)=>{return f=x,c},c}function l(t,n){return t.replace(/:([^\/]+)/g,(r,o)=>{return n.get(o)??"undefined"})}async function Ct(t,n,r){function o(e){return typeof e==="object"&&e!==null}function T(e){switch(!0){case Array.isArray(e):case(typeof e==="object"&&e!==null):return JSON.stringify(e);case(typeof e==="object"&&e===null):case typeof e==="boolean":case typeof e==="number":case typeof e==="string":return String(e);default:throw new Error("Unsupported value type")}}function H(e,p,w){if(Array.isArray(w))for(let c of w)e.append(p,T(c));else e.set(p,T(w));return e}function f(e,p,w){if(Array.isArray(w))for(let c of w)f(e,p,T(c));return e.set(p,T(w)),e}function i(e,p){switch(!0){case typeof e==="undefined":return p;case(typeof e==="object"&&e===null):return e;default:return e}}if(M(n)){let e,p,w,c=void 0,x=i(r,n()),R=G(n);await V([...R.validators,...R.asyncValidator],x);for(let[k,E]of R.alias)switch(k){case 1:{if(!E)throw A;p=H(new URLSearchParams,E,x);break}case 2:{if(!E)throw A;e=f(new Map,E,x);break}case 3:{if(!E)throw A;w=H(new Headers,E,x);break}case 4:{if(!E)throw A;c=H(new FormData,E,x);break}case 6:{if(!E)throw A;c=H(new URLSearchParams,E,x);break}case 0:case 5:c=x;break}if(e)t.endpoint=l(t.endpoint,e);t.queryParams=p,t.headers=w,t.body=c;return}if(g(n)&&o(r)){let e=new Map,p=new URLSearchParams,w=new Headers,c=new URLSearchParams,x=new FormData,R={},k=void 0,E;for(let[s,m]of Object.entries(n)){let I=G(m);for(let[h,_]of I.alias){let O=_||s,C=i(r[s],m());switch(await V([...I.validators,...I.asyncValidator],C),h){case 0:{Object.defineProperty(R,O,{value:C,writable:!0,enumerable:!0}),E=0;break}case 1:p=H(p,O,C);break;case 2:e=f(e,O,C);break;case 3:w=H(w,O,C);break;case 4:{x=H(x,O,C),E=4;break}case 6:{c=H(c,O,C),E=6;break}case 5:{k=C,E=5;break}}}}switch(t.endpoint=l(t.endpoint,e),t.queryParams=p,t.headers=w,E){case 5:t.body=k;break;case 4:t.body=x;break;case 6:t.body=c;break;case 0:t.body=R;break}return}throw W}function nt(t){let n=t.get("Content-Length");if(!n)return 0;let r=Number(n);if(isNaN(r))return 0;return r}function rt(t){return t.get("Content-Type")||""}function ot(t){let{request:n,content:r,contentType:o}=t;switch(n.responseType){case"json":{let H=new TextDecoder().decode(r);if(H==="")return null;return JSON.parse(H)}case"text":return new TextDecoder().decode(r);case"blob":return new Blob([r],{type:o});case"arraybuffer":return r.buffer;default:return null}}function et(t,n){let r=new Uint8Array(n),o=0;for(let T of t)r.set(T,o),o+=T.length;return r}function Nt(t){let n=new URL(t.endpoint,t.host);if(t.queryParams)n.search=t.queryParams.toString();let r=t.headers??new Headers;if(!r.has("Content-Type")){let T=tt(t.body);if(T)r.set("Content-Type",T)}if(!r.has("Accept"))r.set("Accept","application/json, text/plain, */*");let o=t.withCredentials?"include":void 0;return new Request(n,{headers:r,method:t.method,body:v(t.body),signal:t.abort,credentials:o})}async function u(t){let n=t.downloadProgress,r=Nt(t),o=t.abort,T;try{T=await globalThis.fetch(r)}catch(x){if(o?.aborted&&o.reason instanceof Error)switch(!0){case o.reason.name==="AbortError":return N({error:K});case o.reason.name==="TimeoutError":return N({error:X})}return N({error:x})}let{headers:H,status:f,statusText:i,url:e}=T,p=nt(H),w=rt(H),c=null;if(T.body){let x=[],R=T.body.getReader(),k=0;while(!0){let{done:s,value:m}=await R.read();if(s)break;x.push(m),k+=m.length,n?.({lengthComputable:p>0,loaded:k,total:p})}let E=et(x,k);try{c=ot({request:t,content:E,contentType:w})}catch(s){return N({error:s,status:f,statusText:i,headers:H,url:e})}}return N({status:f,statusText:i,headers:H,url:e,body:c})}var $=Symbol("Client"),B;function xt(t){return typeof t==="object"&&t!==null&&$ in t}function z(t){if(!xt(t))throw J;return t[$]}function Tt(t){let n={host:t.host,interceptors:t.interceptors??[],handler:t.handler||u};return{[$]:n}}function mt(t,n){let o={...z(t),...n};return{[$]:o}}function S(){if(!B)throw j;return B}function Ot(t){B=t}function At(){B=void 0}function It(t){B=Tt(t)}function _t(t,n){let r=n?.encode;if(!r){let o=globalThis.btoa;if(typeof o!=="function")throw new Error("BasicAuthInterceptor is not supported in this environment");r=(T)=>o(`${T.username}:${T.password}`)}return(o,T)=>{let H=o.headers||new Headers;return H.set("Authorization",`Basic ${r(t())}`),o.headers=H,T(o)}}var Ft=(t)=>{if(!t)return new Error("required");return null},Ut=(t)=>{if(typeof t!=="boolean"||!t)return new Error("requiredTrue");return null},ht=(t)=>{return(n)=>{if(typeof n!=="string")return new Error("invalid string");if(n.length<t)return new Error(`minLength ${t}`);return null}},Bt=(t)=>{return(n)=>{if(typeof n!=="string")return new Error("invalid string");if(n.length>t)return new Error(`maxLength ${t}`);return null}},Dt=(t)=>{return(n)=>{if(typeof n!=="number"||isNaN(n))return new Error("invalid number");if(n<t)return new Error(`minLength ${t}`);return null}},Lt=(t)=>{return(n)=>{if(typeof n!=="number"||isNaN(n))return new Error("invalid number");if(n>t)return new Error(`maxLength ${t}`);return null}},Pt=(t)=>{return(n)=>{if(typeof n!=="string")return new Error("invalid string");if(!t.test(n))return new Error("pattern");return null}};export{Ot as setGlobalClient,At as restGlobalClient,Ut as requiredTrue,Ft as required,Pt as pattern,ht as minLength,Dt as min,Bt as maxLength,Lt as max,wt as makeHttpContextToken,Y as makeHttpContext,P as isHttpContextToken,g as isFieldGroup,M as isField,xt as isClient,S as getGlobalClient,Rt as field,u as fetchHandler,V as doValid,st as defineRequest,It as createGlobalClient,Tt as createClient,mt as cloneClient,_t as basicAuthInterceptor,W as ERR_UNSUPPORTED_FIELD_TYPE,pt as ERR_UNKNOWN,X as ERR_TIMEOUT,Et as ERR_OBSERVE,A as ERR_NOT_SET_ALIAS,y as ERR_NOT_FOUND_HANDLER,j as ERR_NOT_FOUND_GLOBAL_CLIENT,Ht as ERR_NETWORK,L as ERR_INVALID_HTTP_CONTEXT_TOKEN,J as ERR_INVALID_CLIENT,K as ERR_ABORTED};
|
|
1
|
+
const e=Symbol.for(`defjs.command.type`),t=Symbol.for(`defjs.command.http`),n=Symbol.for(`defjs.command.event-stream`),r=Symbol.for(`defjs.command.web-socket`);function i(t){if(typeof t==`object`&&t&&e in t)return t[e]}function a(e){return i(e)===t}function o(e){return i(e)===n}function s(e){return i(e)===r}const c=e=>e.toString(),l=globalThis.fetch.bind(globalThis),u={handle:l},d={handle:l,onInvalidEvent:void 0,reconnect:void 0};function f(){return{endpoint:``,http:{...u},interceptors:[],queryParamsSerializer:c,xsrf:void 0}}function p(){return{...f(),sse:{...d},webSocket:{handle:globalThis.WebSocket,beforeConnect:void 0,heartbeat:void 0,onInvalidEvent:void 0,protocols:void 0,reconnect:void 0}}}const m=Error(`Request was aborted`),h=Error(`Request timed out`);function g(e){if(y(e)){let t=Error(m.message,{cause:e});return Object.defineProperty(t,"name",{configurable:!0,enumerable:!1,value:`TransportError`,writable:!0}),t.code=`ABORTED`,t.kind=`transport`,t}if(b(e)){let t=Error(e instanceof Error&&e.message?e.message:h.message,{cause:e});return Object.defineProperty(t,"name",{configurable:!0,enumerable:!1,value:`TransportError`,writable:!0}),t.code=`TIMEOUT`,t.kind=`transport`,t}let t=Error(e instanceof Error?e.message:`Network error`,{cause:e});return Object.defineProperty(t,"name",{configurable:!0,enumerable:!1,value:`TransportError`,writable:!0}),t.code=`NETWORK_ERROR`,t.kind=`transport`,t}function _(e,t,n){if(e===`UNDECLARED_STATUS`){if(!n)throw TypeError(`UNDECLARED_STATUS requires a response`);let r=Error(t instanceof Error?t.message:String(t),{cause:t});return Object.defineProperty(r,"name",{configurable:!0,enumerable:!1,value:`DefinitionError`,writable:!0}),r.code=e,r.kind=`definition`,r.response=n,r.status=n.status,r}let r=Error(t instanceof Error?t.message:String(t),{cause:t});return Object.defineProperty(r,"name",{configurable:!0,enumerable:!1,value:`DefinitionError`,writable:!0}),r.code=e,r.kind=`definition`,r.response=n,r}function v(e,t,n,r){let i=Error(t);return Object.defineProperty(i,"name",{configurable:!0,enumerable:!1,value:`HttpStatusError`,writable:!0}),i.code=`HTTP_STATUS`,i.data=r,i.kind=`http`,i.response=n,i.status=e,i}function y(e){return e===m||e instanceof DOMException&&e.name===`AbortError`}function b(e){return e===h||e instanceof DOMException&&e.name===`TimeoutError`||e instanceof Error&&e.name===`TimeoutError`}function x(e){return{kind:`http`,fn:e}}function S(e){return{kind:`sse`,fn:e}}function C(e){return{kind:`web-socket`,fn:e}}function w(e,t){return t(e)}function T(e){return e.reduceRight((e,t)=>(n,r)=>t(n,t=>e(t,r)),w)}function E(e){return e.filter(e=>e.kind===`http`).map(e=>e.fn)}function D(e){return e.filter(e=>e.kind===`sse`).map(e=>e.fn)}function O(e){return e.filter(e=>e.kind===`web-socket`).map(e=>e.fn)}const ee=2147483647;function te(e){return{abort:e.abort,signal:e.signal,timeout:e.timeout}}function k(e){return e!==void 0&&e.abort!==void 0&&e.timeout!==void 0}function ne(){return _(`REQUEST_VALIDATION_FAILED`,Error(`abort and timeout cannot be used together`))}function A(e){if(e.aborted)return j(e)}function j(e){let t=e.reason;return g(t===h||t instanceof Error&&t.name===`TimeoutError`?h:m)}function M(e){if(e!==void 0&&(!Number.isSafeInteger(e)||e<=0||e>ee))throw RangeError(`Request timeout must be a positive safe integer no greater than ${ee}`)}async function N(e,t){t.throwIfAborted();let n,r=new Promise((e,t)=>{n=t}),i=()=>n(t.reason);t.addEventListener(`abort`,i,{once:!0});let a=Promise.resolve().then(()=>(t.throwIfAborted(),e()));a.catch(()=>void 0);try{let e=await Promise.race([a,r]);return t.throwIfAborted(),e}finally{t.removeEventListener(`abort`,i)}}function P(e,t,n){M(n);let r=typeof n==`number`,i=[e];for(let e of t)e&&i.push(e);if(!r&&i.length===1)return e;let a;if(r){let e=new AbortController;a=setTimeout(()=>{e.abort(h)},n),i.push(e.signal)}let o=AbortSignal.any(i);if(a!==void 0){let e=a,t=()=>{clearTimeout(e)};o.aborted?t():o.addEventListener(`abort`,t,{once:!0})}return o}const F=Symbol.for(`defjs.struct.definition`),re=Symbol.for(`defjs.struct.omit`),ie=new Set([`any`,`array`,`arrayBuffer`,`bigint`,`blob`,`boolean`,`date`,`discriminatedUnion`,`enum`,`file`,`intersection`,`literal`,`null`,`number`,`object`,`or`,`record`,`request`,`requestBody`,`string`,`tuple`,`unknown`]);function ae(e){if(typeof e!=`object`||!e||!Object.hasOwn(e,F))return!1;let t=e[F];if(typeof t!=`object`||!t||!ie.has(t.kind))return!1;let n=t.flags;return typeof n==`object`&&!!n&&typeof n.nullable==`boolean`&&typeof n.optional==`boolean`}function I(e,t){let n=t.cache.resolvedShape;if(n)return n;let r=oe(t.shape,t.cache.declaredDescriptors);for(let[e,t]of Object.entries(r))L(t,`object field "${e}"`);return t.cache.resolvedShape=r,r}function oe(e,t){let n=Object.create(null);for(let[r,i]of Object.entries(t))n[r]=typeof i.get==`function`?i.get.call(e):i.value;return n}function L(e,t){if(!ae(e))throw TypeError(`${t} must be a struct`)}const se=[`path`,`query`,`headers`,`body`];function R(e,t){return e.valueSet===void 0?(e.valueSet=null,e.values.includes(t)):(e.valueSet??=new Set(e.values)).has(t)}function z(e){return{ok:!0,value:e}}function B(e){return{issue:e,ok:!1}}function ce(e){switch(e.kind){case`any`:return`any`;case`array`:return`array<${ce(e.item[F])}>`;case`arrayBuffer`:return`ArrayBuffer`;case`blob`:return`Blob`;case`bigint`:case`boolean`:case`date`:case`file`:case`null`:case`number`:case`string`:return e.expected;case`enum`:case`literal`:return e.expected;case`intersection`:case`or`:case`discriminatedUnion`:return e.expected;case`object`:return`object`;case`record`:return`record<${ce(e.value[F])}>`;case`request`:return`request`;case`requestBody`:return`${e.codec} body`;case`tuple`:return`tuple`;case`unknown`:return`unknown`}}function le(e){if(e.length===0)return`<root>`;let t=``;for(let n of e){if(typeof n==`number`){t+=`[${n}]`;continue}t+=t?`.${n}`:n}return t}function V(e,t){return Object.hasOwn(e,t)}function H(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function ue(e){return e===null?`null`:e===void 0?`undefined`:typeof e==`string`?JSON.stringify(e):typeof e==`number`||typeof e==`boolean`?String(e):e instanceof File?`File(${e.name})`:e instanceof Blob?`Blob(${e.type||`application/octet-stream`})`:e instanceof ArrayBuffer?`ArrayBuffer(${e.byteLength})`:Array.isArray(e)?`array`:H(e)?`object`:Object.prototype.toString.call(e)}function U(e,t){return fe(e[F],t,e)}function de(e,t){let n=[];for(let r of e){let e=r;U(e,t)&&n.push(e)}return n}function fe(e,t,n){if(t===null){if(e.kind===`null`||e.flags.nullable)return!0;if((e.kind!==`literal`||e.value!==null)&&e.kind!==`intersection`&&e.kind!==`or`&&e.kind!==`requestBody`)return!1}if(t===void 0)return e.flags.optional;switch(e.kind){case`any`:case`unknown`:return!0;case`arrayBuffer`:case`bigint`:case`blob`:case`boolean`:case`date`:case`file`:case`null`:case`number`:case`string`:return(e.runtimeIs??e.is)(t);case`literal`:return Object.is(t,e.value);case`enum`:return R(e,t);case`array`:return Array.isArray(t)&&t.every(t=>U(e.item,t));case`tuple`:return Array.isArray(t)&&t.length===e.items.length&&e.items.every((e,n)=>U(e,t[n]));case`object`:return H(t)&&pe(n,t);case`request`:if(!H(t))return!1;for(let n of se){let r=e[n];if(r&&(!V(t,n)||!U(r,t[n])))return!1}return!0;case`requestBody`:return U(e.struct,t);case`record`:return H(t)&&Object.keys(t).every(n=>U(e.value,t[n]));case`or`:return e.options.some(e=>U(e,t));case`discriminatedUnion`:{if(!H(t)||!V(t,e.discriminator))return!1;let n=e.map.get(t[e.discriminator]);return n?U(n,t):!1}case`intersection`:return e.options.every(e=>U(e,t))}}function pe(e,t){let n=e[F];if(n.kind!==`object`)return!0;let r=I(e,n);for(let e in r){let n=r[e],i=n[F];if(!V(t,e)){if(me(i))return!1;continue}if(!U(n,t[e]))return!1}return!0}function me(e){return!e.flags.optional}function he(e,t){let n=t.cache.fields;if(n)return n;let r=t.cache.resolvedShape??I(e,t),i=Object.freeze(Object.entries(r).map(([e,t])=>{let n=t,r=n[F].alias;return Object.freeze({alias:r,key:e,struct:n,wireKey:r??e})}));return ge(i),t.cache.fields=i,i}function ge(e){let t=new Map;for(let n of e){if(t.has(n.wireKey)){let e=t.get(n.wireKey);throw TypeError(`duplicate wire key "${n.wireKey}" for object fields "${e}" and "${n.key}"`)}t.set(n.wireKey,n.key)}}function _e(e,t,n,r=Object.create(null)){let i=e[F];if(i.kind!==`object`)throw TypeError(`json encode expects object struct`);for(let a of he(e,i)){if(!V(t,a.key))continue;let e=t[a.key];e!==void 0&&(r[a.wireKey]=n(a.struct,e))}return r}function ve(e,t,n,r,i){return ye(be(e,t,i),be(n,r,i))}function ye(e,t){if(Object.is(e,t))return!0;if(Array.isArray(e)||Array.isArray(t))return Array.isArray(e)&&Array.isArray(t)&&e.length===t.length&&e.every((e,n)=>ye(e,t[n]));if(!H(e)||!H(t))return!1;let n=Object.keys(e),r=Object.keys(t);return n.length===r.length&&n.every(n=>V(t,n)&&ye(e[n],t[n]))}function be(e,t,n){let r=e[F];return n.encodeObject&&r.alias&&(r.kind===`array`||r.kind===`object`)?{alias:r.alias,value:t}:t}function xe(e,t,n,r,i=Object.create(null)){if(r.encodeObject===_e)return _e(e,n,(e,t)=>W(e,t,r),i);let a=I(e,t);for(let e in a)V(n,e)&&(i[e]=W(a[e],n[e],r));return i}function W(e,t,n={}){let r=e[F];if(t===null&&(r.kind===`null`||r.flags.nullable))return null;if(!(t===void 0&&r.flags.optional))switch(r.kind){case`any`:case`unknown`:case`null`:case`enum`:case`literal`:return t;case`arrayBuffer`:case`bigint`:case`blob`:case`boolean`:case`date`:case`file`:case`number`:case`string`:return r.encode?r.encode(t):t;case`array`:return Array.isArray(t)?t.map(e=>W(r.item,e,n)):t;case`tuple`:return Array.isArray(t)?t.map((e,t)=>t<r.items.length?W(r.items[t],e,n):e):t;case`record`:{if(!H(t))return t;let e=Object.create(null);for(let[i,a]of Object.entries(t))e[i]=W(r.value,a,n);return e}case`object`:return H(t)?n.encodeObject?n.encodeObject(e,t,(e,t)=>W(e,t,n)):xe(e,r,t,n):t;case`request`:{if(!H(t))return t;let e=Object.create(null);for(let i of se){let a=r[i];a&&V(t,i)&&(e[i]=W(a,t[i],n))}return e}case`requestBody`:return W(r.struct,t,n);case`or`:{if(!n.encodeObject&&!n.selectUnionOptions&&r.uniformIdentityEncode){for(let e of r.options){let r=e;if(U(r,t))return W(r,t,n)}return t}let e=(n.selectUnionOptions??de)(r.options,t),i=e[0];if(!i)return t;let a=W(i,t,n);for(let r=1;r<e.length;r+=1){let o=e[r];if(!ve(i,a,o,W(o,t,n),n))throw TypeError(`ambiguous union encode: multiple union branches match with different wire output`)}return a}case`discriminatedUnion`:if(H(t)){let e=r.map.get(t[r.discriminator]);if(e)return W(e,t,n)}return t;case`intersection`:{if(!r.objectSides)return W(r.options[r.options.length-1],t,n);if((!n.encodeObject||n.encodeObject===_e)&&H(t)){let e=Object.create(null);for(let i of r.options){let r=i;xe(r,r[F],t,n,e)}return e}let e=Object.create(null),i=!0,a;for(let o of r.options)a=W(o,t,n),i&&H(a)?Object.assign(e,a):i=!1;return i?e:a}}}var Se=class extends Error{issues;constructor(e){let t=e[0]?.message;super(e.length<=1?t??`Struct parse failed`:`${e.length} struct issues: ${t}`),this.name=`StructError`,this.issues=e}format(){let e=Ce();for(let t of this.issues){let n=e;for(let e of t.path){let t=we(e),r=n[t];if(Object.hasOwn(n,t)&&r&&!Array.isArray(r))n=r;else{let e=Ce();n[t]=e,n=e}}n._errors.push(t.message)}return e}flatten(){let e=[],t=Object.create(null);for(let n of this.issues){if(n.path.length===0){e.push(n.message);continue}let r=String(n.path[0]);(t[r]??=[]).push(n.message)}return{fieldErrors:t,formErrors:e}}prettify(){return this.issues.length===0?`Struct parse failed`:this.issues.map(e=>`× ${e.path.length===0?`<root>`:le(e.path)}: ${e.message}`).join(`
|
|
2
|
+
`)}};function Ce(){return Object.assign(Object.create(null),{_errors:[]})}function we(e){let t=String(e);return t===`_errors`?`\\_errors`:t}let Te;function Ee(){return Te!==void 0}function De(e,t){let n=Te;Te=e;try{return t()}finally{Te=n}}function G(e,t,n,r,i){let a={code:t,expected:n,message:i??`Expected ${n} at ${le(e)}, received ${ue(r)}`,path:e,received:r};if(Te){let e=Te(a);e&&(a.message=e)}return a}const K={ok:!1,issue:{code:`invalid_union`,expected:``,message:``,path:[],received:void 0}};function Oe(e,t,n,r=!1){return ke(e,t,[],n,r,!0)}function ke(e,t,n,r,i,a){let o=e[F];if(t===void 0)return o.flags.optional?z(r===`field`?re:void 0):a?B(G([...n],r===`field`?`missing_key`:`invalid_type`,ce(o),t)):K;if(t===null){if(o.kind===`null`||o.flags.nullable)return z(null);if(!(o.kind===`literal`&&o.value===null||o.kind===`intersection`||o.kind===`or`||o.kind===`requestBody`))return a?B(G([...n],`invalid_type`,ce(o),t)):K}switch(o.kind){case`any`:case`unknown`:return z(t);case`array`:return Pe(o,t,n,i,a);case`arrayBuffer`:case`bigint`:case`blob`:case`boolean`:case`date`:case`file`:case`null`:case`number`:case`string`:return je(o,t,n,a);case`enum`:return Me(o,t,n,a);case`intersection`:return He(o,t,n,i,a);case`literal`:return Ne(o,t,n,a);case`object`:return Fe(e,o,t,n,i,a);case`or`:return Be(o,t,n,i,a);case`discriminatedUnion`:return Ve(o,t,n,i,a);case`record`:return Ie(o,t,n,i,a);case`request`:return Le(o,t,n,i,a);case`requestBody`:return Re(o,t,n,r,i,a);case`tuple`:return ze(o,t,n,i,a)}}function Ae(e,t,n,r,i,a,o){n.push(r);try{return ke(e,t,n,i,a,o)}finally{n.pop()}}function je(e,t,n,r){return e.is(t)?e.decode?e.decode(t,[...n]):z(t):r?B(G([...n],`invalid_type`,e.expected,t)):K}function Me(e,t,n,r){return R(e,t)?z(t):r?B(G([...n],`invalid_enum`,e.expected,t)):K}function Ne(e,t,n,r){return Object.is(t,e.value)?z(t):r?B(G([...n],`invalid_literal`,e.expected,t)):K}function Pe(e,t,n,r,i){if(!Array.isArray(t))return i?B(G([...n],`invalid_type`,`array`,t)):K;let a=[];for(let o=0;o<t.length;o+=1){let s=Ae(e.item,t[o],n,o,`value`,r,i);if(!s.ok)return s;a.push(s.value)}return z(a)}function Fe(e,t,n,r,i,a,o,s){if(!H(n))return a?B(G([...r],`invalid_type`,`object`,n)):K;let c=s??Object.create(null);for(let s of he(e,t)){let e=i?s.wireKey:s.key,t=o?.inputKey===e?o.value:V(n,e)?n[e]:void 0,l=Ae(s.struct,t,r,s.key,`field`,i,a);if(!l.ok)return l;l.value!==re&&(c[s.key]=l.value)}return z(c)}function Ie(e,t,n,r,i){if(!H(t))return i?B(G([...n],`invalid_type`,`record`,t)):K;let a=Object.create(null);for(let o of Object.keys(t)){let s=Ae(e.value,t[o],n,o,`field`,r,i);if(!s.ok)return s;s.value!==re&&(a[o]=s.value)}return z(a)}function Le(e,t,n,r,i){if(!H(t))return i?B(G([...n],`invalid_type`,`object`,t)):K;let a=Object.create(null);for(let o of se){let s=e[o];if(!s)continue;let c=V(t,o)?t[o]:void 0;if(c===void 0){if(s[F].kind===`object`){let e=Ae(s,{},n,o,`field`,r,i);if(e.ok){a[o]=e.value;continue}}return i?B(G([...n,o],`missing_key`,ce(s[F]),void 0)):K}let l=Ae(s,c,n,o,`field`,r,i);if(!l.ok)return l;a[o]=l.value}return z(a)}function Re(e,t,n,r,i,a){return ke(e.struct,t,n,r,i,a)}function ze(e,t,n,r,i){if(!Array.isArray(t)||t.length!==e.items.length)return i?B(G([...n],`invalid_type`,`tuple of length ${e.items.length}`,t)):K;let a=[];for(let o=0;o<e.items.length;o+=1){let s=Ae(e.items[o],t[o],n,o,`value`,r,i);if(!s.ok)return s;a.push(s.value)}return z(a)}function Be(e,t,n,r,i){let a=i&&Ee();for(let i of e.options){let e=ke(i,t,n,`value`,r,a);if(e.ok)return e}return i?B(G([...n],`invalid_union`,e.expected,t)):K}function Ve(e,t,n,r,i){if(!H(t))return i?B(G([...n],`invalid_type`,`object`,t)):K;let a=[...n,e.discriminator];if(!r){let r=V(t,e.discriminator)?t[e.discriminator]:void 0;if(r===void 0)return i?B(G(a,`missing_key`,e.expected,void 0)):K;let o=e.map.get(r);if(!o)return i?B(G(a,`invalid_union`,e.expected,r)):K;let s=o;return Fe(s,s[F],t,n,!1,i,{inputKey:e.discriminator,value:r})}for(let r of e.discriminatorWireKeys??[]){if(!V(t,r))continue;let o=t[r];if(o===void 0)return i?B(G(a,`missing_key`,e.expected,void 0)):K;let s=e.map.get(o);return!s||e.wireKeyByValue?.get(o)!==r?i?B(G(a,`invalid_union`,e.expected,o)):K:Fe(s,s[F],t,n,!0,i,{inputKey:r,value:o})}return i?B(G(a,`missing_key`,e.expected,void 0)):K}function He(e,t,n,r,i){if(e.objectSides&&H(t)){let a=Object.create(null);for(let o of e.options){let e=o,s=Fe(e,e[F],t,n,r,i,void 0,a);if(!s.ok)return s}return z(a)}if(r&&!e.objectSides){let a;for(let o of e.options){let e=ke(o,t,n,`value`,r,i);if(!e.ok)return e;a=e.value}return z(a)}let a=Object.create(null),o=!0,s;for(let c of e.options){let e=ke(c,t,n,`value`,r,i);if(!e.ok)return e;s=e.value,o&&H(s)?Object.assign(a,s):o=!1}return z(o?a:s)}function Ue(e){return ae(e)&&e[F].kind===`object`}function We(e,t,n){L(e,`struct`);let r=e;return De(n?.errorMap,()=>{let e=Oe(r,t,`value`,n?.aliases===!0);return e.ok?[null,e.value]:[new Se([e.issue]),void 0]})}function q(e,t,n){L(e,`struct`);let r=Oe(e,t,`value`,n?.useAliases);if(!r.ok)throw new Se([r.issue]);return r.value}async function Ge(e,t){return e?q(e,t):t}function Ke(e){return typeof e==`string`||typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`||e===null}function J(e){return e===null?`null`:String(e)}function qe(e,t){let n=new Map;if(t){for(let[e,r]of Object.entries(t))if(r!==void 0){if(Array.isArray(r)){let t=r[0];if(t!==void 0){if(!et(t))throw TypeError(`path value for "${e}" requires a scalar value`);n.set(e,Je(e,J(t)))}continue}if(!et(r))throw TypeError(`path value for "${e}" requires a scalar value`);n.set(e,Je(e,J(r)))}}return e.replace(/:([^/]+)/g,(e,t)=>{let r=n.get(t);if(r===void 0)throw TypeError(`Missing path param: ${t}`);return r})}function Je(e,t){if(t===``)throw TypeError(`path value for "${e}" must be a non-empty path segment`);if(t===`.`||t===`..`)throw TypeError(`path value for "${e}" must not be a dot segment`);return encodeURIComponent(t)}function Ye(e,t={}){let n=new URLSearchParams;if(!e)return n;for(let[r,i]of Object.entries(e))$e(n,r,i,t);return n}function Xe(e,t){if(t){if(t instanceof Headers){t.forEach((t,n)=>{e.set(n,t)});return}if(Array.isArray(t)){for(let[n,r]of t)e.append(n,r);return}for(let[n,r]of Object.entries(t))if(r!==void 0){if(Array.isArray(r)){for(let t of r){if(!et(t))throw TypeError(`header value for "${n}" requires a scalar value`);e.append(n,J(t))}continue}if(!et(r))throw TypeError(`header value for "${n}" requires a scalar value`);e.set(n,J(r))}}}function Ze(e,t,n=``){let r=tt(e),i=nt(t),a=new URL(i,r);return a.search=n,a}function Qe(e){if(!e.baseEndpoint)throw TypeError(`Client endpoint is required`);let t=typeof e.queryString==`string`?e.queryString:e.queryParams?e.queryParams.toString():``;return Ze(e.baseEndpoint,e.endpoint,t)}function $e(e,t,n,r){if(n!==void 0){if(Array.isArray(n)){for(let i of n)if(i!==void 0){if(et(i)){e.append(t,J(i));continue}if(!r.allowComplex)throw TypeError(`query value for "${t}" requires queryParamsSerializer or a scalar value`)}return}if(!et(n)){if(!r.allowComplex)throw TypeError(`query value for "${t}" requires queryParamsSerializer or a scalar value`);return}e.set(t,J(n))}}function et(e){return Ke(e)&&typeof e!=`bigint`}function tt(e){let t;try{t=new URL(e)}catch{throw TypeError(`Client endpoint must be a valid URL`)}return t.search=``,t.hash=``,t.pathname.endsWith(`/`)||(t.pathname=`${t.pathname}/`),t}function nt(e){if(/^[a-zA-Z][a-zA-Z\d+\-.]*:/.test(e)||e.startsWith(`//`))throw Error(`Endpoint path must not be an absolute URL`);if(e.includes(`?`)||e.includes(`#`))throw Error(`Endpoint path must not include query or hash`);return e.replace(/^\/+/,``)}const rt=Symbol(`HttpResponse`);function it(e){let t=e?.status??0,n=t>=200&&t<300,r=e?.statusText??``,i=e?.url??ot(e?.request),a=e?.headers??new Headers(e?.request?.headers),o=e?.body??null,s=e?.error;return s===void 0&&t===0&&(s=Error(at({status:t,statusText:r,url:i}))),{[rt]:!0,status:t,statusText:r,url:i,headers:a,body:o,error:s,ok:n}}function at(e){let t=`Http failure response: ${e.status}`;return e.statusText&&(t+=` - ${e.statusText}`),t}function ot(e){return e?e.baseEndpoint?Qe(e).href:e.endpoint:``}const st={encodeObject:_e};function ct(e,t,n=`json`){return Ue(e)?(ut(t,`${n} encode expects object value`),_e(e,t,(e,t)=>dt(e,t,n))):dt(e,t,n)}function lt(e,t){return q(e,t,{useAliases:!0})}function ut(e,t){if(typeof e!=`object`||!e||Array.isArray(e))throw TypeError(t)}function dt(e,t,n){return Ue(e)?ct(e,t,n):W(e,t,st)}function ft(e,t){return ct(e,t,`json`)}function pt(e,t){return lt(e,t)}function mt(e){switch(!0){case vt(e):case _t(e):case e instanceof ArrayBuffer:case e instanceof URLSearchParams:case typeof ReadableStream<`u`&&e instanceof ReadableStream:case typeof e==`string`:return e;case typeof e==`object`:case typeof e==`boolean`:case typeof e==`number`:case Array.isArray(e):return JSON.stringify(e);default:return null}}function ht(e,t){let n=e.body;if(n===void 0)return;if(vt(n)){t.delete(`Content-Type`);return}let r=!Object.hasOwn(e,`bodyContentTypeSource`)||e.bodyContentTypeSource===n?e.bodyContentType:void 0;if(r===null){t.delete(`Content-Type`);return}if(typeof r==`string`){t.set(`Content-Type`,r);return}let i=gt(n);i&&t.set(`Content-Type`,i)}function gt(e){switch(!0){case vt(e):return null;case e instanceof ArrayBuffer:return`application/octet-stream`;case _t(e):return e.type||`application/octet-stream`;case e instanceof URLSearchParams:return`application/x-www-form-urlencoded;charset=UTF-8`;case typeof ReadableStream<`u`&&e instanceof ReadableStream:return`application/octet-stream`;case typeof e==`string`:return`text/plain;charset=UTF-8`;case e===null:case typeof e==`object`&&!!e:case typeof e==`number`:case typeof e==`boolean`:return`application/json`;default:return null}}function _t(e){return typeof Blob<`u`&&e instanceof Blob}function vt(e){return typeof FormData<`u`&&e instanceof FormData}const yt=new WeakMap,bt=new WeakMap;function xt(e,t,n){let r=St(n.transport);if(!t)return Tt(e,n,r);if(!n.input)throw Error(`build() requires a struct input`);let i={snapshot:{}},a=Symbol(`buildInput`),o=[],s=wt(n.input,a);return t(Ct(o,r),s),Vt(o,e,i,a),on(i.snapshot,r),i.snapshot}function St(e){return e??`http`}function Ct(e,t){return Bt(e)}function wt(e,t){return Ht(e,[],t)}function Tt(e,t,n){if(!t.input)return{};let r=t.input[F];return r.kind===`request`?Et(e,r,n):{}}function Et(e,t,n){an(t,n);let r={snapshot:{}},i=H(e)?e:{};return t.path&&Ft(r,Qt(t.path,i.path,`path`)),t.query&&It(r,Qt(t.query,i.query,`query`)),t.headers&&Pt(r,Qt(t.headers,i.headers,`headers`)),t.bodyDescriptor&&Dt(r,t.bodyDescriptor,i.body),on(r.snapshot,n),r.snapshot}function Dt(e,t,n){switch(t.codec){case`json`:Ot(e,Zt(t.struct,n),{contentType:t.contentType});return;case`urlencoded`:Nt(e,Qt(t.struct,n,`urlencoded`));return;case`formData`:Mt(e,Qt(t.struct,n,`formData`));return;case`text`:kt(e,String(W(t.struct,n)??``));return;case`blob`:{let r=W(t.struct,n);jt(e,r,{contentType:typeof Blob<`u`&&r instanceof Blob&&r.type?r.type:void 0});return}case`arrayBuffer`:jt(e,W(t.struct,n),{contentType:`application/octet-stream`});return}}function Ot(e,t,n){sn(e,JSON.stringify(t),cn(n,`application/json`))}function kt(e,t,n){sn(e,t,cn(n,`text/plain;charset=UTF-8`))}function At(e,t,n){sn(e,t,cn(n,`text/html;charset=UTF-8`))}function jt(e,t,n){sn(e,t,n?.contentType)}function Mt(e,t){if(typeof FormData>`u`)throw Error(`FormData is not supported in current runtime`);let n=new FormData;for(let[e,r]of Object.entries(t))un(n,e,r);sn(e,n)}function Nt(e,t,n){let r=new URLSearchParams;sn(e,r,cn(n,`application/x-www-form-urlencoded;charset=UTF-8`));for(let[e,n]of Object.entries(t))fn(r,e,n)}function Pt(e,t){let n=new Headers;ln(n,t),e.snapshot.headers=n}function Ft(e,t){e.snapshot.params={...t}}function It(e,t){e.snapshot.query={...t}}function Lt(e,t){e.snapshot.headers||(e.snapshot.headers=new Headers),ln(e.snapshot.headers,t)}function Rt(e,t){if(typeof FormData>`u`)throw Error(`FormData is not supported in current runtime`);let n=e.snapshot.body instanceof FormData?e.snapshot.body:new FormData;for(let[e,r]of Object.entries(t))un(n,e,r);sn(e,n)}function zt(e,t,n){let r=e.snapshot.body instanceof URLSearchParams?e.snapshot.body:new URLSearchParams;for(let[e,n]of Object.entries(t))fn(r,e,n);sn(e,r,cn(n,`application/x-www-form-urlencoded;charset=UTF-8`))}function Bt(e){return{addFormData(t){e.push({kind:`addFormData`,projection:t})},addFormUrlEncoded(t,n){e.push({contentType:n?.contentType,kind:`addFormUrlEncoded`,projection:t})},addHeaders(t){e.push({kind:`addHeaders`,projection:t})},setArrayBuffer(t,n){e.push({bodyKind:`arrayBuffer`,contentType:n?.contentType,kind:`body`,value:t})},setBlob(t,n){e.push({bodyKind:`blob`,contentType:n?.contentType,kind:`body`,value:t})},setFormData(t){e.push({kind:`formData`,projection:t})},setFormUrlEncoded(t,n){e.push({contentType:n?.contentType,kind:`formUrlEncoded`,projection:t})},setHeaders(t){e.push({kind:`headers`,projection:t})},setHtml(t,n){e.push({contentType:n?.contentType,kind:`html`,projection:t})},setJson(t,n){e.push({contentType:n?.contentType,kind:`json`,projection:t})},setPathParams(t){e.push({kind:`pathParams`,projection:t})},setQueryParams(t){e.push({kind:`queryParams`,projection:t})},setText(t,n){e.push({contentType:n?.contentType,kind:`text`,projection:t})}}}function Vt(e,t,n,r){let i=new Map;for(let a of e)switch(a.kind){case`addFormData`:Rt(n,Gt(a.projection,t,i,`formData`,r));break;case`addFormUrlEncoded`:zt(n,Gt(a.projection,t,i,`urlencoded`,r),{contentType:a.contentType});break;case`addHeaders`:Lt(n,Wt(a.projection,t,i,r));break;case`body`:{let e=Kt(a.value,t,i,`body`,r);en(a.bodyKind,e),jt(n,e,{contentType:a.contentType});break}case`formData`:Mt(n,Gt(a.projection,t,i,`formData`,r));break;case`formUrlEncoded`:Nt(n,Gt(a.projection,t,i,`urlencoded`,r),{contentType:a.contentType});break;case`headers`:Pt(n,Wt(a.projection,t,i,r));break;case`html`:At(n,qt(a.projection,t,i,`html`,r),{contentType:a.contentType});break;case`json`:Ot(n,Kt(a.projection,t,i,`json`,r),{contentType:a.contentType});break;case`pathParams`:Ft(n,Gt(a.projection,t,i,`path`,r));break;case`queryParams`:It(n,Gt(a.projection,t,i,`query`,r));break;case`text`:kt(n,qt(a.projection,t,i,`text`,r),{contentType:a.contentType})}}function Ht(e,t,n){let r=e[F];if(r.kind===`requestBody`)return Ht(r.struct,t,n);let i=Object.create(null),a={owner:n,path:t,struct:e};if(yt.set(i,a),r.kind===`request`&&(Ut(i,`path`,r.path,t,n),Ut(i,`query`,r.query,t,n),Ut(i,`headers`,r.headers,t,n),Ut(i,`body`,r.body,t,n)),r.kind===`object`){let a=I(e,r);for(let[e,r]of Object.entries(a))Object.defineProperty(i,e,{enumerable:!0,get:()=>Ht(r,[...t,e],n)})}return r.kind===`array`&&Object.defineProperty(i,"map",{enumerable:!1,value:e=>{let t=Symbol(`arrayItem`),i=Ht(r.item,[t],n),o=Object.create(null);return bt.set(o,{itemProjection:e(i),itemToken:t,source:a}),o}}),i}function Ut(e,t,n,r,i){n&&Object.defineProperty(e,t,{enumerable:!0,get:()=>Ht(n,[...r,t],i)})}function Wt(e,t,n,r){return Gt(e,t,n,`headers`,r)}function Gt(e,t,n,r,i){let a=nn(e);if(a)return Yt(a,i),Qt(a.struct,Jt(a,t,n),r);if(!H(e))throw Error(`${r} binding expects an object projection`);let o=Object.create(null);for(let[a,s]of Object.entries(e)){let e=Kt(s,t,n,r,i);e!==void 0&&($t(r,a,e),o[a]=e)}return o}function Kt(e,t,n,r,i){let a=nn(e);if(a)return Yt(a,i),Xt(a.struct,Jt(a,t,n),r);let o=rn(e);if(o){Yt(o.source,i);let e=Jt(o.source,t,n);if(!Array.isArray(e))throw Error(`ArrayProjection source must resolve to an array`);return e.map(e=>{let a=new Map(n);return a.set(o.itemToken,e),Kt(o.itemProjection,t,a,r,i)})}if(Array.isArray(e))return e.map(e=>Kt(e,t,n,r,i));if(H(e)){let a=Object.create(null);for(let[o,s]of Object.entries(e)){let e=Kt(s,t,n,r,i);e!==void 0&&(a[o]=e)}return a}if(e!==void 0)throw Error(`${r} binding values must come from build input`)}function qt(e,t,n,r,i){let a=Kt(e,t,n,r,i);return tn(a),a}function Jt(e,t,n){let r=t;for(let t of e.path){if(typeof t==`symbol`){if(!n.has(t))throw Error(`ArrayProjection item fields can only be used inside the map() projection`);r=n.get(t);continue}r=H(r)||Array.isArray(r)?r[t]:void 0}return r}function Yt(e,t){if(e.owner!==t)throw Error(`build input binding belongs to a different build context`)}function Xt(e,t,n){return n===`json`?Zt(e,t):W(e,t)}function Zt(e,t){return W(e,t,st)}function Qt(e,t,n){let r=e[F];if(r.kind!==`object`)throw Error(`${n} binding expects an object struct`);if(!H(t))throw Error(`${n} binding expects an object value`);let i=Object.create(null);for(let a of he(e,r)){if(!V(t,a.key))continue;let e=W(a.struct,t[a.key]);e!==void 0&&($t(n,a.wireKey,e),i[a.wireKey]=e)}return i}function $t(e,t,n){if(Array.isArray(n)){for(let r of n)$t(e,t,r);return}if(typeof Blob<`u`&&n instanceof Blob){if(e===`formData`)return;throw Error(`${e} binding does not support binary value for key "${t}"`)}if(typeof n==`object`&&n)throw Error(`${e} binding does not support nested object for key "${t}"`)}function en(e,t){if(e===`arrayBuffer`){if(t instanceof ArrayBuffer)return;throw Error(`setArrayBuffer() expects an ArrayBuffer field`)}if(!(typeof Blob<`u`&&t instanceof Blob))throw Error(`setBlob() expects a Blob field`)}function tn(e){if(typeof e!=`string`)throw Error(`text body binding expects a string field`)}function nn(e){return H(e)?yt.get(e):void 0}function rn(e){return H(e)?bt.get(e):void 0}function an(e,t){if(t===`webSocket`){if(e.headers)throw Error(`WebSocket request input does not support headers section`);if(e.body)throw Error(`WebSocket request input does not support body section`)}}function on(e,t){if(t!==`http`){if(t===`sse`){if(e.withCredentials!==void 0)throw Error(`SSE build() does not support withCredentials()`);return}if(e.body!==void 0||e.bodyContentType!==void 0||e.headers!==void 0||e.withCredentials!==void 0)throw Error(`WebSocket build() only supports path params and query params`)}}function sn(e,t,n){e.snapshot.body=t,e.snapshot.bodyContentType=n}function cn(e,t){return e?.contentType===void 0?t:e.contentType}function ln(e,t){for(let[n,r]of Object.entries(t))if(r!==void 0){if(Array.isArray(r)){for(let t of r)e.append(n,J(t));continue}e.set(n,J(r))}}function un(e,t,n){if(n!==void 0){if(Array.isArray(n)){for(let r of n)dn(e,t,r);return}dn(e,t,n)}}function dn(e,t,n){if(n!==void 0){if(typeof Blob<`u`&&n instanceof Blob){e.append(t,n);return}if(typeof n==`string`||typeof n==`number`||typeof n==`boolean`||n===null){e.append(t,String(n));return}throw Error(`formData binding does not support value for key "${t}"`)}}function fn(e,t,n){if(n!==void 0){if(Array.isArray(n)){for(let r of n)e.append(t,J(r));return}e.set(t,J(n))}}function pn(e,t,n,r,i){let a=xt(n,r,{input:i.input,transport:i.transport}),o=i.queryParamsSerializer!==c,s=Ye(a.query,{allowComplex:o}),l=i.defaultHeaders?new Headers(i.defaultHeaders):new Headers;Xe(l,a.headers);let u={abort:i.abort,baseEndpoint:i.baseEndpoint,body:a.body,bodyContentType:a.bodyContentType,bodyContentTypeSource:a.body,endpoint:qe(t,a.params),headers:l,method:e,operation:i.operation,queryParams:s,queryString:i.queryParamsSerializer(s,a.query),timeout:i.timeout,withCredentials:i.withCredentials??!1};return ht(u,l),u}function mn(e,t,n,r,i){return{...pn(e,t,n,r,{abort:i.abort,baseEndpoint:i.baseEndpoint,defaultHeaders:i.defaultHeaders,input:i.input,operation:i.operation,queryParamsSerializer:i.queryParamsSerializer,timeout:i.timeout,transport:`http`,withCredentials:i.withCredentials}),downloadProgress:i.downloadProgress,responseType:i.responseType,uploadProgress:i.uploadProgress,xsrf:i.xsrf}}function hn(e,t){if(t)return t;if(e)return`json`}function gn(e,t){if(_n(e))return e[t];for(let n of[...e].reverse())if((Array.isArray(n.status)?n.status:[n.status]).includes(t))return n.body}function _n(e){return!Array.isArray(e)}const vn=Error(`ERR_STREAMING_REQUEST_UNSUPPORTED`);function yn(e){return typeof ReadableStream<`u`&&e instanceof ReadableStream}let bn;function xn(){if(bn!==void 0)return bn;if(typeof Request!=`function`||typeof ReadableStream>`u`)return bn=!1,bn;try{let e=new ReadableStream({start(e){e.close()}});return bn=new Request(`https://example.com`,{body:e,duplex:`half`,method:`POST`}).body!==null,bn}catch{return bn=!1,bn}}function Sn(e,t){let{headers:n}=t;n.has(`Accept`)||n.set(`Accept`,t.defaultAccept);let r=e.withCredentials?`include`:void 0,i=mt(e.body),a={body:i,credentials:r,headers:n,method:e.method,signal:t.signal};if(yn(i)){if(!xn())throw t.streamingRequestUnsupportedError;i=t.wrapReadableStreamBody?.(i)??i,a.body=i,a.duplex=`half`}return a}const Cn=new TextDecoder;function wn(e){let t=e.get(`Content-Length`);if(!t)return 0;let n=Number.parseInt(t,10);return Number.isFinite(n)&&n>0?n:0}function Tn(e){return e.get(`Content-Type`)||``}function En(e){let{buffer:t,byteLength:n,byteOffset:r}=e;return t instanceof ArrayBuffer&&r===0&&n===t.byteLength?t:t.slice(r,r+n)}function Dn(e){return e===``?null:JSON.parse(e)}function On(e,t,n){switch(e){case`json`:return Dn(Cn.decode(t));case`text`:return Cn.decode(t);case`blob`:return new Blob([En(t)],{type:n});case`arraybuffer`:return En(t);default:return null}}function kn(e,t){let n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return n}const An=new Set([`GET`,`HEAD`,`OPTIONS`,`TRACE`]);function jn(e){return An.has(e.toUpperCase())}function Mn(){return typeof document<`u`&&typeof location<`u`}function Nn(e){try{let t=document.cookie;if(t===``)return;for(let n of t.split(`;`)){let[t,...r]=n.trim().split(`=`);if(t===e)return decodeURIComponent(r.join(`=`))}}catch{return}}function Pn(e){return e.baseEndpoint?!Mn()||Qe(e).origin===location.origin:!1}function Fn(e){if(typeof e==`string`&&e!==``)return e}function In(e,t){if(t.tokenProvider)return Fn(t.tokenProvider({request:e}));if(Mn())return Fn(Nn(t.cookieName))}function Ln(e,t){let n=e.xsrf;if(!n||jn(e.method)||t.has(n.headerName)||!Pn(e))return;let r=In(e,n);r!==void 0&&t.set(n.headerName,r)}function Rn(e,t,n,r){let i=e.getReader(),a=!1,o=0,s=()=>c(!0,r?.reason);function c(e,t){if(!a){a=!0,r?.removeEventListener(`abort`,s);try{e&&i.cancel(t).catch(()=>void 0)}finally{i.releaseLock()}}}let l=new ReadableStream({cancel(e){c(!0,e)},async pull(e){try{let{done:s,value:l}=await i.read();if(a)return;if(s){c(!1),e.close();return}o+=l.byteLength;let u={lengthComputable:n>0,loaded:o,total:n};if(await(r?N(()=>t(u),r):t(u)),a)return;e.enqueue(l)}catch(t){c(!0,t),e.error(t)}}});return r&&(r.addEventListener(`abort`,s,{once:!0}),r.aborted&&s()),l}function zn(e,t,n){e.uploadProgress&&yn(e.body)&&yn(t)&&t.cancel(n).catch(()=>void 0)}async function Bn(e,t,n){return n?await N(()=>{let r=Promise.resolve(e(t));return r.then(e=>{n.aborted&&e.body&&e.body.cancel(n.reason).catch(()=>void 0)}).catch(()=>void 0),r},n):await e(t)}function Vn(e){let t=new Headers(e.headers),n=e.uploadProgress;return ht(e,t),Ln(e,t),Sn(e,{defaultAccept:`application/json, text/plain, */*`,headers:t,signal:e.abort,streamingRequestUnsupportedError:vn,wrapReadableStreamBody:n?r=>Rn(r,n,wn(t),e.abort):void 0})}function Hn(e){let t=Qe(e),n=Vn(e);try{return new Request(t,n)}catch(t){throw zn(e,n.body,t),t}}async function Un(e,t,n){let r=e.downloadProgress,{headers:i,status:a,statusText:o}=t,s=t.url||n;if(t.body&&e.responseType===void 0)return t.body.cancel().catch(()=>void 0),it({status:a,statusText:o,headers:i,url:s,body:null});let c=wn(i),l=Tn(i),u=null;if(t.body){let n=[],d=t.body.getReader(),f=e.abort,p=0;try{for(;;){let e=f?await N(()=>d.read(),f):await d.read();if(e.done)break;if(n.push(e.value),p+=e.value.byteLength,r){let e={lengthComputable:c>0,loaded:p,total:c};await(f?N(()=>r(e),f):r(e))}}}catch(e){if(d.cancel(e).catch(()=>void 0),r||f?.aborted)throw e;return it({error:e,status:a,statusText:o,headers:i,url:s})}finally{d.releaseLock()}try{u=On(e.responseType,kn(n,p),l)}catch(e){return it({error:e,status:a,statusText:o,headers:i,url:s})}}return it({status:a,statusText:o,headers:i,url:s,body:u})}async function Wn(e,t=globalThis.fetch.bind(globalThis)){let n=e.abort,r=e,i,a;try{r=await Gn(e),i=Hn(r),a=await Bn(t,i,n)}catch(e){return zn(r,i?.body,e),it({error:(n&&A(n)?.cause)??e})}try{return await Un(e,a,i.url)}catch(e){let t=n&&A(n);if(t)return it({error:t.cause});throw e}}async function Gn(e){let{uploadProgress:t,body:n}=e;if(!t||n==null||yn(n)||!xn())return e;let r=await Kn(n);if(!r)return e;let i=new Headers(e.headers);r.contentType&&i.set(`Content-Type`,r.contentType),r.total>0&&i.set(`Content-Length`,String(r.total));let a={lengthComputable:r.total>0,loaded:0,total:r.total};try{e.abort?await N(()=>t(a),e.abort):await t(a)}catch(e){throw r.stream.cancel(e),e}return{...e,body:r.stream,bodyContentType:r.contentType??e.bodyContentType,bodyContentTypeSource:r.stream,headers:i}}async function Kn(e){if(typeof Blob<`u`&&e instanceof Blob)return{contentType:e.type||void 0,stream:e.stream(),total:e.size};if(e instanceof ArrayBuffer)return{contentType:`application/octet-stream`,stream:new Blob([e]).stream(),total:e.byteLength};if(typeof FormData<`u`&&e instanceof FormData){let t=new Response(e),n=await t.blob();return{contentType:t.headers.get(`Content-Type`),stream:n.stream(),total:n.size}}}function qn(n){function r(r){return{[e]:t,definition:n,input:r}}return(e=>r(e))}async function Jn(e,t,n){let{definition:r,input:i}=t,a=n??{},o=(e,t)=>[e,void 0,t],s;try{s=te({abort:a.abort,signal:a.signal,timeout:a.timeout===void 0?e.timeout:a.timeout})}catch(e){return o(_(`REQUEST_VALIDATION_FAILED`,e))}if(k(a))return o(ne());try{M(s.timeout)}catch(e){return o(_(`REQUEST_VALIDATION_FAILED`,e))}let c=new AbortController,l=[s.abort,s.signal].find(e=>e?.aborted);if(l)return o(j(l));let u;try{u=await Ge(r.input,i)}catch(e){return o(_(`REQUEST_VALIDATION_FAILED`,e))}let d,f,p=()=>void 0,m=hn(r.output,r.responseType);try{let t;if(typeof s.timeout==`number`){let e=new AbortController,n=setTimeout(()=>{e.abort(h)},s.timeout);t=e.signal,p=()=>{clearTimeout(n)}}d=P(c.signal,[s.abort,s.signal,t]),f=mn(r.method,r.path,u,r.build,{abort:d,baseEndpoint:e.endpoint,defaultHeaders:e.headers,downloadProgress:a.onDownloadProgress,input:r.input,operation:r.operation,queryParamsSerializer:e.queryParamsSerializer,responseType:m,timeout:s.timeout,uploadProgress:a.onUploadProgress,withCredentials:e.withCredentials,xsrf:e.xsrf})}catch(e){return p(),o(_(`REQUEST_VALIDATION_FAILED`,e))}let y=new AbortController,b=!1,x,S,C=t=>{if(b){let e=Promise.reject(Error(`HTTP interceptor next() cannot be called after the chain has settled`));return e.catch(()=>void 0),e}let n=P(y.signal,[d,t.abort]),r=Wn({...t,abort:n},e.http.handle).then(e=>e,e=>it({error:A(n)?.cause??e}));return x=r,r},w=()=>{y.signal.aborted||y.abort(d.reason)};try{try{let t=T(E(e.interceptors));d.aborted?w():d.addEventListener(`abort`,w,{once:!0});let n=t(f,C);n.catch(()=>void 0),S=await N(()=>n,d)}catch(e){let t=A(d);if(t)return w(),x&&await Promise.allSettled([x]),o(t);let n=g(e);return n.code===`NETWORK_ERROR`?o(_(`INTERCEPTOR_FAILED`,e)):o(n)}}finally{d.removeEventListener(`abort`,w),b=!0,y.signal.aborted||y.abort(Error(`HTTP interceptor chain settled`)),p()}if(S.status===0)return o(g(S.error));if(!r.output){let e={...S,body:null};if(e.ok)return[null,void 0,e];let t=at(e);return o(v(S.status,t,e),e)}let D=gn(r.output,S.status);if(!D)return o(_(`UNDECLARED_STATUS`,Error(`Undeclared status: ${S.status}`),S),S);if(S.error!==void 0)return o(_(`RESPONSE_VALIDATION_FAILED`,S.error,S),S);let O;try{O=await Zn(D,S.body,Yn(D,m,S.ok))}catch(e){return o(_(`RESPONSE_VALIDATION_FAILED`,e,S),S)}if(S.ok){let e={...S,body:O};return[null,O,e]}let ee=at(S);return o(v(S.status,ee,S,O),S)}function Yn(e,t,n){if(n)return t;let r=e[F].kind;return r===`arrayBuffer`?`arraybuffer`:r===`blob`||r===`file`?`blob`:r===`string`?`text`:`json`}async function Xn(e){if(typeof e==`string`)return e;if(e instanceof ArrayBuffer||ArrayBuffer.isView(e))return new TextDecoder().decode(e);if(typeof Blob<`u`&&e instanceof Blob)return await e.text()}async function Zn(e,t,n){if(n===`json`){let n=await Xn(t);return pt(e,n===void 0?t:Dn(n))}return n===`text`?q(e,await Xn(t)??t):q(e,t)}const Qn=Symbol(`NO_ERROR`);var $n=class{values=[];waiting=[];maxSize;done=!1;error=Qn;iteratorClaimed=!1;constructor(e){if(!Number.isSafeInteger(e.maxSize)||e.maxSize<1)throw TypeError(`AsyncQueue maxSize must be a positive safe integer`);this.maxSize=e.maxSize}push(e){if(this.done)return;let t=this.waiting.shift();if(t){t.resolve({done:!1,value:e});return}if(this.values.length>=this.maxSize)throw Error(`AsyncQueue overflow`);this.values.push(e)}close(){if(!this.done)for(this.done=!0;this.waiting.length>0;)this.waiting.shift()?.resolve({done:!0,value:void 0})}fail(e){if(!this.done)for(this.done=!0,this.error=e,this.values.length=0;this.waiting.length>0;)this.waiting.shift()?.reject(e)}[Symbol.asyncIterator](){if(this.iteratorClaimed)throw TypeError(`AsyncQueue supports one consumer`);return this.iteratorClaimed=!0,{next:()=>this.values.length>0?Promise.resolve({done:!1,value:this.values.shift()}):this.error===Qn?this.done?Promise.resolve({done:!0,value:void 0}):new Promise((e,t)=>{this.waiting.push({resolve:e,reject:t})}):Promise.reject(this.error)}}};const er=2147483647;function tr(e,t){let n=Math.min(e.delayMs*e.factor**Math.max(0,t-1),e.maxDelayMs),r=e.jitter<=0?n:Math.max(0,Math.round(n*(1+(Math.random()*2-1)*e.jitter)));if(!Number.isFinite(r))throw RangeError(`Reconnect delay must be finite`);return Math.min(r,er)}async function nr(e,t){if(!Number.isFinite(e))throw RangeError(`Reconnect delay must be finite`);if(e<=0)return;let n=Math.min(e,er);await new Promise((e,r)=>{let i=setTimeout(()=>{t.removeEventListener(`abort`,a),e()},n),a=()=>{clearTimeout(i),t.removeEventListener(`abort`,a),r(t.reason)};if(t.aborted){a();return}t.addEventListener(`abort`,a,{once:!0})})}var rr=class extends Error{constructor(){super(`SSE parser buffer exceeded maxBufferSize`),this.name=`SSEParserLimitError`}};async function ir(e,t,n){let r=e.getReader(),i,a=e=>{i??=r.cancel(e).catch(()=>void 0)},o,s=n?new Promise((e,t)=>{o=t}):void 0;s?.catch(()=>{});let c=()=>{let e=n?.reason??Error(`The operation was aborted`);o?.(e),a(e)};try{for(n?.aborted?n.throwIfAborted():n?.addEventListener(`abort`,c,{once:!0});;){let e=r.read();e.catch(()=>{});let{done:n,value:i}=s?await Promise.race([e,s]):await e;if(n)return;await t(i)}}catch(e){throw a(e),e}finally{n?.removeEventListener(`abort`,c),r.releaseLock()}}function ar(e,t){let n=sr(t?.maxBufferSize),r,i=0,a=-1,o=!1;return async t=>{r?r=cr(r,t):(r=t,i=0,a=-1);let s=r.length,c=0;for(;i<s;){o&&=(r[i]===10&&(c=++i),!1);let t=-1;for(;i<s&&t===-1;++i)switch(r[i]){case 58:a===-1&&(a=i-c);break;case 13:o=!0,t=i;break;case 10:t=i}if(t===-1)break;if(n!==void 0&&t-c>n)throw new rr;let l=a===-1&&t>c?t-c:a;await e(r.subarray(c,t),l),c=i,a=-1}if(c===s?r=void 0:c!==0&&(r=r.subarray(c),i-=c),n!==void 0&&r&&r.length>n)throw new rr}}function or(e,t,n,r){let i=sr(r?.maxBufferSize),a=``,o=``,s=``,c=0,l=!1,u=new TextDecoder;return async(r,d)=>{if(r.length===0){let e=l?{id:a,event:o,data:s.slice(0,-1)}:void 0;o=``,s=``,c=0,l=!1,e&&await n?.(e);return}if(d<0)return;let f=d<r.length&&r[d]===58,p=u.decode(r.subarray(0,d)),m=f?d+1:r.length;f&&r[m]===32&&(m+=1);let h=r.subarray(m),g=u.decode(h);switch(p){case`data`:if(c+=h.byteLength+1,i!==void 0&&c>i)throw new rr;l=!0,s+=`${g}\n`;break;case`event`:o=g;break;case`id`:g.includes(`\0`)||(a=g,e(g));break;case`retry`:/^\d+$/.test(g)&&t(Math.min(Number(g),2147483647))}}}function sr(e){if(e!==void 0){if(!Number.isSafeInteger(e)||e<1)throw TypeError(`SSE maxBufferSize must be a positive safe integer`);return e}}function cr(e,t){let n=new Uint8Array(e.length+t.length);return n.set(e),n.set(t,e.length),n}const lr=`text/event-stream`,ur=`last-event-id`;var Y=class extends Error{code;cause;constructor(e,t,n){super(t),this.name=`EventStreamFatalError`,this.code=e,this.cause=n?.cause}};function dr(e){return e instanceof Y?e.code:void 0}function fr(e){if(e instanceof Y)return e;if(e instanceof rr)return new Y(`PARSER_LIMIT_EXCEEDED`,e.message,{cause:e})}async function pr(e,t){let n=new $n({maxSize:t.maxQueueSize}),r=Promise.withResolvers(),i=Promise.withResolvers(),a=new AbortController,o=t.fetch??globalThis.fetch.bind(globalThis),s=new Headers(e.headers);s.has(`Accept`)||s.set(`Accept`,lr);let c=!1,l=!1,u=t.retryInterval??t.reconnect?.delayMs??1e3,d=0,f=``,p,m,g={get open(){if(!p)throw Error(`Event stream has not been opened yet`);return p},closed:r.promise,close:b,[Symbol.asyncDispose](){return v()},[Symbol.asyncIterator](){let e=n[Symbol.asyncIterator](),t=!1;return{next(){return t?Promise.resolve({done:!0,value:void 0}):e.next()},return(){return t||(t=!0,g.close(`iterator-return`)),Promise.resolve({done:!0,value:void 0})}}}},_=x().catch(e=>{D(e)});return i.promise;function v(){return m??=Promise.resolve().then(y)}async function y(){let e,t=!1;try{g.close()}catch(n){t=!0,e=n,b()}if(await Promise.all([r.promise,_]),t)throw e}function b(e){a.signal.aborted||(a.abort(e),n.close(),O({code:`aborted`,reason:Tr(e),cause:e}))}async function x(){for(;!a.signal.aborted;){let r=P(a.signal,[e.abort]),c,u=!1;try{c=await hr(o,new Request(Qe(e),_r(e,s,r)),r);let a=await gr(c,t.handshakeOutput);if(p=a,vr(a),!c.body)throw new Y(`INVALID_RESPONSE`,`Missing response body for event stream`);await T(()=>t.onopen?.(a),r,`Event stream onopen callback failed`),l||(l=!0,i.resolve(g)),u=!0,await S(c.body,r),await T(()=>t.onclose?.(a),r,`Event stream onclose callback failed`),n.close(),O({code:`eof`});return}catch(t){c?.body&&!u&&c.body.cancel(t).catch(()=>void 0);let n=Cr(t,e.abort,a.signal);if(a.signal.aborted||e.abort?.aborted){E(r);return}let i=n??t,o=fr(i);if(o){await w(o,r),a.signal.aborted||e.abort?.aborted?E(r):D(o);return}let s;try{s=await C(i,r)}catch(t){a.signal.aborted||e.abort?.aborted?E(r):D(t);return}if(typeof s!=`number`||s<0){D(i);return}try{await nr(s,r)}catch(t){a.signal.aborted||e.abort?.aborted?E(r):D(t);return}}}}async function S(e,r){let i=ar(or(e=>{f=e,e?s.set(ur,e):s.delete(ur)},e=>{u=e},async e=>{let i;try{i=t.transformMessage?await N(()=>t.transformMessage?.(e,r),r):e}catch(e){throw r.aborted?e:new Y(`MESSAGE_PROCESSING_FAILED`,`Failed to process event stream message`,{cause:e})}if(i!==void 0)try{n.push(i)}catch(e){throw new Y(`QUEUE_OVERFLOW`,`Event stream queue exceeded maxQueueSize`,{cause:e})}},{maxBufferSize:t.maxBufferSize}),{maxBufferSize:t.maxBufferSize});try{await ir(e,i,r)}catch(e){throw e instanceof rr?new Y(`PARSER_LIMIT_EXCEEDED`,e.message,{cause:e}):e}}async function C(e,n){d+=1;let r=t.onerror?await N(()=>t.onerror?.(e,{lastEventId:f,retryCount:d,retryInterval:u,open:p}),n):void 0;if(r===null)return null;let i=t.reconnect;if(!i||i.shouldReconnect&&!await N(()=>i.shouldReconnect?.({attempt:d,cause:e,lastEventId:f,open:p}),n))return null;let a=i.attempts??3;if(d>a)return null;let o=typeof r==`number`?r:u,s=i.factor??1,c=i.jitter??0;if(!Number.isFinite(c)||c<0||c>1)throw RangeError(`SSE reconnect jitter is out of range`);return tr({delayMs:o,factor:s,jitter:c,maxDelayMs:i.maxDelayMs??1/0},d)}async function w(e,n){if(t.onerror)try{await N(()=>t.onerror?.(e,{lastEventId:f,retryCount:d,retryInterval:u,open:p}),n)}catch{}}async function T(e,t,n){try{await N(e,t)}catch(e){throw t.aborted?e:new Y(`MESSAGE_PROCESSING_FAILED`,e instanceof Error?e.message:n,{cause:e})}}function E(e){let t=wr(e);if(t===h){D(h);return}let r=e.reason;Dr(t,p),l?n.close():(l=!0,i.reject(t)),O({code:`aborted`,reason:Tr(r),cause:r})}function D(e){Dr(e,p),l?n.fail(e):(l=!0,i.reject(e)),O({code:`error`,errorCode:mr(e),reason:Tr(e),cause:e})}function O(e){c||(c=!0,r.resolve(e))}}function mr(e){return dr(e)??(e===h?`TIMEOUT`:`TRANSPORT_ERROR`)}async function hr(e,t,n){return await N(()=>{let r=Promise.resolve(e(t));return r.then(e=>{n.aborted&&e.body&&e.body.cancel(n.reason).catch(()=>void 0)}).catch(()=>void 0),r},n)}async function gr(e,t){let n=null;if(!e.ok&&t){let r=gn(t,e.status);if(r)try{n=q(r,await e.json())}catch{n=null}else e.body&&e.body.cancel()}return{response:it({status:e.status,statusText:e.statusText,headers:e.headers,url:e.url,body:n}),url:e.url}}function _r(e,t,n){return Sn(e,{defaultAccept:lr,headers:t,signal:n,streamingRequestUnsupportedError:Error(`ERR_STREAMING_REQUEST_UNSUPPORTED`)})}function vr(e){let{response:t}=e;if(!t.ok||t.error!==void 0)throw new Y(`INVALID_RESPONSE`,`Event stream request failed`,{cause:t.error});let n=t.headers.get(`content-type`)||``;if(yr(n)!==`text/event-stream`)throw new Y(`INVALID_RESPONSE`,`Expected content-type to start with ${lr}, got ${n||`(empty)`}`)}function yr(e){let t=0,n=()=>{let n=t;for(;t<e.length&&br(e.charCodeAt(t));)t+=1;return t>n?e.slice(n,t):void 0},r=()=>{for(;e[t]===` `||e[t]===` `;)t+=1},i=n();if(!i||e[t]!==`/`)return;t+=1;let a=n();if(a)for(;;){if(r(),t===e.length)return`${i.toLowerCase()}/${a.toLowerCase()}`;if(e[t]!==`;`||(t+=1,r(),!n())||(r(),e[t]!==`=`))return;if(t+=1,r(),e[t]===`"`){t+=1;let n=!1;for(;t<e.length;){let r=e.charCodeAt(t);if(r===34){t+=1,n=!0;break}if(r===92){if(t+=1,t>=e.length||!Sr(e.charCodeAt(t)))return}else if(!xr(r))return;t+=1}if(!n)return}else if(!n())return}}function br(e){return e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122||e===33||e===35||e===36||e===37||e===38||e===39||e===42||e===43||e===45||e===46||e===94||e===95||e===96||e===124||e===126}function xr(e){return e===9||e===32||e===33||e>=35&&e<=91||e>=93&&e<=126||e>=128}function Sr(e){return e===9||e===32||e>=33&&e<=126||e>=128}function Cr(e,t,n){let r=n?.aborted?n:t?.aborted?t:void 0;return r?.aborted?wr(r):e}function wr(e){return j(e).code===`TIMEOUT`?h:m}function Tr(e){if(e instanceof Error)return e.message;if(typeof e==`string`)return e}const Er=new WeakMap;function Dr(e,t){t&&typeof e==`object`&&e&&Er.set(e,t)}function Or(e){if(typeof e==`object`&&e)return Er.get(e)}function kr(t){let r={...t,method:t.method??`GET`};function i(t){return{[e]:n,endpoint:r,input:t}}return(e=>i(e))}function Ar(e){return e}async function jr(e,t,n){let{endpoint:r,input:i}=t;return Mr(e,r,i,n??{},new AbortController)}async function Mr(e,t,n,r,i){let a;try{a=te(r)}catch(e){return[_(`REQUEST_VALIDATION_FAILED`,e),void 0,void 0]}if(k(a))return[ne(),void 0,void 0];try{M(a.timeout)}catch(e){return[_(`REQUEST_VALIDATION_FAILED`,e),void 0,void 0]}let o=[a.abort,a.signal].find(e=>e?.aborted);if(o)return[j(o),void 0,void 0];try{Fr(t)}catch(e){return[_(`REQUEST_VALIDATION_FAILED`,e),void 0,void 0]}let s;try{s=Ar(await Ge(t.input,n))}catch(e){return[_(`REQUEST_VALIDATION_FAILED`,e),void 0,void 0]}let c=P(i.signal,[a.abort,a.signal],a.timeout),l;try{l=pn(t.method,t.path,s,t.build,{abort:c,baseEndpoint:e.endpoint,defaultHeaders:e.headers,input:t.input,operation:t.operation,queryParamsSerializer:e.queryParamsSerializer,timeout:a.timeout,transport:`sse`,withCredentials:e.withCredentials})}catch(e){return[_(`REQUEST_VALIDATION_FAILED`,e),void 0,void 0]}let u=!1,d=new Set;try{let n=D(e.interceptors),r=n=>{if(u){let e=Promise.reject(Error(`SSE interceptor next() cannot be called after the chain has settled`));return e.catch(()=>void 0),e}let r=new AbortController,i={controller:r};d.add(i);let a=pr({...n,abort:P(r.signal,[n.abort])},{fetch:e.sse.handle,handshakeOutput:t.output,async transformMessage(n,r){return await Nr(t.events,n,e.sse.onInvalidEvent,r)},reconnect:e.sse.reconnect,maxBufferSize:t.maxBufferSize,maxQueueSize:t.maxQueueSize}).then(e=>(i.stream=e,e));return a.catch(()=>void 0),a},i=T(n),a=await N(()=>i(l,r),c);u=!0;let o=a.open;return f(Error(`SSE interceptor discarded an opened stream`),a),[null,a,o]}catch(e){u=!0,f(e);let t=Or(e);return[c.aborted?j(c):Vr(e,t?.response),void 0,t]}function f(e,t){for(let n of d)(!n.stream||!t||n.stream!==t&&n.stream.closed!==t.closed)&&(n.controller.abort(e),n.stream?.close(e));d.clear()}}async function Nr(e,t,n,r){let i=t.event||`message`,a=Ir(e,i);if(!a){await Pr(n,{reason:`missing-struct`,message:{id:t.id||``,event:i,data:t.data},signal:r});return}try{return{data:await Lr(a,t.data),event:i,id:t.id||void 0}}catch(e){await Pr(n,{reason:`validation-failed`,message:{id:t.id||``,event:i,data:t.data},cause:e,signal:r});return}}async function Pr(e,t){if(e)try{await N(()=>e(t),t.signal)}catch(e){if(t.signal.aborted)throw e}}function Fr(e){for(let t of[`maxBufferSize`,`maxQueueSize`])if(!Number.isSafeInteger(e[t])||e[t]<1)throw TypeError(`SSE ${t} must be a positive safe integer`)}function Ir(e,t){if(Object.hasOwn(e,t))return e[t];if(Object.hasOwn(e,`default`))return e.default}function Lr(e,t){let n=e[F];switch(n.kind){case`any`:case`unknown`:case`string`:return q(e,t);case`number`:return q(e,Rr(t));case`boolean`:return q(e,zr(t));case`requestBody`:if(n.codec===`json`)return Br(n.struct,t);if(n.codec===`text`)return q(e,t);throw TypeError(`SSE event data does not support ${n.codec} content codec`);case`arrayBuffer`:case`blob`:throw TypeError(`SSE event data does not support ${n.kind} content codec`);default:return q(e,t)}}function Rr(e){let t=e.trim();if(!t)throw TypeError(`SSE number event data must not be empty`);let n=Number(t);if(!Number.isFinite(n))throw TypeError(`SSE number event data must be finite`);return n}function zr(e){let t=e.trim();if(t===`true`)return!0;if(t===`false`)return!1;throw TypeError(`SSE boolean event data must be true or false`)}function Br(e,t){return pt(e,JSON.parse(t))}function Vr(e,t){return t&&!t.ok?v(t.status,at(t),t,t.body):Hr(e)?_(`RESPONSE_VALIDATION_FAILED`,e,t):g(e)}function Hr(e){return e instanceof Error&&e.name===`StructError`||dr(e)===`INVALID_RESPONSE`}function Ur(e){let t=Gr(e.build.query);return{abort:e.abort,baseEndpoint:e.baseEndpoint,endpoint:qe(e.path,e.build.params),headers:new Headers,method:`GET`,operation:e.operation,queryParams:t,queryString:e.queryParamsSerializer(t,e.build.query),withCredentials:e.withCredentials??!1}}function Wr(e){let t=Qe(e);return t.protocol===`https:`?t.protocol=`wss:`:t.protocol===`http:`&&(t.protocol=`ws:`),t.toString()}function Gr(e){let t=new URLSearchParams;if(!e)return t;for(let[n,r]of Object.entries(e))if(r!==void 0){if(Array.isArray(r)){for(let e of r)t.append(n,Kr(e));continue}t.set(n,Kr(r))}return t}function Kr(e){return Ke(e)?J(e):typeof e==`object`?JSON.stringify(e):String(e)}const qr=`Outgoing WebSocket normalizer must return a synchronously JSON-serializable value`;function Jr(e,t,n){if(!e)throw Error(`No outgoing WebSocket messages are declared for this endpoint`);if(!ai(t)||typeof t.type!=`string`||t.type.length===0)throw Error(`Outgoing WebSocket messages must include a string type`);let r=e[t.type];if(!r)throw Error(`Undeclared outgoing message type: ${t.type}`);let i=Yr(r,`data`in t?t.data:ii(t));return n?Xr(n(t.type,i)):JSON.stringify(ri(t.type,i))}function Yr(e,t){return ft(e,q(e,t))}function Xr(e){try{let t=JSON.stringify(Zr(e,new Set));if(typeof t!=`string`)throw TypeError(qr);return t}catch(e){throw TypeError(qr,{cause:e})}}function Zr(e,t){if(e===null||typeof e==`boolean`||typeof e==`string`)return e;if(typeof e==`number`){if(!Number.isFinite(e))throw TypeError(qr);return e}if(typeof e!=`object`||Qr(e)||t.has(e))throw TypeError(qr);t.add(e);try{if(Array.isArray(e)){let n=[];for(let r=0;r<e.length;r+=1){if(!Object.hasOwn(e,r))throw TypeError(qr);n.push(Zr(e[r],t))}return n}let n=Object.getPrototypeOf(e);if(n!==null&&n!==Object.prototype)throw TypeError(qr);let r=Object.create(null);for(let n of Object.keys(e))r[n]=Zr(e[n],t);return r}finally{t.delete(e)}}function Qr(e){return typeof e.then==`function`}async function $r(e,t,n){let r=await ti(t);if(n){let t=n(r);if(t===void 0)return;if(!ai(t)||typeof t.type!=`string`||t.type.length===0||!(`data`in t))throw TypeError(`Incoming WebSocket normalizer must return undefined or an object with a non-empty string type and data`);let i=t.type,a=e[i]??e.default;if(!a)throw new ei(i,t.data);let o=pt(a,t.data);return ai(o)?{...o,type:i}:{data:o,type:i}}if(!ai(r)||typeof r.type!=`string`||r.type.length===0)return;let i=r.type,a=e[i]??e.default;if(!a)throw new ei(i,r);return ri(i,pt(a,`data`in r?r.data:ii(r)))}var ei=class extends Error{decoded;type;constructor(e,t){super(`Undeclared incoming WebSocket message type: ${e}`),this.name=`MissingWebSocketStructError`,this.type=e,this.decoded=t}};async function ti(e){if(typeof e==`string`)return ni(e);if(e instanceof ArrayBuffer)return ni(new TextDecoder().decode(e));if(ArrayBuffer.isView(e))return ni(new TextDecoder().decode(new Uint8Array(e.buffer,e.byteOffset,e.byteLength)));if(typeof Blob<`u`&&e instanceof Blob)return ni(new TextDecoder().decode(await e.arrayBuffer()))}function ni(e){return JSON.parse(e)}function ri(e,t){return ai(t)?{type:e,...t}:{data:t,type:e}}function ii(e){let{type:t,...n}=e;return n}function ai(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function oi(e,t){return{cause:t,code:e?.code,reason:e?.reason,wasClean:e?.wasClean}}const si=2147483647;function ci(e,t,n,r,i,a,o){if(ui(t),li(n),!n)return;let s,c,l={isAck:n.isAck,markAck(){clearTimeout(s),s=void 0},stop(){clearInterval(c),clearTimeout(s),s=void 0}},u=()=>t.heartbeat===l&&t.currentSocket===e&&e.readyState===a;t.heartbeat=l,c=setInterval(()=>{if(u()&&s===void 0){try{let t=n.message,i=t?t():void 0;if(!u()||i===void 0)return;let a=Jr(r,i,o);if(!u()||(e.send(a),!u()))return}catch(e){d(e);return}typeof n.timeoutMs==`number`&&n.timeoutMs>0&&(s=setTimeout(()=>{d(Error(`WebSocket heartbeat timeout`))},n.timeoutMs))}},n.intervalMs);function d(e){u()&&(ui(t),i(e))}}function li(e){e&&(di(`intervalMs`,e.intervalMs),e.timeoutMs!==void 0&&di(`timeoutMs`,e.timeoutMs))}function ui(e){e.heartbeat?.stop(),e.heartbeat=void 0}function di(e,t){if(!Number.isFinite(t)||t<=0||t>si)throw RangeError(`WebSocket heartbeat ${e} must be between 0 and ${si}`)}function fi(e){if(!e)return;let t=e.shouldReconnect,n=e.attempts??3;if(!Number.isSafeInteger(n)||n<0)throw RangeError(`WebSocket reconnect attempts must be a non-negative safe integer`);if(n===0)return;let r=e.delayMs??1e3;mi(`delayMs`,r,0);let i=e.factor??2;mi(`factor`,i,Number.MIN_VALUE);let a=e.jitter??0;mi(`jitter`,a,0,1);let o=e.maxDelayMs??3e4;return mi(`maxDelayMs`,o,0),{attempts:n,delayMs:r,factor:i,hasShouldReconnect:typeof t==`function`,jitter:a,maxDelayMs:o,shouldReconnect:(e,n)=>typeof t!=`function`||!!t({attempt:n,cause:e.cause,code:e.closeInfo.code,reason:e.closeInfo.reason,wasClean:e.closeInfo.wasClean})}}function pi(e,t,n){return!e||t.opened===!1&&e.attempts<=0?!1:e.shouldReconnect(t,n)}function mi(e,t,n,r=1/0){if(!Number.isFinite(t)||t<n||t>r)throw RangeError(`WebSocket reconnect ${e} is out of range`)}function hi(e){return e}function gi(t){let n={...t};function i(t){return{[e]:r,endpoint:n,input:t}}return(e=>i(e))}async function _i(e,t,n,r,i,a){X(a,`connecting`);let o;try{o=te(r)}catch(e){let t=_(`REQUEST_VALIDATION_FAILED`,e);return a.error=t,X(a,`error`),[t,void 0,void 0]}if(k(o)){let e=ne();return a.error=e,X(a,`error`),[e,void 0,void 0]}try{M(o.timeout)}catch(e){let t=_(`REQUEST_VALIDATION_FAILED`,e);return a.error=t,X(a,`error`),[t,void 0,void 0]}try{Oi(t.maxIncomingQueueSize,t.maxOutgoingQueueSize)}catch(e){let t=_(`REQUEST_VALIDATION_FAILED`,e);return a.error=t,X(a,`error`),[t,void 0,void 0]}let s,c,l,u;try{s=r.beforeConnect;let t=r.protocols;c=t?[...t]:void 0;let n=r.reconnect??e.webSocket.reconnect,i=r.heartbeat??e.webSocket.heartbeat;u=i?{intervalMs:i.intervalMs,isAck:i.isAck,message:i.message,timeoutMs:i.timeoutMs}:void 0,li(u),l=fi(n)}catch(e){let t=_(`REQUEST_VALIDATION_FAILED`,e);return a.error=t,X(a,`error`),[t,void 0,void 0]}let d;try{d=hi(await Ge(t.input,n))}catch(e){let t=_(`REQUEST_VALIDATION_FAILED`,e);return a.error=t,X(a,`error`),[t,void 0,void 0]}let f;try{f=xt(d,t.build,{input:t.input,transport:`webSocket`})}catch(e){let t=_(`REQUEST_VALIDATION_FAILED`,e);return a.error=t,X(a,`error`),[t,void 0,void 0]}let p=P(new AbortController().signal,[o.abort,o.signal],o.timeout),h=P(i.signal,[p]),v=A(h);if(v)return a.error=v,X(a,v.code===`ABORTED`?`aborted`:`error`),[v,void 0,void 0];let y=Ur({abort:h,baseEndpoint:e.endpoint,build:f,operation:t.operation,path:t.path,queryParamsSerializer:e.queryParamsSerializer,withCredentials:e.withCredentials}),b=e.webSocket.handle??globalThis.WebSocket;if(typeof b!=`function`){let e=g(Error(`WebSocket is not supported in current runtime`));return a.error=e,X(a,`error`),[e,void 0,void 0]}let x=b,S,C=new Set,w=new Set,E=!1,D=!1,ee=n=>{if(D||E){let e=Promise.reject(Error(D?`WebSocket interceptor next() may not be called after the chain settles`:`WebSocket interceptor next() may only be called once`));return e.catch(()=>void 0),e}E=!0;let r=new Promise((r,o)=>{let d=new $n({maxSize:t.maxIncomingQueueSize}),f=Promise.withResolvers(),p={currentSocket:void 0,heartbeat:void 0},v=[],y=!1,C=!1,w,T=0,E=0,D,O,ee=new Set,te,k,ne,j=!1,M,P,F=l?.hasShouldReconnect??!1,re=s??e.webSocket.beforeConnect,ie=[...c??e.webSocket.protocols??t.protocols??[]],ae=xi(t.outgoing,t.normalizeOutgoing,d,f.promise,a,p,v,t.maxOutgoingQueueSize??0,b.OPEN,()=>C||h.aborted,B,ce),I=oe().catch(e=>{R({cause:e,kind:`error`})});async function oe(){for(;!C;){if(h.aborted){z();return}X(a,T===0?`connecting`:`reconnecting`);let e=await L();if(C)return;if(!e.ok){e.aborted?z():R({cause:e.error,kind:`error`},{startupError:e.error});return}if(h.aborted){z();return}let t=await se(e.url,e.protocols);if(C)return;if(!y&&t.connection&&(w=t.connection,a.connection=w),h.aborted){z(t.closeInfo);return}if(O){R(Mi(t.closeInfo,O));return}let n=T+1,r=!1,i=!1;if(l&&n<=l.attempts)try{r=pi(l,t,n),i=F&&!r}catch(e){if(C)return;h.aborted?z(t.closeInfo):R(Pi(t.closeInfo,e));return}if(C)return;if(h.aborted){z(t.closeInfo);return}if(r&&l){if(T=n,X(a,`reconnecting`),C)return;if(h.aborted){z(t.closeInfo);return}let e=tr(l,n);if(e>0)try{await nr(e,h)}catch{C||z(t.closeInfo);return}continue}if(!y){let e=t.cause??Error(`WebSocket closed before open`),n=g(e);R(Pi(t.closeInfo,e),{startupError:n});return}if(i){R(Mi(t.closeInfo));return}t.cause===void 0?R(Mi(t.closeInfo)):R(Pi(t.closeInfo,t.cause));return}}async function L(){let e;try{e=Wr(n)}catch(e){return{aborted:!1,error:_(`REQUEST_VALIDATION_FAILED`,e),ok:!1}}if(re)try{await N(()=>re({attempt:T,signal:h}),h),h.throwIfAborted()}catch(e){return h.aborted?{aborted:!0,ok:!1}:{aborted:!1,error:g(e),ok:!1}}return{ok:!0,protocols:ie,url:e}}async function se(n,i){let o;try{o=i.length>0?new x(n,[...i]):new x(n),`binaryType`in o&&(o.binaryType=`arraybuffer`)}catch(e){return{closeInfo:{cause:e,reason:e instanceof Error?e.message:`WebSocket connection error`},connection:void 0,cause:e,opened:!1}}p.currentSocket=o;let s=!1,c;return await new Promise(n=>{let i,l=!1,f,m=!1,g=new AbortController,_=AbortSignal.any([h,g.signal]),x=[],T=!1,k=()=>{f!==void 0&&(clearTimeout(f),f=void 0)},ne=e=>{k(),ui(p),g.abort(),x.length=0,o.removeEventListener(`open`,P),o.removeEventListener(`message`,ie),o.removeEventListener(`close`,oe),o.removeEventListener(`error`,I),h.removeEventListener(`abort`,M),!e&&p.currentSocket===o&&(p.currentSocket=void 0)},A=()=>({extensions:o.extensions||void 0,generation:E,protocol:o.protocol||void 0,url:o.url}),j=(e,t=!1)=>{T||(T=!0,ne(t),D?.socket===o&&(D=void 0),n(e))},M=()=>{C||(y||(w=A(),a.connection=w),z(oi(void 0,h.reason)))},P=()=>{if(!(C||s)){s=!0,E+=1,w=A(),a.connection=w;try{Si(o,v,b.OPEN)}catch(e){R({cause:e,kind:`error`});return}C||O||(X(a,`open`),!C&&(y||(S=w,y=!0,r(ae)),a.status===`open`&&ci(o,p,u,t.outgoing,e=>{R({cause:e,kind:`error`})},b.OPEN,t.normalizeOutgoing)))}},F=async n=>{if(C||p.currentSocket!==o)return;let r;try{r=await N(()=>$r(t.incoming,n.data,t.normalizeIncoming),_)}catch(t){if(C||g.signal.aborted)return;if(t instanceof ei){await wi(e.webSocket.onInvalidEvent,{reason:`missing-struct`,message:{type:t.type,data:t.decoded}},_);return}Ci(a,t);return}if(!(C||p.currentSocket!==o||r===void 0))try{let e=p.heartbeat,t=e?.isAck?.(r)??!1;if(C||p.currentSocket!==o||p.heartbeat!==e)return;if(t&&e){e.markAck();return}d.push(r)}catch(e){C||R({cause:e,kind:`error`})}},re=async()=>{if(!m){m=!0;try{for(;!C&&x.length>0;){let e=x.shift();await F(e)}!C&&i&&x.length===0&&j(i)}catch(e){R({cause:e,kind:`error`})}finally{m=!1,C&&(x.length=0)}}},ie=e=>{if(C||l||p.currentSocket!==o)return;if(x.length>=t.maxIncomingQueueSize){R({cause:Error(`WebSocket raw message queue overflow`),kind:`error`});return}x.push(e);let n=re();ee.add(n),n.finally(()=>{ee.delete(n)})},I=()=>{c??=Error(`WebSocket connection error`),ui(p),o.removeEventListener(`error`,I),f=setTimeout(()=>{f=void 0,R({cause:c,kind:`error`},{skipNativeClose:!0})},yi);try{o.close()}catch{k(),R({cause:c,kind:`error`},{skipNativeClose:!0})}},oe=e=>{if(!l){if(l=!0,k(),p.heartbeat?.stop(),o.removeEventListener(`open`,P),o.removeEventListener(`message`,ie),o.removeEventListener(`error`,I),i={closeInfo:oi(e,c),connection:A(),cause:c,opened:s},te&&D?.abortMessagePumpForDisposal(),c!==void 0){x.length=0,j(i);return}!m&&x.length===0&&j(i)}};D={abortMessagePumpForDisposal(){l&&g.abort()},cancel(e=!1){j({closeInfo:oi(void 0,c),connection:A(),cause:c,opened:s},e)},socket:o},h.addEventListener(`abort`,M,{once:!0}),o.addEventListener(`open`,P),o.addEventListener(`message`,ie),o.addEventListener(`close`,oe),o.addEventListener(`error`,I),h.aborted&&M()})}function R(e,t={}){if(C)return;C=!0,ui(p);let n=p.currentSocket;if(e.kind!==`closed`&&n&&!t.skipNativeClose&&Ai(n),n&&t.keepPhysicalCleanup&&(P=ji(n,p)),D?.cancel(t.keepPhysicalCleanup),v.length=0,e.kind===`closed`)d.close(),a.error=void 0;else{let n=e.cause??new DOMException(`Aborted`,`AbortError`);d.fail(n),a.error=t.startupError??Fi(e),e.kind===`error`&&Ci(a,e.cause)}if(a.connection=w,X(a,e.kind===`closed`?`closed`:e.kind),a.listeners.runtimeError.clear(),a.listeners.stateChange.clear(),i.signal.aborted||i.abort(e),f.resolve(e),!y){let n=t.startupError??Fi(e);a.error=n,o(n)}}function z(e={}){let t=A(h)??g(m);if(t.code===`TIMEOUT`){R(Pi(e,h.reason),{startupError:t});return}R(Ni(e,h.reason),{startupError:t})}function B(e,t){if(ki(e,t),C||O||(O={code:e,kind:`manual-web-socket-close`,reason:t},p.heartbeat?.stop(),X(a,`closing`),C))return;let n=p.currentSocket;if(!n){R(Mi({},O));return}try{n.close(e,t)}catch(e){try{n.close()}catch{R({cause:e,kind:`error`},{keepPhysicalCleanup:!0,skipNativeClose:!0})}throw e}}function ce(){return te??=Promise.resolve().then(le)}async function le(){try{try{ae.close()}catch(e){j=!0,M=e}D?.abortMessagePumpForDisposal(),C||(k=setTimeout(()=>{C||(ne=new DOMException(`WebSocket close event was not observed before teardown timeout`,`TimeoutError`),R(Mi({},O),{skipNativeClose:!0}))},yi)),await I,await Promise.allSettled([...ee])}finally{clearTimeout(k),k=void 0,P?.()}if(j)throw M;if(ne)throw ne}});return w.add(r),r.then(e=>{w.delete(r),C.add(e)},()=>{w.delete(r)}),r},j=T(O(e.interceptors));try{let e=await N(()=>j(y,ee),p);D=!0;let t=[...C].some(t=>t===e||t.closed===e.closed),n=[...w];!t&&(C.size>0||n.length>0)&&!i.signal.aborted&&i.abort(Error(`WebSocket session was replaced by interceptor`)),await Promise.allSettled(n),t=[...C].some(t=>t===e||t.closed===e.closed);let r=[...C].filter(t=>t!==e&&t.closed!==e.closed);await Promise.allSettled(r.map(e=>e.closed)),w.clear(),C.clear(),t||(S=void 0);let a=e;return[null,a,S??a.connection]}catch(e){D=!0;let t=A(p),n=t??e;t&&(a.error=t,X(a,t.code===`ABORTED`?`aborted`:`error`));let r=[...w];return(C.size>0||r.length>0)&&(i.signal.aborted||i.abort(e),await Promise.allSettled(r),await Promise.allSettled([...C].map(e=>e.closed)),w.clear(),C.clear()),[n,void 0,a.connection]}}async function vi(e,t,n){let{endpoint:r,input:i}=t;return _i(e,r,i,n??{},new AbortController,{listeners:{runtimeError:new Set,stateChange:new Set},status:`idle`,transition:0})}const yi=1e3,bi=()=>void 0;function xi(e,t,n,r,i,a,o,s,c,l,u,d){return{get bufferedAmount(){return a.currentSocket?.bufferedAmount??0},get connection(){return i.connection??{generation:0}},closed:r,close(e,t){u(e,t)},[Symbol.asyncDispose](){return d()},get state(){return i.status},onRuntimeError(e){return l()?bi:(i.listeners.runtimeError.add(e),()=>{i.listeners.runtimeError.delete(e)})},onStateChange(e){return l()?bi:(i.listeners.stateChange.add(e),()=>{i.listeners.stateChange.delete(e)})},receive:n,send(n){if(l())throw new DOMException(`WebSocket session is closed`,`InvalidStateError`);let r=a.currentSocket,u=i.status,d=r?.readyState,f=u===`open`&&d===c?`socket`:u===`reconnecting`?`queue`:void 0;if(!f)throw new DOMException(`WebSocket session is not writable`,`InvalidStateError`);let p=Jr(e,n,t);if(l()||i.status!==u||a.currentSocket!==r||r?.readyState!==d)throw new DOMException(`WebSocket session is not writable`,`InvalidStateError`);if(f===`socket`){r.send(p);return}if(s===0)throw Error(`WebSocket outgoing queue is disabled`);if(o.length>=s)throw Error(`WebSocket send queue overflow`);o.push(p)}}}function Si(e,t,n){for(;e.readyState===n;){let n=t.shift();if(n===void 0)return;e.send(n)}}function X(e,t){if(e.status===t)return;e.status=t,e.transition+=1;let n=e.transition;for(let r of[...e.listeners.stateChange]){if(e.transition!==n)break;try{let n=r(t),i=[...e.listeners.runtimeError];Di(n,e=>Ti(i,e))}catch(t){Ci(e,t)}}}function Ci(e,t){Ti([...e.listeners.runtimeError],t)}async function wi(e,t,n){if(e)try{await N(()=>e(t),n)}catch{}}function Ti(e,t){for(let n of e)try{Di(n(t),Ei)}catch(e){Ei(e)}}function Ei(e){let t=globalThis.reportError;if(typeof t==`function`)try{Di(t(e),()=>void 0)}catch{}}function Di(e,t){(typeof e==`object`&&e||typeof e==`function`)&&Promise.resolve(e).catch(t)}function Oi(e,t){if(!Number.isSafeInteger(e)||e<1)throw TypeError(`maxIncomingQueueSize must be a positive safe integer`);let n=t??0;if(!Number.isSafeInteger(n)||n<0)throw TypeError(`maxOutgoingQueueSize must be a non-negative safe integer`)}function ki(e,t){if(e!==void 0&&(!Number.isInteger(e)||e!==1e3&&(e<3e3||e>4999)))throw new DOMException(`The close code must be 1000 or between 3000 and 4999`,`InvalidAccessError`);if(t!==void 0&&new TextEncoder().encode(t).byteLength>123)throw new DOMException(`The close reason must not exceed 123 UTF-8 bytes`,`SyntaxError`)}function Ai(e){try{e.close()}catch{}}function ji(e,t){let n=!1,r=()=>{n||(n=!0,e.removeEventListener(`close`,r),t.currentSocket===e&&(t.currentSocket=void 0))};return e.addEventListener(`close`,r,{once:!0}),r}function Mi(e,t){return{code:e.code??t?.code,kind:`closed`,reason:e.reason??t?.reason,wasClean:e.wasClean}}function Ni(e,t){return{cause:t,code:e.code,kind:`aborted`,reason:e.reason,wasClean:e.wasClean}}function Pi(e,t){return{cause:t,code:e.code,kind:`error`,reason:e.reason,wasClean:e.wasClean}}function Fi(e){return e.kind!==`closed`&&Ii(e.cause)?e.cause:e.kind===`aborted`?g(m):e.kind===`error`?g(e.cause):g(Error(`WebSocket closed before open`))}function Ii(e){return typeof e!=`object`||!e||!(`kind`in e)?!1:e.kind===`definition`||e.kind===`http`||e.kind===`transport`}const Li=Symbol(`Client`);function Ri(...e){let t=p();for(let n of e)n(t);function n(e,n){return a(e)?Jn(t,e,n):o(e)?jr(t,e,n):s(e)?vi(t,e,n):Promise.reject(Error(`Unsupported command`))}return{[Li]:t,execute:n}}function zi(e){return t=>{t.endpoint=e}}function Bi(e){return t=>{t.headers=new Headers(e)}}function Vi(e){return M(e),t=>{t.timeout=e}}function Hi(...e){return t=>{t.interceptors.push(...e)}}function Ui(e){return t=>{t.queryParamsSerializer=e}}function Wi(e){return t=>{t.http.handle=e}}function Gi(e){return t=>{t.sse.handle=e}}function Ki(e){return t=>{t.webSocket.handle=e}}function qi(e){return t=>{t.webSocket.beforeConnect=e}}function Ji(e){return t=>{t.webSocket.protocols=e}}function Yi(e){return t=>{t.webSocket.heartbeat=e}}function Xi(e){return t=>{t.webSocket.reconnect=e}}function Zi(e){return t=>{t.webSocket.onInvalidEvent=e}}function Qi(e){return t=>{t.sse.onInvalidEvent=e}}function $i(e){return t=>{t.sse.reconnect=e}}function ea(e={}){return t=>{t.xsrf={cookieName:e.cookieName??`XSRF-TOKEN`,headerName:e.headerName??`X-XSRF-TOKEN`,tokenProvider:e.tokenProvider}}}function ta(e){return t=>{t.withCredentials=e}}function na(e,t){let n=t?.encode;if(!n){let e=globalThis.btoa;if(typeof e!=`function`)throw Error(`BasicAuthInterceptor is not supported in this environment`);n=t=>e(`${t.username}:${t.password}`)}return t=>{let r=new Headers(t.headers);return r.set(`Authorization`,`Basic ${n(e())}`),{...t,headers:r}}}function ra(e,t){let n=na(e,t);return x((e,t)=>t(n(e)))}function ia(e,t){let n=na(e,t);return S((e,t)=>t(n(e)))}function aa(e){return Q($({...e,flags:Z}))}const Z={nullable:!1,optional:!1};function Q(e){return e}function $(e){let t=t=>$({...e,flags:{...e.flags,...t}});return{[F]:e,alias(t){if(typeof t!=`string`)throw TypeError(`alias() requires a string name`);return $({...e,alias:t})},null(){return t({nullable:!0})},nullable(){return t({nullable:!0})},nullish(){return t({nullable:!0,optional:!0})},optional(){return t({optional:!0})}}}function oa(){return Q(aa({expected:`string`,is:e=>typeof e==`string`,kind:`string`}))}function sa(){return Q(aa({expected:`number`,is:e=>typeof e==`number`&&!Number.isNaN(e),kind:`number`}))}function ca(){return aa({expected:`boolean`,is:e=>typeof e==`boolean`,kind:`boolean`})}function la(){return Q(aa({expected:`null`,is:e=>e===null,kind:`null`}))}function ua(){return Q($({flags:Z,kind:`any`}))}function da(){return Q($({flags:Z,kind:`unknown`}))}function fa(e){return Q($({expected:ue(e),flags:Z,kind:`literal`,value:e}))}function pa(e){let t=[...e];return Q($({expected:t.map(e=>JSON.stringify(e)).join(` | `),flags:Z,kind:`enum`,values:t}))}function ma(e){let t=Object.values(e).filter(e=>typeof e==`number`||typeof e==`string`);if(t.length===0)throw TypeError(`enum struct requires at least one string or number value`);return Q($({expected:t.map(e=>JSON.stringify(e)).join(` | `),flags:Z,kind:`enum`,values:t}))}function ha(e){return L(e,`array item`),Q($({flags:Z,item:e,kind:`array`}))}function ga(e){if(!H(e))throw TypeError(`object struct requires a plain object`);return Q($({cache:{declaredDescriptors:Object.getOwnPropertyDescriptors(e)},flags:Z,kind:`object`,shape:e}))}function _a(e){if(!H(e))throw TypeError(`request struct requires a plain object`);let t=e.path,n=e.query,r=e.headers,i=e.body;return t&&za(t,`request.path`),n&&za(n,`request.query`),r&&za(r,`request.headers`),Q($({body:i,bodyDescriptor:va(i),flags:Z,headers:r,kind:`request`,path:t,query:n}))}function va(e){if(!e)return;L(e,`request.body`);let t=e[F];if(t.kind===`requestBody`)return{codec:t.codec,contentType:t.contentType,struct:t.struct};if(t.kind===`blob`)return{codec:`blob`,struct:e};if(t.kind===`arrayBuffer`)return{codec:`arrayBuffer`,struct:e};throw TypeError(`body must use a body wrapper struct`)}function ya(e,t,n){return L(t,`${e} body`),Q($({codec:e,...n===void 0?{}:{contentType:n},flags:Z,kind:`requestBody`,struct:t}))}function ba(e,t){return ya(`json`,e,t?.contentType)}function xa(e){return ya(`urlencoded`,ga(e))}function Sa(e){return ya(`formData`,ga(e))}function Ca(){return ya(`text`,oa())}function wa(e){return L(e,`record value`),Q($({flags:Z,kind:`record`,value:e}))}function Ta(e){let t=[...e];for(let e of t)L(e,`tuple item`);return Q($({flags:Z,items:t,kind:`tuple`}))}function Ea(e){let t=[...e];for(let e of t)L(e,`or option`);return Q($({expected:t.map(e=>ce(e[F])).join(` | `),flags:Z,kind:`or`,options:t,uniformIdentityEncode:Da(t)}))}function Da(e){let t=e[0];if(t[F].kind===`object`){let n=Oa(t);if(!n)return!1;for(let t=1;t<e.length;t+=1){let r=Oa(e[t]);if(!r||r.size!==n.size)return!1;for(let[e,t]of n)if(r.get(e)!==t)return!1}return!0}return e.every(e=>ka(e[F].kind))}function Oa(e){let t=e[F];if(t.kind!==`object`)return;let n=new Map;for(let[e,r]of Object.entries(t.cache.declaredDescriptors)){if(typeof r.get==`function`)return;let t=r.value?.[F];if(!t||!ka(t.kind))return;n.set(e,t.kind)}return n}function ka(e){return e===`any`||e===`boolean`||e===`enum`||e===`literal`||e===`null`||e===`number`||e===`string`||e===`unknown`}function Aa(e,t){let n=[...t],r=new Map,i=new Map,a=[],o=new Set,s=[];for(let t of n){L(t,`discriminatedUnion option`);let n=t[F];if(n.kind!==`object`)throw TypeError(`discriminatedUnion options must be object structs`);let c=n.cache.declaredDescriptors[e],l=c&&typeof c.get==`function`?c.get.call(n.shape):c?.value;if(!l)throw TypeError(`discriminatedUnion option missing discriminator field "${e}"`);let u=l[F];if(u.kind!==`literal`)throw TypeError(`discriminatedUnion option discriminator "${e}" must be a literal struct`);if(u.flags.optional||u.flags.nullable&&u.value!==null)throw TypeError(`discriminatedUnion option discriminator "${e}" must be a required literal struct`);if(r.has(u.value))throw TypeError(`discriminatedUnion duplicate discriminator value: ${JSON.stringify(u.value)}`);let d=u.alias??e;r.set(u.value,t),i.set(u.value,d),o.has(d)||(o.add(d),a.push(d)),s.push(u.value)}return Q($({discriminator:e,discriminatorWireKeys:a,expected:s.map(e=>JSON.stringify(e)).join(` | `),flags:Z,kind:`discriminatedUnion`,map:r,options:n,wireKeyByValue:i}))}function ja(){return aa({expected:`Blob`,is:e=>e instanceof Blob,kind:`blob`,runtimeIs:e=>typeof Blob<`u`&&e instanceof Blob})}function Ma(){return aa({decode:(e,t)=>{if(typeof e==`bigint`)return z(e);try{return z(BigInt(e))}catch{return B(G(t,`invalid_type`,`bigint`,e))}},encode:e=>e.toString(),expected:`bigint`,is:e=>typeof e==`bigint`||typeof e==`string`,kind:`bigint`,runtimeIs:e=>typeof e==`bigint`})}function Na(){return aa({decode:(e,t)=>{let n=e instanceof Date?e:new Date(e);return Number.isNaN(n.getTime())?B(G(t,`invalid_type`,`Date`,e)):z(n)},encode:e=>e.toISOString(),expected:`Date`,is:e=>e instanceof Date||typeof e==`string`||typeof e==`number`,kind:`date`,runtimeIs:e=>e instanceof Date&&!Number.isNaN(e.getTime())})}function Pa(...e){if(e.length===0)throw TypeError(`intersection requires at least one struct`);for(let t of e)L(t,`intersection item`);if(e.length===1)return Q(e[0]);let t=e.every(Fa),n=t?Ia(e):e;return Q($({expected:e.map(e=>ce(e[F])).join(` & `),flags:Z,kind:`intersection`,objectSides:t,options:n}))}function Fa(e){let t=e[F];return t.kind===`object`||t.kind===`intersection`&&t.objectSides}function Ia(e){let t=[];for(let n of e){let e=n[F];e.kind===`intersection`?t.push(...e.options):t.push(n)}return t}function La(){return aa({expected:`File`,is:e=>e instanceof File,kind:`file`,runtimeIs:e=>typeof File<`u`&&e instanceof File})}function Ra(){return aa({expected:`ArrayBuffer`,is:e=>e instanceof ArrayBuffer,kind:`arrayBuffer`,runtimeIs:e=>typeof ArrayBuffer<`u`&&e instanceof ArrayBuffer})}function za(e,t){if(L(e,t),e[F].kind!==`object`)throw TypeError(`${t} must be an object struct`)}function Ba(e){return Array.isArray(e)?pa(e):ma(e)}function Va(...e){return Ea(e)}const Ha={any:ua,array:ha,arrayBuffer:Ra,bigint:Ma,blob:ja,boolean:ca,date:Na,discriminatedUnion:Aa,enum:Ba,file:La,formData:Sa,intersection:Pa,json:ba,literal:fa,null:la,number:sa,object:ga,or:Va,parse:We,record:wa,request:_a,string:oa,text:Ca,tuple:Ta,unknown:da,urlencoded:xa};export{m as ERR_ABORTED,h as ERR_TIMEOUT,Se as StructError,ra as basicAuthHttpInterceptor,ia as basicAuthSSEInterceptor,Ri as createClient,_ as createDefinitionError,x as createHttpInterceptor,v as createHttpStatusError,Ze as createResolvedRequestUrl,S as createSSEInterceptor,g as createTransportError,C as createWebSocketInterceptor,kr as defineEventStream,qn as defineRequest,gi as defineWebSocket,jr as executeEventStreamCommand,Jn as executeHttpCommand,vi as executeWebSocketCommand,Wn as fetchHandler,it as makeResponse,Ha as struct,ta as withCredentials,zi as withEndpoint,Wi as withHTTPHandle,Bi as withHeaders,Hi as withInterceptors,Ui as withQueryParamsSerializer,Gi as withSSEHandle,Qi as withSSEOnInvalidEvent,$i as withSSEReconnect,Vi as withTimeout,qi as withWebSocketBeforeConnect,Ki as withWebSocketHandle,Yi as withWebSocketHeartbeat,Zi as withWebSocketOnInvalidEvent,Ji as withWebSocketProtocols,Xi as withWebSocketReconnect,ea as withXSRF};
|
package/package.json
CHANGED
|
@@ -1,25 +1,26 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@defjs/core",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"
|
|
5
|
-
|
|
6
|
-
"typings": "index.d.ts",
|
|
7
|
-
"license": "MIT",
|
|
8
|
-
"publishConfig": {
|
|
9
|
-
"directory": "dist"
|
|
3
|
+
"version": "0.4.0-beta.0",
|
|
4
|
+
"bugs": {
|
|
5
|
+
"url": "https://github.com/defjs/defjs/issues"
|
|
10
6
|
},
|
|
7
|
+
"license": "MIT",
|
|
11
8
|
"repository": {
|
|
12
9
|
"type": "git",
|
|
13
10
|
"url": "git+https://github.com/defjs/defjs.git"
|
|
14
11
|
},
|
|
15
|
-
"
|
|
16
|
-
|
|
17
|
-
|
|
12
|
+
"type": "module",
|
|
13
|
+
"main": "./index.js",
|
|
14
|
+
"types": "./index.d.ts",
|
|
18
15
|
"exports": {
|
|
19
16
|
"./package.json": "./package.json",
|
|
20
17
|
".": {
|
|
21
18
|
"types": "./index.d.ts",
|
|
22
19
|
"default": "./index.js"
|
|
23
20
|
}
|
|
24
|
-
}
|
|
25
|
-
|
|
21
|
+
},
|
|
22
|
+
"module": "./index.js",
|
|
23
|
+
"typings": "./index.d.ts",
|
|
24
|
+
"unpkg": "./index.min.js",
|
|
25
|
+
"jsdelivr": "./index.min.js"
|
|
26
|
+
}
|