@synnaxlabs/freighter 0.26.7 → 0.28.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/dist/alamos.d.ts +0 -1
- package/dist/errors.d.ts +0 -1
- package/dist/freighter.cjs +2 -2
- package/dist/freighter.js +137 -118
- package/dist/http.d.ts +0 -1
- package/dist/http.d.ts.map +1 -1
- package/dist/stream.d.ts +0 -1
- package/dist/transport.d.ts +0 -1
- package/dist/unary.d.ts +0 -1
- package/dist/websocket.d.ts +0 -1
- package/package.json +12 -12
- package/src/http.ts +9 -0
package/dist/alamos.d.ts
CHANGED
package/dist/errors.d.ts
CHANGED
package/dist/freighter.cjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
"use strict";var Ze=Object.defineProperty;var He=(r,e,t)=>e in r?Ze(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var f=(r,e,t)=>He(r,typeof e!="symbol"?e+"":e,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("zod"),Ve=r=>{const e=r.replace(/_[a-z]/g,t=>t[1].toUpperCase());return e.length>1&&e[0]===e[0].toUpperCase()&&e[1]===e[1].toUpperCase()?e:e[0].toLowerCase()+e.slice(1)},Ae=r=>{const e=(t,n=ae)=>{if(typeof t=="string")return r(t);if(Array.isArray(t))return t.map(c=>e(c,n));if(!re(t))return t;n=Qe(n);const i={},a=t;return Object.keys(a).forEach(c=>{let h=a[c];const g=r(c);n.recursive&&(re(h)?
|
|
1
|
+
"use strict";var Ze=Object.defineProperty;var He=(r,e,t)=>e in r?Ze(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var f=(r,e,t)=>He(r,typeof e!="symbol"?e+"":e,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("zod"),Ve=r=>{const e=r.replace(/_[a-z]/g,t=>t[1].toUpperCase());return e.length>1&&e[0]===e[0].toUpperCase()&&e[1]===e[1].toUpperCase()?e:e[0].toLowerCase()+e.slice(1)},Ae=r=>{const e=(t,n=ae)=>{if(typeof t=="string")return r(t);if(Array.isArray(t))return t.map(c=>e(c,n));if(!re(t))return t;n=Qe(n);const i={},a=t;return Object.keys(a).forEach(c=>{let h=a[c];const g=r(c);n.recursive&&(re(h)?me(h,n.keepTypesOnRecursion)||(h=e(h,n)):n.recursiveInArray&&ge(h)&&(h=[...h].map(m=>{let O=m;return re(m)?me(O,n.keepTypesOnRecursion)||(O=e(m,n)):ge(m)&&(O=e({key:m},n).key),O}))),i[g]=h}),i};return e},Ke=Ae(Ve),Xe=r=>r.replace(/([a-z0-9])([A-Z])/g,(e,t,n)=>`${t}_${n.toLowerCase()}`),Je=Ae(Xe),ae={recursive:!0,recursiveInArray:!0,keepTypesOnRecursion:[Number,String,Uint8Array]},Qe=(r=ae)=>(r.recursive==null?r=ae:r.recursiveInArray==null&&(r.recursiveInArray=!1),r),ge=r=>r!=null&&Array.isArray(r),re=r=>r!=null&&typeof r=="object"&&!Array.isArray(r),me=(r,e)=>(e||[]).some(t=>r instanceof t),$e=r=>r!=null&&typeof r=="object"&&!Array.isArray(r);var _e=Object.defineProperty,et=(r,e,t)=>e in r?_e(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,q=(r,e,t)=>et(r,typeof e!="symbol"?e+"":e,t);let tt=class{constructor(){q(this,"contentType","application/json"),q(this,"decoder"),q(this,"encoder"),this.decoder=new TextDecoder,this.encoder=new TextEncoder}encode(e){return this.encoder.encode(this.encodeString(e)).buffer}decode(e,t){return this.decodeString(this.decoder.decode(e),t)}decodeString(e,t){const n=JSON.parse(e),i=Ke(n);return t!=null?t.parse(i):i}encodeString(e){const t=Je(e);return JSON.stringify(t,(n,i)=>ArrayBuffer.isView(i)?Array.from(i):$e(i)&&"encode_value"in i?typeof i.value=="bigint"?i.value.toString():i.value:typeof i=="bigint"?i.toString():i)}static registerCustomType(){}},rt=class{constructor(){q(this,"contentType","text/csv")}encode(e){const t=this.encodeString(e);return new TextEncoder().encode(t).buffer}decode(e,t){const n=new TextDecoder().decode(e);return this.decodeString(n,t)}encodeString(e){if(!Array.isArray(e)||e.length===0||!$e(e[0]))throw new Error("Payload must be an array of objects");const t=Object.keys(e[0]),n=[t.join(",")];return e.forEach(i=>{const a=t.map(c=>JSON.stringify(i[c]??""));n.push(a.join(","))}),n.join(`
|
|
2
2
|
`)}decodeString(e,t){const[n,...i]=e.trim().split(`
|
|
3
|
-
`).map(h=>h.trim());if(n.length===0)return t!=null?t.parse({}):{};const a=n.split(",").map(h=>h.trim()),c={};return a.forEach(h=>{c[h]=[]}),i.forEach(h=>{const g=h.split(",").map(w=>w.trim());a.forEach((w,O)=>{const m=this.parseValue(g[O]);m!=null&&c[w].push(m)})}),t!=null?t.parse(c):c}parseValue(e){if(e==null||e.length===0)return null;const t=Number(e);return isNaN(t)?e.startsWith('"')&&e.endsWith('"')?e.slice(1,-1):e:t}static registerCustomType(){}},nt=class{constructor(){G(this,"contentType","text/plain")}encode(e){return new TextEncoder().encode(e).buffer}decode(e,t){const n=new TextDecoder().decode(e);return t!=null?t.parse(n):n}};new tt;new rt;new nt;const _=s.z.tuple([s.z.number(),s.z.number()]);s.z.tuple([s.z.bigint(),s.z.bigint()]);const xe=s.z.object({width:s.z.number(),height:s.z.number()}),st=s.z.object({signedWidth:s.z.number(),signedHeight:s.z.number()}),it=["width","height"];s.z.enum(it);const ot=["start","center","end"],at=["signedWidth","signedHeight"];s.z.enum(at);const J=s.z.object({x:s.z.number(),y:s.z.number()}),ut=s.z.object({clientX:s.z.number(),clientY:s.z.number()}),ct=["x","y"],Ue=s.z.enum(ct),Ce=["top","right","bottom","left"];s.z.enum(Ce);const lt=["left","right"],Me=s.z.enum(lt),ht=["top","bottom"],Be=s.z.enum(ht),Re=["center"],me=s.z.enum(Re),dt=[...Ce,...Re],De=s.z.enum(dt);s.z.enum(ot);const ft=["first","last"];s.z.enum(ft);const pt=s.z.object({lower:s.z.number(),upper:s.z.number()}),yt=s.z.object({lower:s.z.bigint(),upper:s.z.bigint()});s.z.union([pt,_]);s.z.union([yt,_]);s.z.union([Ue,De]);s.z.union([Ue,De,s.z.instanceof(String)]);const ne=(r,e)=>{const t={};if(typeof r=="number"||typeof r=="bigint")e!=null?(t.lower=r,t.upper=e):(t.lower=typeof r=="bigint"?0n:0,t.upper=r);else if(Array.isArray(r)){if(r.length!==2)throw new Error("bounds: expected array of length 2");[t.lower,t.upper]=r}else return Oe(r);return Oe(t)},Oe=r=>r.lower>r.upper?{lower:r.upper,upper:r.lower}:r;s.z.object({x:Me.or(me),y:Be.or(me)});const gt=s.z.object({x:Me,y:Be}),wt=Object.freeze({x:"left",y:"top"}),mt=(r,e)=>r.x===e.x&&r.y===e.y,ve=s.z.union([s.z.number(),J,_,xe,st,ut]),Ot=(r,e)=>{if(typeof r=="string"){if(e===void 0)throw new Error("The y coordinate must be given.");return r==="x"?{x:e,y:0}:{x:0,y:e}}return typeof r=="number"?{x:r,y:e??r}:Array.isArray(r)?{x:r[0],y:r[1]}:"signedWidth"in r?{x:r.signedWidth,y:r.signedHeight}:"clientX"in r?{x:r.clientX,y:r.clientY}:"width"in r?{x:r.width,y:r.height}:{x:r.x,y:r.y}},be=Object.freeze({x:0,y:0}),Z=s.z.union([s.z.number(),s.z.string()]);s.z.object({top:Z,left:Z,width:Z,height:Z});s.z.object({left:s.z.number(),top:s.z.number(),right:s.z.number(),bottom:s.z.number()});s.z.object({one:J,two:J,root:gt});const de=(r,e,t=0,n=0,i)=>{const a={one:{...be},two:{...be},root:i??wt};if(typeof r=="number"){if(typeof e!="number")throw new Error("Box constructor called with invalid arguments");return a.one={x:r,y:e},a.two={x:a.one.x+t,y:a.one.y+n},a}return"one"in r&&"two"in r&&"root"in r?{...r,root:i??r.root}:("getBoundingClientRect"in r&&(r=r.getBoundingClientRect()),"left"in r?(a.one={x:r.left,y:r.top},a.two={x:r.right,y:r.bottom},a):(a.one=r,e==null?a.two={x:a.one.x+t,y:a.one.y+n}:typeof e=="number"?a.two={x:a.one.x+e,y:a.one.y+t}:"width"in e?a.two={x:a.one.x+e.width,y:a.one.y+e.height}:"signedWidth"in e?a.two={x:a.one.x+e.signedWidth,y:a.one.y+e.signedHeight}:a.two=e,a))},se=r=>{const e=de(r);return{lower:e.one.x,upper:e.two.x}},ie=r=>{const e=de(r);return{lower:e.one.y,upper:e.two.y}},vt=r=>typeof r!="object"||r==null?!1:"one"in r&&"two"in r&&"root"in r;var bt=Object.defineProperty,Tt=(r,e,t)=>e in r?bt(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,C=(r,e,t)=>Tt(r,typeof e!="symbol"?e+"":e,t);const St=(r,e,t)=>e!==void 0&&r<e?e:t!==void 0&&r>t?t:r;s.z.object({offset:ve,scale:ve});const It=r=>(e,t,n,i)=>t==="dimension"?[e,n]:[e,i?n-r:n+r],Nt=r=>(e,t,n,i)=>[e,i?n/r:n*r],Et=r=>(e,t,n)=>{if(e===null)return[r,n];const{lower:i,upper:a}=e,{lower:c,upper:h}=r,g=a-i,w=h-c;if(t==="dimension")return[r,n*(w/g)];const O=(n-i)*(w/g)+c;return[r,O]},zt=r=>(e,t,n)=>[r,n],At=()=>(r,e,t)=>{if(r===null)throw new Error("cannot invert without bounds");if(e==="dimension")return[r,t];const{lower:n,upper:i}=r;return[r,i-(t-n)]},$t=r=>(e,t,n)=>{const{lower:i,upper:a}=r;return n=St(n,i,a),[e,n]},ue=class k{constructor(){C(this,"ops",[]),C(this,"currBounds",null),C(this,"currType",null),C(this,"reversed",!1),this.ops=[]}static translate(e){return new k().translate(e)}static magnify(e){return new k().magnify(e)}static scale(e,t){return new k().scale(e,t)}translate(e){const t=this.new(),n=It(e);return n.type="translate",t.ops.push(n),t}magnify(e){const t=this.new(),n=Nt(e);return n.type="magnify",t.ops.push(n),t}scale(e,t){const n=ne(e,t),i=this.new(),a=Et(n);return a.type="scale",i.ops.push(a),i}clamp(e,t){const n=ne(e,t),i=this.new(),a=$t(n);return a.type="clamp",i.ops.push(a),i}reBound(e,t){const n=ne(e,t),i=this.new(),a=zt(n);return a.type="re-bound",i.ops.push(a),i}invert(){const e=At();e.type="invert";const t=this.new();return t.ops.push(e),t}pos(e){return this.exec("position",e)}dim(e){return this.exec("dimension",e)}new(){const e=new k;return e.ops=this.ops.slice(),e.reversed=this.reversed,e}exec(e,t){return this.currBounds=null,this.ops.reduce(([n,i],a)=>a(n,e,i,this.reversed),[null,t])[1]}reverse(){const e=this.new();e.ops.reverse();const t=[];return e.ops.forEach((n,i)=>{if(n.type==="scale"||t.some(([c,h])=>i>=c&&i<=h))return;const a=e.ops.findIndex((c,h)=>c.type==="scale"&&h>i);a!==-1&&t.push([i,a])}),t.forEach(([n,i])=>{const a=e.ops.slice(n,i);a.unshift(e.ops[i]),e.ops.splice(n,i-n+1,...a)}),e.reversed=!e.reversed,e}};C(ue,"IDENTITY",new ue);let Te=ue;const Se=class U{constructor(e=new Te,t=new Te,n=null){C(this,"x"),C(this,"y"),C(this,"currRoot"),this.x=e,this.y=t,this.currRoot=n}static translate(e,t){return new U().translate(e,t)}static translateX(e){return new U().translateX(e)}static translateY(e){return new U().translateY(e)}static clamp(e){return new U().clamp(e)}static magnify(e){return new U().magnify(e)}static scale(e){return new U().scale(e)}static reBound(e){return new U().reBound(e)}translate(e,t){const n=Ot(e,t),i=this.copy();return i.x=this.x.translate(n.x),i.y=this.y.translate(n.y),i}translateX(e){const t=this.copy();return t.x=this.x.translate(e),t}translateY(e){const t=this.copy();return t.y=this.y.translate(e),t}magnify(e){const t=this.copy();return t.x=this.x.magnify(e.x),t.y=this.y.magnify(e.y),t}scale(e){const t=this.copy();if(vt(e)){const n=this.currRoot;return t.currRoot=e.root,n!=null&&!mt(n,e.root)&&(n.x!==e.root.x&&(t.x=t.x.invert()),n.y!==e.root.y&&(t.y=t.y.invert())),t.x=t.x.scale(se(e)),t.y=t.y.scale(ie(e)),t}return t.x=t.x.scale(e.width),t.y=t.y.scale(e.height),t}reBound(e){const t=this.copy();return t.x=this.x.reBound(se(e)),t.y=this.y.reBound(ie(e)),t}clamp(e){const t=this.copy();return t.x=this.x.clamp(se(e)),t.y=this.y.clamp(ie(e)),t}copy(){const e=new U;return e.currRoot=this.currRoot,e.x=this.x,e.y=this.y,e}reverse(){const e=this.copy();return e.x=this.x.reverse(),e.y=this.y.reverse(),e}pos(e){return{x:this.x.pos(e.x),y:this.y.pos(e.y)}}box(e){return de(this.pos(e.one),this.pos(e.two),0,0,this.currRoot??e.root)}};C(Se,"IDENTITY",new Se);const xt=s.z.object({signedWidth:s.z.number(),signedHeight:s.z.number()});s.z.union([xe,xt,J,_]);var Ut=Object.defineProperty,Ct=(r,e,t)=>e in r?Ut(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,u=(r,e,t)=>Ct(r,typeof e!="symbol"?e+"":e,t);const Ye=(r,e)=>{const t=new T(e);if(![S.DAY,S.HOUR,S.MINUTE,S.SECOND,S.MILLISECOND,S.MICROSECOND,S.NANOSECOND].some(i=>i.equals(t)))throw new Error("Invalid argument for remainder. Must be an even TimeSpan or Timestamp");const n=r.valueOf()%t.valueOf();return r instanceof T?new T(n):new S(n)},p=class l{constructor(e,t="UTC"){if(u(this,"value"),u(this,"encodeValue",!0),e==null)this.value=l.now().valueOf();else if(e instanceof Date)this.value=BigInt(e.getTime())*l.MILLISECOND.valueOf();else if(typeof e=="string")this.value=l.parseDateTimeString(e,t).valueOf();else if(Array.isArray(e))this.value=l.parseDate(e);else{let n=BigInt(0);e instanceof Number&&(e=e.valueOf()),t==="local"&&(n=l.utcOffset.valueOf()),typeof e=="number"&&(isFinite(e)?e=Math.trunc(e):(isNaN(e)&&(e=0),e===1/0?e=l.MAX:e=l.MIN)),this.value=BigInt(e.valueOf())+n}}static parseDate([e=1970,t=1,n=1]){const i=new Date(e,t-1,n,0,0,0,0);return new l(BigInt(i.getTime())*l.MILLISECOND.valueOf()).truncate(l.DAY).valueOf()}encode(){return this.value.toString()}valueOf(){return this.value}static parseTimeString(e,t="UTC"){const[n,i,a]=e.split(":");let c="00",h="00";a!=null&&([c,h]=a.split("."));let g=l.hours(parseInt(n??"00",10)).add(l.minutes(parseInt(i??"00",10))).add(l.seconds(parseInt(c??"00",10))).add(l.milliseconds(parseInt(h??"00",10)));return t==="local"&&(g=g.add(l.utcOffset)),g.valueOf()}static parseDateTimeString(e,t="UTC"){if(!e.includes("/")&&!e.includes("-"))return l.parseTimeString(e,t);const n=new Date(e);return e.includes(":")||n.setUTCHours(0,0,0,0),new l(BigInt(n.getTime())*l.MILLISECOND.valueOf(),t).valueOf()}fString(e="ISO",t="UTC"){switch(e){case"ISODate":return this.toISOString(t).slice(0,10);case"ISOTime":return this.toISOString(t).slice(11,23);case"time":return this.timeString(!1,t);case"preciseTime":return this.timeString(!0,t);case"date":return this.dateString();case"preciseDate":return`${this.dateString()} ${this.timeString(!0,t)}`;case"dateTime":return`${this.dateString()} ${this.timeString(!1,t)}`;default:return this.toISOString(t)}}toISOString(e="UTC"){return e==="UTC"?this.date().toISOString():this.sub(l.utcOffset).date().toISOString()}timeString(e=!1,t="UTC"){const n=this.toISOString(t);return e?n.slice(11,23):n.slice(11,19)}dateString(){const e=this.date(),t=e.toLocaleString("default",{month:"short"}),n=e.toLocaleString("default",{day:"numeric"});return`${t} ${n}`}static get utcOffset(){return new S(BigInt(new Date().getTimezoneOffset())*l.MINUTE.valueOf())}static since(e){return new l().span(e)}date(){return new Date(this.milliseconds())}equals(e){return this.valueOf()===new l(e).valueOf()}span(e){return this.range(e).span}range(e){return new Mt(this,e).makeValid()}spanRange(e){return this.range(this.add(e)).makeValid()}get isZero(){return this.valueOf()===BigInt(0)}after(e){return this.valueOf()>new l(e).valueOf()}afterEq(e){return this.valueOf()>=new l(e).valueOf()}before(e){return this.valueOf()<new l(e).valueOf()}beforeEq(e){return this.valueOf()<=new l(e).valueOf()}add(e){return new l(this.valueOf()+BigInt(e.valueOf()))}sub(e){return new l(this.valueOf()-BigInt(e.valueOf()))}milliseconds(){return Number(this.valueOf())/Number(l.MILLISECOND.valueOf())}toString(){return this.date().toISOString()}remainder(e){return Ye(this,e)}get isToday(){return this.truncate(S.DAY).equals(l.now().truncate(S.DAY))}truncate(e){return this.sub(this.remainder(e))}static now(){return new l(new Date)}static max(...e){let t=l.MIN;for(const n of e){const i=new l(n);i.after(t)&&(t=i)}return t}static min(...e){let t=l.MAX;for(const n of e){const i=new l(n);i.before(t)&&(t=i)}return t}static nanoseconds(e){return new l(e)}static microseconds(e){return l.nanoseconds(e*1e3)}static milliseconds(e){return l.microseconds(e*1e3)}static seconds(e){return l.milliseconds(e*1e3)}static minutes(e){return l.seconds(e*60)}static hours(e){return l.minutes(e*60)}static days(e){return l.hours(e*24)}};u(p,"NANOSECOND",p.nanoseconds(1)),u(p,"MICROSECOND",p.microseconds(1)),u(p,"MILLISECOND",p.milliseconds(1)),u(p,"SECOND",p.seconds(1)),u(p,"MINUTE",p.minutes(1)),u(p,"HOUR",p.hours(1)),u(p,"DAY",p.days(1)),u(p,"MAX",new p((1n<<63n)-1n)),u(p,"MIN",new p(0)),u(p,"ZERO",new p(0)),u(p,"z",s.z.union([s.z.object({value:s.z.bigint()}).transform(r=>new p(r.value)),s.z.string().transform(r=>new p(BigInt(r))),s.z.instanceof(Number).transform(r=>new p(r)),s.z.number().transform(r=>new p(r)),s.z.instanceof(p)]));let T=p;const y=class d{constructor(e){u(this,"value"),u(this,"encodeValue",!0),typeof e=="number"&&(e=Math.trunc(e.valueOf())),this.value=BigInt(e.valueOf())}encode(){return this.value.toString()}valueOf(){return this.value}lessThan(e){return this.valueOf()<new d(e).valueOf()}greaterThan(e){return this.valueOf()>new d(e).valueOf()}lessThanOrEqual(e){return this.valueOf()<=new d(e).valueOf()}greaterThanOrEqual(e){return this.valueOf()>=new d(e).valueOf()}remainder(e){return Ye(this,e)}truncate(e){return new d(BigInt(Math.trunc(Number(this.valueOf()/e.valueOf())))*e.valueOf())}toString(){const e=this.truncate(d.DAY),t=this.truncate(d.HOUR),n=this.truncate(d.MINUTE),i=this.truncate(d.SECOND),a=this.truncate(d.MILLISECOND),c=this.truncate(d.MICROSECOND),h=this.truncate(d.NANOSECOND),g=e,w=t.sub(e),O=n.sub(t),m=i.sub(n),z=a.sub(i),j=c.sub(a),x=h.sub(c);let E="";return g.isZero||(E+=`${g.days}d `),w.isZero||(E+=`${w.hours}h `),O.isZero||(E+=`${O.minutes}m `),m.isZero||(E+=`${m.seconds}s `),z.isZero||(E+=`${z.milliseconds}ms `),j.isZero||(E+=`${j.microseconds}µs `),x.isZero||(E+=`${x.nanoseconds}ns`),E.trim()}get days(){return Number(this.valueOf())/Number(d.DAY.valueOf())}get hours(){return Number(this.valueOf())/Number(d.HOUR.valueOf())}get minutes(){return Number(this.valueOf())/Number(d.MINUTE.valueOf())}get seconds(){return Number(this.valueOf())/Number(d.SECOND.valueOf())}get milliseconds(){return Number(this.valueOf())/Number(d.MILLISECOND.valueOf())}get microseconds(){return Number(this.valueOf())/Number(d.MICROSECOND.valueOf())}get nanoseconds(){return Number(this.valueOf())}get isZero(){return this.valueOf()===BigInt(0)}equals(e){return this.valueOf()===new d(e).valueOf()}add(e){return new d(this.valueOf()+new d(e).valueOf())}sub(e){return new d(this.valueOf()-new d(e).valueOf())}static nanoseconds(e=1){return new d(e)}static microseconds(e=1){return d.nanoseconds(e*1e3)}static milliseconds(e=1){return d.microseconds(e*1e3)}static seconds(e=1){return d.milliseconds(e*1e3)}static minutes(e){return d.seconds(e.valueOf()*60)}static hours(e){return d.minutes(e*60)}static days(e){return d.hours(e*24)}};u(y,"NANOSECOND",y.nanoseconds(1)),u(y,"MICROSECOND",y.microseconds(1)),u(y,"MILLISECOND",y.milliseconds(1)),u(y,"SECOND",y.seconds(1)),u(y,"MINUTE",y.minutes(1)),u(y,"HOUR",y.hours(1)),u(y,"DAY",y.days(1)),u(y,"MAX",new y((1n<<63n)-1n)),u(y,"MIN",new y(0)),u(y,"ZERO",new y(0)),u(y,"z",s.z.union([s.z.object({value:s.z.bigint()}).transform(r=>new y(r.value)),s.z.string().transform(r=>new y(BigInt(r))),s.z.instanceof(Number).transform(r=>new y(r)),s.z.number().transform(r=>new y(r)),s.z.instanceof(y)]));let S=y;const H=class V extends Number{constructor(e){e instanceof Number?super(e.valueOf()):super(e)}toString(){return`${this.valueOf()} Hz`}equals(e){return this.valueOf()===new V(e).valueOf()}get period(){return S.seconds(1/this.valueOf())}sampleCount(e){return new S(e).seconds*this.valueOf()}byteCount(e,t){return this.sampleCount(e)*new N(t).valueOf()}span(e){return S.seconds(e/this.valueOf())}byteSpan(e,t){return this.span(e.valueOf()/t.valueOf())}static hz(e){return new V(e)}static khz(e){return V.hz(e*1e3)}};u(H,"z",s.z.union([s.z.number().transform(r=>new H(r)),s.z.instanceof(Number).transform(r=>new H(r)),s.z.instanceof(H)]));const b=class extends Number{constructor(e){e instanceof Number?super(e.valueOf()):super(e)}length(e){return e.valueOf()/this.valueOf()}size(e){return new Bt(e*this.valueOf())}};u(b,"UNKNOWN",new b(0)),u(b,"BIT128",new b(16)),u(b,"BIT64",new b(8)),u(b,"BIT32",new b(4)),u(b,"BIT16",new b(2)),u(b,"BIT8",new b(1)),u(b,"z",s.z.union([s.z.number().transform(r=>new b(r)),s.z.instanceof(Number).transform(r=>new b(r)),s.z.instanceof(b)]));let N=b;const A=class K{constructor(e,t){u(this,"start"),u(this,"end"),typeof e=="object"&&"start"in e?(this.start=new T(e.start),this.end=new T(e.end)):(this.start=new T(e),this.end=new T(t))}get span(){return new S(this.end.valueOf()-this.start.valueOf())}get isValid(){return this.start.valueOf()<=this.end.valueOf()}makeValid(){return this.isValid?this:this.swap()}get isZero(){return this.span.isZero}swap(){return new K(this.end,this.start)}equals(e){return this.start.equals(e.start)&&this.end.equals(e.end)}toString(){return`${this.start.toString()} - ${this.end.toString()}`}toPrettyString(){return`${this.start.fString("preciseDate")} - ${this.span.toString()}`}overlapsWith(e,t=S.ZERO){e=e.makeValid();const n=this.makeValid();if(this.equals(e))return!0;if(e.end.equals(n.start)||n.end.equals(e.start))return!1;const i=T.max(n.start,e.start),a=T.min(n.end,e.end);return a.before(i)?!1:new S(a.sub(i)).greaterThanOrEqual(t)}roughlyEquals(e,t){let n=this.start.sub(e.start).valueOf(),i=this.end.sub(e.end).valueOf();return n<0&&(n=-n),i<0&&(i=-i),n<=t.valueOf()&&i<=t.valueOf()}contains(e){return e instanceof K?this.contains(e.start)&&this.contains(e.end):this.start.beforeEq(e)&&this.end.after(e)}boundBy(e){const t=new K(this.start,this.end);return e.start.after(this.start)&&(t.start=e.start),e.start.after(this.end)&&(t.end=e.start),e.end.before(this.end)&&(t.end=e.end),e.end.before(this.start)&&(t.start=e.end),t}};u(A,"MAX",new A(T.MIN,T.MAX)),u(A,"MIN",new A(T.MAX,T.MIN)),u(A,"ZERO",new A(T.ZERO,T.ZERO)),u(A,"z",s.z.union([s.z.object({start:T.z,end:T.z}).transform(r=>new A(r.start,r.end)),s.z.instanceof(A)]));let Mt=A;const o=class $ extends String{constructor(e){if(e instanceof $||typeof e=="string"||typeof e.valueOf()=="string"){super(e.valueOf());return}else{const t=$.ARRAY_CONSTRUCTOR_DATA_TYPES.get(e.constructor.name);if(t!=null){super(t.valueOf());return}}throw super($.UNKNOWN.valueOf()),new Error(`unable to find data type for ${e.toString()}`)}get Array(){const e=$.ARRAY_CONSTRUCTORS.get(this.toString());if(e==null)throw new Error(`unable to find array constructor for ${this.valueOf()}`);return e}equals(e){return this.valueOf()===e.valueOf()}toString(){return this.valueOf()}get isVariable(){return this.equals($.JSON)||this.equals($.STRING)}get isNumeric(){return!this.isVariable&&!this.equals($.UUID)}get isInteger(){return this.toString().startsWith("int")}get isFloat(){return this.toString().startsWith("float")}get density(){const e=$.DENSITIES.get(this.toString());if(e==null)throw new Error(`unable to find density for ${this.valueOf()}`);return e}canSafelyCastTo(e){return this.equals(e)?!0:this.isVariable&&!e.isVariable||!this.isVariable&&e.isVariable?!1:this.isFloat&&e.isInteger||this.isInteger&&e.isFloat?this.density.valueOf()<e.density.valueOf():this.isFloat&&e.isFloat||this.isInteger&&e.isInteger?this.density.valueOf()<=e.density.valueOf():!1}canCastTo(e){return this.isNumeric&&e.isNumeric?!0:this.equals(e)}checkArray(e){return e.constructor===this.Array}toJSON(){return this.toString()}get usesBigInt(){return $.BIG_INT_TYPES.some(e=>e.equals(this))}};u(o,"UNKNOWN",new o("unknown")),u(o,"FLOAT64",new o("float64")),u(o,"FLOAT32",new o("float32")),u(o,"INT64",new o("int64")),u(o,"INT32",new o("int32")),u(o,"INT16",new o("int16")),u(o,"INT8",new o("int8")),u(o,"UINT64",new o("uint64")),u(o,"UINT32",new o("uint32")),u(o,"UINT16",new o("uint16")),u(o,"UINT8",new o("uint8")),u(o,"BOOLEAN",o.UINT8),u(o,"TIMESTAMP",new o("timestamp")),u(o,"UUID",new o("uuid")),u(o,"STRING",new o("string")),u(o,"JSON",new o("json")),u(o,"ARRAY_CONSTRUCTORS",new Map([[o.UINT8.toString(),Uint8Array],[o.UINT16.toString(),Uint16Array],[o.UINT32.toString(),Uint32Array],[o.UINT64.toString(),BigUint64Array],[o.FLOAT32.toString(),Float32Array],[o.FLOAT64.toString(),Float64Array],[o.INT8.toString(),Int8Array],[o.INT16.toString(),Int16Array],[o.INT32.toString(),Int32Array],[o.INT64.toString(),BigInt64Array],[o.TIMESTAMP.toString(),BigInt64Array],[o.STRING.toString(),Uint8Array],[o.JSON.toString(),Uint8Array],[o.UUID.toString(),Uint8Array]])),u(o,"ARRAY_CONSTRUCTOR_DATA_TYPES",new Map([[Uint8Array.name,o.UINT8],[Uint16Array.name,o.UINT16],[Uint32Array.name,o.UINT32],[BigUint64Array.name,o.UINT64],[Float32Array.name,o.FLOAT32],[Float64Array.name,o.FLOAT64],[Int8Array.name,o.INT8],[Int16Array.name,o.INT16],[Int32Array.name,o.INT32],[BigInt64Array.name,o.INT64]])),u(o,"DENSITIES",new Map([[o.UINT8.toString(),N.BIT8],[o.UINT16.toString(),N.BIT16],[o.UINT32.toString(),N.BIT32],[o.UINT64.toString(),N.BIT64],[o.FLOAT32.toString(),N.BIT32],[o.FLOAT64.toString(),N.BIT64],[o.INT8.toString(),N.BIT8],[o.INT16.toString(),N.BIT16],[o.INT32.toString(),N.BIT32],[o.INT64.toString(),N.BIT64],[o.TIMESTAMP.toString(),N.BIT64],[o.STRING.toString(),N.UNKNOWN],[o.JSON.toString(),N.UNKNOWN],[o.UUID.toString(),N.BIT128]])),u(o,"ALL",[o.UNKNOWN,o.FLOAT64,o.FLOAT32,o.INT64,o.INT32,o.INT16,o.INT8,o.UINT64,o.UINT32,o.UINT16,o.UINT8,o.TIMESTAMP,o.UUID,o.STRING,o.JSON]),u(o,"BIG_INT_TYPES",[o.INT64,o.UINT64,o.TIMESTAMP]),u(o,"z",s.z.union([s.z.string().transform(r=>new o(r)),s.z.instanceof(o)]));const I=class v extends Number{constructor(e){super(e.valueOf())}largerThan(e){return this.valueOf()>e.valueOf()}smallerThan(e){return this.valueOf()<e.valueOf()}add(e){return v.bytes(this.valueOf()+e.valueOf())}sub(e){return v.bytes(this.valueOf()-e.valueOf())}truncate(e){return new v(Math.trunc(this.valueOf()/e.valueOf())*e.valueOf())}remainder(e){return v.bytes(this.valueOf()%e.valueOf())}get gigabytes(){return this.valueOf()/v.GIGABYTE.valueOf()}get megabytes(){return this.valueOf()/v.MEGABYTE.valueOf()}get kilobytes(){return this.valueOf()/v.KILOBYTE.valueOf()}get terabytes(){return this.valueOf()/v.TERABYTE.valueOf()}toString(){const e=this.truncate(v.TERABYTE),t=this.truncate(v.GIGABYTE),n=this.truncate(v.MEGABYTE),i=this.truncate(v.KILOBYTE),a=this.truncate(v.BYTE),c=e,h=t.sub(e),g=n.sub(t),w=i.sub(n),O=a.sub(i);let m="";return c.isZero||(m+=`${c.terabytes}TB `),h.isZero||(m+=`${h.gigabytes}GB `),g.isZero||(m+=`${g.megabytes}MB `),w.isZero||(m+=`${w.kilobytes}KB `),(!O.isZero||m==="")&&(m+=`${O.valueOf()}B`),m.trim()}static bytes(e=1){return new v(e)}static kilobytes(e=1){return v.bytes(e.valueOf()*1e3)}static megabytes(e=1){return v.kilobytes(e.valueOf()*1e3)}static gigabytes(e=1){return v.megabytes(e.valueOf()*1e3)}static terabytes(e){return v.gigabytes(e.valueOf()*1e3)}get isZero(){return this.valueOf()===0}};u(I,"BYTE",new I(1)),u(I,"KILOBYTE",I.kilobytes(1)),u(I,"MEGABYTE",I.megabytes(1)),u(I,"GIGABYTE",I.gigabytes(1)),u(I,"TERABYTE",I.terabytes(1)),u(I,"ZERO",new I(0)),u(I,"z",s.z.union([s.z.number().transform(r=>new I(r)),s.z.instanceof(I)]));let Bt=I;s.z.union([s.z.instanceof(Uint8Array),s.z.instanceof(Uint16Array),s.z.instanceof(Uint32Array),s.z.instanceof(BigUint64Array),s.z.instanceof(Float32Array),s.z.instanceof(Float64Array),s.z.instanceof(Int8Array),s.z.instanceof(Int16Array),s.z.instanceof(Int32Array),s.z.instanceof(BigInt64Array)]);s.z.record(s.z.union([s.z.number(),s.z.string(),s.z.symbol()]),s.z.unknown());const Pe=()=>typeof process<"u"&&process.versions!=null&&process.versions.node!=null?"node":typeof window>"u"||window.document===void 0?"webworker":"browser",Rt=Pe(),Le=["MacOS","Windows","Linux","Docker"],Dt=s.z.enum(Le);let oe;const Yt=()=>{if(typeof window>"u")return;const r=window.navigator.userAgent.toLowerCase();if(r.includes("mac"))return"MacOS";if(r.includes("win"))return"Windows";if(r.includes("linux"))return"Linux"},Pt=(r={})=>{const{force:e,default:t}=r;return e??oe??(oe=Yt(),oe??t)},je=Object.freeze(Object.defineProperty({__proto__:null,OPERATING_SYSTEMS:Le,RUNTIME:Rt,detect:Pe,getOS:Pt,osZ:Dt},Symbol.toStringTag,{value:"Module"}));var Lt=Object.defineProperty,jt=(r,e,t)=>e in r?Lt(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,W=(r,e,t)=>jt(r,typeof e!="symbol"?e+"":e,t);const kt=(...r)=>r.map(ke).join(""),ke=r=>(r.endsWith("/")||(r+="/"),r.startsWith("/")&&(r=r.slice(1)),r),Wt=r=>r.endsWith("/")?r.slice(0,-1):r,Ft=(r,e="")=>r===null?"":"?"+Object.entries(r).filter(([,t])=>t==null?!1:Array.isArray(t)?t.length>0:!0).map(([t,n])=>`${e}${t}=${n}`).join("&"),ce=class le{constructor({host:e,port:t,protocol:n="",pathPrefix:i=""}){W(this,"protocol"),W(this,"host"),W(this,"port"),W(this,"path"),this.protocol=n,this.host=e,this.port=t,this.path=ke(i)}replace(e){return new le({host:e.host??this.host,port:e.port??this.port,protocol:e.protocol??this.protocol,pathPrefix:e.pathPrefix??this.path})}child(e){return new le({...this,pathPrefix:kt(this.path,e)})}toString(){return Wt(`${this.protocol}://${this.host}:${this.port}/${this.path}`)}};W(ce,"UNKNOWN",new ce({host:"unknown",port:0}));let Gt=ce;var qt=Object.defineProperty,Zt=(r,e,t)=>e in r?qt(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,X=(r,e,t)=>Zt(r,typeof e!="symbol"?e+"":e,t);const D=class extends Number{};X(D,"Absolute",255),X(D,"Default",1),X(D,"z",s.z.union([s.z.instanceof(D),s.z.number().int().min(0).max(255).transform(r=>new D(r)),s.z.instanceof(Number).transform(r=>new D(r))]));s.z.object({name:s.z.string(),key:s.z.string()});const We=class F extends Error{constructor(){super(F.MESSAGE)}matches(e){return typeof e=="string"?e.includes(F.MESSAGE):e instanceof F||e.message.includes(F.MESSAGE)}};X(We,"MESSAGE","canceled");let Ht=We;new Ht;s.z.string().regex(/^\d+\.\d+\.\d+$/);const ee=r=>e=>e!=null&&typeof e=="object"&&"type"in e&&typeof e.type=="string"?e.type.includes(r):e instanceof Error?e.message.includes(r):typeof e!="string"?!1:e.includes(r);class q extends Error{constructor(t){super(t);f(this,"discriminator","FreighterError");f(this,"type","")}}const Vt=r=>{if(r==null||typeof r!="object")return!1;const e=r;if(e.discriminator!=="FreighterError")return!1;if(!("type"in e))throw new Error(`Freighter error is missing its type property: ${JSON.stringify(e)}`);return!0},Ie="unknown",Ne="nil",Kt="freighter",fe=s.z.object({type:s.z.string(),data:s.z.string()});class Xt{constructor(){f(this,"providers",[])}register(e){this.providers.push(e)}encode(e){if(e==null)return{type:Ne,data:""};if(Vt(e))for(const t of this.providers){const n=t.encode(e);if(n!=null)return n}return{type:Ie,data:JSON.stringify(e)}}decode(e){if(e==null||e.type===Ne)return null;if(e.type===Ie)return new Ee(e.data);for(const t of this.providers){const n=t.decode(e);if(n!=null)return n}return new Ee(e.data)}}const pe=new Xt,Fe=({encode:r,decode:e})=>pe.register({encode:r,decode:e}),Jt=r=>pe.encode(r),ye=r=>pe.decode(r);class Ee extends q{constructor(t){super(t);f(this,"type","unknown")}}const te="freighter.",Y=class Y extends q{constructor(){super("EOF");f(this,"type",Y.TYPE)}};f(Y,"TYPE",te+"eof"),f(Y,"matches",ee(Y.TYPE));let M=Y;const P=class P extends q{constructor(){super("StreamClosed");f(this,"type",P.TYPE)}};f(P,"TYPE",te+"stream_closed"),f(P,"matches",ee(P.TYPE));let B=P;const L=class L extends q{constructor(t={}){const{message:n="Unreachable",url:i=Gt.UNKNOWN}=t;super(n);f(this,"type",L.TYPE);f(this,"url");this.url=i}};f(L,"TYPE",te+"unreachable"),f(L,"matches",ee(L.TYPE));let R=L;const Qt=r=>{if(!r.type.startsWith(Kt))return null;if(M.matches(r))return{type:M.TYPE,data:"EOF"};if(B.matches(r))return{type:B.TYPE,data:"StreamClosed"};if(R.matches(r))return{type:R.TYPE,data:"Unreachable"};throw new Error(`Unknown error type: ${r.type}: ${r.message}`)},_t=r=>{if(!r.type.startsWith(te))return null;switch(r.type){case M.TYPE:return new M;case B.TYPE:return new B;case R.TYPE:return new R;default:throw new Error(`Unknown error type: ${r.data}`)}};Fe({encode:Qt,decode:_t});class Ge{constructor(){f(this,"middleware",[])}use(...e){this.middleware.push(...e)}async executeMiddleware(e,t){let n=0;const i=async a=>{if(n===this.middleware.length)return await t(a);const c=this.middleware[n];return n++,await c(a,i)};return await i(e)}}const qe="Content-Type",ze=r=>{if(je.RUNTIME!=="node")return fetch;const e=require("node-fetch");if(r==="http")return e;const t=require("https"),n=new t.Agent({rejectUnauthorized:!1});return async(i,a)=>await e(i,{...a,agent:n})};class er extends Ge{constructor(t,n,i=!1){super();f(this,"endpoint");f(this,"encoder");f(this,"fetch");return this.endpoint=t.replace({protocol:i?"https":"http"}),this.encoder=n,this.fetch=ze(this.endpoint.protocol),new Proxy(this,{get:(a,c,h)=>c==="endpoint"?this.endpoint:Reflect.get(a,c,h)})}get headers(){return{[qe]:this.encoder.contentType}}async send(t,n,i,a){n=i==null?void 0:i.parse(n);let c=null;const h=this.endpoint.child(t),g={};g.method="POST",g.body=this.encoder.encode(n??{});const[,w]=await this.executeMiddleware({target:h.toString(),protocol:this.endpoint.protocol,params:{},role:"client"},async O=>{const m={...O,params:{}};g.headers={...this.headers,...O.params};let z;try{z=await ze(O.protocol)(O.target,g)}catch(x){let E=x;return E.message==="Load failed"&&(E=new R({url:h})),[m,E]}const j=await z.arrayBuffer();if(z!=null&&z.ok)return a!=null&&(c=this.encoder.decode(j,a)),[m,null];try{if(z.status!==400)return[m,new Error(z.statusText)];const x=this.encoder.decode(j,fe),E=ye(x);return[m,E]}catch(x){return[m,new Error(`[freighter] - failed to decode error: ${z.statusText}: ${x.message}`)]}});return[c,w]}}const tr=async(r,e,t,n,i)=>{const[a,c]=await r.send(e,t,n,i);if(c!=null)throw c;return a},rr=()=>je.RUNTIME!=="node"?r=>new WebSocket(r):r=>new(require("ws")).WebSocket(r,{rejectUnauthorized:!1}),nr=s.z.object({type:s.z.union([s.z.literal("data"),s.z.literal("close")]),payload:s.z.unknown().optional(),error:s.z.optional(fe)});class sr{constructor(e,t,n,i){f(this,"encoder");f(this,"reqSchema");f(this,"resSchema");f(this,"ws");f(this,"serverClosed");f(this,"sendClosed");f(this,"receiveDataQueue",[]);f(this,"receiveCallbacksQueue",[]);this.encoder=t,this.reqSchema=n,this.resSchema=i,this.ws=e,this.sendClosed=!1,this.serverClosed=null,this.listenForMessages()}send(e){if(this.serverClosed!=null)return new M;if(this.sendClosed)throw new B;return this.ws.send(this.encoder.encode({type:"data",payload:e})),null}async receive(){if(this.serverClosed!=null)return[null,this.serverClosed];const e=await this.receiveMsg();if(e.type==="close"){if(e.error==null)throw new Error("Message error must be defined");return this.serverClosed=ye(e.error),[null,this.serverClosed]}return[this.resSchema.parse(e.payload),null]}received(){return this.receiveDataQueue.length!==0}closeSend(){if(this.sendClosed||this.serverClosed!=null)return;const e={type:"close"};try{this.ws.send(this.encoder.encode(e))}finally{this.sendClosed=!0}}async receiveMsg(){const e=this.receiveDataQueue.shift();return e??await new Promise((t,n)=>this.receiveCallbacksQueue.push({resolve:t,reject:n}))}addMessage(e){const t=this.receiveCallbacksQueue.shift();t!=null?t.resolve(e):this.receiveDataQueue.push(e)}listenForMessages(){this.ws.onmessage=e=>this.addMessage(this.encoder.decode(e.data,nr)),this.ws.onclose=e=>this.addMessage({type:"close",error:{type:cr(e)?M.TYPE:B.TYPE,data:""}})}}const ir="freighterctx",or=1e3,ar=1001,ur=[or,ar],cr=r=>ur.includes(r.code),Q=class Q extends Ge{constructor(t,n,i=!1){super();f(this,"baseUrl");f(this,"encoder");this.baseUrl=t.replace({protocol:i?"wss":"ws"}),this.encoder=n}async stream(t,n,i){const a=rr();let c;const[,h]=await this.executeMiddleware({target:t,protocol:"websocket",params:{},role:"client"},async g=>{const w=a(this.buildURL(t,g)),O={...g,params:{}};w.binaryType=Q.MESSAGE_TYPE;const m=await this.wrapSocket(w,n,i);return m instanceof Error?[O,m]:(c=m,[O,null])});if(h!=null)throw h;return c}buildURL(t,n){const i=Ft({[qe]:this.encoder.contentType,...n.params},ir);return this.baseUrl.child(t).toString()+i}async wrapSocket(t,n,i){return await new Promise(a=>{t.onopen=()=>{a(new sr(t,this.encoder,n,i))},t.onerror=c=>{const h=c;a(new Error(h.message))}})}};f(Q,"MESSAGE_TYPE","arraybuffer");let he=Q;exports.BaseTypedError=q;exports.EOF=M;exports.HTTPClient=er;exports.StreamClosed=B;exports.Unreachable=R;exports.WebSocketClient=he;exports.decodeError=ye;exports.encodeError=Jt;exports.errorMatcher=ee;exports.errorZ=fe;exports.registerError=Fe;exports.sendRequired=tr;
|
|
3
|
+
`).map(h=>h.trim());if(n.length===0)return t!=null?t.parse({}):{};const a=n.split(",").map(h=>h.trim()),c={};return a.forEach(h=>{c[h]=[]}),i.forEach(h=>{const g=h.split(",").map(m=>m.trim());a.forEach((m,O)=>{const w=this.parseValue(g[O]);w!=null&&c[m].push(w)})}),t!=null?t.parse(c):c}parseValue(e){if(e==null||e.length===0)return null;const t=Number(e);return isNaN(t)?e.startsWith('"')&&e.endsWith('"')?e.slice(1,-1):e:t}static registerCustomType(){}},nt=class{constructor(){q(this,"contentType","text/plain")}encode(e){return new TextEncoder().encode(e).buffer}decode(e,t){const n=new TextDecoder().decode(e);return t!=null?t.parse(n):n}};new tt;new rt;new nt;const _=s.z.tuple([s.z.number(),s.z.number()]);s.z.tuple([s.z.bigint(),s.z.bigint()]);const xe=s.z.object({width:s.z.number(),height:s.z.number()}),st=s.z.object({signedWidth:s.z.number(),signedHeight:s.z.number()}),it=["width","height"];s.z.enum(it);const ot=["start","center","end"],at=["signedWidth","signedHeight"];s.z.enum(at);const J=s.z.object({x:s.z.number(),y:s.z.number()}),ut=s.z.object({clientX:s.z.number(),clientY:s.z.number()}),ct=["x","y"],Ue=s.z.enum(ct),Ce=["top","right","bottom","left"];s.z.enum(Ce);const lt=["left","right"],Me=s.z.enum(lt),ht=["top","bottom"],Be=s.z.enum(ht),Re=["center"],we=s.z.enum(Re),dt=[...Ce,...Re],De=s.z.enum(dt);s.z.enum(ot);const ft=["first","last"];s.z.enum(ft);const pt=s.z.object({lower:s.z.number(),upper:s.z.number()}),yt=s.z.object({lower:s.z.bigint(),upper:s.z.bigint()});s.z.union([pt,_]);s.z.union([yt,_]);s.z.union([Ue,De]);s.z.union([Ue,De,s.z.instanceof(String)]);const ne=(r,e)=>{const t={};if(typeof r=="number"||typeof r=="bigint")e!=null?(t.lower=r,t.upper=e):(t.lower=typeof r=="bigint"?0n:0,t.upper=r);else if(Array.isArray(r)){if(r.length!==2)throw new Error("bounds: expected array of length 2");[t.lower,t.upper]=r}else return Oe(r);return Oe(t)},Oe=r=>r.lower>r.upper?{lower:r.upper,upper:r.lower}:r;s.z.object({x:Me.or(we),y:Be.or(we)});const gt=s.z.object({x:Me,y:Be}),mt=Object.freeze({x:"left",y:"top"}),wt=(r,e)=>r.x===e.x&&r.y===e.y,ve=s.z.union([s.z.number(),J,_,xe,st,ut]),Ot=(r,e)=>{if(typeof r=="string"){if(e===void 0)throw new Error("The y coordinate must be given.");return r==="x"?{x:e,y:0}:{x:0,y:e}}return typeof r=="number"?{x:r,y:e??r}:Array.isArray(r)?{x:r[0],y:r[1]}:"signedWidth"in r?{x:r.signedWidth,y:r.signedHeight}:"clientX"in r?{x:r.clientX,y:r.clientY}:"width"in r?{x:r.width,y:r.height}:{x:r.x,y:r.y}},be=Object.freeze({x:0,y:0}),Z=s.z.union([s.z.number(),s.z.string()]);s.z.object({top:Z,left:Z,width:Z,height:Z});s.z.object({left:s.z.number(),top:s.z.number(),right:s.z.number(),bottom:s.z.number()});s.z.object({one:J,two:J,root:gt});const de=(r,e,t=0,n=0,i)=>{const a={one:{...be},two:{...be},root:i??mt};if(typeof r=="number"){if(typeof e!="number")throw new Error("Box constructor called with invalid arguments");return a.one={x:r,y:e},a.two={x:a.one.x+t,y:a.one.y+n},a}return"one"in r&&"two"in r&&"root"in r?{...r,root:i??r.root}:("getBoundingClientRect"in r&&(r=r.getBoundingClientRect()),"left"in r?(a.one={x:r.left,y:r.top},a.two={x:r.right,y:r.bottom},a):(a.one=r,e==null?a.two={x:a.one.x+t,y:a.one.y+n}:typeof e=="number"?a.two={x:a.one.x+e,y:a.one.y+t}:"width"in e?a.two={x:a.one.x+e.width,y:a.one.y+e.height}:"signedWidth"in e?a.two={x:a.one.x+e.signedWidth,y:a.one.y+e.signedHeight}:a.two=e,a))},se=r=>{const e=de(r);return{lower:e.one.x,upper:e.two.x}},ie=r=>{const e=de(r);return{lower:e.one.y,upper:e.two.y}},vt=r=>typeof r!="object"||r==null?!1:"one"in r&&"two"in r&&"root"in r;var bt=Object.defineProperty,Tt=(r,e,t)=>e in r?bt(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,C=(r,e,t)=>Tt(r,typeof e!="symbol"?e+"":e,t);const St=(r,e,t)=>e!==void 0&&r<e?e:t!==void 0&&r>t?t:r;s.z.object({offset:ve,scale:ve});const It=r=>(e,t,n,i)=>t==="dimension"?[e,n]:[e,i?n-r:n+r],Nt=r=>(e,t,n,i)=>[e,i?n/r:n*r],Et=r=>(e,t,n)=>{if(e===null)return[r,n];const{lower:i,upper:a}=e,{lower:c,upper:h}=r,g=a-i,m=h-c;if(t==="dimension")return[r,n*(m/g)];const O=(n-i)*(m/g)+c;return[r,O]},zt=r=>(e,t,n)=>[r,n],At=()=>(r,e,t)=>{if(r===null)throw new Error("cannot invert without bounds");if(e==="dimension")return[r,t];const{lower:n,upper:i}=r;return[r,i-(t-n)]},$t=r=>(e,t,n)=>{const{lower:i,upper:a}=r;return n=St(n,i,a),[e,n]},ue=class k{constructor(){C(this,"ops",[]),C(this,"currBounds",null),C(this,"currType",null),C(this,"reversed",!1),this.ops=[]}static translate(e){return new k().translate(e)}static magnify(e){return new k().magnify(e)}static scale(e,t){return new k().scale(e,t)}translate(e){const t=this.new(),n=It(e);return n.type="translate",t.ops.push(n),t}magnify(e){const t=this.new(),n=Nt(e);return n.type="magnify",t.ops.push(n),t}scale(e,t){const n=ne(e,t),i=this.new(),a=Et(n);return a.type="scale",i.ops.push(a),i}clamp(e,t){const n=ne(e,t),i=this.new(),a=$t(n);return a.type="clamp",i.ops.push(a),i}reBound(e,t){const n=ne(e,t),i=this.new(),a=zt(n);return a.type="re-bound",i.ops.push(a),i}invert(){const e=At();e.type="invert";const t=this.new();return t.ops.push(e),t}pos(e){return this.exec("position",e)}dim(e){return this.exec("dimension",e)}new(){const e=new k;return e.ops=this.ops.slice(),e.reversed=this.reversed,e}exec(e,t){return this.currBounds=null,this.ops.reduce(([n,i],a)=>a(n,e,i,this.reversed),[null,t])[1]}reverse(){const e=this.new();e.ops.reverse();const t=[];return e.ops.forEach((n,i)=>{if(n.type==="scale"||t.some(([c,h])=>i>=c&&i<=h))return;const a=e.ops.findIndex((c,h)=>c.type==="scale"&&h>i);a!==-1&&t.push([i,a])}),t.forEach(([n,i])=>{const a=e.ops.slice(n,i);a.unshift(e.ops[i]),e.ops.splice(n,i-n+1,...a)}),e.reversed=!e.reversed,e}};C(ue,"IDENTITY",new ue);let Te=ue;const Se=class U{constructor(e=new Te,t=new Te,n=null){C(this,"x"),C(this,"y"),C(this,"currRoot"),this.x=e,this.y=t,this.currRoot=n}static translate(e,t){return new U().translate(e,t)}static translateX(e){return new U().translateX(e)}static translateY(e){return new U().translateY(e)}static clamp(e){return new U().clamp(e)}static magnify(e){return new U().magnify(e)}static scale(e){return new U().scale(e)}static reBound(e){return new U().reBound(e)}translate(e,t){const n=Ot(e,t),i=this.copy();return i.x=this.x.translate(n.x),i.y=this.y.translate(n.y),i}translateX(e){const t=this.copy();return t.x=this.x.translate(e),t}translateY(e){const t=this.copy();return t.y=this.y.translate(e),t}magnify(e){const t=this.copy();return t.x=this.x.magnify(e.x),t.y=this.y.magnify(e.y),t}scale(e){const t=this.copy();if(vt(e)){const n=this.currRoot;return t.currRoot=e.root,n!=null&&!wt(n,e.root)&&(n.x!==e.root.x&&(t.x=t.x.invert()),n.y!==e.root.y&&(t.y=t.y.invert())),t.x=t.x.scale(se(e)),t.y=t.y.scale(ie(e)),t}return t.x=t.x.scale(e.width),t.y=t.y.scale(e.height),t}reBound(e){const t=this.copy();return t.x=this.x.reBound(se(e)),t.y=this.y.reBound(ie(e)),t}clamp(e){const t=this.copy();return t.x=this.x.clamp(se(e)),t.y=this.y.clamp(ie(e)),t}copy(){const e=new U;return e.currRoot=this.currRoot,e.x=this.x,e.y=this.y,e}reverse(){const e=this.copy();return e.x=this.x.reverse(),e.y=this.y.reverse(),e}pos(e){return{x:this.x.pos(e.x),y:this.y.pos(e.y)}}box(e){return de(this.pos(e.one),this.pos(e.two),0,0,this.currRoot??e.root)}};C(Se,"IDENTITY",new Se);const xt=s.z.object({signedWidth:s.z.number(),signedHeight:s.z.number()});s.z.union([xe,xt,J,_]);var Ut=Object.defineProperty,Ct=(r,e,t)=>e in r?Ut(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,u=(r,e,t)=>Ct(r,typeof e!="symbol"?e+"":e,t);const Ye=(r,e)=>{const t=new T(e);if(![S.DAY,S.HOUR,S.MINUTE,S.SECOND,S.MILLISECOND,S.MICROSECOND,S.NANOSECOND].some(i=>i.equals(t)))throw new Error("Invalid argument for remainder. Must be an even TimeSpan or Timestamp");const n=r.valueOf()%t.valueOf();return r instanceof T?new T(n):new S(n)},p=class l{constructor(e,t="UTC"){if(u(this,"value"),u(this,"encodeValue",!0),e==null)this.value=l.now().valueOf();else if(e instanceof Date)this.value=BigInt(e.getTime())*l.MILLISECOND.valueOf();else if(typeof e=="string")this.value=l.parseDateTimeString(e,t).valueOf();else if(Array.isArray(e))this.value=l.parseDate(e);else{let n=BigInt(0);e instanceof Number&&(e=e.valueOf()),t==="local"&&(n=l.utcOffset.valueOf()),typeof e=="number"&&(isFinite(e)?e=Math.trunc(e):(isNaN(e)&&(e=0),e===1/0?e=l.MAX:e=l.MIN)),this.value=BigInt(e.valueOf())+n}}static parseDate([e=1970,t=1,n=1]){const i=new Date(e,t-1,n,0,0,0,0);return new l(BigInt(i.getTime())*l.MILLISECOND.valueOf()).truncate(l.DAY).valueOf()}encode(){return this.value.toString()}valueOf(){return this.value}static parseTimeString(e,t="UTC"){const[n,i,a]=e.split(":");let c="00",h="00";a!=null&&([c,h]=a.split("."));let g=l.hours(parseInt(n??"00",10)).add(l.minutes(parseInt(i??"00",10))).add(l.seconds(parseInt(c??"00",10))).add(l.milliseconds(parseInt(h??"00",10)));return t==="local"&&(g=g.add(l.utcOffset)),g.valueOf()}static parseDateTimeString(e,t="UTC"){if(!e.includes("/")&&!e.includes("-"))return l.parseTimeString(e,t);const n=new Date(e);return e.includes(":")||n.setUTCHours(0,0,0,0),new l(BigInt(n.getTime())*l.MILLISECOND.valueOf(),t).valueOf()}fString(e="ISO",t="UTC"){switch(e){case"ISODate":return this.toISOString(t).slice(0,10);case"ISOTime":return this.toISOString(t).slice(11,23);case"time":return this.timeString(!1,t);case"preciseTime":return this.timeString(!0,t);case"date":return this.dateString();case"preciseDate":return`${this.dateString()} ${this.timeString(!0,t)}`;case"dateTime":return`${this.dateString()} ${this.timeString(!1,t)}`;default:return this.toISOString(t)}}toISOString(e="UTC"){return e==="UTC"?this.date().toISOString():this.sub(l.utcOffset).date().toISOString()}timeString(e=!1,t="UTC"){const n=this.toISOString(t);return e?n.slice(11,23):n.slice(11,19)}dateString(){const e=this.date(),t=e.toLocaleString("default",{month:"short"}),n=e.toLocaleString("default",{day:"numeric"});return`${t} ${n}`}static get utcOffset(){return new S(BigInt(new Date().getTimezoneOffset())*l.MINUTE.valueOf())}static since(e){return new l().span(e)}date(){return new Date(this.milliseconds())}equals(e){return this.valueOf()===new l(e).valueOf()}span(e){return this.range(e).span}range(e){return new Mt(this,e).makeValid()}spanRange(e){return this.range(this.add(e)).makeValid()}get isZero(){return this.valueOf()===BigInt(0)}after(e){return this.valueOf()>new l(e).valueOf()}afterEq(e){return this.valueOf()>=new l(e).valueOf()}before(e){return this.valueOf()<new l(e).valueOf()}beforeEq(e){return this.valueOf()<=new l(e).valueOf()}add(e){return new l(this.valueOf()+BigInt(e.valueOf()))}sub(e){return new l(this.valueOf()-BigInt(e.valueOf()))}milliseconds(){return Number(this.valueOf())/Number(l.MILLISECOND.valueOf())}toString(){return this.date().toISOString()}remainder(e){return Ye(this,e)}get isToday(){return this.truncate(S.DAY).equals(l.now().truncate(S.DAY))}truncate(e){return this.sub(this.remainder(e))}static now(){return new l(new Date)}static max(...e){let t=l.MIN;for(const n of e){const i=new l(n);i.after(t)&&(t=i)}return t}static min(...e){let t=l.MAX;for(const n of e){const i=new l(n);i.before(t)&&(t=i)}return t}static nanoseconds(e){return new l(e)}static microseconds(e){return l.nanoseconds(e*1e3)}static milliseconds(e){return l.microseconds(e*1e3)}static seconds(e){return l.milliseconds(e*1e3)}static minutes(e){return l.seconds(e*60)}static hours(e){return l.minutes(e*60)}static days(e){return l.hours(e*24)}};u(p,"NANOSECOND",p.nanoseconds(1)),u(p,"MICROSECOND",p.microseconds(1)),u(p,"MILLISECOND",p.milliseconds(1)),u(p,"SECOND",p.seconds(1)),u(p,"MINUTE",p.minutes(1)),u(p,"HOUR",p.hours(1)),u(p,"DAY",p.days(1)),u(p,"MAX",new p((1n<<63n)-1n)),u(p,"MIN",new p(0)),u(p,"ZERO",new p(0)),u(p,"z",s.z.union([s.z.object({value:s.z.bigint()}).transform(r=>new p(r.value)),s.z.string().transform(r=>new p(BigInt(r))),s.z.instanceof(Number).transform(r=>new p(r)),s.z.number().transform(r=>new p(r)),s.z.instanceof(p)]));let T=p;const y=class d{constructor(e){u(this,"value"),u(this,"encodeValue",!0),typeof e=="number"&&(e=Math.trunc(e.valueOf())),this.value=BigInt(e.valueOf())}encode(){return this.value.toString()}valueOf(){return this.value}lessThan(e){return this.valueOf()<new d(e).valueOf()}greaterThan(e){return this.valueOf()>new d(e).valueOf()}lessThanOrEqual(e){return this.valueOf()<=new d(e).valueOf()}greaterThanOrEqual(e){return this.valueOf()>=new d(e).valueOf()}remainder(e){return Ye(this,e)}truncate(e){return new d(BigInt(Math.trunc(Number(this.valueOf()/e.valueOf())))*e.valueOf())}toString(){const e=this.truncate(d.DAY),t=this.truncate(d.HOUR),n=this.truncate(d.MINUTE),i=this.truncate(d.SECOND),a=this.truncate(d.MILLISECOND),c=this.truncate(d.MICROSECOND),h=this.truncate(d.NANOSECOND),g=e,m=t.sub(e),O=n.sub(t),w=i.sub(n),z=a.sub(i),L=c.sub(a),x=h.sub(c);let E="";return g.isZero||(E+=`${g.days}d `),m.isZero||(E+=`${m.hours}h `),O.isZero||(E+=`${O.minutes}m `),w.isZero||(E+=`${w.seconds}s `),z.isZero||(E+=`${z.milliseconds}ms `),L.isZero||(E+=`${L.microseconds}µs `),x.isZero||(E+=`${x.nanoseconds}ns`),E.trim()}get days(){return Number(this.valueOf())/Number(d.DAY.valueOf())}get hours(){return Number(this.valueOf())/Number(d.HOUR.valueOf())}get minutes(){return Number(this.valueOf())/Number(d.MINUTE.valueOf())}get seconds(){return Number(this.valueOf())/Number(d.SECOND.valueOf())}get milliseconds(){return Number(this.valueOf())/Number(d.MILLISECOND.valueOf())}get microseconds(){return Number(this.valueOf())/Number(d.MICROSECOND.valueOf())}get nanoseconds(){return Number(this.valueOf())}get isZero(){return this.valueOf()===BigInt(0)}equals(e){return this.valueOf()===new d(e).valueOf()}add(e){return new d(this.valueOf()+new d(e).valueOf())}sub(e){return new d(this.valueOf()-new d(e).valueOf())}static nanoseconds(e=1){return new d(e)}static microseconds(e=1){return d.nanoseconds(e*1e3)}static milliseconds(e=1){return d.microseconds(e*1e3)}static seconds(e=1){return d.milliseconds(e*1e3)}static minutes(e){return d.seconds(e.valueOf()*60)}static hours(e){return d.minutes(e*60)}static days(e){return d.hours(e*24)}};u(y,"NANOSECOND",y.nanoseconds(1)),u(y,"MICROSECOND",y.microseconds(1)),u(y,"MILLISECOND",y.milliseconds(1)),u(y,"SECOND",y.seconds(1)),u(y,"MINUTE",y.minutes(1)),u(y,"HOUR",y.hours(1)),u(y,"DAY",y.days(1)),u(y,"MAX",new y((1n<<63n)-1n)),u(y,"MIN",new y(0)),u(y,"ZERO",new y(0)),u(y,"z",s.z.union([s.z.object({value:s.z.bigint()}).transform(r=>new y(r.value)),s.z.string().transform(r=>new y(BigInt(r))),s.z.instanceof(Number).transform(r=>new y(r)),s.z.number().transform(r=>new y(r)),s.z.instanceof(y)]));let S=y;const H=class V extends Number{constructor(e){e instanceof Number?super(e.valueOf()):super(e)}toString(){return`${this.valueOf()} Hz`}equals(e){return this.valueOf()===new V(e).valueOf()}get period(){return S.seconds(1/this.valueOf())}sampleCount(e){return new S(e).seconds*this.valueOf()}byteCount(e,t){return this.sampleCount(e)*new N(t).valueOf()}span(e){return S.seconds(e/this.valueOf())}byteSpan(e,t){return this.span(e.valueOf()/t.valueOf())}static hz(e){return new V(e)}static khz(e){return V.hz(e*1e3)}};u(H,"z",s.z.union([s.z.number().transform(r=>new H(r)),s.z.instanceof(Number).transform(r=>new H(r)),s.z.instanceof(H)]));const b=class extends Number{constructor(e){e instanceof Number?super(e.valueOf()):super(e)}length(e){return e.valueOf()/this.valueOf()}size(e){return new Bt(e*this.valueOf())}};u(b,"UNKNOWN",new b(0)),u(b,"BIT128",new b(16)),u(b,"BIT64",new b(8)),u(b,"BIT32",new b(4)),u(b,"BIT16",new b(2)),u(b,"BIT8",new b(1)),u(b,"z",s.z.union([s.z.number().transform(r=>new b(r)),s.z.instanceof(Number).transform(r=>new b(r)),s.z.instanceof(b)]));let N=b;const A=class K{constructor(e,t){u(this,"start"),u(this,"end"),typeof e=="object"&&"start"in e?(this.start=new T(e.start),this.end=new T(e.end)):(this.start=new T(e),this.end=new T(t))}get span(){return new S(this.end.valueOf()-this.start.valueOf())}get isValid(){return this.start.valueOf()<=this.end.valueOf()}makeValid(){return this.isValid?this:this.swap()}get isZero(){return this.span.isZero}get numeric(){return{start:Number(this.start.valueOf()),end:Number(this.end.valueOf())}}swap(){return new K(this.end,this.start)}equals(e){return this.start.equals(e.start)&&this.end.equals(e.end)}toString(){return`${this.start.toString()} - ${this.end.toString()}`}toPrettyString(){return`${this.start.fString("preciseDate")} - ${this.span.toString()}`}overlapsWith(e,t=S.ZERO){e=e.makeValid();const n=this.makeValid();if(this.equals(e))return!0;if(e.end.equals(n.start)||n.end.equals(e.start))return!1;const i=T.max(n.start,e.start),a=T.min(n.end,e.end);return a.before(i)?!1:new S(a.sub(i)).greaterThanOrEqual(t)}roughlyEquals(e,t){let n=this.start.sub(e.start).valueOf(),i=this.end.sub(e.end).valueOf();return n<0&&(n=-n),i<0&&(i=-i),n<=t.valueOf()&&i<=t.valueOf()}contains(e){return e instanceof K?this.contains(e.start)&&this.contains(e.end):this.start.beforeEq(e)&&this.end.after(e)}boundBy(e){const t=new K(this.start,this.end);return e.start.after(this.start)&&(t.start=e.start),e.start.after(this.end)&&(t.end=e.start),e.end.before(this.end)&&(t.end=e.end),e.end.before(this.start)&&(t.start=e.end),t}};u(A,"MAX",new A(T.MIN,T.MAX)),u(A,"MIN",new A(T.MAX,T.MIN)),u(A,"ZERO",new A(T.ZERO,T.ZERO)),u(A,"z",s.z.union([s.z.object({start:T.z,end:T.z}).transform(r=>new A(r.start,r.end)),s.z.instanceof(A)]));let Mt=A;const o=class $ extends String{constructor(e){if(e instanceof $||typeof e=="string"||typeof e.valueOf()=="string"){super(e.valueOf());return}else{const t=$.ARRAY_CONSTRUCTOR_DATA_TYPES.get(e.constructor.name);if(t!=null){super(t.valueOf());return}}throw super($.UNKNOWN.valueOf()),new Error(`unable to find data type for ${e.toString()}`)}get Array(){const e=$.ARRAY_CONSTRUCTORS.get(this.toString());if(e==null)throw new Error(`unable to find array constructor for ${this.valueOf()}`);return e}equals(e){return this.valueOf()===e.valueOf()}matches(...e){return e.some(t=>this.equals(t))}toString(){return this.valueOf()}get isVariable(){return this.equals($.JSON)||this.equals($.STRING)}get isNumeric(){return!this.isVariable&&!this.equals($.UUID)}get isInteger(){return this.toString().startsWith("int")}get isFloat(){return this.toString().startsWith("float")}get density(){const e=$.DENSITIES.get(this.toString());if(e==null)throw new Error(`unable to find density for ${this.valueOf()}`);return e}canSafelyCastTo(e){return this.equals(e)?!0:this.isVariable&&!e.isVariable||!this.isVariable&&e.isVariable?!1:this.isFloat&&e.isInteger||this.isInteger&&e.isFloat?this.density.valueOf()<e.density.valueOf():this.isFloat&&e.isFloat||this.isInteger&&e.isInteger?this.density.valueOf()<=e.density.valueOf():!1}canCastTo(e){return this.isNumeric&&e.isNumeric?!0:this.equals(e)}checkArray(e){return e.constructor===this.Array}toJSON(){return this.toString()}get usesBigInt(){return $.BIG_INT_TYPES.some(e=>e.equals(this))}};u(o,"UNKNOWN",new o("unknown")),u(o,"FLOAT64",new o("float64")),u(o,"FLOAT32",new o("float32")),u(o,"INT64",new o("int64")),u(o,"INT32",new o("int32")),u(o,"INT16",new o("int16")),u(o,"INT8",new o("int8")),u(o,"UINT64",new o("uint64")),u(o,"UINT32",new o("uint32")),u(o,"UINT16",new o("uint16")),u(o,"UINT8",new o("uint8")),u(o,"BOOLEAN",o.UINT8),u(o,"TIMESTAMP",new o("timestamp")),u(o,"UUID",new o("uuid")),u(o,"STRING",new o("string")),u(o,"JSON",new o("json")),u(o,"ARRAY_CONSTRUCTORS",new Map([[o.UINT8.toString(),Uint8Array],[o.UINT16.toString(),Uint16Array],[o.UINT32.toString(),Uint32Array],[o.UINT64.toString(),BigUint64Array],[o.FLOAT32.toString(),Float32Array],[o.FLOAT64.toString(),Float64Array],[o.INT8.toString(),Int8Array],[o.INT16.toString(),Int16Array],[o.INT32.toString(),Int32Array],[o.INT64.toString(),BigInt64Array],[o.TIMESTAMP.toString(),BigInt64Array],[o.STRING.toString(),Uint8Array],[o.JSON.toString(),Uint8Array],[o.UUID.toString(),Uint8Array]])),u(o,"ARRAY_CONSTRUCTOR_DATA_TYPES",new Map([[Uint8Array.name,o.UINT8],[Uint16Array.name,o.UINT16],[Uint32Array.name,o.UINT32],[BigUint64Array.name,o.UINT64],[Float32Array.name,o.FLOAT32],[Float64Array.name,o.FLOAT64],[Int8Array.name,o.INT8],[Int16Array.name,o.INT16],[Int32Array.name,o.INT32],[BigInt64Array.name,o.INT64]])),u(o,"DENSITIES",new Map([[o.UINT8.toString(),N.BIT8],[o.UINT16.toString(),N.BIT16],[o.UINT32.toString(),N.BIT32],[o.UINT64.toString(),N.BIT64],[o.FLOAT32.toString(),N.BIT32],[o.FLOAT64.toString(),N.BIT64],[o.INT8.toString(),N.BIT8],[o.INT16.toString(),N.BIT16],[o.INT32.toString(),N.BIT32],[o.INT64.toString(),N.BIT64],[o.TIMESTAMP.toString(),N.BIT64],[o.STRING.toString(),N.UNKNOWN],[o.JSON.toString(),N.UNKNOWN],[o.UUID.toString(),N.BIT128]])),u(o,"ALL",[o.UNKNOWN,o.FLOAT64,o.FLOAT32,o.INT64,o.INT32,o.INT16,o.INT8,o.UINT64,o.UINT32,o.UINT16,o.UINT8,o.TIMESTAMP,o.UUID,o.STRING,o.JSON]),u(o,"BIG_INT_TYPES",[o.INT64,o.UINT64,o.TIMESTAMP]),u(o,"z",s.z.union([s.z.string().transform(r=>new o(r)),s.z.instanceof(o)]));const I=class v extends Number{constructor(e){super(e.valueOf())}largerThan(e){return this.valueOf()>e.valueOf()}smallerThan(e){return this.valueOf()<e.valueOf()}add(e){return v.bytes(this.valueOf()+e.valueOf())}sub(e){return v.bytes(this.valueOf()-e.valueOf())}truncate(e){return new v(Math.trunc(this.valueOf()/e.valueOf())*e.valueOf())}remainder(e){return v.bytes(this.valueOf()%e.valueOf())}get gigabytes(){return this.valueOf()/v.GIGABYTE.valueOf()}get megabytes(){return this.valueOf()/v.MEGABYTE.valueOf()}get kilobytes(){return this.valueOf()/v.KILOBYTE.valueOf()}get terabytes(){return this.valueOf()/v.TERABYTE.valueOf()}toString(){const e=this.truncate(v.TERABYTE),t=this.truncate(v.GIGABYTE),n=this.truncate(v.MEGABYTE),i=this.truncate(v.KILOBYTE),a=this.truncate(v.BYTE),c=e,h=t.sub(e),g=n.sub(t),m=i.sub(n),O=a.sub(i);let w="";return c.isZero||(w+=`${c.terabytes}TB `),h.isZero||(w+=`${h.gigabytes}GB `),g.isZero||(w+=`${g.megabytes}MB `),m.isZero||(w+=`${m.kilobytes}KB `),(!O.isZero||w==="")&&(w+=`${O.valueOf()}B`),w.trim()}static bytes(e=1){return new v(e)}static kilobytes(e=1){return v.bytes(e.valueOf()*1e3)}static megabytes(e=1){return v.kilobytes(e.valueOf()*1e3)}static gigabytes(e=1){return v.megabytes(e.valueOf()*1e3)}static terabytes(e){return v.gigabytes(e.valueOf()*1e3)}get isZero(){return this.valueOf()===0}};u(I,"BYTE",new I(1)),u(I,"KILOBYTE",I.kilobytes(1)),u(I,"MEGABYTE",I.megabytes(1)),u(I,"GIGABYTE",I.gigabytes(1)),u(I,"TERABYTE",I.terabytes(1)),u(I,"ZERO",new I(0)),u(I,"z",s.z.union([s.z.number().transform(r=>new I(r)),s.z.instanceof(I)]));let Bt=I;s.z.union([s.z.instanceof(Uint8Array),s.z.instanceof(Uint16Array),s.z.instanceof(Uint32Array),s.z.instanceof(BigUint64Array),s.z.instanceof(Float32Array),s.z.instanceof(Float64Array),s.z.instanceof(Int8Array),s.z.instanceof(Int16Array),s.z.instanceof(Int32Array),s.z.instanceof(BigInt64Array)]);s.z.object({key:s.z.string(),value:s.z.string()});s.z.record(s.z.union([s.z.number(),s.z.string(),s.z.symbol()]),s.z.unknown());const Pe=()=>typeof process<"u"&&process.versions!=null&&process.versions.node!=null?"node":typeof window>"u"||window.document===void 0?"webworker":"browser",Rt=Pe(),je=["MacOS","Windows","Linux","Docker"],Dt=s.z.enum(je);let oe;const Yt=()=>{if(typeof window>"u")return;const r=window.navigator.userAgent.toLowerCase();if(r.includes("mac"))return"MacOS";if(r.includes("win"))return"Windows";if(r.includes("linux"))return"Linux"},Pt=(r={})=>{const{force:e,default:t}=r;return e??oe??(oe=Yt(),oe??t)},Le=Object.freeze(Object.defineProperty({__proto__:null,OPERATING_SYSTEMS:je,RUNTIME:Rt,detect:Pe,getOS:Pt,osZ:Dt},Symbol.toStringTag,{value:"Module"}));var jt=Object.defineProperty,Lt=(r,e,t)=>e in r?jt(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,W=(r,e,t)=>Lt(r,typeof e!="symbol"?e+"":e,t);const kt=(...r)=>r.map(ke).join(""),ke=r=>(r.endsWith("/")||(r+="/"),r.startsWith("/")&&(r=r.slice(1)),r),Wt=r=>r.endsWith("/")?r.slice(0,-1):r,Ft=(r,e="")=>r===null?"":"?"+Object.entries(r).filter(([,t])=>t==null?!1:Array.isArray(t)?t.length>0:!0).map(([t,n])=>`${e}${t}=${n}`).join("&"),ce=class le{constructor({host:e,port:t,protocol:n="",pathPrefix:i=""}){W(this,"protocol"),W(this,"host"),W(this,"port"),W(this,"path"),this.protocol=n,this.host=e,this.port=t,this.path=ke(i)}replace(e){return new le({host:e.host??this.host,port:e.port??this.port,protocol:e.protocol??this.protocol,pathPrefix:e.pathPrefix??this.path})}child(e){return new le({...this,pathPrefix:kt(this.path,e)})}toString(){return Wt(`${this.protocol}://${this.host}:${this.port}/${this.path}`)}};W(ce,"UNKNOWN",new ce({host:"unknown",port:0}));let qt=ce;var Gt=Object.defineProperty,Zt=(r,e,t)=>e in r?Gt(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,X=(r,e,t)=>Zt(r,typeof e!="symbol"?e+"":e,t);const D=class extends Number{};X(D,"Absolute",255),X(D,"Default",1),X(D,"z",s.z.union([s.z.instanceof(D),s.z.number().int().min(0).max(255).transform(r=>new D(r)),s.z.instanceof(Number).transform(r=>new D(r))]));s.z.object({name:s.z.string(),key:s.z.string()});const We=class F extends Error{constructor(){super(F.MESSAGE)}matches(e){return typeof e=="string"?e.includes(F.MESSAGE):e instanceof F||e.message.includes(F.MESSAGE)}};X(We,"MESSAGE","canceled");let Ht=We;new Ht;s.z.string().regex(/^\d+\.\d+\.\d+$/);const ee=r=>e=>e!=null&&typeof e=="object"&&"type"in e&&typeof e.type=="string"?e.type.includes(r):e instanceof Error?e.message.includes(r):typeof e!="string"?!1:e.includes(r);class G extends Error{constructor(t){super(t);f(this,"discriminator","FreighterError");f(this,"type","")}}const Vt=r=>{if(r==null||typeof r!="object")return!1;const e=r;if(e.discriminator!=="FreighterError")return!1;if(!("type"in e))throw new Error(`Freighter error is missing its type property: ${JSON.stringify(e)}`);return!0},Ie="unknown",Ne="nil",Kt="freighter",fe=s.z.object({type:s.z.string(),data:s.z.string()});class Xt{constructor(){f(this,"providers",[])}register(e){this.providers.push(e)}encode(e){if(e==null)return{type:Ne,data:""};if(Vt(e))for(const t of this.providers){const n=t.encode(e);if(n!=null)return n}return{type:Ie,data:JSON.stringify(e)}}decode(e){if(e==null||e.type===Ne)return null;if(e.type===Ie)return new Ee(e.data);for(const t of this.providers){const n=t.decode(e);if(n!=null)return n}return new Ee(e.data)}}const pe=new Xt,Fe=({encode:r,decode:e})=>pe.register({encode:r,decode:e}),Jt=r=>pe.encode(r),ye=r=>pe.decode(r);class Ee extends G{constructor(t){super(t);f(this,"type","unknown")}}const te="freighter.",Y=class Y extends G{constructor(){super("EOF");f(this,"type",Y.TYPE)}};f(Y,"TYPE",te+"eof"),f(Y,"matches",ee(Y.TYPE));let M=Y;const P=class P extends G{constructor(){super("StreamClosed");f(this,"type",P.TYPE)}};f(P,"TYPE",te+"stream_closed"),f(P,"matches",ee(P.TYPE));let B=P;const j=class j extends G{constructor(t={}){const{message:n="Unreachable",url:i=qt.UNKNOWN}=t;super(n);f(this,"type",j.TYPE);f(this,"url");this.url=i}};f(j,"TYPE",te+"unreachable"),f(j,"matches",ee(j.TYPE));let R=j;const Qt=r=>{if(!r.type.startsWith(Kt))return null;if(M.matches(r))return{type:M.TYPE,data:"EOF"};if(B.matches(r))return{type:B.TYPE,data:"StreamClosed"};if(R.matches(r))return{type:R.TYPE,data:"Unreachable"};throw new Error(`Unknown error type: ${r.type}: ${r.message}`)},_t=r=>{if(!r.type.startsWith(te))return null;switch(r.type){case M.TYPE:return new M;case B.TYPE:return new B;case R.TYPE:return new R;default:throw new Error(`Unknown error type: ${r.data}`)}};Fe({encode:Qt,decode:_t});class qe{constructor(){f(this,"middleware",[])}use(...e){this.middleware.push(...e)}async executeMiddleware(e,t){let n=0;const i=async a=>{if(n===this.middleware.length)return await t(a);const c=this.middleware[n];return n++,await c(a,i)};return await i(e)}}const Ge="Content-Type",ze=r=>{if(Le.RUNTIME!=="node")return fetch;const e=require("node-fetch");if(r==="http")return e;const t=require("https"),n=new t.Agent({rejectUnauthorized:!1});return async(i,a)=>await e(i,{...a,agent:n})};class er extends qe{constructor(t,n,i=!1){super();f(this,"endpoint");f(this,"encoder");f(this,"fetch");return this.endpoint=t.replace({protocol:i?"https":"http"}),this.encoder=n,this.fetch=ze(this.endpoint.protocol),new Proxy(this,{get:(a,c,h)=>c==="endpoint"?this.endpoint:Reflect.get(a,c,h)})}get headers(){return{[Ge]:this.encoder.contentType}}async send(t,n,i,a){n=i==null?void 0:i.parse(n);let c=null;const h=this.endpoint.child(t),g={};g.method="POST",g.body=this.encoder.encode(n??{});const[,m]=await this.executeMiddleware({target:h.toString(),protocol:this.endpoint.protocol,params:{},role:"client"},async O=>{const w={...O,params:{}};g.headers={...this.headers,...O.params};let z;try{z=await ze(O.protocol)(O.target,g)}catch(x){let E=x;return E.message==="Load failed"&&(E=new R({url:h})),[w,E]}const L=await z.arrayBuffer();if(z!=null&&z.ok)return a!=null&&(c=this.encoder.decode(L,a)),[w,null];try{if(z.status!==400)return[w,new Error(z.statusText)];const x=this.encoder.decode(L,fe),E=ye(x);return[w,E]}catch(x){return[w,new Error(`[freighter] - failed to decode error: ${z.statusText}: ${x.message}`)]}});return[c,m]}}const tr=async(r,e,t,n,i)=>{const[a,c]=await r.send(e,t,n,i);if(c!=null)throw c;return a},rr=()=>Le.RUNTIME!=="node"?r=>new WebSocket(r):r=>new(require("ws")).WebSocket(r,{rejectUnauthorized:!1}),nr=s.z.object({type:s.z.union([s.z.literal("data"),s.z.literal("close")]),payload:s.z.unknown().optional(),error:s.z.optional(fe)});class sr{constructor(e,t,n,i){f(this,"encoder");f(this,"reqSchema");f(this,"resSchema");f(this,"ws");f(this,"serverClosed");f(this,"sendClosed");f(this,"receiveDataQueue",[]);f(this,"receiveCallbacksQueue",[]);this.encoder=t,this.reqSchema=n,this.resSchema=i,this.ws=e,this.sendClosed=!1,this.serverClosed=null,this.listenForMessages()}send(e){if(this.serverClosed!=null)return new M;if(this.sendClosed)throw new B;return this.ws.send(this.encoder.encode({type:"data",payload:e})),null}async receive(){if(this.serverClosed!=null)return[null,this.serverClosed];const e=await this.receiveMsg();if(e.type==="close"){if(e.error==null)throw new Error("Message error must be defined");return this.serverClosed=ye(e.error),[null,this.serverClosed]}return[this.resSchema.parse(e.payload),null]}received(){return this.receiveDataQueue.length!==0}closeSend(){if(this.sendClosed||this.serverClosed!=null)return;const e={type:"close"};try{this.ws.send(this.encoder.encode(e))}finally{this.sendClosed=!0}}async receiveMsg(){const e=this.receiveDataQueue.shift();return e??await new Promise((t,n)=>this.receiveCallbacksQueue.push({resolve:t,reject:n}))}addMessage(e){const t=this.receiveCallbacksQueue.shift();t!=null?t.resolve(e):this.receiveDataQueue.push(e)}listenForMessages(){this.ws.onmessage=e=>this.addMessage(this.encoder.decode(e.data,nr)),this.ws.onclose=e=>this.addMessage({type:"close",error:{type:cr(e)?M.TYPE:B.TYPE,data:""}})}}const ir="freighterctx",or=1e3,ar=1001,ur=[or,ar],cr=r=>ur.includes(r.code),Q=class Q extends qe{constructor(t,n,i=!1){super();f(this,"baseUrl");f(this,"encoder");this.baseUrl=t.replace({protocol:i?"wss":"ws"}),this.encoder=n}async stream(t,n,i){const a=rr();let c;const[,h]=await this.executeMiddleware({target:t,protocol:"websocket",params:{},role:"client"},async g=>{const m=a(this.buildURL(t,g)),O={...g,params:{}};m.binaryType=Q.MESSAGE_TYPE;const w=await this.wrapSocket(m,n,i);return w instanceof Error?[O,w]:(c=w,[O,null])});if(h!=null)throw h;return c}buildURL(t,n){const i=Ft({[Ge]:this.encoder.contentType,...n.params},ir);return this.baseUrl.child(t).toString()+i}async wrapSocket(t,n,i){return await new Promise(a=>{t.onopen=()=>{a(new sr(t,this.encoder,n,i))},t.onerror=c=>{const h=c;a(new Error(h.message))}})}};f(Q,"MESSAGE_TYPE","arraybuffer");let he=Q;exports.BaseTypedError=G;exports.EOF=M;exports.HTTPClient=er;exports.StreamClosed=B;exports.Unreachable=R;exports.WebSocketClient=he;exports.decodeError=ye;exports.encodeError=Jt;exports.errorMatcher=ee;exports.errorZ=fe;exports.registerError=Fe;exports.sendRequired=tr;
|
package/dist/freighter.js
CHANGED
|
@@ -15,9 +15,9 @@ const Ve = (r) => {
|
|
|
15
15
|
return Object.keys(a).forEach((c) => {
|
|
16
16
|
let h = a[c];
|
|
17
17
|
const g = r(c);
|
|
18
|
-
n.recursive && (te(h) ? pe(h, n.keepTypesOnRecursion) || (h = e(h, n)) : n.recursiveInArray && fe(h) && (h = [...h].map((
|
|
19
|
-
let O =
|
|
20
|
-
return te(
|
|
18
|
+
n.recursive && (te(h) ? pe(h, n.keepTypesOnRecursion) || (h = e(h, n)) : n.recursiveInArray && fe(h) && (h = [...h].map((m) => {
|
|
19
|
+
let O = m;
|
|
20
|
+
return te(m) ? pe(O, n.keepTypesOnRecursion) || (O = e(m, n)) : fe(m) && (O = e({ key: m }, n).key), O;
|
|
21
21
|
}))), i[g] = h;
|
|
22
22
|
}), i;
|
|
23
23
|
};
|
|
@@ -79,10 +79,10 @@ let et = class {
|
|
|
79
79
|
return a.forEach((h) => {
|
|
80
80
|
c[h] = [];
|
|
81
81
|
}), i.forEach((h) => {
|
|
82
|
-
const g = h.split(",").map((
|
|
83
|
-
a.forEach((
|
|
84
|
-
const
|
|
85
|
-
|
|
82
|
+
const g = h.split(",").map((m) => m.trim());
|
|
83
|
+
a.forEach((m, O) => {
|
|
84
|
+
const w = this.parseValue(g[O]);
|
|
85
|
+
w != null && c[m].push(w);
|
|
86
86
|
});
|
|
87
87
|
}), t != null ? t.parse(c) : c;
|
|
88
88
|
}
|
|
@@ -110,24 +110,24 @@ new tt();
|
|
|
110
110
|
new rt();
|
|
111
111
|
const Q = s.tuple([s.number(), s.number()]);
|
|
112
112
|
s.tuple([s.bigint(), s.bigint()]);
|
|
113
|
-
const
|
|
113
|
+
const $e = s.object({ width: s.number(), height: s.number() }), nt = s.object({
|
|
114
114
|
signedWidth: s.number(),
|
|
115
115
|
signedHeight: s.number()
|
|
116
116
|
}), st = ["width", "height"];
|
|
117
117
|
s.enum(st);
|
|
118
118
|
const it = ["start", "center", "end"], ot = ["signedWidth", "signedHeight"];
|
|
119
119
|
s.enum(ot);
|
|
120
|
-
const X = s.object({ x: s.number(), y: s.number() }), at = s.object({ clientX: s.number(), clientY: s.number() }), ut = ["x", "y"],
|
|
120
|
+
const X = s.object({ x: s.number(), y: s.number() }), at = s.object({ clientX: s.number(), clientY: s.number() }), ut = ["x", "y"], xe = s.enum(ut), Ue = ["top", "right", "bottom", "left"];
|
|
121
121
|
s.enum(Ue);
|
|
122
|
-
const ct = ["left", "right"],
|
|
122
|
+
const ct = ["left", "right"], Ce = s.enum(ct), lt = ["top", "bottom"], Me = s.enum(lt), Be = ["center"], ye = s.enum(Be), ht = [...Ue, ...Be], Re = s.enum(ht);
|
|
123
123
|
s.enum(it);
|
|
124
124
|
const dt = ["first", "last"];
|
|
125
125
|
s.enum(dt);
|
|
126
126
|
const ft = s.object({ lower: s.number(), upper: s.number() }), pt = s.object({ lower: s.bigint(), upper: s.bigint() });
|
|
127
127
|
s.union([ft, Q]);
|
|
128
128
|
s.union([pt, Q]);
|
|
129
|
-
s.union([
|
|
130
|
-
s.union([
|
|
129
|
+
s.union([xe, Re]);
|
|
130
|
+
s.union([xe, Re, s.instanceof(String)]);
|
|
131
131
|
const re = (r, e) => {
|
|
132
132
|
const t = {};
|
|
133
133
|
if (typeof r == "number" || typeof r == "bigint")
|
|
@@ -139,23 +139,23 @@ const re = (r, e) => {
|
|
|
139
139
|
return ge(t);
|
|
140
140
|
}, ge = (r) => r.lower > r.upper ? { lower: r.upper, upper: r.lower } : r;
|
|
141
141
|
s.object({
|
|
142
|
-
x:
|
|
143
|
-
y:
|
|
142
|
+
x: Ce.or(ye),
|
|
143
|
+
y: Me.or(ye)
|
|
144
144
|
});
|
|
145
|
-
const yt = s.object({ x:
|
|
145
|
+
const yt = s.object({ x: Ce, y: Me }), gt = Object.freeze({ x: "left", y: "top" }), mt = (r, e) => r.x === e.x && r.y === e.y, me = s.union([
|
|
146
146
|
s.number(),
|
|
147
147
|
X,
|
|
148
148
|
Q,
|
|
149
|
-
|
|
149
|
+
$e,
|
|
150
150
|
nt,
|
|
151
151
|
at
|
|
152
|
-
]),
|
|
152
|
+
]), wt = (r, e) => {
|
|
153
153
|
if (typeof r == "string") {
|
|
154
154
|
if (e === void 0) throw new Error("The y coordinate must be given.");
|
|
155
155
|
return r === "x" ? { x: e, y: 0 } : { x: 0, y: e };
|
|
156
156
|
}
|
|
157
157
|
return typeof r == "number" ? { x: r, y: e ?? r } : Array.isArray(r) ? { x: r[0], y: r[1] } : "signedWidth" in r ? { x: r.signedWidth, y: r.signedHeight } : "clientX" in r ? { x: r.clientX, y: r.clientY } : "width" in r ? { x: r.width, y: r.height } : { x: r.x, y: r.y };
|
|
158
|
-
},
|
|
158
|
+
}, we = Object.freeze({ x: 0, y: 0 }), Z = s.union([s.number(), s.string()]);
|
|
159
159
|
s.object({
|
|
160
160
|
top: Z,
|
|
161
161
|
left: Z,
|
|
@@ -175,8 +175,8 @@ s.object({
|
|
|
175
175
|
});
|
|
176
176
|
const le = (r, e, t = 0, n = 0, i) => {
|
|
177
177
|
const a = {
|
|
178
|
-
one: { ...
|
|
179
|
-
two: { ...
|
|
178
|
+
one: { ...we },
|
|
179
|
+
two: { ...we },
|
|
180
180
|
root: i ?? gt
|
|
181
181
|
};
|
|
182
182
|
if (typeof r == "number") {
|
|
@@ -198,32 +198,32 @@ const le = (r, e, t = 0, n = 0, i) => {
|
|
|
198
198
|
const e = le(r);
|
|
199
199
|
return { lower: e.one.y, upper: e.two.y };
|
|
200
200
|
}, Ot = (r) => typeof r != "object" || r == null ? !1 : "one" in r && "two" in r && "root" in r;
|
|
201
|
-
var vt = Object.defineProperty, bt = (r, e, t) => e in r ? vt(r, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : r[e] = t,
|
|
201
|
+
var vt = Object.defineProperty, bt = (r, e, t) => e in r ? vt(r, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : r[e] = t, M = (r, e, t) => bt(r, typeof e != "symbol" ? e + "" : e, t);
|
|
202
202
|
const Tt = (r, e, t) => e !== void 0 && r < e ? e : t !== void 0 && r > t ? t : r;
|
|
203
|
-
s.object({ offset:
|
|
204
|
-
const
|
|
203
|
+
s.object({ offset: me, scale: me });
|
|
204
|
+
const St = (r) => (e, t, n, i) => t === "dimension" ? [e, n] : [
|
|
205
205
|
e,
|
|
206
206
|
i ? n - r : n + r
|
|
207
|
-
],
|
|
207
|
+
], It = (r) => (e, t, n, i) => [
|
|
208
208
|
e,
|
|
209
209
|
i ? n / r : n * r
|
|
210
210
|
], Nt = (r) => (e, t, n) => {
|
|
211
211
|
if (e === null) return [r, n];
|
|
212
|
-
const { lower: i, upper: a } = e, { lower: c, upper: h } = r, g = a - i,
|
|
213
|
-
if (t === "dimension") return [r, n * (
|
|
214
|
-
const O = (n - i) * (
|
|
212
|
+
const { lower: i, upper: a } = e, { lower: c, upper: h } = r, g = a - i, m = h - c;
|
|
213
|
+
if (t === "dimension") return [r, n * (m / g)];
|
|
214
|
+
const O = (n - i) * (m / g) + c;
|
|
215
215
|
return [r, O];
|
|
216
216
|
}, Et = (r) => (e, t, n) => [r, n], At = () => (r, e, t) => {
|
|
217
217
|
if (r === null) throw new Error("cannot invert without bounds");
|
|
218
218
|
if (e === "dimension") return [r, t];
|
|
219
219
|
const { lower: n, upper: i } = r;
|
|
220
220
|
return [r, i - (t - n)];
|
|
221
|
-
},
|
|
221
|
+
}, $t = (r) => (e, t, n) => {
|
|
222
222
|
const { lower: i, upper: a } = r;
|
|
223
223
|
return n = Tt(n, i, a), [e, n];
|
|
224
224
|
}, ae = class W {
|
|
225
225
|
constructor() {
|
|
226
|
-
|
|
226
|
+
M(this, "ops", []), M(this, "currBounds", null), M(this, "currType", null), M(this, "reversed", !1), this.ops = [];
|
|
227
227
|
}
|
|
228
228
|
static translate(e) {
|
|
229
229
|
return new W().translate(e);
|
|
@@ -235,11 +235,11 @@ const It = (r) => (e, t, n, i) => t === "dimension" ? [e, n] : [
|
|
|
235
235
|
return new W().scale(e, t);
|
|
236
236
|
}
|
|
237
237
|
translate(e) {
|
|
238
|
-
const t = this.new(), n =
|
|
238
|
+
const t = this.new(), n = St(e);
|
|
239
239
|
return n.type = "translate", t.ops.push(n), t;
|
|
240
240
|
}
|
|
241
241
|
magnify(e) {
|
|
242
|
-
const t = this.new(), n =
|
|
242
|
+
const t = this.new(), n = It(e);
|
|
243
243
|
return n.type = "magnify", t.ops.push(n), t;
|
|
244
244
|
}
|
|
245
245
|
scale(e, t) {
|
|
@@ -247,7 +247,7 @@ const It = (r) => (e, t, n, i) => t === "dimension" ? [e, n] : [
|
|
|
247
247
|
return a.type = "scale", i.ops.push(a), i;
|
|
248
248
|
}
|
|
249
249
|
clamp(e, t) {
|
|
250
|
-
const n = re(e, t), i = this.new(), a =
|
|
250
|
+
const n = re(e, t), i = this.new(), a = $t(n);
|
|
251
251
|
return a.type = "clamp", i.ops.push(a), i;
|
|
252
252
|
}
|
|
253
253
|
reBound(e, t) {
|
|
@@ -291,35 +291,35 @@ const It = (r) => (e, t, n, i) => t === "dimension" ? [e, n] : [
|
|
|
291
291
|
}), e.reversed = !e.reversed, e;
|
|
292
292
|
}
|
|
293
293
|
};
|
|
294
|
-
|
|
294
|
+
M(ae, "IDENTITY", new ae());
|
|
295
295
|
let Oe = ae;
|
|
296
|
-
const ve = class
|
|
296
|
+
const ve = class C {
|
|
297
297
|
constructor(e = new Oe(), t = new Oe(), n = null) {
|
|
298
|
-
|
|
298
|
+
M(this, "x"), M(this, "y"), M(this, "currRoot"), this.x = e, this.y = t, this.currRoot = n;
|
|
299
299
|
}
|
|
300
300
|
static translate(e, t) {
|
|
301
|
-
return new
|
|
301
|
+
return new C().translate(e, t);
|
|
302
302
|
}
|
|
303
303
|
static translateX(e) {
|
|
304
|
-
return new
|
|
304
|
+
return new C().translateX(e);
|
|
305
305
|
}
|
|
306
306
|
static translateY(e) {
|
|
307
|
-
return new
|
|
307
|
+
return new C().translateY(e);
|
|
308
308
|
}
|
|
309
309
|
static clamp(e) {
|
|
310
|
-
return new
|
|
310
|
+
return new C().clamp(e);
|
|
311
311
|
}
|
|
312
312
|
static magnify(e) {
|
|
313
|
-
return new
|
|
313
|
+
return new C().magnify(e);
|
|
314
314
|
}
|
|
315
315
|
static scale(e) {
|
|
316
|
-
return new
|
|
316
|
+
return new C().scale(e);
|
|
317
317
|
}
|
|
318
318
|
static reBound(e) {
|
|
319
|
-
return new
|
|
319
|
+
return new C().reBound(e);
|
|
320
320
|
}
|
|
321
321
|
translate(e, t) {
|
|
322
|
-
const n =
|
|
322
|
+
const n = wt(e, t), i = this.copy();
|
|
323
323
|
return i.x = this.x.translate(n.x), i.y = this.y.translate(n.y), i;
|
|
324
324
|
}
|
|
325
325
|
translateX(e) {
|
|
@@ -338,7 +338,7 @@ const ve = class M {
|
|
|
338
338
|
const t = this.copy();
|
|
339
339
|
if (Ot(e)) {
|
|
340
340
|
const n = this.currRoot;
|
|
341
|
-
return t.currRoot = e.root, n != null && !
|
|
341
|
+
return t.currRoot = e.root, n != null && !mt(n, e.root) && (n.x !== e.root.x && (t.x = t.x.invert()), n.y !== e.root.y && (t.y = t.y.invert())), t.x = t.x.scale(ne(e)), t.y = t.y.scale(se(e)), t;
|
|
342
342
|
}
|
|
343
343
|
return t.x = t.x.scale(e.width), t.y = t.y.scale(e.height), t;
|
|
344
344
|
}
|
|
@@ -351,7 +351,7 @@ const ve = class M {
|
|
|
351
351
|
return t.x = this.x.clamp(ne(e)), t.y = this.y.clamp(se(e)), t;
|
|
352
352
|
}
|
|
353
353
|
copy() {
|
|
354
|
-
const e = new
|
|
354
|
+
const e = new C();
|
|
355
355
|
return e.currRoot = this.currRoot, e.x = this.x, e.y = this.y, e;
|
|
356
356
|
}
|
|
357
357
|
reverse() {
|
|
@@ -371,26 +371,26 @@ const ve = class M {
|
|
|
371
371
|
);
|
|
372
372
|
}
|
|
373
373
|
};
|
|
374
|
-
|
|
375
|
-
const
|
|
376
|
-
s.union([
|
|
377
|
-
var Ut = Object.defineProperty,
|
|
374
|
+
M(ve, "IDENTITY", new ve());
|
|
375
|
+
const xt = s.object({ signedWidth: s.number(), signedHeight: s.number() });
|
|
376
|
+
s.union([$e, xt, X, Q]);
|
|
377
|
+
var Ut = Object.defineProperty, Ct = (r, e, t) => e in r ? Ut(r, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : r[e] = t, u = (r, e, t) => Ct(r, typeof e != "symbol" ? e + "" : e, t);
|
|
378
378
|
const De = (r, e) => {
|
|
379
379
|
const t = new T(e);
|
|
380
380
|
if (![
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
381
|
+
S.DAY,
|
|
382
|
+
S.HOUR,
|
|
383
|
+
S.MINUTE,
|
|
384
|
+
S.SECOND,
|
|
385
|
+
S.MILLISECOND,
|
|
386
|
+
S.MICROSECOND,
|
|
387
|
+
S.NANOSECOND
|
|
388
388
|
].some((i) => i.equals(t)))
|
|
389
389
|
throw new Error(
|
|
390
390
|
"Invalid argument for remainder. Must be an even TimeSpan or Timestamp"
|
|
391
391
|
);
|
|
392
392
|
const n = r.valueOf() % t.valueOf();
|
|
393
|
-
return r instanceof T ? new T(n) : new
|
|
393
|
+
return r instanceof T ? new T(n) : new S(n);
|
|
394
394
|
}, p = class l {
|
|
395
395
|
constructor(e, t = "UTC") {
|
|
396
396
|
if (u(this, "value"), u(this, "encodeValue", !0), e == null) this.value = l.now().valueOf();
|
|
@@ -462,7 +462,7 @@ const De = (r, e) => {
|
|
|
462
462
|
return `${t} ${n}`;
|
|
463
463
|
}
|
|
464
464
|
static get utcOffset() {
|
|
465
|
-
return new
|
|
465
|
+
return new S(
|
|
466
466
|
BigInt((/* @__PURE__ */ new Date()).getTimezoneOffset()) * l.MINUTE.valueOf()
|
|
467
467
|
);
|
|
468
468
|
}
|
|
@@ -505,7 +505,7 @@ const De = (r, e) => {
|
|
|
505
505
|
* valid, regardless of the TimeStamp order.
|
|
506
506
|
*/
|
|
507
507
|
range(e) {
|
|
508
|
-
return new
|
|
508
|
+
return new Mt(this, e).makeValid();
|
|
509
509
|
}
|
|
510
510
|
/**
|
|
511
511
|
* Creates a TimeRange starting at the TimeStamp and spanning the given
|
|
@@ -611,7 +611,7 @@ const De = (r, e) => {
|
|
|
611
611
|
}
|
|
612
612
|
/** @returns true if the day portion TimeStamp is today, false otherwise. */
|
|
613
613
|
get isToday() {
|
|
614
|
-
return this.truncate(
|
|
614
|
+
return this.truncate(S.DAY).equals(l.now().truncate(S.DAY));
|
|
615
615
|
}
|
|
616
616
|
truncate(e) {
|
|
617
617
|
return this.sub(this.remainder(e));
|
|
@@ -718,9 +718,9 @@ const y = class d {
|
|
|
718
718
|
);
|
|
719
719
|
}
|
|
720
720
|
toString() {
|
|
721
|
-
const e = this.truncate(d.DAY), t = this.truncate(d.HOUR), n = this.truncate(d.MINUTE), i = this.truncate(d.SECOND), a = this.truncate(d.MILLISECOND), c = this.truncate(d.MICROSECOND), h = this.truncate(d.NANOSECOND), g = e,
|
|
721
|
+
const e = this.truncate(d.DAY), t = this.truncate(d.HOUR), n = this.truncate(d.MINUTE), i = this.truncate(d.SECOND), a = this.truncate(d.MILLISECOND), c = this.truncate(d.MICROSECOND), h = this.truncate(d.NANOSECOND), g = e, m = t.sub(e), O = n.sub(t), w = i.sub(n), A = a.sub(i), k = c.sub(a), U = h.sub(c);
|
|
722
722
|
let E = "";
|
|
723
|
-
return g.isZero || (E += `${g.days}d `),
|
|
723
|
+
return g.isZero || (E += `${g.days}d `), m.isZero || (E += `${m.hours}h `), O.isZero || (E += `${O.minutes}m `), w.isZero || (E += `${w.seconds}s `), A.isZero || (E += `${A.milliseconds}ms `), k.isZero || (E += `${k.microseconds}µs `), U.isZero || (E += `${U.nanoseconds}ns`), E.trim();
|
|
724
724
|
}
|
|
725
725
|
/** @returns the decimal number of days in the timespan */
|
|
726
726
|
get days() {
|
|
@@ -861,7 +861,7 @@ u(y, "z", s.union([
|
|
|
861
861
|
s.number().transform((r) => new y(r)),
|
|
862
862
|
s.instanceof(y)
|
|
863
863
|
]));
|
|
864
|
-
let
|
|
864
|
+
let S = y;
|
|
865
865
|
const z = class V extends Number {
|
|
866
866
|
constructor(e) {
|
|
867
867
|
e instanceof Number ? super(e.valueOf()) : super(e);
|
|
@@ -880,7 +880,7 @@ const z = class V extends Number {
|
|
|
880
880
|
* @returns A TimeSpan representing the period of the Rate.
|
|
881
881
|
*/
|
|
882
882
|
get period() {
|
|
883
|
-
return
|
|
883
|
+
return S.seconds(1 / this.valueOf());
|
|
884
884
|
}
|
|
885
885
|
/**
|
|
886
886
|
* Calculates the number of samples in the given TimeSpan at this rate.
|
|
@@ -889,7 +889,7 @@ const z = class V extends Number {
|
|
|
889
889
|
* @returns The number of samples in the given TimeSpan at this rate.
|
|
890
890
|
*/
|
|
891
891
|
sampleCount(e) {
|
|
892
|
-
return new
|
|
892
|
+
return new S(e).seconds * this.valueOf();
|
|
893
893
|
}
|
|
894
894
|
/**
|
|
895
895
|
* Calculates the number of bytes in the given TimeSpan at this rate.
|
|
@@ -908,7 +908,7 @@ const z = class V extends Number {
|
|
|
908
908
|
* @returns A TimeSpan that corresponds to the given number of samples.
|
|
909
909
|
*/
|
|
910
910
|
span(e) {
|
|
911
|
-
return
|
|
911
|
+
return S.seconds(e / this.valueOf());
|
|
912
912
|
}
|
|
913
913
|
/**
|
|
914
914
|
* Calculates a TimeSpan given the number of bytes at this rate.
|
|
@@ -974,7 +974,7 @@ u(b, "z", s.union([
|
|
|
974
974
|
s.instanceof(b)
|
|
975
975
|
]));
|
|
976
976
|
let N = b;
|
|
977
|
-
const
|
|
977
|
+
const $ = class H {
|
|
978
978
|
/**
|
|
979
979
|
* Creates a TimeRange from the given start and end TimeStamps.
|
|
980
980
|
*
|
|
@@ -986,7 +986,7 @@ const x = class H {
|
|
|
986
986
|
}
|
|
987
987
|
/** @returns The TimeSpan occupied by the TimeRange. */
|
|
988
988
|
get span() {
|
|
989
|
-
return new
|
|
989
|
+
return new S(this.end.valueOf() - this.start.valueOf());
|
|
990
990
|
}
|
|
991
991
|
/**
|
|
992
992
|
* Checks if the timestamp is valid i.e. the start is before the end.
|
|
@@ -1012,6 +1012,12 @@ const x = class H {
|
|
|
1012
1012
|
get isZero() {
|
|
1013
1013
|
return this.span.isZero;
|
|
1014
1014
|
}
|
|
1015
|
+
/**
|
|
1016
|
+
* @returns the TimeRange as a numeric object with start and end properties.
|
|
1017
|
+
*/
|
|
1018
|
+
get numeric() {
|
|
1019
|
+
return { start: Number(this.start.valueOf()), end: Number(this.end.valueOf()) };
|
|
1020
|
+
}
|
|
1015
1021
|
/**
|
|
1016
1022
|
* Creates a new TimeRange with the start and end swapped.
|
|
1017
1023
|
*
|
|
@@ -1043,13 +1049,13 @@ const x = class H {
|
|
|
1043
1049
|
* @param other - The other TimeRange to compare to.
|
|
1044
1050
|
* @returns True if the two TimeRanges overlap, false otherwise.
|
|
1045
1051
|
*/
|
|
1046
|
-
overlapsWith(e, t =
|
|
1052
|
+
overlapsWith(e, t = S.ZERO) {
|
|
1047
1053
|
e = e.makeValid();
|
|
1048
1054
|
const n = this.makeValid();
|
|
1049
1055
|
if (this.equals(e)) return !0;
|
|
1050
1056
|
if (e.end.equals(n.start) || n.end.equals(e.start)) return !1;
|
|
1051
1057
|
const i = T.max(n.start, e.start), a = T.min(n.end, e.end);
|
|
1052
|
-
return a.before(i) ? !1 : new
|
|
1058
|
+
return a.before(i) ? !1 : new S(a.sub(i)).greaterThanOrEqual(t);
|
|
1053
1059
|
}
|
|
1054
1060
|
roughlyEquals(e, t) {
|
|
1055
1061
|
let n = this.start.sub(e.start).valueOf(), i = this.end.sub(e.end).valueOf();
|
|
@@ -1063,49 +1069,58 @@ const x = class H {
|
|
|
1063
1069
|
return e.start.after(this.start) && (t.start = e.start), e.start.after(this.end) && (t.end = e.start), e.end.before(this.end) && (t.end = e.end), e.end.before(this.start) && (t.start = e.end), t;
|
|
1064
1070
|
}
|
|
1065
1071
|
};
|
|
1066
|
-
u(
|
|
1067
|
-
u(
|
|
1068
|
-
u(
|
|
1069
|
-
u(
|
|
1070
|
-
s.object({ start: T.z, end: T.z }).transform((r) => new
|
|
1071
|
-
s.instanceof(
|
|
1072
|
+
u($, "MAX", new $(T.MIN, T.MAX)), /** The minimum possible time range. */
|
|
1073
|
+
u($, "MIN", new $(T.MAX, T.MIN)), /** A zero time range. */
|
|
1074
|
+
u($, "ZERO", new $(T.ZERO, T.ZERO)), /** A zod schema for validating and transforming time ranges */
|
|
1075
|
+
u($, "z", s.union([
|
|
1076
|
+
s.object({ start: T.z, end: T.z }).transform((r) => new $(r.start, r.end)),
|
|
1077
|
+
s.instanceof($)
|
|
1072
1078
|
]));
|
|
1073
|
-
let
|
|
1074
|
-
const o = class
|
|
1079
|
+
let Mt = $;
|
|
1080
|
+
const o = class x extends String {
|
|
1075
1081
|
constructor(e) {
|
|
1076
|
-
if (e instanceof
|
|
1082
|
+
if (e instanceof x || typeof e == "string" || typeof e.valueOf() == "string") {
|
|
1077
1083
|
super(e.valueOf());
|
|
1078
1084
|
return;
|
|
1079
1085
|
} else {
|
|
1080
|
-
const t =
|
|
1086
|
+
const t = x.ARRAY_CONSTRUCTOR_DATA_TYPES.get(e.constructor.name);
|
|
1081
1087
|
if (t != null) {
|
|
1082
1088
|
super(t.valueOf());
|
|
1083
1089
|
return;
|
|
1084
1090
|
}
|
|
1085
1091
|
}
|
|
1086
|
-
throw super(
|
|
1092
|
+
throw super(x.UNKNOWN.valueOf()), new Error(`unable to find data type for ${e.toString()}`);
|
|
1087
1093
|
}
|
|
1088
1094
|
/**
|
|
1089
1095
|
* @returns the TypedArray constructor for the DataType.
|
|
1090
1096
|
*/
|
|
1091
1097
|
get Array() {
|
|
1092
|
-
const e =
|
|
1098
|
+
const e = x.ARRAY_CONSTRUCTORS.get(this.toString());
|
|
1093
1099
|
if (e == null)
|
|
1094
1100
|
throw new Error(`unable to find array constructor for ${this.valueOf()}`);
|
|
1095
1101
|
return e;
|
|
1096
1102
|
}
|
|
1103
|
+
/**
|
|
1104
|
+
* @returns true if the DataType is equal to the given DataType.
|
|
1105
|
+
*/
|
|
1097
1106
|
equals(e) {
|
|
1098
1107
|
return this.valueOf() === e.valueOf();
|
|
1099
1108
|
}
|
|
1109
|
+
/**
|
|
1110
|
+
* @returns true if the DataType is equal to any of the given DataTypes.
|
|
1111
|
+
*/
|
|
1112
|
+
matches(...e) {
|
|
1113
|
+
return e.some((t) => this.equals(t));
|
|
1114
|
+
}
|
|
1100
1115
|
/** @returns a string representation of the DataType. */
|
|
1101
1116
|
toString() {
|
|
1102
1117
|
return this.valueOf();
|
|
1103
1118
|
}
|
|
1104
1119
|
get isVariable() {
|
|
1105
|
-
return this.equals(
|
|
1120
|
+
return this.equals(x.JSON) || this.equals(x.STRING);
|
|
1106
1121
|
}
|
|
1107
1122
|
get isNumeric() {
|
|
1108
|
-
return !this.isVariable && !this.equals(
|
|
1123
|
+
return !this.isVariable && !this.equals(x.UUID);
|
|
1109
1124
|
}
|
|
1110
1125
|
get isInteger() {
|
|
1111
1126
|
return this.toString().startsWith("int");
|
|
@@ -1114,7 +1129,7 @@ const o = class $ extends String {
|
|
|
1114
1129
|
return this.toString().startsWith("float");
|
|
1115
1130
|
}
|
|
1116
1131
|
get density() {
|
|
1117
|
-
const e =
|
|
1132
|
+
const e = x.DENSITIES.get(this.toString());
|
|
1118
1133
|
if (e == null) throw new Error(`unable to find density for ${this.valueOf()}`);
|
|
1119
1134
|
return e;
|
|
1120
1135
|
}
|
|
@@ -1139,7 +1154,7 @@ const o = class $ extends String {
|
|
|
1139
1154
|
return this.toString();
|
|
1140
1155
|
}
|
|
1141
1156
|
get usesBigInt() {
|
|
1142
|
-
return
|
|
1157
|
+
return x.BIG_INT_TYPES.some((e) => e.equals(this));
|
|
1143
1158
|
}
|
|
1144
1159
|
};
|
|
1145
1160
|
u(o, "UNKNOWN", new o("unknown")), /** Represents a 64-bit floating point value. */
|
|
@@ -1222,7 +1237,7 @@ u(o, "z", s.union([
|
|
|
1222
1237
|
s.string().transform((r) => new o(r)),
|
|
1223
1238
|
s.instanceof(o)
|
|
1224
1239
|
]));
|
|
1225
|
-
const
|
|
1240
|
+
const I = class v extends Number {
|
|
1226
1241
|
constructor(e) {
|
|
1227
1242
|
super(e.valueOf());
|
|
1228
1243
|
}
|
|
@@ -1259,9 +1274,9 @@ const S = class v extends Number {
|
|
|
1259
1274
|
return this.valueOf() / v.TERABYTE.valueOf();
|
|
1260
1275
|
}
|
|
1261
1276
|
toString() {
|
|
1262
|
-
const e = this.truncate(v.TERABYTE), t = this.truncate(v.GIGABYTE), n = this.truncate(v.MEGABYTE), i = this.truncate(v.KILOBYTE), a = this.truncate(v.BYTE), c = e, h = t.sub(e), g = n.sub(t),
|
|
1263
|
-
let
|
|
1264
|
-
return c.isZero || (
|
|
1277
|
+
const e = this.truncate(v.TERABYTE), t = this.truncate(v.GIGABYTE), n = this.truncate(v.MEGABYTE), i = this.truncate(v.KILOBYTE), a = this.truncate(v.BYTE), c = e, h = t.sub(e), g = n.sub(t), m = i.sub(n), O = a.sub(i);
|
|
1278
|
+
let w = "";
|
|
1279
|
+
return c.isZero || (w += `${c.terabytes}TB `), h.isZero || (w += `${h.gigabytes}GB `), g.isZero || (w += `${g.megabytes}MB `), m.isZero || (w += `${m.kilobytes}KB `), (!O.isZero || w === "") && (w += `${O.valueOf()}B`), w.trim();
|
|
1265
1280
|
}
|
|
1266
1281
|
/**
|
|
1267
1282
|
* Creates a Size from the given number of bytes.
|
|
@@ -1312,17 +1327,17 @@ const S = class v extends Number {
|
|
|
1312
1327
|
return this.valueOf() === 0;
|
|
1313
1328
|
}
|
|
1314
1329
|
};
|
|
1315
|
-
u(
|
|
1316
|
-
u(
|
|
1317
|
-
u(
|
|
1318
|
-
u(
|
|
1319
|
-
u(
|
|
1320
|
-
u(
|
|
1321
|
-
u(
|
|
1322
|
-
s.number().transform((r) => new
|
|
1323
|
-
s.instanceof(
|
|
1330
|
+
u(I, "BYTE", new I(1)), /** A kilobyte */
|
|
1331
|
+
u(I, "KILOBYTE", I.kilobytes(1)), /** A megabyte */
|
|
1332
|
+
u(I, "MEGABYTE", I.megabytes(1)), /** A gigabyte */
|
|
1333
|
+
u(I, "GIGABYTE", I.gigabytes(1)), /** A terabyte. */
|
|
1334
|
+
u(I, "TERABYTE", I.terabytes(1)), /** The zero value for Size */
|
|
1335
|
+
u(I, "ZERO", new I(0)), /** A zod schema for a Size. */
|
|
1336
|
+
u(I, "z", s.union([
|
|
1337
|
+
s.number().transform((r) => new I(r)),
|
|
1338
|
+
s.instanceof(I)
|
|
1324
1339
|
]));
|
|
1325
|
-
let Bt =
|
|
1340
|
+
let Bt = I;
|
|
1326
1341
|
s.union([
|
|
1327
1342
|
s.instanceof(Uint8Array),
|
|
1328
1343
|
s.instanceof(Uint16Array),
|
|
@@ -1335,6 +1350,10 @@ s.union([
|
|
|
1335
1350
|
s.instanceof(Int32Array),
|
|
1336
1351
|
s.instanceof(BigInt64Array)
|
|
1337
1352
|
]);
|
|
1353
|
+
s.object({
|
|
1354
|
+
key: s.string(),
|
|
1355
|
+
value: s.string()
|
|
1356
|
+
});
|
|
1338
1357
|
s.record(
|
|
1339
1358
|
s.union([s.number(), s.string(), s.symbol()]),
|
|
1340
1359
|
s.unknown()
|
|
@@ -1463,19 +1482,19 @@ class Kt {
|
|
|
1463
1482
|
}
|
|
1464
1483
|
decode(e) {
|
|
1465
1484
|
if (e == null || e.type === Te) return null;
|
|
1466
|
-
if (e.type === be) return new
|
|
1485
|
+
if (e.type === be) return new Se(e.data);
|
|
1467
1486
|
for (const t of this.providers) {
|
|
1468
1487
|
const n = t.decode(e);
|
|
1469
1488
|
if (n != null) return n;
|
|
1470
1489
|
}
|
|
1471
|
-
return new
|
|
1490
|
+
return new Se(e.data);
|
|
1472
1491
|
}
|
|
1473
1492
|
}
|
|
1474
1493
|
const de = new Kt(), Xt = ({
|
|
1475
1494
|
encode: r,
|
|
1476
1495
|
decode: e
|
|
1477
1496
|
}) => de.register({ encode: r, decode: e }), pr = (r) => de.encode(r), Fe = (r) => de.decode(r);
|
|
1478
|
-
class
|
|
1497
|
+
class Se extends _ {
|
|
1479
1498
|
constructor(t) {
|
|
1480
1499
|
super(t);
|
|
1481
1500
|
f(this, "type", "unknown");
|
|
@@ -1560,7 +1579,7 @@ class Ge {
|
|
|
1560
1579
|
return await i(e);
|
|
1561
1580
|
}
|
|
1562
1581
|
}
|
|
1563
|
-
const qe = "Content-Type",
|
|
1582
|
+
const qe = "Content-Type", Ie = (r) => {
|
|
1564
1583
|
if (Pe.RUNTIME !== "node") return fetch;
|
|
1565
1584
|
const e = require("node-fetch");
|
|
1566
1585
|
if (r === "http") return e;
|
|
@@ -1573,7 +1592,7 @@ class yr extends Ge {
|
|
|
1573
1592
|
f(this, "endpoint");
|
|
1574
1593
|
f(this, "encoder");
|
|
1575
1594
|
f(this, "fetch");
|
|
1576
|
-
return this.endpoint = t.replace({ protocol: i ? "https" : "http" }), this.encoder = n, this.fetch =
|
|
1595
|
+
return this.endpoint = t.replace({ protocol: i ? "https" : "http" }), this.encoder = n, this.fetch = Ie(this.endpoint.protocol), new Proxy(this, {
|
|
1577
1596
|
get: (a, c, h) => c === "endpoint" ? this.endpoint : Reflect.get(a, c, h)
|
|
1578
1597
|
});
|
|
1579
1598
|
}
|
|
@@ -1587,7 +1606,7 @@ class yr extends Ge {
|
|
|
1587
1606
|
let c = null;
|
|
1588
1607
|
const h = this.endpoint.child(t), g = {};
|
|
1589
1608
|
g.method = "POST", g.body = this.encoder.encode(n ?? {});
|
|
1590
|
-
const [,
|
|
1609
|
+
const [, m] = await this.executeMiddleware(
|
|
1591
1610
|
{
|
|
1592
1611
|
target: h.toString(),
|
|
1593
1612
|
protocol: this.endpoint.protocol,
|
|
@@ -1595,28 +1614,28 @@ class yr extends Ge {
|
|
|
1595
1614
|
role: "client"
|
|
1596
1615
|
},
|
|
1597
1616
|
async (O) => {
|
|
1598
|
-
const
|
|
1617
|
+
const w = { ...O, params: {} };
|
|
1599
1618
|
g.headers = {
|
|
1600
1619
|
...this.headers,
|
|
1601
1620
|
...O.params
|
|
1602
1621
|
};
|
|
1603
1622
|
let A;
|
|
1604
1623
|
try {
|
|
1605
|
-
A = await
|
|
1624
|
+
A = await Ie(O.protocol)(O.target, g);
|
|
1606
1625
|
} catch (U) {
|
|
1607
1626
|
let E = U;
|
|
1608
|
-
return E.message === "Load failed" && (E = new D({ url: h })), [
|
|
1627
|
+
return E.message === "Load failed" && (E = new D({ url: h })), [w, E];
|
|
1609
1628
|
}
|
|
1610
1629
|
const k = await A.arrayBuffer();
|
|
1611
1630
|
if (A != null && A.ok)
|
|
1612
|
-
return a != null && (c = this.encoder.decode(k, a)), [
|
|
1631
|
+
return a != null && (c = this.encoder.decode(k, a)), [w, null];
|
|
1613
1632
|
try {
|
|
1614
|
-
if (A.status !== 400) return [
|
|
1633
|
+
if (A.status !== 400) return [w, new Error(A.statusText)];
|
|
1615
1634
|
const U = this.encoder.decode(k, We), E = Fe(U);
|
|
1616
|
-
return [
|
|
1635
|
+
return [w, E];
|
|
1617
1636
|
} catch (U) {
|
|
1618
1637
|
return [
|
|
1619
|
-
|
|
1638
|
+
w,
|
|
1620
1639
|
new Error(
|
|
1621
1640
|
`[freighter] - failed to decode error: ${A.statusText}: ${U.message}`
|
|
1622
1641
|
)
|
|
@@ -1624,7 +1643,7 @@ class yr extends Ge {
|
|
|
1624
1643
|
}
|
|
1625
1644
|
}
|
|
1626
1645
|
);
|
|
1627
|
-
return [c,
|
|
1646
|
+
return [c, m];
|
|
1628
1647
|
}
|
|
1629
1648
|
}
|
|
1630
1649
|
const gr = async (r, e, t, n, i) => {
|
|
@@ -1714,10 +1733,10 @@ const rr = "freighterctx", nr = 1e3, sr = 1001, ir = [nr, sr], or = (r) => ir.in
|
|
|
1714
1733
|
const [, h] = await this.executeMiddleware(
|
|
1715
1734
|
{ target: t, protocol: "websocket", params: {}, role: "client" },
|
|
1716
1735
|
async (g) => {
|
|
1717
|
-
const
|
|
1718
|
-
|
|
1719
|
-
const
|
|
1720
|
-
return
|
|
1736
|
+
const m = a(this.buildURL(t, g)), O = { ...g, params: {} };
|
|
1737
|
+
m.binaryType = J.MESSAGE_TYPE;
|
|
1738
|
+
const w = await this.wrapSocket(m, n, i);
|
|
1739
|
+
return w instanceof Error ? [O, w] : (c = w, [O, null]);
|
|
1721
1740
|
}
|
|
1722
1741
|
);
|
|
1723
1742
|
if (h != null) throw h;
|
package/dist/http.d.ts
CHANGED
|
@@ -2,7 +2,6 @@ import { binary, URL } from '@synnaxlabs/x';
|
|
|
2
2
|
import { z } from 'zod';
|
|
3
3
|
import { MiddlewareCollector } from './middleware';
|
|
4
4
|
import { UnaryClient } from './unary';
|
|
5
|
-
|
|
6
5
|
export declare const CONTENT_TYPE_HEADER_KEY = "Content-Type";
|
|
7
6
|
/**
|
|
8
7
|
* HTTPClientFactory provides a POST and GET implementation of the Unary
|
package/dist/http.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AA4BA,OAAO,EAAE,KAAK,MAAM,EAAW,KAAK,GAAG,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,CAAC;AAG7B,OAAO,EAAgB,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,eAAO,MAAM,uBAAuB,iBAAiB,CAAC;AAYtD;;;;;;GAMG;AACH,qBAAa,UAAW,SAAQ,mBAAoB,YAAW,WAAW;IACxE,QAAQ,EAAE,GAAG,CAAC;IACd,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC;IACtB,KAAK,EAAE,OAAO,KAAK,CAAC;gBAER,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,GAAE,OAAe;IAczE,IAAI,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAIpC;IAEK,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC,UAAU,EAAE,EAAE,SAAS,CAAC,CAAC,UAAU,GAAG,EAAE,EAC9D,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAC/B,SAAS,EAAE,EAAE,EACb,SAAS,EAAE,EAAE,GACZ,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC;CAuDhD"}
|
package/dist/stream.d.ts
CHANGED
package/dist/transport.d.ts
CHANGED
package/dist/unary.d.ts
CHANGED
package/dist/websocket.d.ts
CHANGED
|
@@ -2,7 +2,6 @@ import { binary, URL } from '@synnaxlabs/x';
|
|
|
2
2
|
import { z } from 'zod';
|
|
3
3
|
import { MiddlewareCollector } from './middleware';
|
|
4
4
|
import { Stream, StreamClient } from './stream';
|
|
5
|
-
|
|
6
5
|
export declare const FREIGHTER_METADATA_PREFIX = "freighterctx";
|
|
7
6
|
/**
|
|
8
7
|
* WebSocketClient is an implementation of StreamClient that is backed by
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@synnaxlabs/freighter",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.28.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "a modular transport abstraction",
|
|
6
6
|
"repository": "https://github.com/synnaxlabs/synnax/tree/main/freighter/ts",
|
|
@@ -14,21 +14,21 @@
|
|
|
14
14
|
"control systems"
|
|
15
15
|
],
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"node-fetch": "
|
|
18
|
-
"ws": "^8.
|
|
17
|
+
"node-fetch": "3.3.2",
|
|
18
|
+
"ws": "^8.18.0",
|
|
19
19
|
"zod": "3.23.8",
|
|
20
|
-
"@synnaxlabs/alamos": "0.
|
|
21
|
-
"@synnaxlabs/x": "0.
|
|
20
|
+
"@synnaxlabs/alamos": "0.28.0",
|
|
21
|
+
"@synnaxlabs/x": "0.28.0"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
|
24
|
-
"@types/node": "^
|
|
25
|
-
"@vitest/coverage-v8": "^
|
|
26
|
-
"typescript": "^5.4
|
|
27
|
-
"vite": "5.
|
|
28
|
-
"vitest": "^
|
|
24
|
+
"@types/node": "^22.2.0",
|
|
25
|
+
"@vitest/coverage-v8": "^2.0.5",
|
|
26
|
+
"typescript": "^5.5.4",
|
|
27
|
+
"vite": "5.4.0",
|
|
28
|
+
"vitest": "^2.0.5",
|
|
29
29
|
"@synnaxlabs/tsconfig": "0.0.2",
|
|
30
|
-
"
|
|
31
|
-
"
|
|
30
|
+
"@synnaxlabs/vite-plugin": "0.0.1",
|
|
31
|
+
"eslint-config-synnaxlabs": "0.0.1"
|
|
32
32
|
},
|
|
33
33
|
"peerDependencies": {
|
|
34
34
|
"zod": "^3.23.8"
|
package/src/http.ts
CHANGED
|
@@ -7,6 +7,15 @@
|
|
|
7
7
|
// License, use of this software will be governed by the Apache License, Version 2.0,
|
|
8
8
|
// included in the file licenses/APL.txt.
|
|
9
9
|
|
|
10
|
+
// Copyright 2024 Synnax Labs, Inc.
|
|
11
|
+
//
|
|
12
|
+
// Use of this software is governed by the Business Source License included in the file
|
|
13
|
+
// licenses/BSL.txt.
|
|
14
|
+
//
|
|
15
|
+
// As of the Change Date specified in that file, in accordance with the Business Source
|
|
16
|
+
// License, use of this software will be governed by the Apache License, Version 2.0,
|
|
17
|
+
// included in the file licenses/APL.txt.
|
|
18
|
+
|
|
10
19
|
/* eslint-disable @typescript-eslint/no-var-requires */
|
|
11
20
|
// Copyright 2023 Synnax Labs, Inc.
|
|
12
21
|
//
|