aberdeen 1.0.7 → 1.0.8

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.
@@ -1,3 +1,7 @@
1
+ export type ReverseSortedSetPointer = symbol;
2
+ type SkipItem<T> = {
3
+ [idx: ReverseSortedSetPointer]: T;
4
+ };
1
5
  /**
2
6
  * A set-like collection of objects that can do iteration sorted by a specified index property.
3
7
  * It also allows retrieving an object by its index property, and quickly getting the object
@@ -6,7 +10,7 @@
6
10
  * It's implemented as a skiplist, maintaining all meta-data as part of the objects that it
7
11
  * is tracking, for performance.
8
12
  */
9
- export declare class ReverseSortedSet<T extends object> {
13
+ export declare class ReverseSortedSet<T extends SkipItem<T>, KeyPropT extends keyof T> {
10
14
  private keyProp;
11
15
  private tail;
12
16
  private symbols;
@@ -17,7 +21,7 @@ export declare class ReverseSortedSet<T extends object> {
17
21
  * using `<` will be done on this property, so it should probably be a number or a string (or something that
18
22
  * has a useful toString-conversion).
19
23
  */
20
- constructor(keyProp: keyof T);
24
+ constructor(keyProp: KeyPropT);
21
25
  /**
22
26
  * Add an object to the `SortedSet`.
23
27
  *
@@ -60,7 +64,7 @@ export declare class ReverseSortedSet<T extends object> {
60
64
  *
61
65
  * Time complexity: O(log n)
62
66
  */
63
- get(indexValue: string | number): T | undefined;
67
+ get(indexValue: T[KeyPropT]): T | undefined;
64
68
  /**
65
69
  * The iterator will go through the items in reverse index-order.
66
70
  */
@@ -89,3 +93,4 @@ export declare class ReverseSortedSet<T extends object> {
89
93
  */
90
94
  clear(): void;
91
95
  }
96
+ export {};
@@ -1,7 +1,7 @@
1
- class _{keyProp;tail;symbols;constructor(z){this.keyProp=z;this.tail={},this.symbols=[Symbol(0)]}add(z){if(this.symbols[0]in z)return!1;let F=1+(Math.clz32(Math.random()*4294967295)>>2);for(let W=this.symbols.length;W<F;W++)this.symbols.push(Symbol(W));let J=this.keyProp,X=z[J],Z,U=this.tail;for(let W=this.symbols.length-1;W>=0;W--){let j=this.symbols[W];while((Z=U[j])&&Z[J]>X)U=Z;if(W<F)z[j]=U[j],U[j]=z}return!0}has(z){return this.symbols[0]in z}fetchLast(){let z=this.tail[this.symbols[0]];if(z)return this.remove(z),z}isEmpty(){return this.tail[this.symbols[0]]===void 0}get(z){let F=this.keyProp,J=this.tail,X;for(let Z=this.symbols.length-1;Z>=0;Z--){let U=this.symbols[Z];while((X=J[U])&&X[F]>z)J=X}return J[this.symbols[0]]?.[F]===z?J[this.symbols[0]]:void 0}*[Symbol.iterator](){let z=this.symbols[0],F=this.tail[z];while(F)yield F,F=F[z]}prev(z){return z[this.symbols[0]]}remove(z){if(!(this.symbols[0]in z))return!1;let F=this.keyProp,J=z[F],X,Z=this.tail;for(let U=this.symbols.length-1;U>=0;U--){let W=this.symbols[U];while((X=Z[W])&&X[F]>=J&&X!==z)Z=X;if(X===z)Z[W]=X[W],delete X[W]}return X===z}clear(){let z=this.symbols[0],F=this.tail;while(F){let J=F[z];for(let X of this.symbols){if(!(X in F))break;delete F[X]}F=J}this.tail={}}}var B,I=0,G;function E(z){if(!B)B=new _("prio"),setTimeout(Kz,0);else if(!(I&1)){if(I++,I>98)throw new Error("Too many recursive updates from observes")}B.add(z)}function Kz(){let z=Date.now();while(B){let F=B.fetchLast();if(!F)break;if(I&1)I++;F.queueRun()}if(B=void 0,I=0,z=Date.now()-z,z>9)console.debug(`Aberdeen queue took ${z}ms`)}function u(z){if(typeof z==="string")return`${z}\x01`;let F="",J=Math.abs(Math.round(z)),X=z<0;while(J>0)F+=String.fromCharCode(X?65534-J%65533:2+J%65533),J=Math.floor(J/65533);return String.fromCharCode(128+(X?-F.length:F.length))+F}function Cz(z){let F="";for(let J=0;J<z.length;J++)F+=String.fromCodePoint(65535-z.charCodeAt(J));return F}var Gz=0;class d{prio=--Gz;remove(){let z=this.getLastNode();if(z)w(z,this.getPrecedingNode());this.delete()}}class P extends d{cleaners;constructor(z=[]){super();this.cleaners=z}lastChild;redraw(){}getLastNode(){return C(this.lastChild)}delete(){for(let z of this.cleaners)if(typeof z==="function")z();else z.delete(this);this.cleaners.length=0,B?.remove(this),this.lastChild=void 0}queueRun(){this.remove(),G=this,this.redraw(),G=void 0}getInsertAfterNode(){return this.getLastNode()||this.getPrecedingNode()}onChange(z,F,J){E(this)}getChildPrevSibling(){return this.lastChild}}class R extends P{parentElement;prevSibling;constructor(z,F=!1){super(F?q.cleaners:[]);this.parentElement=z;if(z===q.parentElement)this.prevSibling=q.getChildPrevSibling(),q.lastChild=this;if(!F)q.cleaners.push(this)}getPrecedingNode(){return C(this.prevSibling)}getChildPrevSibling(){return this.lastChild||this.prevSibling}}class x extends R{renderer;constructor(z,F){super(z);this.renderer=F;this.redraw()}redraw(){let z=q;q=this;try{this.renderer()}catch(F){c(F,!0)}q=z}}class r extends P{parentElement=document.body;getPrecedingNode(){return}}class t extends P{parentElement;renderer;constructor(z,F){super();this.parentElement=z;this.renderer=F;this.redraw(),q.cleaners.push(this)}redraw(){x.prototype.redraw.call(this)}getPrecedingNode(){return}delete(){w(this.getLastNode(),this.getPrecedingNode()),super.delete()}remove(){this.delete()}}function w(z,F){while(z&&z!==F){let J=z.previousSibling,X=S.get(z);if(X&&z instanceof Element){if(X!==!0){if(typeof X==="function")X(z);else Az(z,X);S.set(z,!0)}}else z.remove();z=J}}function C(z){if(!z||z instanceof Node)return z;return z.getLastNode()||z.getPrecedingNode()}class e extends R{renderer;result=A({value:void 0});constructor(z,F){super(z);this.renderer=F;this.redraw()}redraw(){let z=q;q=this;try{this.result.value=this.renderer()}catch(F){c(F,!0)}q=z}}class zz extends R{key;target;constructor(z,F,J){super(z);this.key=F;this.target=J;this.redraw()}redraw(){let z=q;q=this,jz(this.key,this.target.value),q=z}}var L=new _("prio");class Fz extends x{onChange(z,F,J){L.add(this)}}var v=!1;function D(){for(let z=0;!L.isEmpty()&&!v;z++){if(z>42)throw L.clear(),new Error("Too many immediate-mode recursive updates");v=!0;let F=L;L=new _("prio");try{for(let J of F)J.queueRun()}finally{v=!1}}}class Jz extends d{renderer;makeSortKey;parentElement=q.parentElement;prevSibling;target;byIndex=new Map;sortedSet=new _("sortKey");changedIndexes=new Set;constructor(z,F,J){super();this.renderer=F;this.makeSortKey=J;let X=this.target=z[H]||z;if(V(X,Q,this),this.prevSibling=q.getChildPrevSibling(),q.lastChild=this,q.cleaners.push(this),X instanceof Array){for(let Z=0;Z<X.length;Z++)if(X[Z]!==void 0)new O(this,Z,!1)}else for(let Z in X)if(X[Z]!==void 0)new O(this,Z,!1)}getPrecedingNode(){return C(this.prevSibling)}onChange(z,F,J){if(!(this.target instanceof Array)||typeof z==="number")this.changedIndexes.add(z);E(this)}queueRun(){let z=this.changedIndexes;this.changedIndexes=new Set;for(let F of z){let J=this.byIndex.get(F);if(J)J.remove();if(this.target[F]===void 0)this.byIndex.delete(F);else new O(this,F,!0)}G=void 0}delete(){for(let z of this.byIndex.values())z.delete();B?.remove(this),this.byIndex.clear(),setTimeout(()=>{this.sortedSet.clear()},1)}getLastNode(){for(let z of this.sortedSet){let F=z.getActualLastNode();if(F)return F}}}class O extends P{parent;itemIndex;sortKey;parentElement;constructor(z,F,J){super();this.parent=z;this.itemIndex=F;if(this.parentElement=z.parentElement,this.parent.byIndex.set(this.itemIndex,this),this.lastChild=this,J)G=this;this.redraw()}getPrecedingNode(){this.parent.sortedSet.add(this);let z=this.parent.sortedSet.prev(this);if(z)return C(z.lastChild);return this.parent.getPrecedingNode()}getLastNode(){return this.getPrecedingNode()}getActualLastNode(){let z=this.lastChild;while(z&&z!==this){if(z instanceof Node)return z;let F=z.getLastNode();if(F)return F;z=z.getPrecedingNode()}}queueRun(){if(q!==h)a(4);if(this.sortKey!==void 0){let z=this.getActualLastNode();if(z)w(z,this.getPrecedingNode())}this.delete(),this.lastChild=this,G=this,this.redraw(),G=void 0}redraw(){let z=A(this.parent.target[this.itemIndex]),F=q;q=this;let J;try{if(this.parent.makeSortKey){let X=this.parent.makeSortKey(z,this.itemIndex);if(X!=null)J=X instanceof Array?X.map(u).join(""):X}else J=this.itemIndex;if(typeof J==="number")J=u(J);if(this.sortKey!==J)this.parent.sortedSet.remove(this),this.sortKey=J;if(J!=null)this.parent.renderer(z,this.itemIndex)}catch(X){c(X,J!=null)}q=F}getInsertAfterNode(){if(this.sortKey==null)a(1);return C(this.lastChild)}remove(){if(this.sortKey!==void 0){let z=this.getActualLastNode();if(z)w(z,this.getPrecedingNode());this.parent.sortedSet.remove(this),this.sortKey=void 0}this.delete()}}function T(z){let F=q.parentElement,J=q.getInsertAfterNode();F.insertBefore(z,J?J.nextSibling:F.firstChild),q.lastChild=z}var h=new r,q=h,Q=Symbol("any"),H=Symbol("target"),y=new WeakMap,k=0;function V(z,F,J=q){if(J===h||k)return;let X=y.get(z);if(!X)y.set(z,X=new Map);if(F!==Q&&X.get(Q)?.has(J))return;let Z=X.get(F);if(!Z)X.set(F,Z=new Set);if(Z.has(J))return;if(Z.add(J),J===q)q.cleaners.push(Z);else q.cleaners.push(()=>{Z.delete(J)})}function m(z,F,J){if(!z||typeof z!=="object")throw new Error("onEach requires an object");z=z[H]||z,new Jz(z,F,J)}function Xz(z){for(let F in z)return!1;return!0}function Pz(z){let F=z[H]||z,J=q;if(F instanceof Array)return V(F,"length",(Z,U,W)=>{if(!U!==!W)E(J)}),!F.length;let X=Xz(F);return V(F,Q,(Z,U,W)=>{if(X?W===void 0:U===void 0)E(J)}),X}function Rz(z){if(z instanceof Array)return Wz(z,"length");let F=z[H]||z,J=0;for(let Z in F)if(F[Z]!==void 0)J++;let X=Zz(J);return V(F,Q,(Z,U,W)=>{if(W===U);else if(W===void 0)X.value=++J;else if(U===void 0)X.value=--J}),X}function Vz(z,F,J,X){if(J===X&&J!==void 0)return;let Z=y.get(z);if(Z===void 0)return;for(let U of[F,Q]){let W=Z.get(U);if(W)for(let j of W)if(typeof j==="function")j(F,J,X);else j.onChange(F,J,X)}}var $=Vz,Bz={get(z,F){if(F===H)return z;return V(z,F),A(z[F])},set(z,F,J){if(typeof J==="object"&&J)J=J[H]||J;let X=z[F];if(J!==X)z[F]=J,$(z,F,J,X),D();return!0},deleteProperty(z,F){let J=z[F];return delete z[F],$(z,F,void 0,J),D(),!0},has(z,F){let J=F in z;return V(z,F),J},ownKeys(z){return V(z,Q),Reflect.ownKeys(z)}};function l(z,F,J){if(typeof J==="object"&&J)J=J[H]||J;let X=z[F];if(J!==X){let Z=z.length;if(F==="length"){z.length=J;for(let U=J;U<Z;U++)$(z,U,void 0,z[U])}else{let U=Number.parseInt(F);if(U.toString()===F)F=U;z[F]=J,$(z,F,J,X)}if(z.length!==Z)$(z,"length",z.length,Z);D()}return!0}var Qz={get(z,F){if(F===H)return z;let J=F;if(typeof F!=="symbol"){let X=Number.parseInt(F);if(X.toString()===F)J=X}return V(z,J),A(z[F])},set:l,deleteProperty(z,F){return l(z,F,void 0)}},p=new WeakMap;function A(z){if(typeof z!=="object"||!z||z[H]!==void 0)return z;let F=p.get(z);if(F)return F;return F=new Proxy(z,z instanceof Array?Qz:Bz),p.set(z,F),F}function Zz(z){return A(typeof z==="object"&&z!==null?z:{value:z})}function Uz(z){return z?z[H]||z:z}var S=new WeakMap;function Az(z,F){let J=F.split(".").filter((X)=>X);z.classList.add(...J),setTimeout(()=>z.remove(),2000)}function hz(z,F,J=0){b(z,F,J),D()}var g=1,Nz=2,s=32,f=64;function Oz(z,F=0){let J=Object.create(Object.getPrototypeOf(z));return b(J,z,F),J}function b(z,F,J){let X=z[H];if(X)z=X,J|=f;if(X=F[H],X){if(F=X,q!==h&&!k)J|=s}if(J&s)V(F,Q);if(F instanceof Array){if(!(z instanceof Array))throw new Error("Cannot copy array into object");let Z=z.length,U=F.length;for(let W=0;W<U;W++)n(z,F,W,J);if(U!==Z)if(J&f){for(let W=U;W<Z;W++){let j=z[W];z[W]=void 0,$(z,W,void 0,j)}z.length=U,$(z,"length",U,Z)}else z.length=U}else{for(let Z in F)n(z,F,Z,J);if(!(J&g)){for(let Z in z)if(!(Z in F)){let U=z[Z];if(delete z[Z],J&f&&U!==void 0)$(z,Z,void 0,U)}}}}function n(z,F,J,X){let Z=z[J],U=F[J];if(U!==Z){if(U&&Z&&typeof U==="object"&&typeof Z==="object"&&(U.constructor===Z.constructor||X&g&&Z instanceof Array)){b(Z,U,X);return}if(!(X&Nz)&&U&&typeof U==="object"){let j=Object.create(Object.getPrototypeOf(U));b(j,U,0),U=j}let W=z[J];if(X&g&&U==null)delete z[J];else z[J]=U;if(X&f)$(z,J,U,W)}}var _z={get(z,F){if(F===H)return Wz(Uz(z.proxy),z.index);if(F==="value")return z.proxy[z.index]},set(z,F,J){if(F==="value")return z.proxy[z.index]=J,!0;return!1}};function Wz(z,F){return new Proxy({proxy:z,index:F},_z)}function Yz(z,F){let J,X,Z=z.getAttribute("type"),U=Uz(F).value;if(Z==="checkbox"){if(U===void 0)F.value=z.checked;J=()=>{z.checked=F.value},X=()=>{F.value=z.checked}}else if(Z==="radio"){if(U===void 0&&z.checked)F.value=z.value;J=()=>{z.checked=F.value===z.value},X=()=>{if(z.checked)F.value=z.value}}else{if(X=()=>{F.value=Z==="number"||Z==="range"?z.value===""?null:+z.value:z.value},U===void 0)X();J=()=>{if(z.value=F.value,z.tagName==="SELECT"&&z.value!=F.value)throw new Error(`SELECT has no '${F.value}' OPTION (yet)`)}}Iz(J),z.addEventListener("input",X),M(()=>{z.removeEventListener("input",X)})}var o={create:(z)=>{let F=q.parentElement;if(q!==G)return;if(typeof z==="function")z(F);else{let J=z.split(".").filter((X)=>X);F.classList.add(...J),(async()=>{F.offsetHeight,F.classList.remove(...J)})()}},destroy:(z)=>{let F=q.parentElement;S.set(F,z)},html:(z)=>{let F=document.createElement(q.parentElement.tagName);F.innerHTML=`${z}`;while(F.firstChild)T(F.firstChild)},text:(z)=>{T(document.createTextNode(z))},element:(z)=>{if(!(z instanceof Node))throw new Error(`Unexpected element-argument: ${JSON.parse(z)}`);T(z)}};function Y(...z){let F,J,X;for(let Z of z){if(Z==null||Z===!1)continue;if(typeof Z==="string"){let U,W,j=Z.indexOf(":");if(j>=0)U=Z.substring(j+1),Z=Z.substring(0,j);let K=Z.indexOf(".");if(K>=0)W=Z.substring(K+1),Z=Z.substring(0,K);if(Z===""){if(U)T(document.createTextNode(U));if(W){let N=q.parentElement;if(N.classList.add(...W.split(".")),!F)M(()=>N.classList.remove(...W.split(".")))}}else if(Z.indexOf(" ")>=0){J=`Tag '${Z}' cannot contain space`;break}else{if(X=document.createElement(Z),W)X.className=W.replaceAll("."," ");if(U)X.textContent=U;if(T(X),!F)F=q;let N=new R(X,!0);if(N.lastChild=X.lastChild||void 0,G===q)G=N;q=N}}else if(typeof Z==="object"){if(Z.constructor!==Object){J=`Unexpected argument: ${Z}`;break}for(let U in Z){let W=Z[U];jz(U,W)}}else if(typeof Z==="function")new x(q.parentElement,Z);else{J=`Unexpected argument: ${Z}`;break}}if(F)q=F;if(J)throw new Error(J);return X}var qz=0;function fz(z,F=!1){let J=F?"":`.AbdStl${++qz}`,X=i(z,J);if(X)Y(`style:${X}`);return J}function i(z,F){let J="",X="";for(let Z in z){let U=z[Z];for(let W of Z.split(/, ?/g))if(U&&typeof U==="object")if(W.startsWith("@"))X+=`${W}{
2
- ${i(U,F)}}
3
- `;else X+=i(U,W.includes("&")?W.replace(/&/g,F):`${F} ${W}`);else J+=`${W.replace(/[A-Z]/g,(j)=>`-${j.toLowerCase()}`)}:${U};`}if(J)X=`${F.trimStart()||"*"}{${J}}
4
- ${X}`;return X}function jz(z,F){let J=q.parentElement;if(typeof F==="object"&&F!==null&&F[H])if(z==="bind")Yz(J,F);else new zz(J,z,F);else if(z[0]==="."){let X=z.substring(1).split(".");if(F)J.classList.add(...X);else J.classList.remove(...X)}else if(z[0]==="$"){let X=z.substring(1);if(F==null||F===!1)J.style[X]="";else J.style[X]=`${F}`}else if(F==null);else if(z in o)o[z](F);else if(typeof F==="function")J.addEventListener(z,F),M(()=>J.removeEventListener(z,F));else if(F===!0||F===!1||z==="value"||z==="selectedIndex")J[z]=F;else J.setAttribute(z,F)}function Hz(z){return console.error("Error while in Aberdeen render:",z),!0}var $z=Hz;function Ez(z){$z=z||Hz}function wz(){return q.parentElement}function M(z){q.cleaners.push(z)}function Iz(z){return new e(q.parentElement,z).result}function Dz(z){new Fz(q.parentElement,z)}function kz(z,F){new t(z,F)}function bz(){h.remove(),qz=0}function xz(z){k++;try{return z()}finally{k--}}function mz(z,F){let J=A(z instanceof Array?[]:{});return m(z,(X,Z)=>{let U=F(X,Z);if(U!==void 0)J[Z]=U,M(()=>{delete J[Z]})}),J}function vz(z,F){let J=A({});return m(z,(X,Z)=>{let U=F(X,Z);if(U){for(let W in U)J[W]=U[W];M(()=>{for(let W in U)delete J[W]})}}),J}function yz(z,F){let J={},X=Zz(J);return m(z,(Z,U)=>{let W=F(Z,U);if(W!=null){let j=W instanceof Array?W:[W];if(j.length){for(let K of j)if(J[K])X[K][U]=Z;else X[K]={[U]:Z};M(()=>{for(let K of j)if(delete X[K][U],Xz(J[K]))delete X[K]})}}}),X}function Mz(z){if(z&&typeof z==="object")Y({text:z instanceof Array?"<array>":"<object>"}),Y("ul",()=>{m(z,(F,J)=>{Y(`li:${JSON.stringify(J)}: `,()=>{Mz(F)})})});else Y({text:JSON.stringify(z)});return z}function a(z){throw new Error(`Aberdeen internal error ${z}`)}function c(z,F){try{if($z(z)===!1)F=!1}catch(J){console.error(J)}try{if(F)Y("div.aberdeen-error:Error")}catch{}}function Sz(z,F){let J=$;$=z;try{F()}finally{$=J}}export{Sz as withEmitHandler,Uz as unproxy,bz as unmountAll,Ez as setErrorHandler,Kz as runQueue,Wz as ref,Zz as proxy,xz as peek,yz as partition,m as onEach,Iz as observe,vz as multiMap,kz as mount,mz as map,Pz as isEmpty,Cz as invertString,fz as insertCss,Dz as immediateObserve,wz as getParentElement,Mz as dump,Vz as defaultEmitHandler,Rz as count,hz as copy,Oz as clone,M as clean,Nz as SHALLOW,g as MERGE,Y as $};
1
+ class N{keyProp;tail;symbols;constructor(z){this.keyProp=z;this.tail={},this.symbols=[Symbol(0)]}add(z){if(this.symbols[0]in z)return!1;let F=1+(Math.clz32(Math.random()*4294967295)>>2);for(let W=this.symbols.length;W<F;W++)this.symbols.push(Symbol(W));let J=this.keyProp,X=z[J],Z,U=this.tail;for(let W=this.symbols.length-1;W>=0;W--){let j=this.symbols[W];while((Z=U[j])&&Z[J]>X)U=Z;if(W<F)z[j]=U[j],U[j]=z}return!0}has(z){return this.symbols[0]in z}fetchLast(){let z=this.tail[this.symbols[0]];if(z)return this.remove(z),z}isEmpty(){return this.tail[this.symbols[0]]===void 0}get(z){let F=this.keyProp,J,X=this.tail;for(let Z=this.symbols.length-1;Z>=0;Z--){let U=this.symbols[Z];while((J=X[U])&&J[F]>z)X=J}return X[this.symbols[0]]?.[F]===z?X[this.symbols[0]]:void 0}*[Symbol.iterator](){let z=this.symbols[0],F=this.tail[z];while(F)yield F,F=F[z]}prev(z){return z[this.symbols[0]]}remove(z){if(!(this.symbols[0]in z))return!1;let F=this.keyProp,J=z[F],X,Z=this.tail;for(let U=this.symbols.length-1;U>=0;U--){let W=this.symbols[U];while((X=Z[W])&&X[F]>=J&&X!==z)Z=X;if(X===z)Z[W]=X[W],delete X[W]}return X===z}clear(){let z=this.symbols[0],F=this.tail;while(F){let J=F[z];for(let X of this.symbols){if(!(X in F))break;delete F[X]}F=J}this.tail={}}}var B,Y=0,G;function E(z){if(!B)B=new N("prio"),setTimeout(Gz,0);else if(!(Y&1)){if(Y++,Y>98)throw new Error("Too many recursive updates from observes")}B.add(z)}function Gz(){let z=Date.now();while(B){let F=B.fetchLast();if(!F)break;if(Y&1)Y++;F.queueRun()}if(B=void 0,Y=0,z=Date.now()-z,z>9)console.debug(`Aberdeen queue took ${z}ms`)}function l(z){if(typeof z==="string")return`${z}\x01`;let F="",J=Math.abs(Math.round(z)),X=z<0;while(J>0)F+=String.fromCharCode(X?65534-J%65533:2+J%65533),J=Math.floor(J/65533);return String.fromCharCode(128+(X?-F.length:F.length))+F}function Pz(z){let F="";for(let J=0;J<z.length;J++)F+=String.fromCodePoint(65535-z.charCodeAt(J));return F}var Vz=0;class c{prio=--Vz;remove(){let z=this.getLastNode();if(z)w(z,this.getPrecedingNode());this.delete()}}class C extends c{cleaners;inSvgNamespace=!1;constructor(z=[]){super();this.cleaners=z}lastChild;redraw(){}getLastNode(){return T(this.lastChild)}delete(){for(let z of this.cleaners)if(typeof z==="function")z();else z.delete(this);this.cleaners.length=0,B?.remove(this),this.lastChild=void 0}queueRun(){this.remove(),G=this,this.redraw(),G=void 0}getInsertAfterNode(){return this.getLastNode()||this.getPrecedingNode()}onChange(z,F,J){E(this)}getChildPrevSibling(){return this.lastChild}}class P extends C{parentElement;prevSibling;constructor(z,F=!1){super(F?q.cleaners:[]);this.parentElement=z;if(this.inSvgNamespace=q.inSvgNamespace,z===q.parentElement)this.prevSibling=q.getChildPrevSibling(),q.lastChild=this;if(!F)q.cleaners.push(this)}getPrecedingNode(){return T(this.prevSibling)}getChildPrevSibling(){return this.lastChild||this.prevSibling}}class x extends P{renderer;constructor(z,F){super(z);this.renderer=F;this.redraw()}redraw(){let z=q;q=this;try{this.renderer()}catch(F){u(F,!0)}q=z}}class t extends C{parentElement=document.body;getPrecedingNode(){return}}class e extends C{parentElement;renderer;constructor(z,F){super();this.parentElement=z;this.renderer=F;this.inSvgNamespace=q.inSvgNamespace,this.redraw(),q.cleaners.push(this)}redraw(){x.prototype.redraw.call(this)}getPrecedingNode(){return}delete(){w(this.getLastNode(),this.getPrecedingNode()),super.delete()}remove(){this.delete()}}function w(z,F){while(z&&z!==F){let J=z.previousSibling,X=g.get(z);if(X&&z instanceof Element){if(X!==!0){if(typeof X==="function")X(z);else Nz(z,X);g.set(z,!0)}}else z.remove();z=J}}function T(z){if(!z||z instanceof Node)return z;return z.getLastNode()||z.getPrecedingNode()}class zz extends P{renderer;result=A({value:void 0});constructor(z,F){super(z);this.renderer=F;this.redraw()}redraw(){let z=q;q=this;try{this.result.value=this.renderer()}catch(F){u(F,!0)}q=z}}class Fz extends P{key;target;constructor(z,F,J){super(z);this.key=F;this.target=J;this.redraw()}redraw(){let z=q;q=this,Hz(this.key,this.target.value),q=z}}var M=new N("prio");class Jz extends x{onChange(z,F,J){M.add(this)}}var y=!1;function D(){for(let z=0;!M.isEmpty()&&!y;z++){if(z>42)throw M.clear(),new Error("Too many immediate-mode recursive updates");y=!0;let F=M;M=new N("prio");try{for(let J of F)J.queueRun()}finally{y=!1}}}class Xz extends c{renderer;makeSortKey;parentElement=q.parentElement;prevSibling;target;byIndex=new Map;sortedSet=new N("sortKey");changedIndexes=new Set;constructor(z,F,J){super();this.renderer=F;this.makeSortKey=J;let X=this.target=z[H]||z;if(V(X,Q,this),this.prevSibling=q.getChildPrevSibling(),q.lastChild=this,q.cleaners.push(this),X instanceof Array){for(let Z=0;Z<X.length;Z++)if(X[Z]!==void 0)new O(this,Z,!1)}else for(let Z in X)if(X[Z]!==void 0)new O(this,Z,!1)}getPrecedingNode(){return T(this.prevSibling)}onChange(z,F,J){if(!(this.target instanceof Array)||typeof z==="number")this.changedIndexes.add(z);E(this)}queueRun(){let z=this.changedIndexes;this.changedIndexes=new Set;for(let F of z){let J=this.byIndex.get(F);if(J)J.remove();if(this.target[F]===void 0)this.byIndex.delete(F);else new O(this,F,!0)}G=void 0}delete(){for(let z of this.byIndex.values())z.delete();B?.remove(this),this.byIndex.clear(),setTimeout(()=>{this.sortedSet.clear()},1)}getLastNode(){for(let z of this.sortedSet){let F=z.getActualLastNode();if(F)return F}}}class O extends C{parent;itemIndex;sortKey;parentElement;constructor(z,F,J){super();this.parent=z;this.itemIndex=F;if(this.parentElement=z.parentElement,this.inSvgNamespace=q.inSvgNamespace,this.parent.byIndex.set(this.itemIndex,this),this.lastChild=this,J)G=this;this.redraw()}getPrecedingNode(){this.parent.sortedSet.add(this);let z=this.parent.sortedSet.prev(this);if(z)return T(z.lastChild);return this.parent.getPrecedingNode()}getLastNode(){return this.getPrecedingNode()}getActualLastNode(){let z=this.lastChild;while(z&&z!==this){if(z instanceof Node)return z;let F=z.getLastNode();if(F)return F;z=z.getPrecedingNode()}}queueRun(){if(q!==R)r(4);if(this.sortKey!==void 0){let z=this.getActualLastNode();if(z)w(z,this.getPrecedingNode())}this.delete(),this.lastChild=this,G=this,this.redraw(),G=void 0}redraw(){let z=A(this.parent.target[this.itemIndex]),F=q;q=this;let J;try{if(this.parent.makeSortKey){let X=this.parent.makeSortKey(z,this.itemIndex);if(X!=null)J=X instanceof Array?X.map(l).join(""):X}else J=this.itemIndex;if(typeof J==="number")J=l(J);if(this.sortKey!==J)this.parent.sortedSet.remove(this),this.sortKey=J;if(J!=null)this.parent.renderer(z,this.itemIndex)}catch(X){u(X,J!=null)}q=F}getInsertAfterNode(){if(this.sortKey==null)r(1);return T(this.lastChild)}remove(){if(this.sortKey!==void 0){let z=this.getActualLastNode();if(z)w(z,this.getPrecedingNode());this.parent.sortedSet.remove(this),this.sortKey=void 0}this.delete()}}function L(z){let F=q.parentElement,J=q.getInsertAfterNode();F.insertBefore(z,J?J.nextSibling:F.firstChild),q.lastChild=z}var R=new t,q=R,Q=Symbol("any"),H=Symbol("target"),S=new WeakMap,k=0;function V(z,F,J=q){if(J===R||k)return;let X=S.get(z);if(!X)S.set(z,X=new Map);if(F!==Q&&X.get(Q)?.has(J))return;let Z=X.get(F);if(!Z)X.set(F,Z=new Set);if(Z.has(J))return;if(Z.add(J),J===q)q.cleaners.push(Z);else q.cleaners.push(()=>{Z.delete(J)})}function m(z,F,J){if(!z||typeof z!=="object")throw new Error("onEach requires an object");z=z[H]||z,new Xz(z,F,J)}function Zz(z){for(let F in z)return!1;return!0}function Rz(z){let F=z[H]||z,J=q;if(F instanceof Array)return V(F,"length",(Z,U,W)=>{if(!U!==!W)E(J)}),!F.length;let X=Zz(F);return V(F,Q,(Z,U,W)=>{if(X?W===void 0:U===void 0)E(J)}),X}function hz(z){if(z instanceof Array)return qz(z,"length");let F=z[H]||z,J=0;for(let Z in F)if(F[Z]!==void 0)J++;let X=Uz(J);return V(F,Q,(Z,U,W)=>{if(W===U);else if(W===void 0)X.value=++J;else if(U===void 0)X.value=--J}),X}function Bz(z,F,J,X){if(J===X&&J!==void 0)return;let Z=S.get(z);if(Z===void 0)return;for(let U of[F,Q]){let W=Z.get(U);if(W)for(let j of W)if(typeof j==="function")j(F,J,X);else j.onChange(F,J,X)}}var $=Bz,Qz={get(z,F){if(F===H)return z;return V(z,F),A(z[F])},set(z,F,J){if(typeof J==="object"&&J)J=J[H]||J;let X=z[F];if(J!==X)z[F]=J,$(z,F,J,X),D();return!0},deleteProperty(z,F){let J=z[F];return delete z[F],$(z,F,void 0,J),D(),!0},has(z,F){let J=F in z;return V(z,F),J},ownKeys(z){return V(z,Q),Reflect.ownKeys(z)}};function s(z,F,J){if(typeof J==="object"&&J)J=J[H]||J;let X=z[F];if(J!==X){let Z=z.length;if(F==="length"){z.length=J;for(let U=J;U<Z;U++)$(z,U,void 0,z[U])}else{let U=Number.parseInt(F);if(U.toString()===F)F=U;z[F]=J,$(z,F,J,X)}if(z.length!==Z)$(z,"length",z.length,Z);D()}return!0}var Az={get(z,F){if(F===H)return z;let J=F;if(typeof F!=="symbol"){let X=Number.parseInt(F);if(X.toString()===F)J=X}return V(z,J),A(z[F])},set:s,deleteProperty(z,F){return s(z,F,void 0)}},p=new WeakMap;function A(z){if(typeof z!=="object"||!z||z[H]!==void 0)return z;let F=p.get(z);if(F)return F;return F=new Proxy(z,z instanceof Array?Az:Qz),p.set(z,F),F}function Uz(z){return A(typeof z==="object"&&z!==null?z:{value:z})}function Wz(z){return z?z[H]||z:z}var g=new WeakMap;function Nz(z,F){let J=F.split(".").filter((X)=>X);z.classList.add(...J),setTimeout(()=>z.remove(),2000)}function Oz(z,F,J=0){b(z,F,J),D()}var i=1,_z=2,n=32,f=64;function fz(z,F=0){let J=Object.create(Object.getPrototypeOf(z));return b(J,z,F),J}function b(z,F,J){let X=z[H];if(X)z=X,J|=f;if(X=F[H],X){if(F=X,q!==R&&!k)J|=n}if(J&n)V(F,Q);if(F instanceof Array){if(!(z instanceof Array))throw new Error("Cannot copy array into object");let Z=z.length,U=F.length;for(let W=0;W<U;W++)o(z,F,W,J);if(U!==Z)if(J&f){for(let W=U;W<Z;W++){let j=z[W];z[W]=void 0,$(z,W,void 0,j)}z.length=U,$(z,"length",U,Z)}else z.length=U}else{for(let Z in F)o(z,F,Z,J);if(!(J&i)){for(let Z in z)if(!(Z in F)){let U=z[Z];if(delete z[Z],J&f&&U!==void 0)$(z,Z,void 0,U)}}}}function o(z,F,J,X){let Z=z[J],U=F[J];if(U!==Z){if(U&&Z&&typeof U==="object"&&typeof Z==="object"&&(U.constructor===Z.constructor||X&i&&Z instanceof Array)){b(Z,U,X);return}if(!(X&_z)&&U&&typeof U==="object"){let j=Object.create(Object.getPrototypeOf(U));b(j,U,0),U=j}let W=z[J];if(X&i&&U==null)delete z[J];else z[J]=U;if(X&f)$(z,J,U,W)}}var Yz={get(z,F){if(F===H)return qz(Wz(z.proxy),z.index);if(F==="value")return z.proxy[z.index]},set(z,F,J){if(F==="value")return z.proxy[z.index]=J,!0;return!1}};function qz(z,F){return new Proxy({proxy:z,index:F},Yz)}function Iz(z,F){let J,X,Z=z.getAttribute("type"),U=Wz(F).value;if(Z==="checkbox"){if(U===void 0)F.value=z.checked;J=()=>{z.checked=F.value},X=()=>{F.value=z.checked}}else if(Z==="radio"){if(U===void 0&&z.checked)F.value=z.value;J=()=>{z.checked=F.value===z.value},X=()=>{if(z.checked)F.value=z.value}}else{if(X=()=>{F.value=Z==="number"||Z==="range"?z.value===""?null:+z.value:z.value},U===void 0)X();J=()=>{if(z.value=F.value,z.tagName==="SELECT"&&z.value!=F.value)throw new Error(`SELECT has no '${F.value}' OPTION (yet)`)}}Mz(J),z.addEventListener("input",X),I(()=>{z.removeEventListener("input",X)})}var a={create:(z)=>{let F=q.parentElement;if(q!==G)return;if(typeof z==="function")z(F);else{let J=z.split(".").filter((X)=>X);F.classList.add(...J),(async()=>{F.offsetHeight,F.classList.remove(...J)})()}},destroy:(z)=>{let F=q.parentElement;g.set(F,z)},html:(z)=>{let F=document.createElement(q.parentElement.tagName);F.innerHTML=`${z}`;while(F.firstChild)L(F.firstChild)},text:(z)=>{L(document.createTextNode(z))},element:(z)=>{if(!(z instanceof Node))throw new Error(`Unexpected element-argument: ${JSON.parse(z)}`);L(z)}};function _(...z){let F,J,X;for(let Z of z){if(Z==null||Z===!1)continue;if(typeof Z==="string"){let U,W,j=Z.indexOf(":");if(j>=0)U=Z.substring(j+1),Z=Z.substring(0,j);let K=Z.indexOf(".");if(K>=0)W=Z.substring(K+1),Z=Z.substring(0,K);if(Z===""){if(U)L(document.createTextNode(U));if(W){let v=q.parentElement;if(v.classList.add(...W.split(".")),!F)I(()=>v.classList.remove(...W.split(".")))}}else if(Z.indexOf(" ")>=0){J=`Tag '${Z}' cannot contain space`;break}else{if(q.inSvgNamespace||Z==="svg")X=document.createElementNS("http://www.w3.org/2000/svg",Z);else X=document.createElement(Z);if(W)X.className=W.replaceAll("."," ");if(U)X.textContent=U;if(L(X),!F)F=q;let h=new P(X,!0);if(Z==="svg")h.inSvgNamespace=!0;if(h.lastChild=X.lastChild||void 0,G===q)G=h;q=h}}else if(typeof Z==="object"){if(Z.constructor!==Object){J=`Unexpected argument: ${Z}`;break}for(let U in Z){let W=Z[U];Hz(U,W)}}else if(typeof Z==="function")new x(q.parentElement,Z);else{J=`Unexpected argument: ${Z}`;break}}if(F)q=F;if(J)throw new Error(J);return X}var jz=0;function Ez(z,F=!1){let J=F?"":`.AbdStl${++jz}`,X=d(z,J);if(X)_(`style:${X}`);return J}function d(z,F){let J="",X="";for(let Z in z){let U=z[Z];for(let W of Z.split(/, ?/g))if(U&&typeof U==="object")if(W.startsWith("@"))X+=`${W}{
2
+ ${d(U,F)}}
3
+ `;else X+=d(U,W.includes("&")?W.replace(/&/g,F):`${F} ${W}`);else J+=`${W.replace(/[A-Z]/g,(j)=>`-${j.toLowerCase()}`)}:${U};`}if(J)X=`${F.trimStart()||"*"}{${J}}
4
+ ${X}`;return X}function Hz(z,F){let J=q.parentElement;if(typeof F==="object"&&F!==null&&F[H])if(z==="bind")Iz(J,F);else new Fz(J,z,F);else if(z[0]==="."){let X=z.substring(1).split(".");if(F)J.classList.add(...X);else J.classList.remove(...X)}else if(z[0]==="$"){let X=z.substring(1);if(F==null||F===!1)J.style[X]="";else J.style[X]=`${F}`}else if(F==null);else if(z in a)a[z](F);else if(typeof F==="function")J.addEventListener(z,F),I(()=>J.removeEventListener(z,F));else if(F===!0||F===!1||z==="value"||z==="selectedIndex")J[z]=F;else J.setAttribute(z,F)}function $z(z){return console.error("Error while in Aberdeen render:",z),!0}var Kz=$z;function wz(z){Kz=z||$z}function Dz(){return q.parentElement}function I(z){q.cleaners.push(z)}function Mz(z){return new zz(q.parentElement,z).result}function kz(z){new Jz(q.parentElement,z)}function bz(z,F){new e(z,F)}function xz(){R.remove(),jz=0}function mz(z){k++;try{return z()}finally{k--}}function vz(z,F){let J=A(z instanceof Array?[]:{});return m(z,(X,Z)=>{let U=F(X,Z);if(U!==void 0)J[Z]=U,I(()=>{delete J[Z]})}),J}function yz(z,F){let J=A({});return m(z,(X,Z)=>{let U=F(X,Z);if(U){for(let W in U)J[W]=U[W];I(()=>{for(let W in U)delete J[W]})}}),J}function Sz(z,F){let J={},X=Uz(J);return m(z,(Z,U)=>{let W=F(Z,U);if(W!=null){let j=W instanceof Array?W:[W];if(j.length){for(let K of j)if(J[K])X[K][U]=Z;else X[K]={[U]:Z};I(()=>{for(let K of j)if(delete X[K][U],Zz(J[K]))delete X[K]})}}}),X}function Lz(z){if(z&&typeof z==="object")_({text:z instanceof Array?"<array>":"<object>"}),_("ul",()=>{m(z,(F,J)=>{_(`li:${JSON.stringify(J)}: `,()=>{Lz(F)})})});else _({text:JSON.stringify(z)});return z}function r(z){throw new Error(`Aberdeen internal error ${z}`)}function u(z,F){try{if(Kz(z)===!1)F=!1}catch(J){console.error(J)}try{if(F)_("div.aberdeen-error:Error")}catch{}}function gz(z,F){let J=$;$=z;try{F()}finally{$=J}}export{gz as withEmitHandler,Wz as unproxy,xz as unmountAll,wz as setErrorHandler,Gz as runQueue,qz as ref,Uz as proxy,mz as peek,Sz as partition,m as onEach,Mz as observe,yz as multiMap,bz as mount,vz as map,Rz as isEmpty,Pz as invertString,Ez as insertCss,kz as immediateObserve,Dz as getParentElement,Lz as dump,Bz as defaultEmitHandler,hz as count,Oz as copy,fz as clone,I as clean,_z as SHALLOW,i as MERGE,_ as $};
5
5
 
6
- //# debugId=E01077B20C208BEA64756E2164756E21
6
+ //# debugId=52C40989C00BF1DC64756E2164756E21
7
7
  //# sourceMappingURL=aberdeen.js.map