diff --git a/docs/.nojekyll b/docs/.nojekyll
new file mode 100644
index 0000000..e2ac661
--- /dev/null
+++ b/docs/.nojekyll
@@ -0,0 +1 @@
+TypeDoc added this file to prevent GitHub Pages from using Jekyll. You can turn off this behavior by setting the `githubPages` option to false.
\ No newline at end of file
diff --git a/docs/assets/highlight.css b/docs/assets/highlight.css
new file mode 100644
index 0000000..5674cf3
--- /dev/null
+++ b/docs/assets/highlight.css
@@ -0,0 +1,22 @@
+:root {
+ --light-code-background: #FFFFFF;
+ --dark-code-background: #1E1E1E;
+}
+
+@media (prefers-color-scheme: light) { :root {
+ --code-background: var(--light-code-background);
+} }
+
+@media (prefers-color-scheme: dark) { :root {
+ --code-background: var(--dark-code-background);
+} }
+
+:root[data-theme='light'] {
+ --code-background: var(--light-code-background);
+}
+
+:root[data-theme='dark'] {
+ --code-background: var(--dark-code-background);
+}
+
+pre, code { background: var(--code-background); }
diff --git a/docs/assets/icons.js b/docs/assets/icons.js
new file mode 100644
index 0000000..b79c9e8
--- /dev/null
+++ b/docs/assets/icons.js
@@ -0,0 +1,15 @@
+(function(svg) {
+ svg.innerHTML = ` `;
+ svg.style.display = 'none';
+ if (location.protocol === 'file:') {
+ if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', updateUseElements);
+ else updateUseElements()
+ function updateUseElements() {
+ document.querySelectorAll('use').forEach(el => {
+ if (el.getAttribute('href').includes('#icon-')) {
+ el.setAttribute('href', el.getAttribute('href').replace(/.*#/, '#'));
+ }
+ });
+ }
+ }
+})(document.body.appendChild(document.createElementNS('http://www.w3.org/2000/svg', 'svg')))
\ No newline at end of file
diff --git a/docs/assets/icons.svg b/docs/assets/icons.svg
new file mode 100644
index 0000000..7dead61
--- /dev/null
+++ b/docs/assets/icons.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/docs/assets/main.js b/docs/assets/main.js
new file mode 100644
index 0000000..d6f1388
--- /dev/null
+++ b/docs/assets/main.js
@@ -0,0 +1,59 @@
+"use strict";
+"use strict";(()=>{var Ce=Object.create;var ne=Object.defineProperty;var Pe=Object.getOwnPropertyDescriptor;var Oe=Object.getOwnPropertyNames;var _e=Object.getPrototypeOf,Re=Object.prototype.hasOwnProperty;var Me=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Fe=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Oe(e))!Re.call(t,i)&&i!==n&&ne(t,i,{get:()=>e[i],enumerable:!(r=Pe(e,i))||r.enumerable});return t};var De=(t,e,n)=>(n=t!=null?Ce(_e(t)):{},Fe(e||!t||!t.__esModule?ne(n,"default",{value:t,enumerable:!0}):n,t));var ae=Me((se,oe)=>{(function(){var t=function(e){var n=new t.Builder;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),n.searchPipeline.add(t.stemmer),e.call(n,n),n.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(n){e.console&&console.warn&&console.warn(n)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var n=Object.create(null),r=Object.keys(e),i=0;i0){var d=t.utils.clone(n)||{};d.position=[a,u],d.index=s.length,s.push(new t.Token(r.slice(a,o),d))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index.
+`,e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(r){var i=t.Pipeline.registeredFunctions[r];if(i)n.add(i);else throw new Error("Cannot load unregistered function: "+r)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(n){t.Pipeline.warnIfFunctionNotRegistered(n),this._stack.push(n)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");r=r+1,this._stack.splice(r,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");this._stack.splice(r,0,n)},t.Pipeline.prototype.remove=function(e){var n=this._stack.indexOf(e);n!=-1&&this._stack.splice(n,1)},t.Pipeline.prototype.run=function(e){for(var n=this._stack.length,r=0;r1&&(oe&&(r=s),o!=e);)i=r-n,s=n+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(ol?d+=2:a==l&&(n+=r[u+1]*i[d+1],u+=2,d+=2);return n},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),n=1,r=0;n0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}if(s.str.length==0&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new t.TokenSet;s.node.edges["*"]=u}s.str.length==1&&(u.final=!0),i.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var d=s.str.charAt(0),y=s.str.charAt(1),p;y in s.node.edges?p=s.node.edges[y]:(p=new t.TokenSet,s.node.edges[y]=p),s.str.length==1&&(p.final=!0),i.push({node:p,editsRemaining:s.editsRemaining-1,str:d+s.str.slice(2)})}}}return r},t.TokenSet.fromString=function(e){for(var n=new t.TokenSet,r=n,i=0,s=e.length;i=e;n--){var r=this.uncheckedNodes[n],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(n){var r=new t.QueryParser(e,n);r.parse()})},t.Index.prototype.query=function(e){for(var n=new t.Query(this.fields),r=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),l=0;l1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,n){var r=e[this._ref],i=Object.keys(this._fields);this._documents[r]=n||{},this.documentCount+=1;for(var s=0;s=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,n;do e=this.next(),n=e.charCodeAt(0);while(n>47&&n<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var n=e.next();if(n==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(n.charCodeAt(0)==92){e.escapeCharacter();continue}if(n==":")return t.QueryLexer.lexField;if(n=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(n=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(n=="+"&&e.width()===1||n=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(n.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,n){this.lexer=new t.QueryLexer(e),this.query=n,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var n=e.peekLexeme();if(n!=null)switch(n.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expected either a field or a term, found "+n.type;throw n.str.length>=1&&(r+=" with value '"+n.str+"'"),new t.QueryParseError(r,n.start,n.end)}},t.QueryParser.parsePresence=function(e){var n=e.consumeLexeme();if(n!=null){switch(n.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var r="unrecognised presence operator'"+n.str+"'";throw new t.QueryParseError(r,n.start,n.end)}var i=e.peekLexeme();if(i==null){var r="expecting term or field, found nothing";throw new t.QueryParseError(r,n.start,n.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(r,i.start,i.end)}}},t.QueryParser.parseField=function(e){var n=e.consumeLexeme();if(n!=null){if(e.query.allFields.indexOf(n.str)==-1){var r=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+n.str+"', possible fields: "+r;throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.fields=[n.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,n.start,n.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var n=e.consumeLexeme();if(n!=null){e.currentClause.term=n.str.toLowerCase(),n.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var r=e.peekLexeme();if(r==null){e.nextClause();return}switch(r.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+r.type+"'";throw new t.QueryParseError(i,r.start,r.end)}}},t.QueryParser.parseEditDistance=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="edit distance must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.editDistance=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="boost must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.boost=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,n){typeof define=="function"&&define.amd?define(n):typeof se=="object"?oe.exports=n():e.lunr=n()}(this,function(){return t})})()});var re=[];function G(t,e){re.push({selector:e,constructor:t})}var U=class{constructor(){this.alwaysVisibleMember=null;this.createComponents(document.body),this.ensureFocusedElementVisible(),this.listenForCodeCopies(),window.addEventListener("hashchange",()=>this.ensureFocusedElementVisible()),document.body.style.display||(this.ensureFocusedElementVisible(),this.updateIndexVisibility(),this.scrollToHash())}createComponents(e){re.forEach(n=>{e.querySelectorAll(n.selector).forEach(r=>{r.dataset.hasInstance||(new n.constructor({el:r,app:this}),r.dataset.hasInstance=String(!0))})})}filterChanged(){this.ensureFocusedElementVisible()}showPage(){document.body.style.display&&(console.log("Show page"),document.body.style.removeProperty("display"),this.ensureFocusedElementVisible(),this.updateIndexVisibility(),this.scrollToHash())}scrollToHash(){if(location.hash){console.log("Scorlling");let e=document.getElementById(location.hash.substring(1));if(!e)return;e.scrollIntoView({behavior:"instant",block:"start"})}}ensureActivePageVisible(){let e=document.querySelector(".tsd-navigation .current"),n=e?.parentElement;for(;n&&!n.classList.contains(".tsd-navigation");)n instanceof HTMLDetailsElement&&(n.open=!0),n=n.parentElement;if(e&&!e.checkVisibility()){let r=e.getBoundingClientRect().top-document.documentElement.clientHeight/4;document.querySelector(".site-menu").scrollTop=r}}updateIndexVisibility(){let e=document.querySelector(".tsd-index-content"),n=e?.open;e&&(e.open=!0),document.querySelectorAll(".tsd-index-section").forEach(r=>{r.style.display="block";let i=Array.from(r.querySelectorAll(".tsd-index-link")).every(s=>s.offsetParent==null);r.style.display=i?"none":"block"}),e&&(e.open=n)}ensureFocusedElementVisible(){if(this.alwaysVisibleMember&&(this.alwaysVisibleMember.classList.remove("always-visible"),this.alwaysVisibleMember.firstElementChild.remove(),this.alwaysVisibleMember=null),!location.hash)return;let e=document.getElementById(location.hash.substring(1));if(!e)return;let n=e.parentElement;for(;n&&n.tagName!=="SECTION";)n=n.parentElement;if(n&&n.offsetParent==null){this.alwaysVisibleMember=n,n.classList.add("always-visible");let r=document.createElement("p");r.classList.add("warning"),r.textContent="This member is normally hidden due to your filter settings.",n.prepend(r)}}listenForCodeCopies(){document.querySelectorAll("pre > button").forEach(e=>{let n;e.addEventListener("click",()=>{e.previousElementSibling instanceof HTMLElement&&navigator.clipboard.writeText(e.previousElementSibling.innerText.trim()),e.textContent="Copied!",e.classList.add("visible"),clearTimeout(n),n=setTimeout(()=>{e.classList.remove("visible"),n=setTimeout(()=>{e.textContent="Copy"},100)},1e3)})})}};var ie=(t,e=100)=>{let n;return()=>{clearTimeout(n),n=setTimeout(()=>t(),e)}};var de=De(ae());async function le(t,e){if(!window.searchData)return;let n=await fetch(window.searchData),r=new Blob([await n.arrayBuffer()]).stream().pipeThrough(new DecompressionStream("gzip")),i=await new Response(r).json();t.data=i,t.index=de.Index.load(i.index),e.classList.remove("loading"),e.classList.add("ready")}function he(){let t=document.getElementById("tsd-search");if(!t)return;let e={base:t.dataset.base+"/"},n=document.getElementById("tsd-search-script");t.classList.add("loading"),n&&(n.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),n.addEventListener("load",()=>{le(e,t)}),le(e,t));let r=document.querySelector("#tsd-search input"),i=document.querySelector("#tsd-search .results");if(!r||!i)throw new Error("The input field or the result list wrapper was not found");let s=!1;i.addEventListener("mousedown",()=>s=!0),i.addEventListener("mouseup",()=>{s=!1,t.classList.remove("has-focus")}),r.addEventListener("focus",()=>t.classList.add("has-focus")),r.addEventListener("blur",()=>{s||(s=!1,t.classList.remove("has-focus"))}),Ae(t,i,r,e)}function Ae(t,e,n,r){n.addEventListener("input",ie(()=>{Ve(t,e,n,r)},200));let i=!1;n.addEventListener("keydown",s=>{i=!0,s.key=="Enter"?Ne(e,n):s.key=="Escape"?n.blur():s.key=="ArrowUp"?ue(e,-1):s.key==="ArrowDown"?ue(e,1):i=!1}),n.addEventListener("keypress",s=>{i&&s.preventDefault()}),document.body.addEventListener("keydown",s=>{s.altKey||s.ctrlKey||s.metaKey||!n.matches(":focus")&&s.key==="/"&&(n.focus(),s.preventDefault())})}function Ve(t,e,n,r){if(!r.index||!r.data)return;e.textContent="";let i=n.value.trim(),s;if(i){let o=i.split(" ").map(a=>a.length?`*${a}*`:"").join(" ");s=r.index.search(o)}else s=[];for(let o=0;oa.score-o.score);for(let o=0,a=Math.min(10,s.length);o `,d=ce(l.name,i);globalThis.DEBUG_SEARCH_WEIGHTS&&(d+=` (score: ${s[o].score.toFixed(2)})`),l.parent&&(d=`
+ ${ce(l.parent,i)}. ${d}`);let y=document.createElement("li");y.classList.value=l.classes??"";let p=document.createElement("a");p.href=r.base+l.url,p.innerHTML=u+d,y.append(p),e.appendChild(y)}}function ue(t,e){let n=t.querySelector(".current");if(!n)n=t.querySelector(e==1?"li:first-child":"li:last-child"),n&&n.classList.add("current");else{let r=n;if(e===1)do r=r.nextElementSibling??void 0;while(r instanceof HTMLElement&&r.offsetParent==null);else do r=r.previousElementSibling??void 0;while(r instanceof HTMLElement&&r.offsetParent==null);r&&(n.classList.remove("current"),r.classList.add("current"))}}function Ne(t,e){let n=t.querySelector(".current");if(n||(n=t.querySelector("li:first-child")),n){let r=n.querySelector("a");r&&(window.location.href=r.href),e.blur()}}function ce(t,e){if(e==="")return t;let n=t.toLocaleLowerCase(),r=e.toLocaleLowerCase(),i=[],s=0,o=n.indexOf(r);for(;o!=-1;)i.push(K(t.substring(s,o)),`${K(t.substring(o,o+r.length))} `),s=o+r.length,o=n.indexOf(r,s);return i.push(K(t.substring(s))),i.join("")}var He={"&":"&","<":"<",">":">","'":"'",'"':"""};function K(t){return t.replace(/[&<>"'"]/g,e=>He[e])}var I=class{constructor(e){this.el=e.el,this.app=e.app}};var F="mousedown",fe="mousemove",H="mouseup",J={x:0,y:0},pe=!1,ee=!1,Be=!1,D=!1,me=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(me?"is-mobile":"not-mobile");me&&"ontouchstart"in document.documentElement&&(Be=!0,F="touchstart",fe="touchmove",H="touchend");document.addEventListener(F,t=>{ee=!0,D=!1;let e=F=="touchstart"?t.targetTouches[0]:t;J.y=e.pageY||0,J.x=e.pageX||0});document.addEventListener(fe,t=>{if(ee&&!D){let e=F=="touchstart"?t.targetTouches[0]:t,n=J.x-(e.pageX||0),r=J.y-(e.pageY||0);D=Math.sqrt(n*n+r*r)>10}});document.addEventListener(H,()=>{ee=!1});document.addEventListener("click",t=>{pe&&(t.preventDefault(),t.stopImmediatePropagation(),pe=!1)});var X=class extends I{constructor(e){super(e),this.className=this.el.dataset.toggle||"",this.el.addEventListener(H,n=>this.onPointerUp(n)),this.el.addEventListener("click",n=>n.preventDefault()),document.addEventListener(F,n=>this.onDocumentPointerDown(n)),document.addEventListener(H,n=>this.onDocumentPointerUp(n))}setActive(e){if(this.active==e)return;this.active=e,document.documentElement.classList.toggle("has-"+this.className,e),this.el.classList.toggle("active",e);let n=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(n),setTimeout(()=>document.documentElement.classList.remove(n),500)}onPointerUp(e){D||(this.setActive(!0),e.preventDefault())}onDocumentPointerDown(e){if(this.active){if(e.target.closest(".col-sidebar, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(e){if(!D&&this.active&&e.target.closest(".col-sidebar")){let n=e.target.closest("a");if(n){let r=window.location.href;r.indexOf("#")!=-1&&(r=r.substring(0,r.indexOf("#"))),n.href.substring(0,r.length)==r&&setTimeout(()=>this.setActive(!1),250)}}}};var te;try{te=localStorage}catch{te={getItem(){return null},setItem(){}}}var Q=te;var ye=document.head.appendChild(document.createElement("style"));ye.dataset.for="filters";var Y=class extends I{constructor(e){super(e),this.key=`filter-${this.el.name}`,this.value=this.el.checked,this.el.addEventListener("change",()=>{this.setLocalStorage(this.el.checked)}),this.setLocalStorage(this.fromLocalStorage()),ye.innerHTML+=`html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; }
+`,this.app.updateIndexVisibility()}fromLocalStorage(){let e=Q.getItem(this.key);return e?e==="true":this.el.checked}setLocalStorage(e){Q.setItem(this.key,e.toString()),this.value=e,this.handleValueChange()}handleValueChange(){this.el.checked=this.value,document.documentElement.classList.toggle(this.key,this.value),this.app.filterChanged(),this.app.updateIndexVisibility()}};var Z=class extends I{constructor(e){super(e),this.summary=this.el.querySelector(".tsd-accordion-summary"),this.icon=this.summary.querySelector("svg"),this.key=`tsd-accordion-${this.summary.dataset.key??this.summary.textContent.trim().replace(/\s+/g,"-").toLowerCase()}`;let n=Q.getItem(this.key);this.el.open=n?n==="true":this.el.open,this.el.addEventListener("toggle",()=>this.update());let r=this.summary.querySelector("a");r&&r.addEventListener("click",()=>{location.assign(r.href)}),this.update()}update(){this.icon.style.transform=`rotate(${this.el.open?0:-90}deg)`,Q.setItem(this.key,this.el.open.toString())}};function ge(t){let e=Q.getItem("tsd-theme")||"os";t.value=e,ve(e),t.addEventListener("change",()=>{Q.setItem("tsd-theme",t.value),ve(t.value)})}function ve(t){document.documentElement.dataset.theme=t}var Le;function be(){let t=document.getElementById("tsd-nav-script");t&&(t.addEventListener("load",xe),xe())}async function xe(){let t=document.getElementById("tsd-nav-container");if(!t||!window.navigationData)return;let n=await(await fetch(window.navigationData)).arrayBuffer(),r=new Blob([n]).stream().pipeThrough(new DecompressionStream("gzip")),i=await new Response(r).json();Le=t.dataset.base+"/",t.innerHTML="";for(let s of i)we(s,t,[]);window.app.createComponents(t),window.app.showPage(),window.app.ensureActivePageVisible()}function we(t,e,n){let r=e.appendChild(document.createElement("li"));if(t.children){let i=[...n,t.text],s=r.appendChild(document.createElement("details"));s.className=t.class?`${t.class} tsd-index-accordion`:"tsd-index-accordion",s.dataset.key=i.join("$");let o=s.appendChild(document.createElement("summary"));o.className="tsd-accordion-summary",o.innerHTML=' ',Ee(t,o);let a=s.appendChild(document.createElement("div"));a.className="tsd-accordion-details";let l=a.appendChild(document.createElement("ul"));l.className="tsd-nested-navigation";for(let u of t.children)we(u,l,i)}else Ee(t,r,t.class)}function Ee(t,e,n){if(t.path){let r=e.appendChild(document.createElement("a"));r.href=Le+t.path,n&&(r.className=n),location.pathname===r.pathname&&r.classList.add("current"),t.kind&&(r.innerHTML=` `),r.appendChild(document.createElement("span")).textContent=t.text}else e.appendChild(document.createElement("span")).textContent=t.text}G(X,"a[data-toggle]");G(Z,".tsd-index-accordion");G(Y,".tsd-filter-item input[type=checkbox]");var Se=document.getElementById("tsd-theme");Se&&ge(Se);var je=new U;Object.defineProperty(window,"app",{value:je});he();be();})();
+/*! Bundled license information:
+
+lunr/lunr.js:
+ (**
+ * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9
+ * Copyright (C) 2020 Oliver Nightingale
+ * @license MIT
+ *)
+ (*!
+ * lunr.utils
+ * Copyright (C) 2020 Oliver Nightingale
+ *)
+ (*!
+ * lunr.Set
+ * Copyright (C) 2020 Oliver Nightingale
+ *)
+ (*!
+ * lunr.tokenizer
+ * Copyright (C) 2020 Oliver Nightingale
+ *)
+ (*!
+ * lunr.Pipeline
+ * Copyright (C) 2020 Oliver Nightingale
+ *)
+ (*!
+ * lunr.Vector
+ * Copyright (C) 2020 Oliver Nightingale
+ *)
+ (*!
+ * lunr.stemmer
+ * Copyright (C) 2020 Oliver Nightingale
+ * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt
+ *)
+ (*!
+ * lunr.stopWordFilter
+ * Copyright (C) 2020 Oliver Nightingale
+ *)
+ (*!
+ * lunr.trimmer
+ * Copyright (C) 2020 Oliver Nightingale
+ *)
+ (*!
+ * lunr.TokenSet
+ * Copyright (C) 2020 Oliver Nightingale
+ *)
+ (*!
+ * lunr.Index
+ * Copyright (C) 2020 Oliver Nightingale
+ *)
+ (*!
+ * lunr.Builder
+ * Copyright (C) 2020 Oliver Nightingale
+ *)
+*/
diff --git a/docs/assets/material-style.css b/docs/assets/material-style.css
new file mode 100644
index 0000000..b7e1d31
--- /dev/null
+++ b/docs/assets/material-style.css
@@ -0,0 +1,247 @@
+@import url("https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&family=Space+Mono:ital,wght@0,400;0,700;1,400;1,700&display=swap");
+
+:root,
+:root[data-theme="light"],
+:root[data-theme="dark"] {
+ --font-sans: "Space Grotesk", sans-serif;
+ --font-mono: "Space Mono", monospace;
+
+ --color-background: var(--md-sys-color-surface-container);
+ --color-background-secondary: var(--md-sys-color-surface-container-high);
+ --color-background-warning: var(--md-sys-color-error-container);
+ --color-warning-text: var(--md-sys-color-on-error-container);
+ --color-icon-background: var(--md-sys-color-on-primary);
+ --color-accent: var(--md-sys-color-secondary-container);
+ --color-active-menu-item: var(--md-sys-color-surface-container-highest);
+ --color-text: var(--md-sys-color-on-surface);
+ --color-text-aside: var(--md-sys-color-on-surface-variant);
+ --color-link: var(--md-sys-color-primary);
+
+ --color-ts-project: var(--md-sys-color-secondary);
+ --color-ts-module: var(--color-ts-project);
+ --color-ts-namespace: var(--color-ts-project);
+
+ --color-ts-enum: var(--md-sys-color-tertiary);
+ --color-ts-enum-member: var(--color-ts-enum);
+
+ --color-ts-variable: var(--md-sys-color-primary);
+ --color-ts-function: var(--md-sys-color-secondary);
+ --color-ts-class: var(--md-sys-color-tertiary);
+ --color-ts-interface: var(--md-sys-color-tertiary);
+
+ --color-ts-constructor: var(--md-sys-color-inverse-primary);
+
+ --color-ts-property: var(--md-sys-color-on-background);
+ --color-ts-method: var(--color-ts-function);
+
+ --color-ts-call-signature: var(--color-ts-method);
+ --color-ts-index-signature: var(--color-ts-property); /* ? */
+ --color-ts-constructor-signature: var(--color-ts-function);
+ --color-ts-parameter: var(--md-sys-color-primary);
+
+ --color-ts-type-parameter: var(--md-sys-color-tertiary);
+ --color-ts-accessor: var(--color-ts-property);
+ --color-ts-get-signature: var(--color-ts-accessor);
+ --color-ts-set-signature: var(--color-ts-accessor);
+ --color-ts-type-alias: var(--md-sys-color-tertiary);
+
+ /* --external-icon: var(--md-sys-external-icon);
+ --color-scheme: var(--md-sys-color-scheme); */
+
+ --top-app-bar-height: 4.5rem;
+ --footer-height: 3.5rem;
+}
+
+body {
+ font-family: var(--font-sans);
+}
+code,
+pre {
+ font-family: var(--font-mono);
+}
+
+img {
+ max-width: 100%;
+}
+
+*::-webkit-scrollbar {
+ width: 8px;
+ height: 8px;
+}
+*::-webkit-scrollbar-track {
+ background: none;
+}
+*::-webkit-scrollbar-thumb {
+ border: none;
+}
+
+.container-main {
+ min-height: calc(100vh - var(--top-app-bar-height) - var(--footer-height));
+}
+.col-content {
+ overflow: hidden;
+ box-sizing: border-box;
+ padding: 1.75rem;
+ border-radius: 28px;
+ background-color: var(--md-sys-color-surface);
+}
+.page-menu {
+ height: fit-content;
+ padding: 0.75rem 1.75rem;
+ border-radius: 28px;
+ background-color: var(--md-sys-color-surface);
+}
+.site-menu > *,
+.page-menu > * {
+ position: relative;
+}
+.title {
+ display: block;
+ max-width: calc(100% - 5rem);
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ font-size: 22px;
+}
+
+.tsd-page-toolbar {
+ padding: 8px 0;
+ height: calc(var(--top-app-bar-height) - 16px);
+ background-color: var(--color-background);
+ border-bottom: none;
+}
+.tsd-page-toolbar .tsd-toolbar-contents {
+ height: 56px;
+}
+.tsd-page-toolbar .table-cell {
+ height: 56px;
+ margin-left: 1.5rem;
+}
+.tsd-page-toolbar .tsd-toolbar-icon {
+ padding: 20px 0;
+}
+#tsd-search {
+ line-height: 56px;
+ border-radius: 22px;
+}
+#tsd-search .results {
+ z-index: -1;
+ top: calc(56px - 22px);
+ padding-top: 22px;
+ box-shadow: 0px 4px 2px rgba(0, 0, 0, 0.125);
+ background-color: var(--color-background-secondary);
+ border-bottom-left-radius: 22px;
+ border-bottom-right-radius: 22px;
+ overflow: hidden;
+}
+#tsd-search .results li {
+ background: none;
+}
+#tsd-search .results a {
+ padding: 1rem 0.25rem;
+}
+.col-sidebar {
+ padding-top: 0;
+ margin-right: 1rem;
+}
+
+.tsd-signature {
+ padding: 1rem 1.5rem;
+ border-radius: 24px;
+ background-color: var(--md-sys-color-surface-container);
+}
+
+.tsd-page-navigation ul {
+ padding-left: 0.44rem;
+}
+.tsd-navigation a,
+.tsd-navigation summary > span,
+.tsd-page-navigation a {
+ padding: 0.88rem;
+ border-radius: 24px;
+}
+.tsd-navigation a:hover,
+.tsd-page-navigation a:hover {
+ text-decoration: none;
+ background-color: var(--md-sys-color-surface-container-high);
+}
+.page-menu .tsd-accordion-summary svg {
+ position: absolute;
+ right: 0;
+}
+.site-menu .tsd-navigation .tsd-accordion-summary {
+ display: flex;
+ flex-direction: row-reverse;
+ width: 100%;
+}
+
+.tsd-small-nested-navigation {
+ margin-left: 1rem;
+}
+.tsd-nested-navigation {
+ margin-left: 2.5rem;
+}
+.tsd-nested-navigation > li > a,
+.tsd-nested-navigation > li > span {
+ width: 100%;
+}
+.tsd-navigation > a,
+.tsd-navigation .tsd-accordion-summary {
+ width: 100%;
+}
+.tsd-index-accordion .tsd-accordion-summary > svg {
+ position: absolute;
+ right: 1.5rem;
+ margin-top: 1rem;
+}
+.tsd-accordion-summary .tsd-kind-icon ~ span {
+ margin-right: 2.5rem;
+}
+.tsd-accordion-summary .tsd-nested-navigation > li > a,
+.tsd-nested-navigation > li > span {
+ width: calc(100% - 0.44rem);
+}
+.tsd-kind-icon ~ span {
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+.tsd-generator {
+ padding: 0;
+ border-top: none;
+ height: var(--footer-height);
+ line-height: var(--footer-height);
+}
+.tsd-generator > p {
+ padding: 0 2rem;
+}
+
+@media (max-width: 769px) {
+ .container {
+ padding: 1rem;
+ }
+ .col-sidebar {
+ margin-right: 0;
+ }
+}
+@media (min-width: 770px) {
+ .container-main {
+ margin: 0 auto;
+ }
+ .site-menu {
+ margin-right: 0.5rem;
+ }
+}
+@media (min-width: 1200px) {
+ .page-menu,
+ .site-menu {
+ max-height: calc(100vh - var(--footer-height) - var(--top-app-bar-height));
+ top: var(--top-app-bar-height);
+ }
+ .page-menu {
+ margin-left: 1rem;
+ }
+ .col-sidebar {
+ margin-right: 0;
+ }
+}
diff --git a/docs/assets/navigation.js b/docs/assets/navigation.js
new file mode 100644
index 0000000..0005834
--- /dev/null
+++ b/docs/assets/navigation.js
@@ -0,0 +1 @@
+window.navigationData = "data:application/octet-stream;base64,H4sIAAAAAAAACp2P0QqCQBBF/2WeNdPSSKKX6AeiNxHZdMWldVd2xyjCf28RTFcioteZe8+ZSZ6A9I4Qw44JpEoQvgcHGoKVmdWyaDnVXjbsskWFNTeBKxMFxIEDecV4oaiAOHmjjkpJNVL6cklyG9SHZrgwMkBOtDYt1IXLtGuIfQE6x+YfpNCo2hx/VE3y/1nP8kSxVWK04aOxRUNkJlhuN34YzB8YOTeiGLnwD0e7vo1aBV9OTScGlCO+bEWOzLzvobRx0bpLXzXdFCoCAgAA"
\ No newline at end of file
diff --git a/docs/assets/search.js b/docs/assets/search.js
new file mode 100644
index 0000000..a199f51
--- /dev/null
+++ b/docs/assets/search.js
@@ -0,0 +1 @@
+window.searchData = "data:application/octet-stream;base64,H4sIAAAAAAAACn2Ry2qGMBCF32XWQZP09iul+25L6UZERPPT0JhIEntBfPdOvAXBdiNO5nwnZyYjWPPlIC9G+JC6hfz+loCuOwE5eAMEBqvw9zroxkujXepN8u47hZ1G1c4JZAEmsuF8px+l9sLqWj3tLp1pByVcWm2t6n8vmj2wu+j4al6EH6ze/fxPf3TbFCe2BPraCu2PyaaSAN4lviEf4VNYhzOigic3SYbIVQrVhu0sEdDQdF0wKdfem2i8sUGxSFIKpKAkSy70Upak2ID5fD6YVQwrdqJiBxXHip+o+Kyak2NkL9rnZQLMsE0GuMRqHYxtCxyB4Wea4hihCs7hpSNAI0D/BOz6FBHjEeNnGAbuZS+U1Kgpymn6BR/2o0l8AgAA";
\ No newline at end of file
diff --git a/docs/assets/style.css b/docs/assets/style.css
new file mode 100644
index 0000000..778b949
--- /dev/null
+++ b/docs/assets/style.css
@@ -0,0 +1,1412 @@
+:root {
+ /* Light */
+ --light-color-background: #f2f4f8;
+ --light-color-background-secondary: #eff0f1;
+ --light-color-warning-text: #222;
+ --light-color-background-warning: #e6e600;
+ --light-color-icon-background: var(--light-color-background);
+ --light-color-accent: #c5c7c9;
+ --light-color-active-menu-item: var(--light-color-accent);
+ --light-color-text: #222;
+ --light-color-text-aside: #6e6e6e;
+ --light-color-link: #1f70c2;
+
+ --light-color-ts-keyword: #056bd6;
+ --light-color-ts-project: #b111c9;
+ --light-color-ts-module: var(--light-color-ts-project);
+ --light-color-ts-namespace: var(--light-color-ts-project);
+ --light-color-ts-enum: #7e6f15;
+ --light-color-ts-enum-member: var(--light-color-ts-enum);
+ --light-color-ts-variable: #4760ec;
+ --light-color-ts-function: #572be7;
+ --light-color-ts-class: #1f70c2;
+ --light-color-ts-interface: #108024;
+ --light-color-ts-constructor: var(--light-color-ts-class);
+ --light-color-ts-property: var(--light-color-ts-variable);
+ --light-color-ts-method: var(--light-color-ts-function);
+ --light-color-ts-call-signature: var(--light-color-ts-method);
+ --light-color-ts-index-signature: var(--light-color-ts-property);
+ --light-color-ts-constructor-signature: var(--light-color-ts-constructor);
+ --light-color-ts-parameter: var(--light-color-ts-variable);
+ /* type literal not included as links will never be generated to it */
+ --light-color-ts-type-parameter: #a55c0e;
+ --light-color-ts-accessor: var(--light-color-ts-property);
+ --light-color-ts-get-signature: var(--light-color-ts-accessor);
+ --light-color-ts-set-signature: var(--light-color-ts-accessor);
+ --light-color-ts-type-alias: #d51270;
+ /* reference not included as links will be colored with the kind that it points to */
+
+ --light-external-icon: url("data:image/svg+xml;utf8, ");
+ --light-color-scheme: light;
+
+ /* Dark */
+ --dark-color-background: #2b2e33;
+ --dark-color-background-secondary: #1e2024;
+ --dark-color-background-warning: #bebe00;
+ --dark-color-warning-text: #222;
+ --dark-color-icon-background: var(--dark-color-background-secondary);
+ --dark-color-accent: #9096a2;
+ --dark-color-active-menu-item: #5d5d6a;
+ --dark-color-text: #f5f5f5;
+ --dark-color-text-aside: #dddddd;
+ --dark-color-link: #00aff4;
+
+ --dark-color-ts-keyword: #3399ff;
+ --dark-color-ts-project: #e358ff;
+ --dark-color-ts-module: var(--dark-color-ts-project);
+ --dark-color-ts-namespace: var(--dark-color-ts-project);
+ --dark-color-ts-enum: #f4d93e;
+ --dark-color-ts-enum-member: var(--dark-color-ts-enum);
+ --dark-color-ts-variable: #798dff;
+ --dark-color-ts-function: #a280ff;
+ --dark-color-ts-class: #8ac4ff;
+ --dark-color-ts-interface: #6cff87;
+ --dark-color-ts-constructor: var(--dark-color-ts-class);
+ --dark-color-ts-property: var(--dark-color-ts-variable);
+ --dark-color-ts-method: var(--dark-color-ts-function);
+ --dark-color-ts-call-signature: var(--dark-color-ts-method);
+ --dark-color-ts-index-signature: var(--dark-color-ts-property);
+ --dark-color-ts-constructor-signature: var(--dark-color-ts-constructor);
+ --dark-color-ts-parameter: var(--dark-color-ts-variable);
+ /* type literal not included as links will never be generated to it */
+ --dark-color-ts-type-parameter: #e07d13;
+ --dark-color-ts-accessor: var(--dark-color-ts-property);
+ --dark-color-ts-get-signature: var(--dark-color-ts-accessor);
+ --dark-color-ts-set-signature: var(--dark-color-ts-accessor);
+ --dark-color-ts-type-alias: #ff6492;
+ /* reference not included as links will be colored with the kind that it points to */
+
+ --dark-external-icon: url("data:image/svg+xml;utf8, ");
+ --dark-color-scheme: dark;
+}
+
+@media (prefers-color-scheme: light) {
+ :root {
+ --color-background: var(--light-color-background);
+ --color-background-secondary: var(--light-color-background-secondary);
+ --color-background-warning: var(--light-color-background-warning);
+ --color-warning-text: var(--light-color-warning-text);
+ --color-icon-background: var(--light-color-icon-background);
+ --color-accent: var(--light-color-accent);
+ --color-active-menu-item: var(--light-color-active-menu-item);
+ --color-text: var(--light-color-text);
+ --color-text-aside: var(--light-color-text-aside);
+ --color-link: var(--light-color-link);
+
+ --color-ts-keyword: var(--light-color-ts-keyword);
+ --color-ts-module: var(--light-color-ts-module);
+ --color-ts-namespace: var(--light-color-ts-namespace);
+ --color-ts-enum: var(--light-color-ts-enum);
+ --color-ts-enum-member: var(--light-color-ts-enum-member);
+ --color-ts-variable: var(--light-color-ts-variable);
+ --color-ts-function: var(--light-color-ts-function);
+ --color-ts-class: var(--light-color-ts-class);
+ --color-ts-interface: var(--light-color-ts-interface);
+ --color-ts-constructor: var(--light-color-ts-constructor);
+ --color-ts-property: var(--light-color-ts-property);
+ --color-ts-method: var(--light-color-ts-method);
+ --color-ts-call-signature: var(--light-color-ts-call-signature);
+ --color-ts-index-signature: var(--light-color-ts-index-signature);
+ --color-ts-constructor-signature: var(
+ --light-color-ts-constructor-signature
+ );
+ --color-ts-parameter: var(--light-color-ts-parameter);
+ --color-ts-type-parameter: var(--light-color-ts-type-parameter);
+ --color-ts-accessor: var(--light-color-ts-accessor);
+ --color-ts-get-signature: var(--light-color-ts-get-signature);
+ --color-ts-set-signature: var(--light-color-ts-set-signature);
+ --color-ts-type-alias: var(--light-color-ts-type-alias);
+
+ --external-icon: var(--light-external-icon);
+ --color-scheme: var(--light-color-scheme);
+ }
+}
+
+@media (prefers-color-scheme: dark) {
+ :root {
+ --color-background: var(--dark-color-background);
+ --color-background-secondary: var(--dark-color-background-secondary);
+ --color-background-warning: var(--dark-color-background-warning);
+ --color-warning-text: var(--dark-color-warning-text);
+ --color-icon-background: var(--dark-color-icon-background);
+ --color-accent: var(--dark-color-accent);
+ --color-active-menu-item: var(--dark-color-active-menu-item);
+ --color-text: var(--dark-color-text);
+ --color-text-aside: var(--dark-color-text-aside);
+ --color-link: var(--dark-color-link);
+
+ --color-ts-keyword: var(--dark-color-ts-keyword);
+ --color-ts-module: var(--dark-color-ts-module);
+ --color-ts-namespace: var(--dark-color-ts-namespace);
+ --color-ts-enum: var(--dark-color-ts-enum);
+ --color-ts-enum-member: var(--dark-color-ts-enum-member);
+ --color-ts-variable: var(--dark-color-ts-variable);
+ --color-ts-function: var(--dark-color-ts-function);
+ --color-ts-class: var(--dark-color-ts-class);
+ --color-ts-interface: var(--dark-color-ts-interface);
+ --color-ts-constructor: var(--dark-color-ts-constructor);
+ --color-ts-property: var(--dark-color-ts-property);
+ --color-ts-method: var(--dark-color-ts-method);
+ --color-ts-call-signature: var(--dark-color-ts-call-signature);
+ --color-ts-index-signature: var(--dark-color-ts-index-signature);
+ --color-ts-constructor-signature: var(
+ --dark-color-ts-constructor-signature
+ );
+ --color-ts-parameter: var(--dark-color-ts-parameter);
+ --color-ts-type-parameter: var(--dark-color-ts-type-parameter);
+ --color-ts-accessor: var(--dark-color-ts-accessor);
+ --color-ts-get-signature: var(--dark-color-ts-get-signature);
+ --color-ts-set-signature: var(--dark-color-ts-set-signature);
+ --color-ts-type-alias: var(--dark-color-ts-type-alias);
+
+ --external-icon: var(--dark-external-icon);
+ --color-scheme: var(--dark-color-scheme);
+ }
+}
+
+html {
+ color-scheme: var(--color-scheme);
+}
+
+body {
+ margin: 0;
+}
+
+:root[data-theme="light"] {
+ --color-background: var(--light-color-background);
+ --color-background-secondary: var(--light-color-background-secondary);
+ --color-background-warning: var(--light-color-background-warning);
+ --color-warning-text: var(--light-color-warning-text);
+ --color-icon-background: var(--light-color-icon-background);
+ --color-accent: var(--light-color-accent);
+ --color-active-menu-item: var(--light-color-active-menu-item);
+ --color-text: var(--light-color-text);
+ --color-text-aside: var(--light-color-text-aside);
+ --color-link: var(--light-color-link);
+
+ --color-ts-keyword: var(--light-color-ts-keyword);
+ --color-ts-module: var(--light-color-ts-module);
+ --color-ts-namespace: var(--light-color-ts-namespace);
+ --color-ts-enum: var(--light-color-ts-enum);
+ --color-ts-enum-member: var(--light-color-ts-enum-member);
+ --color-ts-variable: var(--light-color-ts-variable);
+ --color-ts-function: var(--light-color-ts-function);
+ --color-ts-class: var(--light-color-ts-class);
+ --color-ts-interface: var(--light-color-ts-interface);
+ --color-ts-constructor: var(--light-color-ts-constructor);
+ --color-ts-property: var(--light-color-ts-property);
+ --color-ts-method: var(--light-color-ts-method);
+ --color-ts-call-signature: var(--light-color-ts-call-signature);
+ --color-ts-index-signature: var(--light-color-ts-index-signature);
+ --color-ts-constructor-signature: var(
+ --light-color-ts-constructor-signature
+ );
+ --color-ts-parameter: var(--light-color-ts-parameter);
+ --color-ts-type-parameter: var(--light-color-ts-type-parameter);
+ --color-ts-accessor: var(--light-color-ts-accessor);
+ --color-ts-get-signature: var(--light-color-ts-get-signature);
+ --color-ts-set-signature: var(--light-color-ts-set-signature);
+ --color-ts-type-alias: var(--light-color-ts-type-alias);
+
+ --external-icon: var(--light-external-icon);
+ --color-scheme: var(--light-color-scheme);
+}
+
+:root[data-theme="dark"] {
+ --color-background: var(--dark-color-background);
+ --color-background-secondary: var(--dark-color-background-secondary);
+ --color-background-warning: var(--dark-color-background-warning);
+ --color-warning-text: var(--dark-color-warning-text);
+ --color-icon-background: var(--dark-color-icon-background);
+ --color-accent: var(--dark-color-accent);
+ --color-active-menu-item: var(--dark-color-active-menu-item);
+ --color-text: var(--dark-color-text);
+ --color-text-aside: var(--dark-color-text-aside);
+ --color-link: var(--dark-color-link);
+
+ --color-ts-keyword: var(--dark-color-ts-keyword);
+ --color-ts-module: var(--dark-color-ts-module);
+ --color-ts-namespace: var(--dark-color-ts-namespace);
+ --color-ts-enum: var(--dark-color-ts-enum);
+ --color-ts-enum-member: var(--dark-color-ts-enum-member);
+ --color-ts-variable: var(--dark-color-ts-variable);
+ --color-ts-function: var(--dark-color-ts-function);
+ --color-ts-class: var(--dark-color-ts-class);
+ --color-ts-interface: var(--dark-color-ts-interface);
+ --color-ts-constructor: var(--dark-color-ts-constructor);
+ --color-ts-property: var(--dark-color-ts-property);
+ --color-ts-method: var(--dark-color-ts-method);
+ --color-ts-call-signature: var(--dark-color-ts-call-signature);
+ --color-ts-index-signature: var(--dark-color-ts-index-signature);
+ --color-ts-constructor-signature: var(
+ --dark-color-ts-constructor-signature
+ );
+ --color-ts-parameter: var(--dark-color-ts-parameter);
+ --color-ts-type-parameter: var(--dark-color-ts-type-parameter);
+ --color-ts-accessor: var(--dark-color-ts-accessor);
+ --color-ts-get-signature: var(--dark-color-ts-get-signature);
+ --color-ts-set-signature: var(--dark-color-ts-set-signature);
+ --color-ts-type-alias: var(--dark-color-ts-type-alias);
+
+ --external-icon: var(--dark-external-icon);
+ --color-scheme: var(--dark-color-scheme);
+}
+
+.always-visible,
+.always-visible .tsd-signatures {
+ display: inherit !important;
+}
+
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+ line-height: 1.2;
+}
+
+h1 > a:not(.link),
+h2 > a:not(.link),
+h3 > a:not(.link),
+h4 > a:not(.link),
+h5 > a:not(.link),
+h6 > a:not(.link) {
+ text-decoration: none;
+ color: var(--color-text);
+}
+
+h1 {
+ font-size: 1.875rem;
+ margin: 0.67rem 0;
+}
+
+h2 {
+ font-size: 1.5rem;
+ margin: 0.83rem 0;
+}
+
+h3 {
+ font-size: 1.25rem;
+ margin: 1rem 0;
+}
+
+h4 {
+ font-size: 1.05rem;
+ margin: 1.33rem 0;
+}
+
+h5 {
+ font-size: 1rem;
+ margin: 1.5rem 0;
+}
+
+h6 {
+ font-size: 0.875rem;
+ margin: 2.33rem 0;
+}
+
+.uppercase {
+ text-transform: uppercase;
+}
+
+dl,
+menu,
+ol,
+ul {
+ margin: 1em 0;
+}
+
+dd {
+ margin: 0 0 0 40px;
+}
+
+.container {
+ max-width: 1700px;
+ padding: 0 2rem;
+}
+
+/* Footer */
+footer {
+ border-top: 1px solid var(--color-accent);
+ padding-top: 1rem;
+ padding-bottom: 1rem;
+ max-height: 3.5rem;
+}
+.tsd-generator {
+ margin: 0 1em;
+}
+
+.container-main {
+ margin: 0 auto;
+ /* toolbar, footer, margin */
+ min-height: calc(100vh - 41px - 56px - 4rem);
+}
+
+@keyframes fade-in {
+ from {
+ opacity: 0;
+ }
+ to {
+ opacity: 1;
+ }
+}
+@keyframes fade-out {
+ from {
+ opacity: 1;
+ visibility: visible;
+ }
+ to {
+ opacity: 0;
+ }
+}
+@keyframes fade-in-delayed {
+ 0% {
+ opacity: 0;
+ }
+ 33% {
+ opacity: 0;
+ }
+ 100% {
+ opacity: 1;
+ }
+}
+@keyframes fade-out-delayed {
+ 0% {
+ opacity: 1;
+ visibility: visible;
+ }
+ 66% {
+ opacity: 0;
+ }
+ 100% {
+ opacity: 0;
+ }
+}
+@keyframes pop-in-from-right {
+ from {
+ transform: translate(100%, 0);
+ }
+ to {
+ transform: translate(0, 0);
+ }
+}
+@keyframes pop-out-to-right {
+ from {
+ transform: translate(0, 0);
+ visibility: visible;
+ }
+ to {
+ transform: translate(100%, 0);
+ }
+}
+body {
+ background: var(--color-background);
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans",
+ Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
+ font-size: 16px;
+ color: var(--color-text);
+}
+
+a {
+ color: var(--color-link);
+ text-decoration: none;
+}
+a:hover {
+ text-decoration: underline;
+}
+a.external[target="_blank"] {
+ background-image: var(--external-icon);
+ background-position: top 3px right;
+ background-repeat: no-repeat;
+ padding-right: 13px;
+}
+
+code,
+pre {
+ font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
+ padding: 0.2em;
+ margin: 0;
+ font-size: 0.875rem;
+ border-radius: 0.8em;
+}
+
+pre {
+ position: relative;
+ white-space: pre;
+ white-space: pre-wrap;
+ word-wrap: break-word;
+ padding: 10px;
+ border: 1px solid var(--color-accent);
+}
+pre code {
+ padding: 0;
+ font-size: 100%;
+}
+pre > button {
+ position: absolute;
+ top: 10px;
+ right: 10px;
+ opacity: 0;
+ transition: opacity 0.1s;
+ box-sizing: border-box;
+}
+pre:hover > button,
+pre > button.visible {
+ opacity: 1;
+}
+
+blockquote {
+ margin: 1em 0;
+ padding-left: 1em;
+ border-left: 4px solid gray;
+}
+
+.tsd-typography {
+ line-height: 1.333em;
+}
+.tsd-typography ul {
+ list-style: square;
+ padding: 0 0 0 20px;
+ margin: 0;
+}
+.tsd-typography .tsd-index-panel h3,
+.tsd-index-panel .tsd-typography h3,
+.tsd-typography h4,
+.tsd-typography h5,
+.tsd-typography h6 {
+ font-size: 1em;
+}
+.tsd-typography h5,
+.tsd-typography h6 {
+ font-weight: normal;
+}
+.tsd-typography p,
+.tsd-typography ul,
+.tsd-typography ol {
+ margin: 1em 0;
+}
+.tsd-typography table {
+ border-collapse: collapse;
+ border: none;
+}
+.tsd-typography td,
+.tsd-typography th {
+ padding: 6px 13px;
+ border: 1px solid var(--color-accent);
+}
+.tsd-typography thead,
+.tsd-typography tr:nth-child(even) {
+ background-color: var(--color-background-secondary);
+}
+
+.tsd-breadcrumb {
+ margin: 0;
+ padding: 0;
+ color: var(--color-text-aside);
+}
+.tsd-breadcrumb a {
+ color: var(--color-text-aside);
+ text-decoration: none;
+}
+.tsd-breadcrumb a:hover {
+ text-decoration: underline;
+}
+.tsd-breadcrumb li {
+ display: inline;
+}
+.tsd-breadcrumb li:after {
+ content: " / ";
+}
+
+.tsd-comment-tags {
+ display: flex;
+ flex-direction: column;
+}
+dl.tsd-comment-tag-group {
+ display: flex;
+ align-items: center;
+ overflow: hidden;
+ margin: 0.5em 0;
+}
+dl.tsd-comment-tag-group dt {
+ display: flex;
+ margin-right: 0.5em;
+ font-size: 0.875em;
+ font-weight: normal;
+}
+dl.tsd-comment-tag-group dd {
+ margin: 0;
+}
+code.tsd-tag {
+ padding: 0.25em 0.4em;
+ border: 0.1em solid var(--color-accent);
+ margin-right: 0.25em;
+ font-size: 70%;
+}
+h1 code.tsd-tag:first-of-type {
+ margin-left: 0.25em;
+}
+
+dl.tsd-comment-tag-group dd:before,
+dl.tsd-comment-tag-group dd:after {
+ content: " ";
+}
+dl.tsd-comment-tag-group dd pre,
+dl.tsd-comment-tag-group dd:after {
+ clear: both;
+}
+dl.tsd-comment-tag-group p {
+ margin: 0;
+}
+
+.tsd-panel.tsd-comment .lead {
+ font-size: 1.1em;
+ line-height: 1.333em;
+ margin-bottom: 2em;
+}
+.tsd-panel.tsd-comment .lead:last-child {
+ margin-bottom: 0;
+}
+
+.tsd-filter-visibility h4 {
+ font-size: 1rem;
+ padding-top: 0.75rem;
+ padding-bottom: 0.5rem;
+ margin: 0;
+}
+.tsd-filter-item:not(:last-child) {
+ margin-bottom: 0.5rem;
+}
+.tsd-filter-input {
+ display: flex;
+ width: fit-content;
+ width: -moz-fit-content;
+ align-items: center;
+ user-select: none;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ cursor: pointer;
+}
+.tsd-filter-input input[type="checkbox"] {
+ cursor: pointer;
+ position: absolute;
+ width: 1.5em;
+ height: 1.5em;
+ opacity: 0;
+}
+.tsd-filter-input input[type="checkbox"]:disabled {
+ pointer-events: none;
+}
+.tsd-filter-input svg {
+ cursor: pointer;
+ width: 1.5em;
+ height: 1.5em;
+ margin-right: 0.5em;
+ border-radius: 0.33em;
+ /* Leaving this at full opacity breaks event listeners on Firefox.
+ Don't remove unless you know what you're doing. */
+ opacity: 0.99;
+}
+.tsd-filter-input input[type="checkbox"]:focus + svg {
+ transform: scale(0.95);
+}
+.tsd-filter-input input[type="checkbox"]:focus:not(:focus-visible) + svg {
+ transform: scale(1);
+}
+.tsd-checkbox-background {
+ fill: var(--color-accent);
+}
+input[type="checkbox"]:checked ~ svg .tsd-checkbox-checkmark {
+ stroke: var(--color-text);
+}
+.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-background {
+ fill: var(--color-background);
+ stroke: var(--color-accent);
+ stroke-width: 0.25rem;
+}
+.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-checkmark {
+ stroke: var(--color-accent);
+}
+
+.tsd-theme-toggle {
+ padding-top: 0.75rem;
+}
+.tsd-theme-toggle > h4 {
+ display: inline;
+ vertical-align: middle;
+ margin-right: 0.75rem;
+}
+
+.tsd-hierarchy {
+ list-style: square;
+ margin: 0;
+}
+.tsd-hierarchy .target {
+ font-weight: bold;
+}
+
+.tsd-full-hierarchy:not(:last-child) {
+ margin-bottom: 1em;
+ padding-bottom: 1em;
+ border-bottom: 1px solid var(--color-accent);
+}
+.tsd-full-hierarchy,
+.tsd-full-hierarchy ul {
+ list-style: none;
+ margin: 0;
+ padding: 0;
+}
+.tsd-full-hierarchy ul {
+ padding-left: 1.5rem;
+}
+.tsd-full-hierarchy a {
+ padding: 0.25rem 0 !important;
+ font-size: 1rem;
+ display: inline-flex;
+ align-items: center;
+ color: var(--color-text);
+}
+
+.tsd-panel-group.tsd-index-group {
+ margin-bottom: 0;
+}
+.tsd-index-panel .tsd-index-list {
+ list-style: none;
+ line-height: 1.333em;
+ margin: 0;
+ padding: 0.25rem 0 0 0;
+ overflow: hidden;
+ display: grid;
+ grid-template-columns: repeat(3, 1fr);
+ column-gap: 1rem;
+ grid-template-rows: auto;
+}
+@media (max-width: 1024px) {
+ .tsd-index-panel .tsd-index-list {
+ grid-template-columns: repeat(2, 1fr);
+ }
+}
+@media (max-width: 768px) {
+ .tsd-index-panel .tsd-index-list {
+ grid-template-columns: repeat(1, 1fr);
+ }
+}
+.tsd-index-panel .tsd-index-list li {
+ -webkit-page-break-inside: avoid;
+ -moz-page-break-inside: avoid;
+ -ms-page-break-inside: avoid;
+ -o-page-break-inside: avoid;
+ page-break-inside: avoid;
+}
+
+.tsd-flag {
+ display: inline-block;
+ padding: 0.25em 0.4em;
+ border-radius: 4px;
+ color: var(--color-comment-tag-text);
+ background-color: var(--color-comment-tag);
+ text-indent: 0;
+ font-size: 75%;
+ line-height: 1;
+ font-weight: normal;
+}
+
+.tsd-anchor {
+ position: relative;
+ top: -100px;
+}
+
+.tsd-member {
+ position: relative;
+}
+.tsd-member .tsd-anchor + h3 {
+ display: flex;
+ align-items: center;
+ margin-top: 0;
+ margin-bottom: 0;
+ border-bottom: none;
+}
+
+.tsd-navigation.settings {
+ margin: 1rem 0;
+}
+.tsd-navigation > a,
+.tsd-navigation .tsd-accordion-summary {
+ width: calc(100% - 0.25rem);
+ display: flex;
+ align-items: center;
+}
+.tsd-navigation a,
+.tsd-navigation summary > span,
+.tsd-page-navigation a {
+ display: flex;
+ width: calc(100% - 0.25rem);
+ align-items: center;
+ padding: 0.25rem;
+ color: var(--color-text);
+ text-decoration: none;
+ box-sizing: border-box;
+}
+.tsd-navigation a.current,
+.tsd-page-navigation a.current {
+ background: var(--color-active-menu-item);
+}
+.tsd-navigation a:hover,
+.tsd-page-navigation a:hover {
+ text-decoration: underline;
+}
+.tsd-navigation ul,
+.tsd-page-navigation ul {
+ margin-top: 0;
+ margin-bottom: 0;
+ padding: 0;
+ list-style: none;
+}
+.tsd-navigation li,
+.tsd-page-navigation li {
+ padding: 0;
+ max-width: 100%;
+}
+.tsd-nested-navigation {
+ margin-left: 3rem;
+}
+.tsd-nested-navigation > li > details {
+ margin-left: -1.5rem;
+}
+.tsd-small-nested-navigation {
+ margin-left: 1.5rem;
+}
+.tsd-small-nested-navigation > li > details {
+ margin-left: -1.5rem;
+}
+
+.tsd-page-navigation ul {
+ padding-left: 1.75rem;
+}
+
+#tsd-sidebar-links a {
+ margin-top: 0;
+ margin-bottom: 0.5rem;
+ line-height: 1.25rem;
+}
+#tsd-sidebar-links a:last-of-type {
+ margin-bottom: 0;
+}
+
+a.tsd-index-link {
+ padding: 0.25rem 0 !important;
+ font-size: 1rem;
+ line-height: 1.25rem;
+ display: inline-flex;
+ align-items: center;
+ color: var(--color-text);
+}
+.tsd-accordion-summary {
+ list-style-type: none; /* hide marker on non-safari */
+ outline: none; /* broken on safari, so just hide it */
+}
+.tsd-accordion-summary::-webkit-details-marker {
+ display: none; /* hide marker on safari */
+}
+.tsd-accordion-summary,
+.tsd-accordion-summary a {
+ user-select: none;
+ -moz-user-select: none;
+ -webkit-user-select: none;
+ -ms-user-select: none;
+
+ cursor: pointer;
+}
+.tsd-accordion-summary a {
+ width: calc(100% - 1.5rem);
+}
+.tsd-accordion-summary > * {
+ margin-top: 0;
+ margin-bottom: 0;
+ padding-top: 0;
+ padding-bottom: 0;
+}
+.tsd-index-accordion .tsd-accordion-summary > svg {
+ margin-left: 0.25rem;
+}
+.tsd-index-content > :not(:first-child) {
+ margin-top: 0.75rem;
+}
+.tsd-index-heading {
+ margin-top: 1.5rem;
+ margin-bottom: 0.75rem;
+}
+
+.tsd-kind-icon {
+ margin-right: 0.5rem;
+ width: 1.25rem;
+ height: 1.25rem;
+ min-width: 1.25rem;
+ min-height: 1.25rem;
+}
+.tsd-kind-icon path {
+ transform-origin: center;
+ transform: scale(1.1);
+}
+.tsd-signature > .tsd-kind-icon {
+ margin-right: 0.8rem;
+}
+
+.tsd-panel {
+ margin-bottom: 2.5rem;
+}
+.tsd-panel.tsd-member {
+ margin-bottom: 4rem;
+}
+.tsd-panel:empty {
+ display: none;
+}
+.tsd-panel > h1,
+.tsd-panel > h2,
+.tsd-panel > h3 {
+ margin: 1.5rem -1.5rem 0.75rem -1.5rem;
+ padding: 0 1.5rem 0.75rem 1.5rem;
+}
+.tsd-panel > h1.tsd-before-signature,
+.tsd-panel > h2.tsd-before-signature,
+.tsd-panel > h3.tsd-before-signature {
+ margin-bottom: 0;
+ border-bottom: none;
+}
+
+.tsd-panel-group {
+ margin: 4rem 0;
+}
+.tsd-panel-group.tsd-index-group {
+ margin: 2rem 0;
+}
+.tsd-panel-group.tsd-index-group details {
+ margin: 2rem 0;
+}
+
+#tsd-search {
+ transition: background-color 0.2s;
+}
+#tsd-search .title {
+ position: relative;
+ z-index: 2;
+}
+#tsd-search .field {
+ position: absolute;
+ left: 0;
+ top: 0;
+ right: 2.5rem;
+ height: 100%;
+}
+#tsd-search .field input {
+ box-sizing: border-box;
+ position: relative;
+ top: -50px;
+ z-index: 1;
+ width: 100%;
+ padding: 0 10px;
+ opacity: 0;
+ outline: 0;
+ border: 0;
+ background: transparent;
+ color: var(--color-text);
+}
+#tsd-search .field label {
+ position: absolute;
+ overflow: hidden;
+ right: -40px;
+}
+#tsd-search .field input,
+#tsd-search .title,
+#tsd-toolbar-links a {
+ transition: opacity 0.2s;
+}
+#tsd-search .results {
+ position: absolute;
+ visibility: hidden;
+ top: 40px;
+ width: 100%;
+ margin: 0;
+ padding: 0;
+ list-style: none;
+ box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
+}
+#tsd-search .results li {
+ background-color: var(--color-background);
+ line-height: initial;
+ padding: 4px;
+}
+#tsd-search .results li:nth-child(even) {
+ background-color: var(--color-background-secondary);
+}
+#tsd-search .results li.state {
+ display: none;
+}
+#tsd-search .results li.current:not(.no-results),
+#tsd-search .results li:hover:not(.no-results) {
+ background-color: var(--color-accent);
+}
+#tsd-search .results a {
+ display: flex;
+ align-items: center;
+ padding: 0.25rem;
+ box-sizing: border-box;
+}
+#tsd-search .results a:before {
+ top: 10px;
+}
+#tsd-search .results span.parent {
+ color: var(--color-text-aside);
+ font-weight: normal;
+}
+#tsd-search.has-focus {
+ background-color: var(--color-accent);
+}
+#tsd-search.has-focus .field input {
+ top: 0;
+ opacity: 1;
+}
+#tsd-search.has-focus .title,
+#tsd-search.has-focus #tsd-toolbar-links a {
+ z-index: 0;
+ opacity: 0;
+}
+#tsd-search.has-focus .results {
+ visibility: visible;
+}
+#tsd-search.loading .results li.state.loading {
+ display: block;
+}
+#tsd-search.failure .results li.state.failure {
+ display: block;
+}
+
+#tsd-toolbar-links {
+ position: absolute;
+ top: 0;
+ right: 2rem;
+ height: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: flex-end;
+}
+#tsd-toolbar-links a {
+ margin-left: 1.5rem;
+}
+#tsd-toolbar-links a:hover {
+ text-decoration: underline;
+}
+
+.tsd-signature {
+ margin: 0 0 1rem 0;
+ padding: 1rem 0.5rem;
+ border: 1px solid var(--color-accent);
+ font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
+ font-size: 14px;
+ overflow-x: auto;
+}
+
+.tsd-signature-keyword {
+ color: var(--color-ts-keyword);
+ font-weight: normal;
+}
+
+.tsd-signature-symbol {
+ color: var(--color-text-aside);
+ font-weight: normal;
+}
+
+.tsd-signature-type {
+ font-style: italic;
+ font-weight: normal;
+}
+
+.tsd-signatures {
+ padding: 0;
+ margin: 0 0 1em 0;
+ list-style-type: none;
+}
+.tsd-signatures .tsd-signature {
+ margin: 0;
+ border-color: var(--color-accent);
+ border-width: 1px 0;
+ transition: background-color 0.1s;
+}
+.tsd-description .tsd-signatures .tsd-signature {
+ border-width: 1px;
+}
+
+ul.tsd-parameter-list,
+ul.tsd-type-parameter-list {
+ list-style: square;
+ margin: 0;
+ padding-left: 20px;
+}
+ul.tsd-parameter-list > li.tsd-parameter-signature,
+ul.tsd-type-parameter-list > li.tsd-parameter-signature {
+ list-style: none;
+ margin-left: -20px;
+}
+ul.tsd-parameter-list h5,
+ul.tsd-type-parameter-list h5 {
+ font-size: 16px;
+ margin: 1em 0 0.5em 0;
+}
+.tsd-sources {
+ margin-top: 1rem;
+ font-size: 0.875em;
+}
+.tsd-sources a {
+ color: var(--color-text-aside);
+ text-decoration: underline;
+}
+.tsd-sources ul {
+ list-style: none;
+ padding: 0;
+}
+
+.tsd-page-toolbar {
+ position: sticky;
+ z-index: 1;
+ top: 0;
+ left: 0;
+ width: 100%;
+ color: var(--color-text);
+ background: var(--color-background-secondary);
+ border-bottom: 1px var(--color-accent) solid;
+ transition: transform 0.3s ease-in-out;
+}
+.tsd-page-toolbar a {
+ color: var(--color-text);
+ text-decoration: none;
+}
+.tsd-page-toolbar a.title {
+ font-weight: bold;
+}
+.tsd-page-toolbar a.title:hover {
+ text-decoration: underline;
+}
+.tsd-page-toolbar .tsd-toolbar-contents {
+ display: flex;
+ justify-content: space-between;
+ height: 2.5rem;
+ margin: 0 auto;
+}
+.tsd-page-toolbar .table-cell {
+ position: relative;
+ white-space: nowrap;
+ line-height: 40px;
+}
+.tsd-page-toolbar .table-cell:first-child {
+ width: 100%;
+}
+.tsd-page-toolbar .tsd-toolbar-icon {
+ box-sizing: border-box;
+ line-height: 0;
+ padding: 12px 0;
+}
+
+.tsd-widget {
+ display: inline-block;
+ overflow: hidden;
+ opacity: 0.8;
+ height: 40px;
+ transition:
+ opacity 0.1s,
+ background-color 0.2s;
+ vertical-align: bottom;
+ cursor: pointer;
+}
+.tsd-widget:hover {
+ opacity: 0.9;
+}
+.tsd-widget.active {
+ opacity: 1;
+ background-color: var(--color-accent);
+}
+.tsd-widget.no-caption {
+ width: 40px;
+}
+.tsd-widget.no-caption:before {
+ margin: 0;
+}
+
+.tsd-widget.options,
+.tsd-widget.menu {
+ display: none;
+}
+input[type="checkbox"] + .tsd-widget:before {
+ background-position: -120px 0;
+}
+input[type="checkbox"]:checked + .tsd-widget:before {
+ background-position: -160px 0;
+}
+
+img {
+ max-width: 100%;
+}
+
+.tsd-anchor-icon {
+ display: inline-flex;
+ align-items: center;
+ margin-left: 0.5rem;
+ vertical-align: middle;
+ color: var(--color-text);
+}
+
+.tsd-anchor-icon svg {
+ width: 1em;
+ height: 1em;
+ visibility: hidden;
+}
+
+.tsd-anchor-link:hover > .tsd-anchor-icon svg {
+ visibility: visible;
+}
+
+.deprecated {
+ text-decoration: line-through !important;
+}
+
+.warning {
+ padding: 1rem;
+ color: var(--color-warning-text);
+ background: var(--color-background-warning);
+}
+
+.tsd-kind-project {
+ color: var(--color-ts-project);
+}
+.tsd-kind-module {
+ color: var(--color-ts-module);
+}
+.tsd-kind-namespace {
+ color: var(--color-ts-namespace);
+}
+.tsd-kind-enum {
+ color: var(--color-ts-enum);
+}
+.tsd-kind-enum-member {
+ color: var(--color-ts-enum-member);
+}
+.tsd-kind-variable {
+ color: var(--color-ts-variable);
+}
+.tsd-kind-function {
+ color: var(--color-ts-function);
+}
+.tsd-kind-class {
+ color: var(--color-ts-class);
+}
+.tsd-kind-interface {
+ color: var(--color-ts-interface);
+}
+.tsd-kind-constructor {
+ color: var(--color-ts-constructor);
+}
+.tsd-kind-property {
+ color: var(--color-ts-property);
+}
+.tsd-kind-method {
+ color: var(--color-ts-method);
+}
+.tsd-kind-call-signature {
+ color: var(--color-ts-call-signature);
+}
+.tsd-kind-index-signature {
+ color: var(--color-ts-index-signature);
+}
+.tsd-kind-constructor-signature {
+ color: var(--color-ts-constructor-signature);
+}
+.tsd-kind-parameter {
+ color: var(--color-ts-parameter);
+}
+.tsd-kind-type-literal {
+ color: var(--color-ts-type-literal);
+}
+.tsd-kind-type-parameter {
+ color: var(--color-ts-type-parameter);
+}
+.tsd-kind-accessor {
+ color: var(--color-ts-accessor);
+}
+.tsd-kind-get-signature {
+ color: var(--color-ts-get-signature);
+}
+.tsd-kind-set-signature {
+ color: var(--color-ts-set-signature);
+}
+.tsd-kind-type-alias {
+ color: var(--color-ts-type-alias);
+}
+
+/* if we have a kind icon, don't color the text by kind */
+.tsd-kind-icon ~ span {
+ color: var(--color-text);
+}
+
+* {
+ scrollbar-width: thin;
+ scrollbar-color: var(--color-accent) var(--color-icon-background);
+}
+
+*::-webkit-scrollbar {
+ width: 0.75rem;
+}
+
+*::-webkit-scrollbar-track {
+ background: var(--color-icon-background);
+}
+
+*::-webkit-scrollbar-thumb {
+ background-color: var(--color-accent);
+ border-radius: 999rem;
+ border: 0.25rem solid var(--color-icon-background);
+}
+
+/* mobile */
+@media (max-width: 769px) {
+ .tsd-widget.options,
+ .tsd-widget.menu {
+ display: inline-block;
+ }
+
+ .container-main {
+ display: flex;
+ }
+ html .col-content {
+ float: none;
+ max-width: 100%;
+ width: 100%;
+ }
+ html .col-sidebar {
+ position: fixed !important;
+ overflow-y: auto;
+ -webkit-overflow-scrolling: touch;
+ z-index: 1024;
+ top: 0 !important;
+ bottom: 0 !important;
+ left: auto !important;
+ right: 0 !important;
+ padding: 1.5rem 1.5rem 0 0;
+ width: 75vw;
+ visibility: hidden;
+ background-color: var(--color-background);
+ transform: translate(100%, 0);
+ }
+ html .col-sidebar > *:last-child {
+ padding-bottom: 20px;
+ }
+ html .overlay {
+ content: "";
+ display: block;
+ position: fixed;
+ z-index: 1023;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ background-color: rgba(0, 0, 0, 0.75);
+ visibility: hidden;
+ }
+
+ .to-has-menu .overlay {
+ animation: fade-in 0.4s;
+ }
+
+ .to-has-menu .col-sidebar {
+ animation: pop-in-from-right 0.4s;
+ }
+
+ .from-has-menu .overlay {
+ animation: fade-out 0.4s;
+ }
+
+ .from-has-menu .col-sidebar {
+ animation: pop-out-to-right 0.4s;
+ }
+
+ .has-menu body {
+ overflow: hidden;
+ }
+ .has-menu .overlay {
+ visibility: visible;
+ }
+ .has-menu .col-sidebar {
+ visibility: visible;
+ transform: translate(0, 0);
+ display: flex;
+ flex-direction: column;
+ gap: 1.5rem;
+ max-height: 100vh;
+ padding: 1rem 2rem;
+ }
+ .has-menu .tsd-navigation {
+ max-height: 100%;
+ }
+}
+
+/* one sidebar */
+@media (min-width: 770px) {
+ .container-main {
+ display: grid;
+ grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
+ grid-template-areas: "sidebar content";
+ margin: 2rem auto;
+ }
+
+ .col-sidebar {
+ grid-area: sidebar;
+ }
+ .col-content {
+ grid-area: content;
+ padding: 0 1rem;
+ }
+}
+@media (min-width: 770px) and (max-width: 1399px) {
+ .col-sidebar {
+ max-height: calc(100vh - 2rem - 42px);
+ overflow: auto;
+ position: sticky;
+ top: 42px;
+ padding-top: 1rem;
+ }
+ .site-menu {
+ margin-top: 1rem;
+ }
+}
+
+/* two sidebars */
+@media (min-width: 1200px) {
+ .container-main {
+ grid-template-columns: minmax(0, 1fr) minmax(0, 2.5fr) minmax(0, 20rem);
+ grid-template-areas: "sidebar content toc";
+ }
+
+ .col-sidebar {
+ display: contents;
+ }
+
+ .page-menu {
+ grid-area: toc;
+ padding-left: 1rem;
+ }
+ .site-menu {
+ grid-area: sidebar;
+ }
+
+ .site-menu {
+ margin-top: 1rem 0;
+ }
+
+ .page-menu,
+ .site-menu {
+ max-height: calc(100vh - 2rem - 42px);
+ overflow: auto;
+ position: sticky;
+ top: 42px;
+ }
+}
diff --git a/docs/coverage.svg b/docs/coverage.svg
new file mode 100644
index 0000000..b4bdafa
--- /dev/null
+++ b/docs/coverage.svg
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+ document
+ document
+ 50%
+ 50%
+
+
\ No newline at end of file
diff --git a/docs/functions/to.html b/docs/functions/to.html
new file mode 100644
index 0000000..be99422
--- /dev/null
+++ b/docs/functions/to.html
@@ -0,0 +1,174 @@
+to | @mrspartak/promises
\ No newline at end of file
diff --git a/docs/index.html b/docs/index.html
new file mode 100644
index 0000000..f17ff5b
--- /dev/null
+++ b/docs/index.html
@@ -0,0 +1,174 @@
+@mrspartak/promises
\ No newline at end of file
diff --git a/docs/interfaces/_internal_.Error.html b/docs/interfaces/_internal_.Error.html
new file mode 100644
index 0000000..b8aa6d7
--- /dev/null
+++ b/docs/interfaces/_internal_.Error.html
@@ -0,0 +1,177 @@
+Error | @mrspartak/promises interface Error { Â Â Â Â message : string ; Â Â Â Â name : string ; Â Â Â Â stack ?: string ; } Defined in node_modules/.pnpm/typescript@5.5.2/node_modules/typescript/lib/lib.es5.d.ts:1075 Defined in node_modules/.pnpm/typescript@5.5.2/node_modules/typescript/lib/lib.es5.d.ts:1087 Properties message message : string
Defined in node_modules/.pnpm/typescript@5.5.2/node_modules/typescript/lib/lib.es5.d.ts:1077 name name : string
Defined in node_modules/.pnpm/typescript@5.5.2/node_modules/typescript/lib/lib.es5.d.ts:1076 Optional
stack stack ?: string
Defined in node_modules/.pnpm/typescript@5.5.2/node_modules/typescript/lib/lib.es5.d.ts:1078
\ No newline at end of file
diff --git a/docs/interfaces/_internal_.ErrorConstructor.html b/docs/interfaces/_internal_.ErrorConstructor.html
new file mode 100644
index 0000000..891b02c
--- /dev/null
+++ b/docs/interfaces/_internal_.ErrorConstructor.html
@@ -0,0 +1,176 @@
+ErrorConstructor | @mrspartak/promises Interface ErrorConstructor Error Constructor ( message ? ) : Error Defined in node_modules/.pnpm/typescript@5.5.2/node_modules/typescript/lib/lib.es5.d.ts:1083 Constructors constructor new Error Constructor ( message ? ) : Error Defined in node_modules/.pnpm/typescript@5.5.2/node_modules/typescript/lib/lib.es5.d.ts:1082 Properties Readonly
prototype Defined in node_modules/.pnpm/typescript@5.5.2/node_modules/typescript/lib/lib.es5.d.ts:1084
\ No newline at end of file
diff --git a/docs/modules.html b/docs/modules.html
new file mode 100644
index 0000000..0d77c47
--- /dev/null
+++ b/docs/modules.html
@@ -0,0 +1,176 @@
+@mrspartak/promises
\ No newline at end of file
diff --git a/docs/modules/_internal_.html b/docs/modules/_internal_.html
new file mode 100644
index 0000000..bd9bcc6
--- /dev/null
+++ b/docs/modules/_internal_.html
@@ -0,0 +1,178 @@
+<internal> | @mrspartak/promises
\ No newline at end of file
diff --git a/docs/types/_internal_.ToReturn.html b/docs/types/_internal_.ToReturn.html
new file mode 100644
index 0000000..be945b9
--- /dev/null
+++ b/docs/types/_internal_.ToReturn.html
@@ -0,0 +1,181 @@
+ToReturn | @mrspartak/promises To Return < T > : [ Error , null ] | [ null , T ]
\ No newline at end of file
diff --git a/docs/variables/_internal_.Error-1.html b/docs/variables/_internal_.Error-1.html
new file mode 100644
index 0000000..35dfe46
--- /dev/null
+++ b/docs/variables/_internal_.Error-1.html
@@ -0,0 +1,174 @@
+Error | @mrspartak/promises Defined in node_modules/.pnpm/typescript@5.5.2/node_modules/typescript/lib/lib.es5.d.ts:1075 Defined in node_modules/.pnpm/typescript@5.5.2/node_modules/typescript/lib/lib.es5.d.ts:1087
\ No newline at end of file
diff --git a/package.json b/package.json
index 8abb846..bea325c 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "@mrspartak/promises",
- "version": "0.0.0",
+ "version": "0.1.0",
"description": "Promise utils",
"private": false,
"main": "./dist/index.js",
@@ -53,7 +53,9 @@
"./web": "./dist/web.js"
},
"sideEffects": false,
- "files": ["dist"],
+ "files": [
+ "dist"
+ ],
"publishConfig": {
"access": "public"
}
async 'to' utility +Usecase: allows to elemitante excess brackets and lines of try/catch. GO style error handling +How to use:
+const [error, result] = await to( anyPromise ); +if(error) { + // handle error if needed +}
+