@webqit/port-plus 0.1.9 → 0.1.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/main.js CHANGED
@@ -1,2 +1,2 @@
1
- (()=>{var Ye=Object.defineProperty;var he=(r,e)=>{for(var t in e)Ye(r,t,{get:e[t],enumerable:!0})};var Ne={};he(Ne,{BroadcastChannelPlus:()=>pe,MessageChannelPlus:()=>me,MessageEventPlus:()=>M,MessagePortPlus:()=>E,Observer:()=>Ve,RelayPort:()=>de,StarPort:()=>X,WebSocketPort:()=>J});function w(r){return!Array.isArray(r)&&typeof r=="object"&&r}function H(r){return typeof r}function I(r){return Array.isArray(r)}function G(r){return typeof r=="function"}function ge(r){return r===null||r===""}function k(r){return arguments.length&&(r===void 0||typeof r>"u")}function b(r){return Array.isArray(r)||typeof r=="object"&&r||G(r)}function ye(r){return ge(r)||k(r)||r===!1||r===0||b(r)&&!Object.keys(r).length}function C(r){return G(r)||r&&{}.toString.call(r)==="[object function]"}function se(r){return r instanceof String||typeof r=="string"&&r!==null}function _e(r){return!se(r)&&!k(r.length)}function $(r,...e){if(!r||!["object","function"].includes(typeof r))throw new Error("Argument #1 must be of type object");let t=r[Symbol.for("wq")];if(t||(t=new ie,Object.defineProperty(r,Symbol.for("wq"),{value:t,enumerable:!1,configurable:!1,writable:!1})),!e.length)return t;let n,o;for(;n=e.shift();)(o=t)&&!(t=t.get(n))&&(t=new ie,o.set(n,t));return t}var ie=class extends Map{};var M=class extends MessageEvent{#e;get originalTarget(){return this.#e}#n;get eventID(){return this.#n}#r;get data(){return this.#r}#o;get live(){return this.#o}#a;get bubbles(){return this.#a}#f;get forwarded(){return this.#f}#s;get honourDoneMutationFlags(){return this.#s}#t=[];get ports(){return this.#t}constructor(e,{originalTarget:t=null,type:n="message",eventID:o,live:s=!1,honourDoneMutationFlags:l=!1,bubbles:f=!1,forwarded:a=!1,ports:i=[]}={}){if(n&&typeof n!="string")throw new TypeError("Where specified, wqEventOptions.type must be a string");super(n),this.#r=e,this.#e=t,this.#n=o,this.#o=s,this.#a=f,this.#f=a,this.#s=l,this.#t=i;let u=this.#e&&j(this.#e)||{};if(this.#t.forEach(c=>E.upgradeInPlace(c,{autoStart:u.autoStart,postAwaitsOpen:u.postAwaitsOpen})),b(this.#r)&&this.#o){if(typeof o!="string")throw new TypeError("eventID must be a non-empty string");xe.call(t,this.#r,this.#n,{honourDoneMutationFlags:this.#s})}}#u=!1;get immediatePropagationStopped(){return this.#u}stopImmediatePropagation(){this.#u=!0,this.#i=!0,super.stopImmediatePropagation()}#i=!1;get propagationStopped(){return this.#i}stopPropagation(){this.#i=!0,super.stopPropagation()}#l=!1;get defaultPrevented(){return this.#l}preventDefault(){this.#l=!0,super.preventDefault()}respondWith(e,t=[]){for(let n of this.#t)n.postMessage(e,t);return!!this.#t.length}};var Le={};he(Le,{any:()=>_t,apply:()=>Te,batch:()=>Ce,construct:()=>Ae,defineProperties:()=>vt,defineProperty:()=>te,deleteProperties:()=>Pt,deleteProperty:()=>re,get:()=>R,getOwnPropertyDescriptor:()=>fe,getOwnPropertyDescriptors:()=>xt,getPrototypeOf:()=>Ee,has:()=>ue,intercept:()=>bt,isExtensible:()=>Me,map:()=>wt,observe:()=>qe,ownKeys:()=>Se,path:()=>gt,preventExtensions:()=>je,reduce:()=>De,set:()=>W,setPrototypeOf:()=>Ie,subtree:()=>yt});function F(r,e=!0){return I(r)?r:!e&&w(r)?[r]:r!==!1&&r!==0&&ye(r)?[]:_e(r)?Array.prototype.slice.call(r):w(r)?Object.values(r):[r]}var v=(r,...e)=>$(r,"observerAPI",...e),K=(r,e)=>r instanceof Promise?r.then(e):e(r),ae={};var z=class{constructor(e,t){this.registry=e,Object.assign(this,{...t,target:e.target}),this.params.signal&&this.params.signal.addEventListener("abort",()=>this.remove())}remove(){return this.removed=!0,this.registry.removeRegistration(this)}};var Y=class extends z{constructor(){super(...arguments),this.emit.currentRegistration=this,Object.defineProperty(this,"abortController",{value:new AbortController}),Object.defineProperty(this,"signal",{value:this.abortController.signal}),ae.setMaxListeners?.(0,this.signal)}remove(){this.abortController.abort(),super.remove()}fire(e){if(this.emit.recursionTarget&&!["inject","force-async","force-sync"].includes(this.params.recursions))return;let t=e,n=this.filter;if(n!==1/0&&(n=F(n,!1))&&(t=e.filter(s=>n.includes(s.key))),this.params.diff&&(t=t.filter(s=>s.type!=="set"||s.value!==s.oldValue)),!t.length)return;if(["inject","defer"].includes(this.params.recursions)){if(this.emit.recursionTarget){this.emit.recursionTarget.push(...t);return}this.emit.recursionTarget=this.params.recursions==="inject"?t:[]}let o=this.filter===1/0||Array.isArray(this.filter)?this.emit(t,this):this.emit(t[0],this);return K(o,s=>{let l=this.emit.recursionTarget;return delete this.emit.recursionTarget,this.params.recursions==="defer"&&l?.length?this.emit.currentRegistration.fire(l):s})}};var B=class{constructor(e){this.target=e,this.entries=[]}addRegistration(e){return this.entries.push(e),e}removeRegistration(e){this.entries=this.entries.filter(t=>t!==e)}static _getInstance(e,t,n=!0,o=this.__namespace){if(!b(t))throw new Error(`Subject must be of type object; "${H(t)}" given!`);let s=this;return o&&v(globalThis,"observerAPI","namespaces").has(e+"-"+o)&&(s=v(globalThis,"observerAPI","namespaces").get(e+"-"+o),e+="-"+o),!v(t,"registry").has(e)&&n&&v(t,"registry").set(e,new s(t)),v(t,"registry").get(e)}static _namespace(e,t,n=null){if(e+="-"+t,arguments.length===2)return v(globalThis,"observerAPI","namespaces").get(e);if(!(n.prototype instanceof this))throw new Error(`The implementation of the namespace ${this.name}.${t} must be a subclass of ${this.name}.`);v(globalThis,"observerAPI","namespaces").set(e,n),n.__namespace=t}};var P=class{constructor(e,t){if(this.target=e,!t.operation)throw new Error("Descriptor operation must be given in definition!");Object.assign(this,t)}};var L=class extends B{static getInstance(e,t=!0,n=null){return super._getInstance("listeners",...arguments)}static namespace(e,t=null){return super._namespace("listeners",...arguments)}constructor(e){super(e),this.batches=[]}addRegistration(e,t,n){return super.addRegistration(new Y(this,{filter:e,emit:t,params:n}))}emit(e,{eventsArePropertyDescriptors:t=!1,eventIsArrayMethodDescriptor:n=!1}={}){if(this.batches.length){let o=this.batches[0].params.arrayMethodName;this.batches[0].snapshots.push({events:[...e],arrayMethodName:o,eventsArePropertyDescriptors:t,eventIsArrayMethodDescriptor:n});return}this.$emit(this.entries,[{events:e,eventsArePropertyDescriptors:t,eventIsArrayMethodDescriptor:n}])}$emit(e,t){let n=0,o=0,s=0;for(let u of e)n+=1,u.params.withPropertyDescriptors&&(o+=1),u.params.withArrayMethodDescriptors&&(s+=1);let l=[],f=[],a=[],i=[];for(let u of t){let c=u.arrayMethodName,p=u.eventsArePropertyDescriptors,g=u.eventIsArrayMethodDescriptor;for(let m of u.events)if(c&&(m.operation=c),o&&(s&&l.push(m),g||s!==n&&f.push(m)),o!==n){let h=m;if(p){let{target:y,type:x,..._}=m;h=new P(y,{type:"set",..._}),Object.defineProperty(h,"value","get"in _.value?{get:()=>_.value.get()}:{value:_.value.value}),_.oldValue&&Object.defineProperty(h,"oldValue","get"in _.oldValue?{get:()=>_.oldValue.get()}:{value:_.oldValue.value})}s&&a.push(h),g||s!==n&&i.push(h)}}for(let u of e)u.params.withPropertyDescriptors?u.params.withArrayMethodDescriptors?l.length&&u.fire(l):f.length&&u.fire(f):u.params.withArrayMethodDescriptors?a.length&&u.fire(a):i.length&&u.fire(i)}batch(e,t={}){this.batches.unshift({entries:[...this.entries],snapshots:[],params:t});let n=e();return K(n,o=>{let s=this.batches.shift();return s.snapshots.length&&this.$emit(s.entries,s.snapshots),o})}};var Z=class extends z{exec(e,t,n){return this.running||!this.traps[e.operation]?t(...Array.prototype.slice.call(arguments,2)):(this.running=!0,this.traps[e.operation](e,n,(...o)=>(this.running=!1,t(...o))))}};var N=class extends B{static getInstance(e,t=!0,n=null){return super._getInstance("traps",...arguments)}static namespace(e,t=null){return super._namespace("traps",...arguments)}addRegistration(e){return super.addRegistration(new Z(this,e))}emit(e,t=null){let n=this;return function o(s,...l){let f=n.entries[s];return f?f.exec(e,(...a)=>o(s+1,...a),...l):t?t(e,...l):l[0]}(0)}};var Oe={};he(Oe,{accessorize:()=>dt,proxy:()=>ve,unaccessorize:()=>ht,unproxy:()=>ee});var Be=Symbol("wqOriginal");function dt(r,e,t={}){r=Pe(r);let n=v(r,"accessorizedProps");function o(a){let i,u=r;do i=Object.getOwnPropertyDescriptor(u,a);while(!i&&(u=Object.getPrototypeOf(u)));return i?{proto:u,descriptor:i}:{descriptor:{value:void 0,configurable:!0,enumerable:!0,writable:!0}}}function s(a){if(n.has(a+""))return!0;let i=o(a);i.getValue=function(p=!1){return p?this.descriptor:this.descriptor.get?this.descriptor.get():this.descriptor.value},i.setValue=function(p,g=!1){if(this.dirty=!0,g){this.descriptor=p;return}return this.descriptor.set?this.descriptor.set(p)!==!1:(this.descriptor.value=p,!0)},i.intact=function(){let p=Object.getOwnPropertyDescriptor(r,a);return p?.get===c.get&&p?.set===c.set&&n.get(a+"")===this},i.restore=function(){return this.intact()?(this.proto&&this.proto!==r||!this.proto&&!this.dirty?delete r[a]:Object.defineProperty(r,a,this.descriptor),n.delete(a+""),!0):!1},n.set(isNaN(a)?a:parseInt(a),i);let{enumerable:u=!0}=i.descriptor,c={enumerable:u,configurable:!0};("value"in i.descriptor||i.descriptor.set)&&(c.set=function(p){return W(this,a,p,t)}),("value"in i.descriptor||i.descriptor.get)&&(c.get=function(){return R(this,a,t)});try{return Object.defineProperty(r,a,c),!0}catch{return n.delete(a+""),!1}}let f=(Array.isArray(e)?e:e===void 0?Object.keys(r):[e]).map(s);return e===void 0||Array.isArray(e)?f:f[0]}function ht(r,e,t={}){r=Pe(r);let n=v(r,"accessorizedProps");function o(f){return n.has(f+"")?n.get(f+"").restore():!0}let l=(Array.isArray(e)?e:e===void 0?Object.keys(r):[e]).map(o);return e===void 0||Array.isArray(e)?l:l[0]}function ve(r,e={},t=void 0){let n=Pe(r);if(typeof e.membrane=="boolean")throw new Error("The params.membrane parameter cannot be of type boolean.");if(e.membrane&&v(n,"membraneRef").has(e.membrane))return v(n,"membraneRef").get(e.membrane);let o={apply:(f,a,i)=>Te(f,a,i,void 0,e),construct:(f,a,i=null)=>Ae(f,a,i,e),defineProperty:(f,a,i)=>te(f,a,i,e),deleteProperty:(f,a)=>re(f,a,e),get:(f,a,i=null)=>{if(a===Be)return n;let u={...e,receiver:i},c=R(f,a,u);return Array.isArray(f)&&typeof c=="function"&&!/^class\s?/.test(Function.prototype.toString.call(c))?ve(c,{...e,arrayMethodName:a,membrane:i},t):e.chainable&&b(c)&&a!=="prototype"&&!(typeof c=="function"&&/^class\s?|\{\s\[native\scode\]\s\}$/.test(Function.prototype.toString.call(c)))?ve(c,e,t):c},getOwnPropertyDescriptor:(f,a)=>fe(f,a,e),getPrototypeOf:f=>Ee(f,e),has:(f,a)=>ue(f,a,e),isExtensible:f=>Me(f,e),ownKeys:f=>Se(f,e),preventExtensions:f=>je(f,e),set:(f,a,i,u=null)=>W(f,a,i,{...e,receiver:u}),setPrototypeOf:(f,a)=>Ie(f,a,e)},s=t?.(o)||o,l=new Proxy(n,s);return e.membrane&&v(n,"membraneRef").set(e.membrane,l),l}function ee(r){return r&&r[Be]||r}function Pe(r){if(!r||!b(r))throw new Error("Target must be of type object!");return ee(r)}var ne=class extends Array{};function gt(...r){return new ne(...r)}var V=class extends Array{};function yt(){return new V}function _t(){return 1/0}function De(r,e,t,n=s=>s,o={}){let s=e instanceof V;if(!(!s&&!e?.length))return function l(f,a,i,u){let c=u||a[i.level]instanceof V,p=c?1/0:a[i.level],g=c?!1:i.level===a.length-1;return f instanceof P&&f.operation!=="get"?i={...i,probe:"always"}:i.probe!=="always"&&(i={...i,probe:!g}),t(f,p,(m,...h)=>{let y=d=>{d instanceof P&&(d.path="key"in d?[d.key]:[],f instanceof P&&(d.path="key"in d?f.path.concat(d.key):f.path.slice(0),Object.defineProperty(d,"context",{get:()=>f,configurable:!0})))},x=h[0]||{},_=d=>{if(d instanceof P&&"argumentsList"in d)return;let T=q(d,!1);return K(T,S=>(d instanceof P?d.value=S:d=S,l(d,a,{...i,...x,keyInParent:d.key,level:i.level+1},c)))};if(oe(p)&&Array.isArray(m)){if(m.forEach(y),g)return n(m,...h);c&&m[0]instanceof P&&(m[0].operation!=="get"||o.asGet)&&n(m,...h);for(let d of m)_(d);return}return y(m),g?n(m,...h):_(m)},i)}(r,e.slice(0),{...o,level:0},s)}function qe(r,e,t,n={}){let o=q(r,!n.level);if(C(arguments[1])&&([,t,n={}]=arguments,e=1/0),!C(t))throw new Error(`Handler must be a function; "${H(t)}" given!`);if(e instanceof ne||e instanceof V)return De(o,e,qe,t,n);if(n={...n,descripted:!0},delete n.live,!b(o))return n.probe&&R(o,e,t,n)||void 0;let s=We(o,e,t,n);return n.probe?R(o,e,s,n):s()}function bt(r,e,t={}){let n=q(r);return w(e)||([,,,t={}]=arguments,e={[arguments[1]]:arguments[2]}),N.getInstance(n,!0,t.namespace).addRegistration({traps:e,params:t})}function fe(r,e,t=o=>o,n={}){return D(r,"getOwnPropertyDescriptor",{key:e},t,n)}function xt(r,e,t=o=>o,n={}){return D(r,"getOwnPropertyDescriptors",{key:e},t,n)}function Ee(r,e=n=>n,t={}){return D(r,"getPrototypeOf",{},e,t)}function Me(r,e=n=>n,t={}){return D(r,"isExtensible",{},e,t)}function Se(r,e=n=>n,t={}){return D(r,"ownKeys",{},e,t)}function ue(r,e,t=o=>o,n={}){return D(r,"has",{key:e},t,n)}function R(r,e,t=o=>o,n={}){let o,s=q(r,!n.level);return w(t)?[n,t]=[t,l=>l]:n.live&&(o=!0),e instanceof ne||e instanceof V?De(s,e,R,t,{...n,asGet:!0}):Ot(s,e,l=>{let f=[...l];return function a(i,u,c){if(!u.length)return c(i);let p=u.shift();if(!["string","number","symbol"].includes(typeof p))throw new Error(`Property name/key ${p} invalid.`);function g(y,x=void 0){let _=S=>(y.value=S,a([...i,n.live||n.descripted?y:S],u,c));if(arguments.length>1)return _(x);if(!b(s))return _(s?.[y.key]);let d=v(s,"accessorizedProps",!1),T=d&&d.get(y.key);if(T&&T.intact())return _(T.getValue(n.withPropertyDescriptors));if(n.withPropertyDescriptors){let S=Object.getOwnPropertyDescriptor(s,y.key);return _(S)}return _(Reflect.get(s,y.key))}let m=new P(s,{type:"get",key:p,value:void 0,operation:"get",related:f});if(!b(s))return g(m);let h=N.getInstance(s,!1,n.namespace);return h?h.emit(m,g):g(m)}([],l.slice(0),a=>{let i=oe(e)?a:a[0];return o&&b(s)?We(s,e,t,n,r.key)(i):t(i)})},n)}function Ce(r,e,t={}){let n=q(r);return L.getInstance(n,!0,t.namespace).batch(e,t)}function wt(r,e,t={}){e=q(e),r=q(r);let n=(t.only||[]).slice(0),o=(t.except||[]).slice(0),s=Object.keys(t.spread?[...r]:r).map(i=>isNaN(i)?i:parseInt(i)),l=n.length?n.filter(i=>s.includes(i)):s.filter(i=>!o.includes(i)),f=i=>!Array.isArray(e)||isNaN(i)?i:i-o.filter(u=>u<i).length,a=i=>{let u=fe(r,i,t);"value"in u&&u.writable&&u.enumerable&&u.configurable?W(e,f(i),u.value,t):(u.enumerable||t.onlyEnumerable===!1)&&te(e,i,{...u,configurable:!0},t)};return Ce(e,()=>{l.forEach(a)}),qe(r,i=>{i.filter(u=>n.length?n.includes(u.key):!o.includes(u.key)).forEach(u=>{if(u.type==="delete")return re(e,f(u.key),t);if(u.type==="def"){(u.value.enumerable||t.onlyEnumerable===!1)&&te(e,f(u.key),{...u.value,configurable:!0},t);return}a(u.key)})},{...t,withPropertyDescriptors:!0})}function W(r,e,t,n=l=>l,o={},s=!1){let l=q(r),f=[[e,t]];w(e)&&([,,n=i=>i,o={},s=!1]=arguments,f=Object.entries(e)),w(n)&&([s,o,n]=[typeof o=="boolean"?o:s,n,i=>i]);let a=f.map(([i])=>i);return function i(u,c,p){if(!c.length)return p(u);let[g,m]=c.shift();function h(x,_=void 0){let d=Xe=>(x.status=Xe,i(u.concat(x),c,p));if(arguments.length>1)return d(x,_);let T=v(l,"accessorizedProps",!1),S=T&&T.get(x.key);return x.type==="def"?(S&&!S.restore()&&d(!1),Object.defineProperty(l,x.key,x.value),d(!0)):S&&S.intact()?d(S.setValue(x.value)):d(Reflect.set(l,x.key,x.value))}function y(x,_){if(o.diff&&m===_)return i(u,c,p);let d=new P(l,{type:s?"def":"set",key:g,value:m,isUpdate:x,oldValue:_,related:[...a],operation:s?"defineProperty":"set",detail:o.detail}),T=N.getInstance(l,!1,o.namespace);return T?T.emit(d,h):h(d)}return ue(l,g,x=>{if(!x)return y(x);if(g==="length"&&Array.isArray(l)&&v(l).has("$length"))return y(!0,v(l).get("$length"));let _={...o,withPropertyDescriptors:s};return R(l,g,d=>y(x,d),_)},o)}([],f.slice(0),i=>{let u=L.getInstance(l,!1,o.namespace);return u&&u.emit(i,{eventsArePropertyDescriptors:!!s}),n(oe(e)?i.map(c=>c.status):i[0]?.status)})}function te(r,e,t,n=s=>s,o={}){return W(r,e,t,n,o,!0)}function vt(r,e,t=o=>o,n={}){return W(r,e,t,n,!0)}function re(r,e,t=o=>o,n={}){let o=q(r);w(t)&&([n,t]=[t,f=>f]);let s=F(e,!1),l=[...s];return function f(a,i,u){if(!i.length)return u(a);let c=i.shift();function p(m,h=void 0){let y=d=>(m.status=d,f(a.concat(m),i,u));if(arguments.length>1)return y(m,h);let x=v(o,"accessorizedProps",!1),_=x&&x.get(m.key);return _&&!_.restore()&&y(!1),y(Reflect.deleteProperty(o,m.key))}function g(m){let h=new P(o,{type:"delete",key:c,oldValue:m,related:[...l],operation:"deleteProperty",detail:n.detail}),y=N.getInstance(o,!1,n.namespace);return y?y.emit(h,p):p(h)}return R(o,c,g,n)}([],s.slice(0),f=>{let a=L.getInstance(o,!1,n.namespace);return a&&a.emit(f),t(oe(e)?f.map(i=>i.status):f[0].status)})}function Pt(r,e,t=o=>o,n={}){return re(...arguments)}function Ae(r,e,t=null,n=s=>s,o={}){return D(r,"construct",arguments.length>2?{argumentsList:e,newTarget:t}:{argumentsList:e},n,o)}function Te(r,e,t,n=s=>s,o={}){let s=ee(e),l;if(Array.isArray(e)){if(o.arrayMethodName){let f=new P(s,{operation:o.arrayMethodName,argumentsList:t});L.getInstance(s,!1,o.namespace)?.emit([f],{eventIsArrayMethodDescriptor:!0})}v(s).set("$length",s.length),l=Ce(s,()=>D(r,"apply",{thisArgument:e,argumentsList:t},n,o),o),v(s).delete("$length")}else l=D(r,"apply",{thisArgument:s,argumentsList:t},n,o);return l}function Ie(r,e,t=o=>o,n={}){return D(r,"setPrototypeOf",{proto:e},t,n)}function je(r,e=n=>n,t={}){return D(r,"preventExtensions",{},e,t)}function We(r,e,t,n={}){let o=new AbortController;ae.setMaxListeners?.(0,o.signal),n.signal&&n.signal.addEventListener("abort",()=>o.abort());let s={...n,signal:o.signal},l=L.getInstance(r,!0,s.namespace),f=new Map;return function a(i=[],u=null){let c,p,g;if(oe(e)){if(u){g=!0,p=u;for(let m of i)f.get(m.key)?.remove(),f.delete(m.key)}else p=l.addRegistration(e,a,s);c={signal:p.signal,childRegistrations:f}}else u?.remove(),p=l.addRegistration(e,a,s),c={signal:p.signal};if(s.childRegistrations&&s.keyInParent&&s.childRegistrations.set(s.keyInParent,p),arguments.length){let m=t(i,c);if(arguments.length>1)return m}return o}}function D(r,e,t={},n=s=>s,o={}){r=q(r),w(n)&&([o,n]=[n,a=>a]);function s(a,i){return arguments.length>1?n(i):n((Reflect[e]||Object[e])(r,...Object.values(t)))}let l=new P(r,{operation:e,...t}),f=N.getInstance(r,!1,o.namespace);return f?f.emit(l,s):s(l)}function oe(r){return r===1/0||Array.isArray(r)}function q(r,e=!0,t=!0){if((!r||!b(r))&&e)throw new Error(`Object must be of type object or array! "${H(r)}" given.`);return r instanceof P&&(r.type==="def"&&t?r=typeof r.value.get=="function"?r.value.get():r.value.value:r=r.value),r&&ee(r)}function Ot(r,e,t,n={}){return e===1/0?n.level&&!b(r)?t([]):t(Object.entries(Object.getOwnPropertyDescriptors(r)).filter(([,o])=>o.writable!==!1&&!o.get&&!o.set).map(([o])=>o)):t(F(e,!1))}var A={...Le,...Oe},Ve=A;var J=class extends le(EventTarget){#e;constructor(e,{autoStart:t=!0,naturalOpen:n=!0,postAwaitsOpen:o=!1}={}){if(super(),this.#e=typeof e=="string"?new WebSocket(e):e,O(this).set("options",{autoStart:t,naturalOpen:n,postAwaitsOpen:o}),this.constructor.upgradeEvents(this.#e,this),n&&t&&this.#e.readyState===WebSocket.OPEN&&this.start(),this.#e.readyState===WebSocket.CLOSED)try{this.close()}catch{}}static _hydrateMessage(e,t){try{let n;if(typeof t.data=="string"&&w(n=JSON.parse(t.data))&&n[".wq"])return Object.defineProperty(t,"data",{value:n,configurable:!0}),super._hydrateMessage(e,t)}catch{}return t}__postMessage(e,t){this.#e.send(JSON.stringify(e),t)}};var Ue=(r,...e)=>$(r,"port+",...e),O=(r,...e)=>$(r,"port+","meta",...e),j=r=>$(r,"port+","meta").get("options")||{},He=["addEventListener","addRequestListener","postMessage","postRequest","dispatchEvent","relay","start","readyStateChange","removeEventListener","close"],Ge=["options","readyState","onmessage","onmessageerror"],E=class extends Ke(EventTarget){constructor(e={}){super(),Ue(this,"meta").set("options",e)}static[Symbol.hasInstance](e){return Function.prototype[Symbol.hasInstance].call(this,e)?!0:He.every(t=>typeof e[t]=="function")||Ge.every(t=>t in e)}};function Ke(r){return class extends r{static upgradeInPlace(e,t={}){if(e instanceof E)return e;let n=this.prototype;for(let s of He){let l=e[s],f=n[s];l&&Object.defineProperty(e,`_${s}`,{value:l.bind(e),configurable:!0}),Object.defineProperty(e,s,{value:f.bind(e),configurable:!0})}for(let s of Ge){let l=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(e),s),f=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(n),s);l&&Object.defineProperty(e,`_${s}`,{...l,configurable:!0}),Object.defineProperty(e,s,{...f,configurable:!0})}return Ue(e,"meta").set("options",t),this.upgradeEvents(e),e}static upgradeEvents(e,t=null){t||(t=e);let n=O(e);if(n.get("events+"))return;let o=O(t),s=j(t),l=U.call(t),f=Q.call(t);e instanceof BroadcastChannel&&(s.clientServerMode==="server"?o.set("clients",new Set):s.clientServerMode==="client"&&o.set("client_id",`client-${(0|Math.random()*9e6).toString(36)}`));let a=c=>{if(c instanceof M)return;if(e===t&&c.stopImmediatePropagation?.(),c=this._hydrateMessage?.(t,c)||c,c.data.ping==="connect"&&typeof c.data?.[".wq"]?.eventID=="string"&&(!(e instanceof WebSocket)||!s.naturalOpen)){let h=!0;e instanceof BroadcastChannel&&(s.clientServerMode==="server"&&typeof c.data.id=="string"?(o.get("clients").add(c.data.id),h="server"):c.data.id==="server"&&o.has("client_id")&&(h=o.get("client_id"))),c.ports?.forEach(y=>y.postMessage(h)),o.set("remote.start.called",!0),t.start();return}if(c.data.ping==="disconnect"&&typeof c.data?.[".wq"]?.eventID=="string"){let h=()=>{o.set("remote.close.called",!0),t.close()};e instanceof BroadcastChannel?s.clientServerMode==="server"&&typeof c.data.id=="string"?(o.get("clients").delete(c.data.id),!o.get("clients").size&&s.autoClose&&!f.close.state&&h()):s.clientServerMode==="client"&&c.data.id==="server"&&h():e instanceof MessagePort&&h();return}let p=c.data,g={};typeof c.data?.[".wq"]?.eventID=="string"&&({message:p,".wq":g}=c.data);let m=new M(p,{originalTarget:e,...g,ports:c.ports});t.dispatchEvent(m)},i=c=>{e instanceof WebSocket&&s.naturalOpen&&!(c instanceof M)&&(o.set("remote.start.called",!0),t.start())},u=c=>{(e instanceof WebSocket||e instanceof MessagePort)&&!(c instanceof M)&&(o.set("remote.close.called",!0),t.close())};n.set("internal_call",!0),e.addEventListener("message",a),e.addEventListener("error",a),e.addEventListener("open",i),e.addEventListener("close",u),n.delete("internal_call"),n.set("events+",!0),l.add(()=>{e.removeEventListener("message",a),e.removeEventListener("error",a),e.removeEventListener("open",i),e.removeEventListener("close",u),n.set("events+",!1)})}get options(){return{...j(this)}}get onmessageerror(){return typeof super.onmessageerror<"u"?super.onmessageerror:typeof this._onmessageerror<"u"?this._onmessageerror:null}set onmessageerror(e){if(typeof super.onmessageerror<"u"){super.onmessageerror=e;return}if(e!==null&&typeof e!="function")throw new TypeError("onmessageerror must be a function");if(Object.getOwnPropertyDescriptor(this,"_onmessageerror")?.set){this._onmessageerror=e;return}this._onmessageerror&&this.removeEventListener("messageerror",this._onmessageerror),this.addEventListener("messageerror",e),this._onmessageerror=e}get onmessage(){return typeof super.onmessage<"u"?super.onmessage:typeof this._onmessage<"u"?this._onmessage:null}set onmessage(e){let t=O(this),n=j(this);if(!t.get("internal_call")&&n.autoStart&&this.start(),typeof super.onmessage<"u"){super.onmessage=e;return}if(e!==null&&typeof e!="function")throw new TypeError("onmessage must be a function");if(Object.getOwnPropertyDescriptor(this,"_onmessage")?.set){this._onmessage=e;return}this._onmessage&&this.removeEventListener("message",this._onmessage),this.addEventListener("message",e),this._onmessage=e}addEventListener(...e){let t=O(this),n=j(this);return!t.get("internal_call")&&n.autoStart&&this.start(),U.call(this).add(()=>{this._removeEventListener?this._removeEventListener(...e):super.removeEventListener(...e)}),this._addEventListener?this._addEventListener(...e):super.addEventListener(...e)}dispatchEvent(e){let t=this._dispatchEvent?this._dispatchEvent(e):super.dispatchEvent(e);return e instanceof M&&Et.call(this,e),t}postMessage(e,t={}){let n=O(this),o=j(this);!n.get("internal_call")&&o.autoStart&&this.start();let s=Q.call(this);s.messaging.state=!0,s.messaging.resolve(this);let l,{portOptions:f,wqOptions:{relayedFrom:a,...i}}=ce.call(this,e,t);(i.type!=="message"||i.live||i.bubbles||f.transfer?.length&&(this instanceof BroadcastChannel||this instanceof J))&&(e={message:e,".wq":i}),t=f,l=a;let u=()=>{this._postMessage?this._postMessage(e,t,l):super.postMessage(e,t)};o.postAwaitsOpen?s.open.promise.then(u):u()}addRequestListener(e,t,n={}){let o=async s=>{let l=await t(s);for(let f of s.ports)f.postMessage(l)};this.addEventListener(e,o,n)}postRequest(e,t,n={}){let o;w(t)&&(n={once:!0,...t},o=new Promise(u=>{t=u}));let s=new MessageChannel;this.constructor.upgradeEvents(s.port1),s.port1.start();let{signal:l=null,once:f=!1,transfer:a=[],...i}=n;return s.port1.addEventListener("message",u=>t(u),{signal:l,once:f}),l?.addEventListener("abort",()=>{s.port1.close(),s.port2.close()}),this.postMessage(e,{...i,transfer:[s.port2].concat(a)}),o}relay({to:e,from:t,types:n="*",channel:o=null,resolveMessage:s=null,bidirectional:l=!1}={}){if(e&&t)throw new Error('Only one of "to" and "from" may be specified');if(t?e=this:t=this,e===t)throw new Error("Source and target ports cannot be the same");if(!(t instanceof E)||!(e instanceof E))throw new Error("Both source and target ports must be instance of MessagePortPlus.");if(typeof n!="function"&&!(n=[].concat(n)).length)throw new Error("Event types must be specified.");if(typeof o=="string")o={from:o};else if(w(o)){if(Object.keys(o).filter(u=>!["from","to"].includes(u)).length)throw new Error('Channel must be a string or an object of "from"/"to" members')}else if(o)throw new Error("Invalid channel parameter");let f=Je.call(t),a={targetPort:e,types:n,channel:o,resolveMessage:s};f.add(a);let i;return l&&(i=e.relay({to:t,types:n,channel:o&&{to:o.from,from:o.to},resolveMessage:s,bidirectional:!1})),()=>{f.delete(a),i?.()}}channel(e,t=null){let n=new MessageChannel;return E.upgradeInPlace(n.port1,{autoStart:this.options.autoStart,postAwaitsOpen:this.options.postAwaitsOpen}),E.upgradeInPlace(n.port2,{autoStart:this.options.autoStart,postAwaitsOpen:this.options.postAwaitsOpen}),U.call(this).add(this.relay({channel:e,to:n.port1,bidirectional:!0,resolveMessage:t})),n.port1.start(),this.readyStateChange("close").then(()=>{n.port1.close()}),n.port2}projectMutations({from:e,to:t,...n}){if(!e||!t||typeof e=="string"&&typeof t=="string"||b(e)&&b(t))throw new Error('Invalid "from"/"to" parameters');if(typeof e=="string"){if(!b(t))throw new Error('Invalid "to" parameter. Object/array expected');return xe.call(this,t,e,n)}if(typeof t=="string"){if(!b(e))throw new Error('Invalid "from" parameter. Object/array expected');return Qe.call(this,e,t,n)}throw new Error('Invalid "from"/"to" parameters')}get readyState(){let e=Q.call(this);return e.close.state?"closed":e.open.state?"open":"connecting"}readyStateChange(e){if(!["open","messaging","close"].includes(e))throw new Error(`Invalid readyState query "${e}"`);return Q.call(this)[e].promise}start(){let e=Q.call(this);if(e.open.state)return;let t,n=()=>{if(e.open.state)return;e.open.state=!0,e.open.resolve(this);let i=new M(null,{type:"open"});this._dispatchEvent?this._dispatchEvent(i):super.dispatchEvent(i),t?.port1.close(),t?.port2.close()},o=O(this),s=j(this);if(o.get("remote.start.called")){n();return}if(o.get("start.called"))return;o.set("start.called",!0),this._start?this._start():super.start?.(),t=new MessageChannel,t.port1.onmessage=i=>{this instanceof BroadcastChannel&&s.clientServerMode==="server"&&typeof i.data=="string"&&o.get("clients").add(i.data),n()};let{wqOptions:l}=ce.call(this),f=s.clientServerMode==="server"?"server":s.clientServerMode==="client"?o.get("client_id"):null,a={".wq":l,ping:"connect",id:f};this._postMessage?this._postMessage(a,{transfer:[t.port2]}):super.postMessage(a,{transfer:[t.port2]})}close(...e){let t=Q.call(this);if(t.close.state)return;t.close.state=!0;let n=O(this),o=j(this);if(!n.get("remote.close.called")&&(this instanceof BroadcastChannel||this instanceof MessagePort)){let{wqOptions:l}=ce.call(this),f=o.clientServerMode==="server"?"server":o.clientServerMode==="client"?n.get("client_id"):null,a={".wq":l,ping:"disconnect",id:f};this._postMessage?this._postMessage(a):super.postMessage(a)}this._close?this._close(...e):super.close(...e),t.close.resolve(this);let s=new M(null,{type:"close"});this._dispatchEvent?this._dispatchEvent(s):super.dispatchEvent(s),Mt.call(this)}}}function le(r){return class extends Ke(r){static _hydrateMessage(e,t){if(typeof t.data?.[".wq"]?.numPorts!="number"||typeof t.data[".wq"].eventID!="string")return t;let n=U.call(e),o=t.data[".wq"].numPorts;Object.defineProperty(t,"ports",{value:[],configurable:!0});for(let s=0;s<o;s++){let l=e.channel(`${t.data[".wq"].eventID}:${s}`);t.ports.push(l)}return t}_postMessage(e,t={}){let{transfer:n=[],...o}=t;if(typeof e?.[".wq"]?.eventID=="string"){let s=U.call(this),l=n.filter(a=>a instanceof MessagePort),f=l.length;for(let a=0;a<f;a++)E.upgradeInPlace(l[a]),s.add(this.relay({channel:`${e[".wq"].eventID}:${a}`,to:l[a],bidirectional:!0})),l[a].start(),l[a].readyStateChange("close").then(()=>{let{wqOptions:i}=ce.call(this),u={".wq":i,ping:"disconnect"};this.postMessage(u,{type:`${e[".wq"].eventID}:${a}:message`})});e[".wq"].numPorts=f}return this.__postMessage(e,o)}}}function Et(r){if(r.propagationStopped)return;let e=O(this);e.get("parentNode")instanceof EventTarget&&(r.bubbles||e.get("parentNode")?.findPort?.(n=>n===this)&&r instanceof M)&&e.get("parentNode").dispatchEvent(r);let t=Je.call(this);if(t.size&&r instanceof M){let{type:n,eventID:o,data:s,live:l,bubbles:f,ports:a}=r,i=new WeakSet;for(let{targetPort:u,types:c,channel:p,resolveMessage:g}of t){if(i.has(u))continue;let m=n;p.from&&([,m]=new RegExp(`^${p.from.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}:([^:]+)$`).exec(n)||[],!m)||!(typeof c=="function"?c(m,this,u,p):[].concat(c).find(y=>y===m||y==="*"))||(i.add(u),u.postMessage(g?g(s,this,u,p):s,{transfer:a,type:p.to?`${p.to}:${m}`:m,eventID:o,bubbles:f,live:l,forwarded:!0,relayedFrom:this}))}}}function U(){let r=O(this);return r.has("garbage_collection")||r.set("garbage_collection",new Set),r.get("garbage_collection")}function Je(){let r=O(this);return r.has("downstream_registry")||r.set("downstream_registry",new Set),r.get("downstream_registry")}function Q(){let r=O(this);if(!r.has("readystate_registry")){let e=t=>(t.promise=new Promise((n,o)=>(t.resolve=n,t.reject=o)),t);r.set("readystate_registry",{open:e({}),messaging:e({}),close:e({})})}return r.get("readystate_registry")}function Mt(){let r=O(this);for(let e of r.get("garbage_collection")||[])e instanceof AbortController?e.abort():typeof e=="function"&&e();r.get("garbage_collection")?.clear(),r.get("downstream_registry")?.clear()}function ce(r=void 0,e={}){if(Array.isArray(e))e={transfer:e};else if(!e||typeof e!="object")throw new TypeError("transferOrOptions must be an array or an object");let{type:t="message",eventID:n=null,live:o=!1,observing:s=!1,bubbles:l=!1,forwarded:f=!1,relayedFrom:a=null,signal:i=null,withArrayMethodDescriptors:u=!1,honourDoneMutationFlags:c=!1,...p}=e;return n||(n=`${t}-${(0|Math.random()*9e6).toString(36)}`),!s&&!f&&b(r)&&o&&!t?.endsWith(".mutate")&&(Qe.call(this,r,n,{signal:i,withArrayMethodDescriptors:u,honourDoneMutationFlags:c}),s=!0),{portOptions:p,wqOptions:{type:t,eventID:n,live:o,observing:s,honourDoneMutationFlags:c,bubbles:l,forwarded:f,relayedFrom:a}}}function Qe(r,e,{signal:t,withArrayMethodDescriptors:n=!0,honourDoneMutationFlags:o=!1}={}){if(!b(r))throw new TypeError("data must be a plain object and not a stream");if(typeof e!="string")throw new TypeError("eventID must be a non-empty string");let s=a=>{let i;n&&Array.isArray(a[0].target)&&!a[0].argumentsList&&!["set","defineProperty","deleteProperty"].includes(a[0].operation)||(this.postMessage(a.map(u=>(i=!i&&o&&u.detail?.done,{...u,target:void 0})),{type:`${e}.mutate`}),i&&l.abort())},l=A.observe(r,A.subtree(),s,{signal:t,withArrayMethodDescriptors:n});return U.call(this).add(l),l}function xe(r,e,{signal:t,honourDoneMutationFlags:n=!1}={}){if(!b(r))throw new TypeError("data must be a plain object and not a stream");if(typeof e!="string")throw new TypeError("eventID must be a non-empty string");let o=f=>{if(!f.data?.length)return;let a;A.batch(r,()=>{for(let i of f.data){if(a=!a&&n&&i.detail?.done,i.argumentsList){let u=i.path.length?A.get(r,A.path(...i.path)):r;A.proxy(u)[i.operation](...i.argumentsList);continue}if(i.key!=="length"||["set","defineProperty","deleteProperty"].includes(i.operation)){let u=i.path.length===1?r:A.get(r,A.path(...i.path.slice(0,-1)));i.type==="delete"?A.deleteProperty(u,i.key):A.set(u,i.key,i.value)}}}),a&&s()};this.addEventListener(`${e}.mutate`,o,{signal:t});let s=()=>this.removeEventListener(`${e}.mutate`,o);return U.call(this).add(s),s}var pe=class extends le(BroadcastChannel){constructor(e,{autoStart:t=!0,postAwaitsOpen:n=!1,clientServerMode:o=null,autoClose:s=!0}={}){super(e);let l=O(this);if(o&&!["server","client"].includes(o))throw new Error('clientServerMode must be "server" or "client"');l.set("options",{autoStart:t,postAwaitsOpen:n,clientServerMode:o,autoClose:s}),this.constructor.upgradeEvents(this)}__postMessage(e,t){BroadcastChannel.prototype.postMessage.call(this,e)}};var me=class extends MessageChannel{constructor({autoStart:e=!0,postAwaitsOpen:t=!1}={}){super(),[this.port1,this.port2].forEach((n,o)=>{E.upgradeInPlace(n,{autoStart:e,postAwaitsOpen:t})})}};var X=class extends E{#e=new Set;get length(){return this.#e.size}[Symbol.iterator](){return this.#e[Symbol.iterator]()}constructor({autoClose:e=!0}={}){super({autoStart:!1,postAwaitsOpen:!0,autoClose:e})}addPort(e,{enableBubbling:t=!0}={}){if(!(e instanceof E))throw new TypeError("Port must be a WQMessagePort instance.");if(this.#e.has(e))return;this.#e.add(e);let n=O(e);if(t){if(n.get("parentNode"))throw new TypeError("Incoming port already has a parent node.");n.set("parentNode",this)}e.readyStateChange("open").then(()=>this.start()),e.readyStateChange("close").then(o);let o=()=>{this.#e.has(e)&&(this.#e.delete(e),t&&n.get("parentNode")===this&&n.set("parentNode",null),this.#e.size===0&&j(this).autoClose&&this.close())};return o}findPort(e){for(let t of this.#e)if(e(t))return t}_postMessage(e,t,n){for(let o of this.#e)o!==n&&o.postMessage(e,t)}close(...e){for(let t of this.#e)t.close?.(...e)}};var de=class extends X{#e;get channelSpec(){return this.#e}constructor(e=null){if(super(),typeof e=="string")e={from:e,to:e};else if(w(e)){if(Object.keys(e).filter(t=>!["from","to"].includes(t)).length)throw new Error('Channel must be a string or an object of "from"/"to" members')}else if(e)throw new Error("Invalid channel parameter");this.#e=e}addPort(e,{resolveMessage:t=null}={}){let n=(i,...u)=>t?t(i,...u):i,o=super.addPort(e,{enableBubbling:!1}),s=e.relay({channel:this.#e,to:this,bidirectional:!1,resolveMessage:n}),l=this.#e.from&&`${this.#e.from}:message`||"message";this.postMessage(n({event:"joins"},e,this),{type:l,relayedFrom:e});let f=()=>{this.postMessage(n({event:"leaves"},e,this),{type:l,relayedFrom:e})},a=()=>{f(),s(),o()};return e.readyStateChange("close").then(a),a}};globalThis.webqit||(globalThis.webqit={});Object.assign(globalThis.webqit,Ne);})();
1
+ (()=>{var Ye=Object.defineProperty;var he=(r,e)=>{for(var t in e)Ye(r,t,{get:e[t],enumerable:!0})};var Ne={};he(Ne,{BroadcastChannelPlus:()=>pe,MessageChannelPlus:()=>me,MessageEventPlus:()=>M,MessagePortPlus:()=>O,Observer:()=>Ve,RelayPort:()=>de,StarPort:()=>X,WebSocketPort:()=>Q});function w(r){return!Array.isArray(r)&&typeof r=="object"&&r}function G(r){return typeof r}function T(r){return Array.isArray(r)}function K(r){return typeof r=="function"}function ge(r){return r===null||r===""}function z(r){return arguments.length&&(r===void 0||typeof r>"u")}function b(r){return Array.isArray(r)||typeof r=="object"&&r||K(r)}function ye(r){return ge(r)||z(r)||r===!1||r===0||b(r)&&!Object.keys(r).length}function L(r){return K(r)||r&&{}.toString.call(r)==="[object function]"}function se(r){return r instanceof String||typeof r=="string"&&r!==null}function _e(r){return!se(r)&&!z(r.length)}function F(r,...e){if(!r||!["object","function"].includes(typeof r))throw new Error("Argument #1 must be of type object");let t=r[Symbol.for("wq")];if(t||(t=new ie,Object.defineProperty(r,Symbol.for("wq"),{value:t,enumerable:!1,configurable:!1,writable:!1})),!e.length)return t;let n,o;for(;n=e.shift();)(o=t)&&!(t=t.get(n))&&(t=new ie,o.set(n,t));return t}var ie=class extends Map{};var M=class extends MessageEvent{#e;get originalTarget(){return this.#e}#n;get eventID(){return this.#n}#r;get data(){return this.#r}#o;get live(){return this.#o}#a;get bubbles(){return this.#a}#f;get forwarded(){return this.#f}#s;get honourDoneMutationFlags(){return this.#s}#t=[];get ports(){return this.#t}constructor(e,{originalTarget:t=null,type:n="message",eventID:o,live:s=!1,honourDoneMutationFlags:l=!1,bubbles:f=!1,forwarded:a=!1,ports:i=[]}={}){if(n&&typeof n!="string")throw new TypeError("Where specified, wqEventOptions.type must be a string");super(n),this.#r=e,this.#e=t,this.#n=o,this.#o=s,this.#a=f,this.#f=a,this.#s=l,this.#t=i;let u=this.#e&&D(this.#e)||{};if(this.#t.forEach(c=>O.upgradeInPlace(c,{autoStart:u.autoStart,postAwaitsOpen:u.postAwaitsOpen})),b(this.#r)&&this.#o){if(typeof o!="string")throw new TypeError("eventID must be a non-empty string");xe.call(t,this.#r,this.#n,{honourDoneMutationFlags:this.#s})}}#u=!1;get immediatePropagationStopped(){return this.#u}stopImmediatePropagation(){this.#u=!0,this.#i=!0,super.stopImmediatePropagation()}#i=!1;get propagationStopped(){return this.#i}stopPropagation(){this.#i=!0,super.stopPropagation()}#l=!1;get defaultPrevented(){return this.#l}preventDefault(){this.#l=!0,super.preventDefault()}respondWith(e,t=[]){for(let n of this.#t)n.postMessage(e,t);return!!this.#t.length}};var Le={};he(Le,{any:()=>_t,apply:()=>Ie,batch:()=>Ce,construct:()=>Ae,defineProperties:()=>vt,defineProperty:()=>te,deleteProperties:()=>Pt,deleteProperty:()=>re,get:()=>$,getOwnPropertyDescriptor:()=>fe,getOwnPropertyDescriptors:()=>xt,getPrototypeOf:()=>Ee,has:()=>ue,intercept:()=>bt,isExtensible:()=>Me,map:()=>wt,observe:()=>qe,ownKeys:()=>Se,path:()=>gt,preventExtensions:()=>je,reduce:()=>De,set:()=>V,setPrototypeOf:()=>Te,subtree:()=>yt});function k(r,e=!0){return T(r)?r:!e&&w(r)?[r]:r!==!1&&r!==0&&ye(r)?[]:_e(r)?Array.prototype.slice.call(r):w(r)?Object.values(r):[r]}var v=(r,...e)=>F(r,"observerAPI",...e),J=(r,e)=>r instanceof Promise?r.then(e):e(r),ae={};var B=class{constructor(e,t){this.registry=e,Object.assign(this,{...t,target:e.target}),this.params.signal&&this.params.signal.addEventListener("abort",()=>this.remove())}remove(){return this.removed=!0,this.registry.removeRegistration(this)}};var Y=class extends B{constructor(){super(...arguments),this.emit.currentRegistration=this,Object.defineProperty(this,"abortController",{value:new AbortController}),Object.defineProperty(this,"signal",{value:this.abortController.signal}),ae.setMaxListeners?.(0,this.signal)}remove(){this.abortController.abort(),super.remove()}fire(e){if(this.emit.recursionTarget&&!["inject","force-async","force-sync"].includes(this.params.recursions))return;let t=e,n=this.filter;if(n!==1/0&&(n=k(n,!1))&&(t=e.filter(s=>n.includes(s.key))),this.params.diff&&(t=t.filter(s=>s.type!=="set"||s.value!==s.oldValue)),!t.length)return;if(["inject","defer"].includes(this.params.recursions)){if(this.emit.recursionTarget){this.emit.recursionTarget.push(...t);return}this.emit.recursionTarget=this.params.recursions==="inject"?t:[]}let o=this.filter===1/0||Array.isArray(this.filter)?this.emit(t,this):this.emit(t[0],this);return J(o,s=>{let l=this.emit.recursionTarget;return delete this.emit.recursionTarget,this.params.recursions==="defer"&&l?.length?this.emit.currentRegistration.fire(l):s})}};var W=class{constructor(e){this.target=e,this.entries=[]}addRegistration(e){return this.entries.push(e),e}removeRegistration(e){this.entries=this.entries.filter(t=>t!==e)}static _getInstance(e,t,n=!0,o=this.__namespace){if(!b(t))throw new Error(`Subject must be of type object; "${G(t)}" given!`);let s=this;return o&&v(globalThis,"observerAPI","namespaces").has(e+"-"+o)&&(s=v(globalThis,"observerAPI","namespaces").get(e+"-"+o),e+="-"+o),!v(t,"registry").has(e)&&n&&v(t,"registry").set(e,new s(t)),v(t,"registry").get(e)}static _namespace(e,t,n=null){if(e+="-"+t,arguments.length===2)return v(globalThis,"observerAPI","namespaces").get(e);if(!(n.prototype instanceof this))throw new Error(`The implementation of the namespace ${this.name}.${t} must be a subclass of ${this.name}.`);v(globalThis,"observerAPI","namespaces").set(e,n),n.__namespace=t}};var P=class{constructor(e,t){if(this.target=e,!t.operation)throw new Error("Descriptor operation must be given in definition!");Object.assign(this,t)}};var N=class extends W{static getInstance(e,t=!0,n=null){return super._getInstance("listeners",...arguments)}static namespace(e,t=null){return super._namespace("listeners",...arguments)}constructor(e){super(e),this.batches=[]}addRegistration(e,t,n){return super.addRegistration(new Y(this,{filter:e,emit:t,params:n}))}emit(e,{eventsArePropertyDescriptors:t=!1,eventIsArrayMethodDescriptor:n=!1}={}){if(this.batches.length){let o=this.batches[0].params.arrayMethodName;this.batches[0].snapshots.push({events:[...e],arrayMethodName:o,eventsArePropertyDescriptors:t,eventIsArrayMethodDescriptor:n});return}this.$emit(this.entries,[{events:e,eventsArePropertyDescriptors:t,eventIsArrayMethodDescriptor:n}])}$emit(e,t){let n=0,o=0,s=0;for(let u of e)n+=1,u.params.withPropertyDescriptors&&(o+=1),u.params.withArrayMethodDescriptors&&(s+=1);let l=[],f=[],a=[],i=[];for(let u of t){let c=u.arrayMethodName,p=u.eventsArePropertyDescriptors,g=u.eventIsArrayMethodDescriptor;for(let m of u.events)if(c&&(m.operation=c),o&&(s&&l.push(m),g||s!==n&&f.push(m)),o!==n){let h=m;if(p){let{target:y,type:x,..._}=m;h=new P(y,{type:"set",..._}),Object.defineProperty(h,"value","get"in _.value?{get:()=>_.value.get()}:{value:_.value.value}),_.oldValue&&Object.defineProperty(h,"oldValue","get"in _.oldValue?{get:()=>_.oldValue.get()}:{value:_.oldValue.value})}s&&a.push(h),g||s!==n&&i.push(h)}}for(let u of e)u.params.withPropertyDescriptors?u.params.withArrayMethodDescriptors?l.length&&u.fire(l):f.length&&u.fire(f):u.params.withArrayMethodDescriptors?a.length&&u.fire(a):i.length&&u.fire(i)}batch(e,t={}){this.batches.unshift({entries:[...this.entries],snapshots:[],params:t});let n=e();return J(n,o=>{let s=this.batches.shift();return s.snapshots.length&&this.$emit(s.entries,s.snapshots),o})}};var Z=class extends B{exec(e,t,n){return this.running||!this.traps[e.operation]?t(...Array.prototype.slice.call(arguments,2)):(this.running=!0,this.traps[e.operation](e,n,(...o)=>(this.running=!1,t(...o))))}};var R=class extends W{static getInstance(e,t=!0,n=null){return super._getInstance("traps",...arguments)}static namespace(e,t=null){return super._namespace("traps",...arguments)}addRegistration(e){return super.addRegistration(new Z(this,e))}emit(e,t=null){let n=this;return function o(s,...l){let f=n.entries[s];return f?f.exec(e,(...a)=>o(s+1,...a),...l):t?t(e,...l):l[0]}(0)}};var Oe={};he(Oe,{accessorize:()=>dt,proxy:()=>ve,unaccessorize:()=>ht,unproxy:()=>ee});var Be=Symbol("wqOriginal");function dt(r,e,t={}){r=Pe(r);let n=v(r,"accessorizedProps");function o(a){let i,u=r;do i=Object.getOwnPropertyDescriptor(u,a);while(!i&&(u=Object.getPrototypeOf(u)));return i?{proto:u,descriptor:i}:{descriptor:{value:void 0,configurable:!0,enumerable:!0,writable:!0}}}function s(a){if(n.has(a+""))return!0;let i=o(a);i.getValue=function(p=!1){return p?this.descriptor:this.descriptor.get?this.descriptor.get():this.descriptor.value},i.setValue=function(p,g=!1){if(this.dirty=!0,g){this.descriptor=p;return}return this.descriptor.set?this.descriptor.set(p)!==!1:(this.descriptor.value=p,!0)},i.intact=function(){let p=Object.getOwnPropertyDescriptor(r,a);return p?.get===c.get&&p?.set===c.set&&n.get(a+"")===this},i.restore=function(){return this.intact()?(this.proto&&this.proto!==r||!this.proto&&!this.dirty?delete r[a]:Object.defineProperty(r,a,this.descriptor),n.delete(a+""),!0):!1},n.set(isNaN(a)?a:parseInt(a),i);let{enumerable:u=!0}=i.descriptor,c={enumerable:u,configurable:!0};("value"in i.descriptor||i.descriptor.set)&&(c.set=function(p){return V(this,a,p,t)}),("value"in i.descriptor||i.descriptor.get)&&(c.get=function(){return $(this,a,t)});try{return Object.defineProperty(r,a,c),!0}catch{return n.delete(a+""),!1}}let f=(Array.isArray(e)?e:e===void 0?Object.keys(r):[e]).map(s);return e===void 0||Array.isArray(e)?f:f[0]}function ht(r,e,t={}){r=Pe(r);let n=v(r,"accessorizedProps");function o(f){return n.has(f+"")?n.get(f+"").restore():!0}let l=(Array.isArray(e)?e:e===void 0?Object.keys(r):[e]).map(o);return e===void 0||Array.isArray(e)?l:l[0]}function ve(r,e={},t=void 0){let n=Pe(r);if(typeof e.membrane=="boolean")throw new Error("The params.membrane parameter cannot be of type boolean.");if(e.membrane&&v(n,"membraneRef").has(e.membrane))return v(n,"membraneRef").get(e.membrane);let o={apply:(f,a,i)=>Ie(f,a,i,void 0,e),construct:(f,a,i=null)=>Ae(f,a,i,e),defineProperty:(f,a,i)=>te(f,a,i,e),deleteProperty:(f,a)=>re(f,a,e),get:(f,a,i=null)=>{if(a===Be)return n;let u={...e,receiver:i},c=$(f,a,u);return Array.isArray(f)&&typeof c=="function"&&!/^class\s?/.test(Function.prototype.toString.call(c))?ve(c,{...e,arrayMethodName:a,membrane:i},t):e.chainable&&b(c)&&a!=="prototype"&&!(typeof c=="function"&&/^class\s?|\{\s\[native\scode\]\s\}$/.test(Function.prototype.toString.call(c)))?ve(c,e,t):c},getOwnPropertyDescriptor:(f,a)=>fe(f,a,e),getPrototypeOf:f=>Ee(f,e),has:(f,a)=>ue(f,a,e),isExtensible:f=>Me(f,e),ownKeys:f=>Se(f,e),preventExtensions:f=>je(f,e),set:(f,a,i,u=null)=>V(f,a,i,{...e,receiver:u}),setPrototypeOf:(f,a)=>Te(f,a,e)},s=t?.(o)||o,l=new Proxy(n,s);return e.membrane&&v(n,"membraneRef").set(e.membrane,l),l}function ee(r){return r&&r[Be]||r}function Pe(r){if(!r||!b(r))throw new Error("Target must be of type object!");return ee(r)}var ne=class extends Array{};function gt(...r){return new ne(...r)}var U=class extends Array{};function yt(){return new U}function _t(){return 1/0}function De(r,e,t,n=s=>s,o={}){let s=e instanceof U;if(!(!s&&!e?.length))return function l(f,a,i,u){let c=u||a[i.level]instanceof U,p=c?1/0:a[i.level],g=c?!1:i.level===a.length-1;return f instanceof P&&f.operation!=="get"?i={...i,probe:"always"}:i.probe!=="always"&&(i={...i,probe:!g}),t(f,p,(m,...h)=>{let y=d=>{d instanceof P&&(d.path="key"in d?[d.key]:[],f instanceof P&&(d.path="key"in d?f.path.concat(d.key):f.path.slice(0),Object.defineProperty(d,"context",{get:()=>f,configurable:!0})))},x=h[0]||{},_=d=>{if(d instanceof P&&"argumentsList"in d)return;let I=q(d,!1);return J(I,S=>(d instanceof P?d.value=S:d=S,l(d,a,{...i,...x,keyInParent:d.key,level:i.level+1},c)))};if(oe(p)&&Array.isArray(m)){if(m.forEach(y),g)return n(m,...h);c&&m[0]instanceof P&&(m[0].operation!=="get"||o.asGet)&&n(m,...h);for(let d of m)_(d);return}return y(m),g?n(m,...h):_(m)},i)}(r,e.slice(0),{...o,level:0},s)}function qe(r,e,t,n={}){let o=q(r,!n.level);if(L(arguments[1])&&([,t,n={}]=arguments,e=1/0),!L(t))throw new Error(`Handler must be a function; "${G(t)}" given!`);if(e instanceof ne||e instanceof U)return De(o,e,qe,t,n);if(n={...n,descripted:!0},delete n.live,!b(o))return n.probe&&$(o,e,t,n)||void 0;let s=We(o,e,t,n);return n.probe?$(o,e,s,n):s()}function bt(r,e,t={}){let n=q(r);return w(e)||([,,,t={}]=arguments,e={[arguments[1]]:arguments[2]}),R.getInstance(n,!0,t.namespace).addRegistration({traps:e,params:t})}function fe(r,e,t=o=>o,n={}){return j(r,"getOwnPropertyDescriptor",{key:e},t,n)}function xt(r,e,t=o=>o,n={}){return j(r,"getOwnPropertyDescriptors",{key:e},t,n)}function Ee(r,e=n=>n,t={}){return j(r,"getPrototypeOf",{},e,t)}function Me(r,e=n=>n,t={}){return j(r,"isExtensible",{},e,t)}function Se(r,e=n=>n,t={}){return j(r,"ownKeys",{},e,t)}function ue(r,e,t=o=>o,n={}){return j(r,"has",{key:e},t,n)}function $(r,e,t=o=>o,n={}){let o,s=q(r,!n.level);return w(t)?[n,t]=[t,l=>l]:n.live&&(o=!0),e instanceof ne||e instanceof U?De(s,e,$,t,{...n,asGet:!0}):Ot(s,e,l=>{let f=[...l];return function a(i,u,c){if(!u.length)return c(i);let p=u.shift();if(!["string","number","symbol"].includes(typeof p))throw new Error(`Property name/key ${p} invalid.`);function g(y,x=void 0){let _=S=>(y.value=S,a([...i,n.live||n.descripted?y:S],u,c));if(arguments.length>1)return _(x);if(!b(s))return _(s?.[y.key]);let d=v(s,"accessorizedProps",!1),I=d&&d.get(y.key);if(I&&I.intact())return _(I.getValue(n.withPropertyDescriptors));if(n.withPropertyDescriptors){let S=Object.getOwnPropertyDescriptor(s,y.key);return _(S)}return _(Reflect.get(s,y.key))}let m=new P(s,{type:"get",key:p,value:void 0,operation:"get",related:f});if(!b(s))return g(m);let h=R.getInstance(s,!1,n.namespace);return h?h.emit(m,g):g(m)}([],l.slice(0),a=>{let i=oe(e)?a:a[0];return o&&b(s)?We(s,e,t,n,r.key)(i):t(i)})},n)}function Ce(r,e,t={}){let n=q(r);return N.getInstance(n,!0,t.namespace).batch(e,t)}function wt(r,e,t={}){e=q(e),r=q(r);let n=(t.only||[]).slice(0),o=(t.except||[]).slice(0),s=Object.keys(t.spread?[...r]:r).map(i=>isNaN(i)?i:parseInt(i)),l=n.length?n.filter(i=>s.includes(i)):s.filter(i=>!o.includes(i)),f=i=>!Array.isArray(e)||isNaN(i)?i:i-o.filter(u=>u<i).length,a=i=>{let u=fe(r,i,t);"value"in u&&u.writable&&u.enumerable&&u.configurable?V(e,f(i),u.value,t):(u.enumerable||t.onlyEnumerable===!1)&&te(e,i,{...u,configurable:!0},t)};return Ce(e,()=>{l.forEach(a)}),qe(r,i=>{i.filter(u=>n.length?n.includes(u.key):!o.includes(u.key)).forEach(u=>{if(u.type==="delete")return re(e,f(u.key),t);if(u.type==="def"){(u.value.enumerable||t.onlyEnumerable===!1)&&te(e,f(u.key),{...u.value,configurable:!0},t);return}a(u.key)})},{...t,withPropertyDescriptors:!0})}function V(r,e,t,n=l=>l,o={},s=!1){let l=q(r),f=[[e,t]];w(e)&&([,,n=i=>i,o={},s=!1]=arguments,f=Object.entries(e)),w(n)&&([s,o,n]=[typeof o=="boolean"?o:s,n,i=>i]);let a=f.map(([i])=>i);return function i(u,c,p){if(!c.length)return p(u);let[g,m]=c.shift();function h(x,_=void 0){let d=Xe=>(x.status=Xe,i(u.concat(x),c,p));if(arguments.length>1)return d(x,_);let I=v(l,"accessorizedProps",!1),S=I&&I.get(x.key);return x.type==="def"?(S&&!S.restore()&&d(!1),Object.defineProperty(l,x.key,x.value),d(!0)):S&&S.intact()?d(S.setValue(x.value)):d(Reflect.set(l,x.key,x.value))}function y(x,_){if(o.diff&&m===_)return i(u,c,p);let d=new P(l,{type:s?"def":"set",key:g,value:m,isUpdate:x,oldValue:_,related:[...a],operation:s?"defineProperty":"set",detail:o.detail}),I=R.getInstance(l,!1,o.namespace);return I?I.emit(d,h):h(d)}return ue(l,g,x=>{if(!x)return y(x);if(g==="length"&&Array.isArray(l)&&v(l).has("$length"))return y(!0,v(l).get("$length"));let _={...o,withPropertyDescriptors:s};return $(l,g,d=>y(x,d),_)},o)}([],f.slice(0),i=>{let u=N.getInstance(l,!1,o.namespace);return u&&u.emit(i,{eventsArePropertyDescriptors:!!s}),n(oe(e)?i.map(c=>c.status):i[0]?.status)})}function te(r,e,t,n=s=>s,o={}){return V(r,e,t,n,o,!0)}function vt(r,e,t=o=>o,n={}){return V(r,e,t,n,!0)}function re(r,e,t=o=>o,n={}){let o=q(r);w(t)&&([n,t]=[t,f=>f]);let s=k(e,!1),l=[...s];return function f(a,i,u){if(!i.length)return u(a);let c=i.shift();function p(m,h=void 0){let y=d=>(m.status=d,f(a.concat(m),i,u));if(arguments.length>1)return y(m,h);let x=v(o,"accessorizedProps",!1),_=x&&x.get(m.key);return _&&!_.restore()&&y(!1),y(Reflect.deleteProperty(o,m.key))}function g(m){let h=new P(o,{type:"delete",key:c,oldValue:m,related:[...l],operation:"deleteProperty",detail:n.detail}),y=R.getInstance(o,!1,n.namespace);return y?y.emit(h,p):p(h)}return $(o,c,g,n)}([],s.slice(0),f=>{let a=N.getInstance(o,!1,n.namespace);return a&&a.emit(f),t(oe(e)?f.map(i=>i.status):f[0].status)})}function Pt(r,e,t=o=>o,n={}){return re(...arguments)}function Ae(r,e,t=null,n=s=>s,o={}){return j(r,"construct",arguments.length>2?{argumentsList:e,newTarget:t}:{argumentsList:e},n,o)}function Ie(r,e,t,n=s=>s,o={}){let s=ee(e),l;if(Array.isArray(e)){if(o.arrayMethodName){let f=new P(s,{operation:o.arrayMethodName,argumentsList:t});N.getInstance(s,!1,o.namespace)?.emit([f],{eventIsArrayMethodDescriptor:!0})}v(s).set("$length",s.length),l=Ce(s,()=>j(r,"apply",{thisArgument:e,argumentsList:t},n,o),o),v(s).delete("$length")}else l=j(r,"apply",{thisArgument:s,argumentsList:t},n,o);return l}function Te(r,e,t=o=>o,n={}){return j(r,"setPrototypeOf",{proto:e},t,n)}function je(r,e=n=>n,t={}){return j(r,"preventExtensions",{},e,t)}function We(r,e,t,n={}){let o=new AbortController;ae.setMaxListeners?.(0,o.signal),n.signal&&n.signal.addEventListener("abort",()=>o.abort());let s={...n,signal:o.signal},l=N.getInstance(r,!0,s.namespace),f=new Map;return function a(i=[],u=null){let c,p,g;if(oe(e)){if(u){g=!0,p=u;for(let m of i)f.get(m.key)?.remove(),f.delete(m.key)}else p=l.addRegistration(e,a,s);c={signal:p.signal,childRegistrations:f}}else u?.remove(),p=l.addRegistration(e,a,s),c={signal:p.signal};if(s.childRegistrations&&s.keyInParent&&s.childRegistrations.set(s.keyInParent,p),arguments.length){let m=t(i,c);if(arguments.length>1)return m}return o}}function j(r,e,t={},n=s=>s,o={}){r=q(r),w(n)&&([o,n]=[n,a=>a]);function s(a,i){return arguments.length>1?n(i):n((Reflect[e]||Object[e])(r,...Object.values(t)))}let l=new P(r,{operation:e,...t}),f=R.getInstance(r,!1,o.namespace);return f?f.emit(l,s):s(l)}function oe(r){return r===1/0||Array.isArray(r)}function q(r,e=!0,t=!0){if((!r||!b(r))&&e)throw new Error(`Object must be of type object or array! "${G(r)}" given.`);return r instanceof P&&(r.type==="def"&&t?r=typeof r.value.get=="function"?r.value.get():r.value.value:r=r.value),r&&ee(r)}function Ot(r,e,t,n={}){return e===1/0?n.level&&!b(r)?t([]):t(Object.entries(Object.getOwnPropertyDescriptors(r)).filter(([,o])=>o.writable!==!1&&!o.get&&!o.set).map(([o])=>o)):t(k(e,!1))}var A={...Le,...Oe},Ve=A;var Q=class extends le(EventTarget){#e;constructor(e,{autoStart:t=!0,naturalOpen:n=!0,postAwaitsOpen:o=!1}={}){if(super(),this.#e=typeof e=="string"?new WebSocket(e):e,E(this).set("options",{autoStart:t,naturalOpen:n,postAwaitsOpen:o}),this.constructor.upgradeEvents(this.#e,this),n&&t&&this.#e.readyState===WebSocket.OPEN&&this.start(),this.#e.readyState===WebSocket.CLOSED)try{this.close()}catch{}}static _hydrateMessage(e,t){try{let n;if(typeof t.data=="string"&&w(n=JSON.parse(t.data))&&n[".wq"])return Object.defineProperty(t,"data",{value:n,configurable:!0}),super._hydrateMessage(e,t)}catch{}return t}__postMessage(e,t){this.#e.send(JSON.stringify(e),t)}};var Ue=(r,...e)=>F(r,"port+",...e),E=(r,...e)=>F(r,"port+","meta",...e),D=r=>F(r,"port+","meta").get("options")||{},He=["addEventListener","addRequestListener","postMessage","postRequest","dispatchEvent","relay","start","readyStateChange","removeEventListener","close"],Ge=["options","readyState","onmessage","onmessageerror"],O=class extends Ke(EventTarget){constructor(e={}){super(),Ue(this,"meta").set("options",e)}static[Symbol.hasInstance](e){return Function.prototype[Symbol.hasInstance].call(this,e)?!0:He.every(t=>typeof e[t]=="function")||Ge.every(t=>t in e)}};function Ke(r){return class extends r{static upgradeInPlace(e,t={}){if(e instanceof O)return e;let n=this.prototype;for(let s of He.concat("_autoStart")){let l=e[s],f=n[s];l&&Object.defineProperty(e,`_${s}`,{value:l.bind(e),configurable:!0}),Object.defineProperty(e,s,{value:f.bind(e),configurable:!0})}for(let s of Ge){let l=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(e),s),f=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(n),s);l&&Object.defineProperty(e,`_${s}`,{...l,configurable:!0}),Object.defineProperty(e,s,{...f,configurable:!0})}return Ue(e,"meta").set("options",t),this.upgradeEvents(e),e}static upgradeEvents(e,t=null){t||(t=e);let n=E(e);if(n.get("events+"))return;let o=E(t),s=D(t),l=H.call(t),f=C.call(t);e instanceof BroadcastChannel&&(s.clientServerMode==="server"?o.set("clients",new Set):s.clientServerMode==="client"&&o.set("client_id",`client-${(0|Math.random()*9e6).toString(36)}`));let a=c=>{if(c instanceof M)return;if(e===t&&c.stopImmediatePropagation?.(),c=this._hydrateMessage?.(t,c)||c,c.data.ping==="connect"&&typeof c.data?.[".wq"]?.eventID=="string"&&(!(e instanceof WebSocket)||!s.naturalOpen)){let h=!0;e instanceof BroadcastChannel&&(s.clientServerMode==="server"&&typeof c.data.id=="string"?(o.get("clients").add(c.data.id),h="server"):c.data.id==="server"&&o.has("client_id")&&(h=o.get("client_id"))),c.ports?.forEach(y=>y.postMessage(h)),o.set("remote.start.called",!0),t.start();return}if(c.data.ping==="disconnect"&&typeof c.data?.[".wq"]?.eventID=="string"){let h=()=>{o.set("remote.close.called",!0),t.close()};e instanceof BroadcastChannel?s.clientServerMode==="server"&&typeof c.data.id=="string"?(o.get("clients").delete(c.data.id),!o.get("clients").size&&s.autoClose&&!f.close.state&&h()):s.clientServerMode==="client"&&c.data.id==="server"&&h():e instanceof MessagePort&&h();return}let p=c.data,g={};typeof c.data?.[".wq"]?.eventID=="string"&&({message:p,".wq":g}=c.data);let m=new M(p,{originalTarget:e,...g,ports:c.ports});t.dispatchEvent(m)},i=c=>{e instanceof WebSocket&&s.naturalOpen&&!(c instanceof M)&&(o.set("remote.start.called",!0),t.start())},u=c=>{(e instanceof WebSocket||e instanceof MessagePort)&&!(c instanceof M)&&(o.set("remote.close.called",!0),t.close())};n.set("internal_call",!0),e.addEventListener("message",a),e.addEventListener("error",a),e.addEventListener("open",i),e.addEventListener("close",u),n.delete("internal_call"),n.set("events+",!0),l.add(()=>{e.removeEventListener("message",a),e.removeEventListener("error",a),e.removeEventListener("open",i),e.removeEventListener("close",u),n.set("events+",!1)})}get options(){return{...D(this)}}get onmessageerror(){return typeof super.onmessageerror<"u"?super.onmessageerror:typeof this._onmessageerror<"u"?this._onmessageerror:null}set onmessageerror(e){if(typeof super.onmessageerror<"u"){super.onmessageerror=e;return}if(e!==null&&typeof e!="function")throw new TypeError("onmessageerror must be a function");if(Object.getOwnPropertyDescriptor(this,"_onmessageerror")?.set){this._onmessageerror=e;return}this._onmessageerror&&this.removeEventListener("messageerror",this._onmessageerror),this.addEventListener("messageerror",e),this._onmessageerror=e}get onmessage(){return typeof super.onmessage<"u"?super.onmessage:typeof this._onmessage<"u"?this._onmessage:null}set onmessage(e){if(this._autoStart(),typeof super.onmessage<"u"){super.onmessage=e;return}if(e!==null&&typeof e!="function")throw new TypeError("onmessage must be a function");if(Object.getOwnPropertyDescriptor(this,"_onmessage")?.set){this._onmessage=e;return}this._onmessage&&this.removeEventListener("message",this._onmessage),this.addEventListener("message",e),this._onmessage=e}addEventListener(...e){return this._autoStart(),H.call(this).add(()=>{this._removeEventListener?this._removeEventListener(...e):super.removeEventListener(...e)}),this._addEventListener?this._addEventListener(...e):super.addEventListener(...e)}dispatchEvent(e){let t=this._dispatchEvent?this._dispatchEvent(e):super.dispatchEvent(e);return e instanceof M&&Et.call(this,e),t}postMessage(e,t={}){this._autoStart();let n=C.call(this);n.messaging.state=!0,n.messaging.resolve(this);let o,{portOptions:s,wqOptions:{relayedFrom:l,...f}}=ce.call(this,e,t);(f.type!=="message"||f.live||f.bubbles||s.transfer?.length&&(this instanceof BroadcastChannel||this instanceof Q))&&(e={message:e,".wq":f}),t=s,o=l;let a=()=>{this._postMessage?this._postMessage(e,t,o):super.postMessage(e,t)};D(this).postAwaitsOpen?n.open.promise.then(a):a()}addRequestListener(e,t,n={}){let o=async s=>{let l=await t(s);for(let f of s.ports)f.postMessage(l)};this.addEventListener(e,o,n)}postRequest(e,t,n={}){let o;w(t)&&(n={once:!0,...t},o=new Promise(u=>{t=u}));let s=new MessageChannel;this.constructor.upgradeEvents(s.port1),s.port1.start();let{signal:l=null,once:f=!1,transfer:a=[],...i}=n;return s.port1.addEventListener("message",u=>t(u),{signal:l,once:f}),l?.addEventListener("abort",()=>{s.port1.close(),s.port2.close()}),this.postMessage(e,{...i,transfer:[s.port2].concat(a)}),o}relay({to:e,from:t,types:n="*",channel:o=null,resolveMessage:s=null,bidirectional:l=!1}={}){if(e&&t)throw new Error('Only one of "to" and "from" may be specified');if(t?e=this:t=this,e===t)throw new Error("Source and target ports cannot be the same");if(!(t instanceof O)||!(e instanceof O))throw new Error("Both source and target ports must be instance of MessagePortPlus.");if(typeof n!="function"&&!(n=[].concat(n)).length)throw new Error("Event types must be specified.");if(typeof o=="string")o={from:o};else if(w(o)){if(Object.keys(o).filter(u=>!["from","to"].includes(u)).length)throw new Error('Channel must be a string or an object of "from"/"to" members')}else if(o)throw new Error("Invalid channel parameter");let f=Je.call(t),a={targetPort:e,types:n,channel:o,resolveMessage:s};f.add(a);let i;return l&&(i=e.relay({to:t,types:n,channel:o&&{to:o.from,from:o.to},resolveMessage:s,bidirectional:!1})),()=>{f.delete(a),i?.()}}channel(e,t=null){let n=new MessageChannel;return O.upgradeInPlace(n.port1,{autoStart:this.options.autoStart,postAwaitsOpen:this.options.postAwaitsOpen}),O.upgradeInPlace(n.port2,{autoStart:this.options.autoStart,postAwaitsOpen:this.options.postAwaitsOpen}),H.call(this).add(this.relay({channel:e,to:n.port1,bidirectional:!0,resolveMessage:t})),n.port1.start(),this.readyStateChange("close").then(()=>{n.port1.close()}),n.port2}projectMutations({from:e,to:t,...n}){if(!e||!t||typeof e=="string"&&typeof t=="string"||b(e)&&b(t))throw new Error('Invalid "from"/"to" parameters');if(typeof e=="string"){if(!b(t))throw new Error('Invalid "to" parameter. Object/array expected');return xe.call(this,t,e,n)}if(typeof t=="string"){if(!b(e))throw new Error('Invalid "from" parameter. Object/array expected');return Qe.call(this,e,t,n)}throw new Error('Invalid "from"/"to" parameters')}get readyState(){let e=C.call(this);return e.close.state?"closed":e.open.state?"open":"connecting"}readyStateChange(e){if(!["open","messaging","close"].includes(e))throw new Error(`Invalid readyState query "${e}"`);return C.call(this)[e].promise}_autoStart(){let e=E(this),t=D(this);!e.get("internal_call")&&t.autoStart&&this.start()}start(){let e=C.call(this);if(e.open.state)return;let t,n=()=>{if(e.open.state)return;e.open.state=!0,e.open.resolve(this);let i=new M(null,{type:"open"});this._dispatchEvent?this._dispatchEvent(i):super.dispatchEvent(i),t?.port1.close(),t?.port2.close()},o=E(this),s=D(this);if(o.get("remote.start.called")){n();return}if(o.get("start.called"))return;o.set("start.called",!0),this._start?this._start():super.start?.(),t=new MessageChannel,t.port1.onmessage=i=>{this instanceof BroadcastChannel&&s.clientServerMode==="server"&&typeof i.data=="string"&&o.get("clients").add(i.data),n()};let{wqOptions:l}=ce.call(this),f=s.clientServerMode==="server"?"server":s.clientServerMode==="client"?o.get("client_id"):null,a={".wq":l,ping:"connect",id:f};this._postMessage?this._postMessage(a,{transfer:[t.port2]}):super.postMessage(a,{transfer:[t.port2]})}close(...e){let t=C.call(this);if(t.close.state)return;t.close.state=!0;let n=E(this),o=D(this);if(!n.get("remote.close.called")&&(this instanceof BroadcastChannel||this instanceof MessagePort)){let{wqOptions:l}=ce.call(this),f=o.clientServerMode==="server"?"server":o.clientServerMode==="client"?n.get("client_id"):null,a={".wq":l,ping:"disconnect",id:f};this._postMessage?this._postMessage(a):super.postMessage(a)}this._close?this._close(...e):super.close(...e),t.close.resolve(this);let s=new M(null,{type:"close"});this._dispatchEvent?this._dispatchEvent(s):super.dispatchEvent(s),Mt.call(this)}}}function le(r){return class extends Ke(r){static _hydrateMessage(e,t){if(typeof t.data?.[".wq"]?.numPorts!="number"||typeof t.data[".wq"].eventID!="string")return t;let n=H.call(e),o=t.data[".wq"].numPorts;Object.defineProperty(t,"ports",{value:[],configurable:!0});for(let s=0;s<o;s++){let l=e.channel(`${t.data[".wq"].eventID}:${s}`);t.ports.push(l)}return t}_postMessage(e,t={}){let{transfer:n=[],...o}=t;if(typeof e?.[".wq"]?.eventID=="string"){let s=H.call(this),l=n.filter(a=>a instanceof MessagePort),f=l.length;for(let a=0;a<f;a++)O.upgradeInPlace(l[a]),s.add(this.relay({channel:`${e[".wq"].eventID}:${a}`,to:l[a],bidirectional:!0})),l[a].start(),l[a].readyStateChange("close").then(()=>{let{wqOptions:i}=ce.call(this),u={".wq":i,ping:"disconnect"};this.postMessage(u,{type:`${e[".wq"].eventID}:${a}:message`})});e[".wq"].numPorts=f}return this.__postMessage(e,o)}}}function Et(r){if(r.propagationStopped)return;let e=E(this);e.get("parentNode")instanceof EventTarget&&(r.bubbles||e.get("parentNode")?.findPort?.(n=>n===this)&&r instanceof M)&&e.get("parentNode").dispatchEvent(r);let t=Je.call(this);if(t.size&&r instanceof M){let{type:n,eventID:o,data:s,live:l,bubbles:f,ports:a}=r,i=new WeakSet;for(let{targetPort:u,types:c,channel:p,resolveMessage:g}of t){if(i.has(u))continue;let m=n;p.from&&([,m]=new RegExp(`^${p.from.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}:([^:]+)$`).exec(n)||[],!m)||!(typeof c=="function"?c(m,this,u,p):[].concat(c).find(y=>y===m||y==="*"))||(i.add(u),u.postMessage(g?g(s,this,u,p):s,{transfer:a,type:p.to?`${p.to}:${m}`:m,eventID:o,bubbles:f,live:l,forwarded:!0,relayedFrom:this}))}}}function H(){let r=E(this);return r.has("garbage_collection")||r.set("garbage_collection",new Set),r.get("garbage_collection")}function Je(){let r=E(this);return r.has("downstream_registry")||r.set("downstream_registry",new Set),r.get("downstream_registry")}function C(){let r=E(this);if(!r.has("readystate_registry")){let e=t=>(t.promise=new Promise((n,o)=>(t.resolve=n,t.reject=o)),t);r.set("readystate_registry",{open:e({}),messaging:e({}),close:e({})})}return r.get("readystate_registry")}function Mt(){let r=E(this);for(let e of r.get("garbage_collection")||[])e instanceof AbortController?e.abort():typeof e=="function"&&e();r.get("garbage_collection")?.clear(),r.get("downstream_registry")?.clear()}function ce(r=void 0,e={}){if(Array.isArray(e))e={transfer:e};else if(!e||typeof e!="object")throw new TypeError("transferOrOptions must be an array or an object");let{type:t="message",eventID:n=null,live:o=!1,observing:s=!1,bubbles:l=!1,forwarded:f=!1,relayedFrom:a=null,signal:i=null,withArrayMethodDescriptors:u=!1,honourDoneMutationFlags:c=!1,...p}=e;return n||(n=`${t}-${(0|Math.random()*9e6).toString(36)}`),!s&&!f&&b(r)&&o&&!t?.endsWith(".mutate")&&(Qe.call(this,r,n,{signal:i,withArrayMethodDescriptors:u,honourDoneMutationFlags:c}),s=!0),{portOptions:p,wqOptions:{type:t,eventID:n,live:o,observing:s,honourDoneMutationFlags:c,bubbles:l,forwarded:f,relayedFrom:a}}}function Qe(r,e,{signal:t,withArrayMethodDescriptors:n=!0,honourDoneMutationFlags:o=!1}={}){if(!b(r))throw new TypeError("data must be a plain object and not a stream");if(typeof e!="string")throw new TypeError("eventID must be a non-empty string");let s=a=>{let i;n&&Array.isArray(a[0].target)&&!a[0].argumentsList&&!["set","defineProperty","deleteProperty"].includes(a[0].operation)||(this.postMessage(a.map(u=>(i=!i&&o&&u.detail?.done,{...u,target:void 0})),{type:`${e}.mutate`}),i&&l.abort())},l=A.observe(r,A.subtree(),s,{signal:t,withArrayMethodDescriptors:n});return H.call(this).add(l),l}function xe(r,e,{signal:t,honourDoneMutationFlags:n=!1}={}){if(!b(r))throw new TypeError("data must be a plain object and not a stream");if(typeof e!="string")throw new TypeError("eventID must be a non-empty string");let o=f=>{if(!f.data?.length)return;let a;A.batch(r,()=>{for(let i of f.data){if(a=!a&&n&&i.detail?.done,i.argumentsList){let u=i.path.length?A.get(r,A.path(...i.path)):r;A.proxy(u)[i.operation](...i.argumentsList);continue}if(i.key!=="length"||["set","defineProperty","deleteProperty"].includes(i.operation)){let u=i.path.length===1?r:A.get(r,A.path(...i.path.slice(0,-1)));i.type==="delete"?A.deleteProperty(u,i.key):A.set(u,i.key,i.value)}}}),a&&s()};this.addEventListener(`${e}.mutate`,o,{signal:t});let s=()=>this.removeEventListener(`${e}.mutate`,o);return H.call(this).add(s),s}var pe=class extends le(BroadcastChannel){constructor(e,{autoStart:t=!0,postAwaitsOpen:n=!1,clientServerMode:o=null,autoClose:s=!0}={}){super(e);let l=E(this);if(o&&!["server","client"].includes(o))throw new Error('clientServerMode must be "server" or "client"');l.set("options",{autoStart:t,postAwaitsOpen:n,clientServerMode:o,autoClose:s}),this.constructor.upgradeEvents(this)}__postMessage(e,t){BroadcastChannel.prototype.postMessage.call(this,e)}};var me=class extends MessageChannel{constructor({autoStart:e=!0,postAwaitsOpen:t=!1}={}){super(),[this.port1,this.port2].forEach((n,o)=>{O.upgradeInPlace(n,{autoStart:e,postAwaitsOpen:t})})}};var X=class extends O{#e=new Set;get length(){return this.#e.size}[Symbol.iterator](){return this.#e[Symbol.iterator]()}constructor({autoStart:e=!0,postAwaitsOpen:t=!1,autoClose:n=!0}={}){super({autoStart:e,postAwaitsOpen:t,autoClose:n})}addPort(e,{enableBubbling:t=!0}={}){if(!(e instanceof O))throw new TypeError("Port must be a WQMessagePort instance.");if(C.call(this).close.state){let l=this.constructor.name;throw new Error(`Cannot add port to ${l}. ${l} is closed.`)}if(this.#e.has(e))return;this.#e.add(e);let o=E(e);if(t){if(o.get("parentNode"))throw new TypeError("Incoming port already has a parent node.");o.set("parentNode",this)}e.readyStateChange("open").then(()=>this.start()),e.readyStateChange("close").then(s);let s=()=>{this.#e.has(e)&&(this.#e.delete(e),t&&o.get("parentNode")===this&&o.set("parentNode",null),this.#e.size===0&&D(this).autoClose&&this.close())};return s}findPort(e){for(let t of this.#e)if(e(t))return t}_postMessage(e,t,n){for(let o of this.#e)o!==n&&o.postMessage(e,t)}_autoStart(){}start(){let e=C.call(this);e.open.state||(e.open.state=!0,e.open.resolve(this))}close(...e){let t=C.call(this);if(!t.close.state){t.close.state=!0;for(let n of this.#e)n.close?.(...e);t.close.resolve(this)}}};var de=class extends X{#e;get channelSpec(){return this.#e}constructor(e=null,t={}){if(super(t),typeof e=="string")e={from:e,to:e};else if(w(e)){if(Object.keys(e).filter(n=>!["from","to"].includes(n)).length)throw new Error('Channel must be a string or an object of "from"/"to" members')}else if(e)throw new Error("Invalid channel parameter");this.#e=e}addPort(e,{resolveMessage:t=null,...n}={}){let o=(u,...c)=>t?t(u,...c):u,s=super.addPort(e,n),l=e.relay({channel:this.#e,to:this,bidirectional:!1,resolveMessage:o}),f=this.#e.from&&`${this.#e.from}:message`||"message";this.postMessage(o({event:"joins"},e,this),{type:f,relayedFrom:e});let a=()=>{this.postMessage(o({event:"leaves"},e,this),{type:f,relayedFrom:e})},i=()=>{a(),l(),s()};return e.readyStateChange("close").then(i),i}};globalThis.webqit||(globalThis.webqit={});Object.assign(globalThis.webqit,Ne);})();
2
2
  //# sourceMappingURL=main.js.map