diff --git a/assets/highlight.css b/assets/highlight.css new file mode 100644 index 0000000..85cd183 --- /dev/null +++ b/assets/highlight.css @@ -0,0 +1,78 @@ +:root { + --light-hl-0: #0000FF; + --dark-hl-0: #569CD6; + --light-hl-1: #000000; + --dark-hl-1: #D4D4D4; + --light-hl-2: #0070C1; + --dark-hl-2: #4FC1FF; + --light-hl-3: #795E26; + --dark-hl-3: #DCDCAA; + --light-hl-4: #A31515; + --dark-hl-4: #CE9178; + --light-hl-5: #008000; + --dark-hl-5: #6A9955; + --light-hl-6: #001080; + --dark-hl-6: #9CDCFE; + --light-hl-7: #098658; + --dark-hl-7: #B5CEA8; + --light-code-background: #FFFFFF; + --dark-code-background: #1E1E1E; +} + +@media (prefers-color-scheme: light) { :root { + --hl-0: var(--light-hl-0); + --hl-1: var(--light-hl-1); + --hl-2: var(--light-hl-2); + --hl-3: var(--light-hl-3); + --hl-4: var(--light-hl-4); + --hl-5: var(--light-hl-5); + --hl-6: var(--light-hl-6); + --hl-7: var(--light-hl-7); + --code-background: var(--light-code-background); +} } + +@media (prefers-color-scheme: dark) { :root { + --hl-0: var(--dark-hl-0); + --hl-1: var(--dark-hl-1); + --hl-2: var(--dark-hl-2); + --hl-3: var(--dark-hl-3); + --hl-4: var(--dark-hl-4); + --hl-5: var(--dark-hl-5); + --hl-6: var(--dark-hl-6); + --hl-7: var(--dark-hl-7); + --code-background: var(--dark-code-background); +} } + +:root[data-theme='light'] { + --hl-0: var(--light-hl-0); + --hl-1: var(--light-hl-1); + --hl-2: var(--light-hl-2); + --hl-3: var(--light-hl-3); + --hl-4: var(--light-hl-4); + --hl-5: var(--light-hl-5); + --hl-6: var(--light-hl-6); + --hl-7: var(--light-hl-7); + --code-background: var(--light-code-background); +} + +:root[data-theme='dark'] { + --hl-0: var(--dark-hl-0); + --hl-1: var(--dark-hl-1); + --hl-2: var(--dark-hl-2); + --hl-3: var(--dark-hl-3); + --hl-4: var(--dark-hl-4); + --hl-5: var(--dark-hl-5); + --hl-6: var(--dark-hl-6); + --hl-7: var(--dark-hl-7); + --code-background: var(--dark-code-background); +} + +.hl-0 { color: var(--hl-0); } +.hl-1 { color: var(--hl-1); } +.hl-2 { color: var(--hl-2); } +.hl-3 { color: var(--hl-3); } +.hl-4 { color: var(--hl-4); } +.hl-5 { color: var(--hl-5); } +.hl-6 { color: var(--hl-6); } +.hl-7 { color: var(--hl-7); } +pre, code { background: var(--code-background); } diff --git a/assets/main.js b/assets/main.js new file mode 100644 index 0000000..4c8fa61 --- /dev/null +++ b/assets/main.js @@ -0,0 +1,58 @@ +"use strict"; +"use strict";(()=>{var Se=Object.create;var re=Object.defineProperty;var we=Object.getOwnPropertyDescriptor;var Te=Object.getOwnPropertyNames;var ke=Object.getPrototypeOf,Qe=Object.prototype.hasOwnProperty;var Pe=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Ie=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Te(e))!Qe.call(t,i)&&i!==r&&re(t,i,{get:()=>e[i],enumerable:!(n=we(e,i))||n.enumerable});return t};var Ce=(t,e,r)=>(r=t!=null?Se(ke(t)):{},Ie(e||!t||!t.__esModule?re(r,"default",{value:t,enumerable:!0}):r,t));var ae=Pe((se,oe)=>{(function(){var t=function(e){var r=new t.Builder;return r.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),r.searchPipeline.add(t.stemmer),e.call(r,r),r.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(r){e.console&&console.warn&&console.warn(r)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var r=Object.create(null),n=Object.keys(e),i=0;i0){var d=t.utils.clone(r)||{};d.position=[a,u],d.index=s.length,s.push(new t.Token(n.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,r){r in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+r),e.label=r,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var r=e.label&&e.label in this.registeredFunctions;r||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. +`,e)},t.Pipeline.load=function(e){var r=new t.Pipeline;return e.forEach(function(n){var i=t.Pipeline.registeredFunctions[n];if(i)r.add(i);else throw new Error("Cannot load unregistered function: "+n)}),r},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(r){t.Pipeline.warnIfFunctionNotRegistered(r),this._stack.push(r)},this)},t.Pipeline.prototype.after=function(e,r){t.Pipeline.warnIfFunctionNotRegistered(r);var n=this._stack.indexOf(e);if(n==-1)throw new Error("Cannot find existingFn");n=n+1,this._stack.splice(n,0,r)},t.Pipeline.prototype.before=function(e,r){t.Pipeline.warnIfFunctionNotRegistered(r);var n=this._stack.indexOf(e);if(n==-1)throw new Error("Cannot find existingFn");this._stack.splice(n,0,r)},t.Pipeline.prototype.remove=function(e){var r=this._stack.indexOf(e);r!=-1&&this._stack.splice(r,1)},t.Pipeline.prototype.run=function(e){for(var r=this._stack.length,n=0;n1&&(oe&&(n=s),o!=e);)i=n-r,s=r+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(ol?d+=2:a==l&&(r+=n[u+1]*i[d+1],u+=2,d+=2);return r},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),r=1,n=0;r0){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),m=s.str.charAt(1),y;m in s.node.edges?y=s.node.edges[m]:(y=new t.TokenSet,s.node.edges[m]=y),s.str.length==1&&(y.final=!0),i.push({node:y,editsRemaining:s.editsRemaining-1,str:d+s.str.slice(2)})}}}return n},t.TokenSet.fromString=function(e){for(var r=new t.TokenSet,n=r,i=0,s=e.length;i=e;r--){var n=this.uncheckedNodes[r],i=n.child.toString();i in this.minimizedNodes?n.parent.edges[n.char]=this.minimizedNodes[i]:(n.child._str=i,this.minimizedNodes[i]=n.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(r){var n=new t.QueryParser(e,r);n.parse()})},t.Index.prototype.query=function(e){for(var r=new t.Query(this.fields),n=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,r){var n=e[this._ref],i=Object.keys(this._fields);this._documents[n]=r||{},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,r;do e=this.next(),r=e.charCodeAt(0);while(r>47&&r<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 r=e.next();if(r==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(r.charCodeAt(0)==92){e.escapeCharacter();continue}if(r==":")return t.QueryLexer.lexField;if(r=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(r=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(r=="+"&&e.width()===1||r=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(r.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,r){this.lexer=new t.QueryLexer(e),this.query=r,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 r=e.peekLexeme();if(r!=null)switch(r.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 n="expected either a field or a term, found "+r.type;throw r.str.length>=1&&(n+=" with value '"+r.str+"'"),new t.QueryParseError(n,r.start,r.end)}},t.QueryParser.parsePresence=function(e){var r=e.consumeLexeme();if(r!=null){switch(r.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var n="unrecognised presence operator'"+r.str+"'";throw new t.QueryParseError(n,r.start,r.end)}var i=e.peekLexeme();if(i==null){var n="expecting term or field, found nothing";throw new t.QueryParseError(n,r.start,r.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var n="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(n,i.start,i.end)}}},t.QueryParser.parseField=function(e){var r=e.consumeLexeme();if(r!=null){if(e.query.allFields.indexOf(r.str)==-1){var n=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+r.str+"', possible fields: "+n;throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.fields=[r.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,r.start,r.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 r=e.consumeLexeme();if(r!=null){e.currentClause.term=r.str.toLowerCase(),r.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var n=e.peekLexeme();if(n==null){e.nextClause();return}switch(n.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 '"+n.type+"'";throw new t.QueryParseError(i,n.start,n.end)}}},t.QueryParser.parseEditDistance=function(e){var r=e.consumeLexeme();if(r!=null){var n=parseInt(r.str,10);if(isNaN(n)){var i="edit distance must be numeric";throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.editDistance=n;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 r=e.consumeLexeme();if(r!=null){var n=parseInt(r.str,10);if(isNaN(n)){var i="boost must be numeric";throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.boost=n;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,r){typeof define=="function"&&define.amd?define(r):typeof se=="object"?oe.exports=r():e.lunr=r()}(this,function(){return t})})()});var ne=[];function G(t,e){ne.push({selector:e,constructor:t})}var U=class{constructor(){this.alwaysVisibleMember=null;this.createComponents(document.body),this.ensureActivePageVisible(),this.ensureFocusedElementVisible(),this.listenForCodeCopies(),window.addEventListener("hashchange",()=>this.ensureFocusedElementVisible())}createComponents(e){ne.forEach(r=>{e.querySelectorAll(r.selector).forEach(n=>{n.dataset.hasInstance||(new r.constructor({el:n,app:this}),n.dataset.hasInstance=String(!0))})})}filterChanged(){this.ensureFocusedElementVisible()}ensureActivePageVisible(){let e=document.querySelector(".tsd-navigation .current"),r=e?.parentElement;for(;r&&!r.classList.contains(".tsd-navigation");)r instanceof HTMLDetailsElement&&(r.open=!0),r=r.parentElement;if(e){let n=e.getBoundingClientRect().top-document.documentElement.clientHeight/4;document.querySelector(".site-menu").scrollTop=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 r=e.parentElement;for(;r&&r.tagName!=="SECTION";)r=r.parentElement;if(r&&r.offsetParent==null){this.alwaysVisibleMember=r,r.classList.add("always-visible");let n=document.createElement("p");n.classList.add("warning"),n.textContent="This member is normally hidden due to your filter settings.",r.prepend(n)}}listenForCodeCopies(){document.querySelectorAll("pre > button").forEach(e=>{let r;e.addEventListener("click",()=>{e.previousElementSibling instanceof HTMLElement&&navigator.clipboard.writeText(e.previousElementSibling.innerText.trim()),e.textContent="Copied!",e.classList.add("visible"),clearTimeout(r),r=setTimeout(()=>{e.classList.remove("visible"),r=setTimeout(()=>{e.textContent="Copy"},100)},1e3)})})}};var ie=(t,e=100)=>{let r;return()=>{clearTimeout(r),r=setTimeout(()=>t(),e)}};var ce=Ce(ae());function de(){let t=document.getElementById("tsd-search");if(!t)return;let e=document.getElementById("tsd-search-script");t.classList.add("loading"),e&&(e.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),e.addEventListener("load",()=>{t.classList.remove("loading"),t.classList.add("ready")}),window.searchData&&t.classList.remove("loading"));let r=document.querySelector("#tsd-search input"),n=document.querySelector("#tsd-search .results");if(!r||!n)throw new Error("The input field or the result list wrapper was not found");let i=!1;n.addEventListener("mousedown",()=>i=!0),n.addEventListener("mouseup",()=>{i=!1,t.classList.remove("has-focus")}),r.addEventListener("focus",()=>t.classList.add("has-focus")),r.addEventListener("blur",()=>{i||(i=!1,t.classList.remove("has-focus"))});let s={base:t.dataset.base+"/"};Oe(t,n,r,s)}function Oe(t,e,r,n){r.addEventListener("input",ie(()=>{Re(t,e,r,n)},200));let i=!1;r.addEventListener("keydown",s=>{i=!0,s.key=="Enter"?Fe(e,r):s.key=="Escape"?r.blur():s.key=="ArrowUp"?ue(e,-1):s.key==="ArrowDown"?ue(e,1):i=!1}),r.addEventListener("keypress",s=>{i&&s.preventDefault()}),document.body.addEventListener("keydown",s=>{s.altKey||s.ctrlKey||s.metaKey||!r.matches(":focus")&&s.key==="/"&&(r.focus(),s.preventDefault())})}function _e(t,e){t.index||window.searchData&&(e.classList.remove("loading"),e.classList.add("ready"),t.data=window.searchData,t.index=ce.Index.load(window.searchData.index))}function Re(t,e,r,n){if(_e(n,t),!n.index||!n.data)return;e.textContent="";let i=r.value.trim(),s=i?n.index.search(`*${i}*`):[];for(let o=0;oa.score-o.score);for(let o=0,a=Math.min(10,s.length);o${le(l.parent,i)}.${u}`);let d=document.createElement("li");d.classList.value=l.classes??"";let m=document.createElement("a");m.href=n.base+l.url,m.innerHTML=u,d.append(m),e.appendChild(d)}}function ue(t,e){let r=t.querySelector(".current");if(!r)r=t.querySelector(e==1?"li:first-child":"li:last-child"),r&&r.classList.add("current");else{let n=r;if(e===1)do n=n.nextElementSibling??void 0;while(n instanceof HTMLElement&&n.offsetParent==null);else do n=n.previousElementSibling??void 0;while(n instanceof HTMLElement&&n.offsetParent==null);n&&(r.classList.remove("current"),n.classList.add("current"))}}function Fe(t,e){let r=t.querySelector(".current");if(r||(r=t.querySelector("li:first-child")),r){let n=r.querySelector("a");n&&(window.location.href=n.href),e.blur()}}function le(t,e){if(e==="")return t;let r=t.toLocaleLowerCase(),n=e.toLocaleLowerCase(),i=[],s=0,o=r.indexOf(n);for(;o!=-1;)i.push(K(t.substring(s,o)),`${K(t.substring(o,o+n.length))}`),s=o+n.length,o=r.indexOf(n,s);return i.push(K(t.substring(s))),i.join("")}var Me={"&":"&","<":"<",">":">","'":"'",'"':"""};function K(t){return t.replace(/[&<>"'"]/g,e=>Me[e])}var P=class{constructor(e){this.el=e.el,this.app=e.app}};var M="mousedown",fe="mousemove",N="mouseup",J={x:0,y:0},he=!1,ee=!1,De=!1,D=!1,pe=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(pe?"is-mobile":"not-mobile");pe&&"ontouchstart"in document.documentElement&&(De=!0,M="touchstart",fe="touchmove",N="touchend");document.addEventListener(M,t=>{ee=!0,D=!1;let e=M=="touchstart"?t.targetTouches[0]:t;J.y=e.pageY||0,J.x=e.pageX||0});document.addEventListener(fe,t=>{if(ee&&!D){let e=M=="touchstart"?t.targetTouches[0]:t,r=J.x-(e.pageX||0),n=J.y-(e.pageY||0);D=Math.sqrt(r*r+n*n)>10}});document.addEventListener(N,()=>{ee=!1});document.addEventListener("click",t=>{he&&(t.preventDefault(),t.stopImmediatePropagation(),he=!1)});var X=class extends P{constructor(r){super(r);this.className=this.el.dataset.toggle||"",this.el.addEventListener(N,n=>this.onPointerUp(n)),this.el.addEventListener("click",n=>n.preventDefault()),document.addEventListener(M,n=>this.onDocumentPointerDown(n)),document.addEventListener(N,n=>this.onDocumentPointerUp(n))}setActive(r){if(this.active==r)return;this.active=r,document.documentElement.classList.toggle("has-"+this.className,r),this.el.classList.toggle("active",r);let n=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(n),setTimeout(()=>document.documentElement.classList.remove(n),500)}onPointerUp(r){D||(this.setActive(!0),r.preventDefault())}onDocumentPointerDown(r){if(this.active){if(r.target.closest(".col-sidebar, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(r){if(!D&&this.active&&r.target.closest(".col-sidebar")){let n=r.target.closest("a");if(n){let i=window.location.href;i.indexOf("#")!=-1&&(i=i.substring(0,i.indexOf("#"))),n.href.substring(0,i.length)==i&&setTimeout(()=>this.setActive(!1),250)}}}};var te;try{te=localStorage}catch{te={getItem(){return null},setItem(){}}}var Q=te;var me=document.head.appendChild(document.createElement("style"));me.dataset.for="filters";var Y=class extends P{constructor(r){super(r);this.key=`filter-${this.el.name}`,this.value=this.el.checked,this.el.addEventListener("change",()=>{this.setLocalStorage(this.el.checked)}),this.setLocalStorage(this.fromLocalStorage()),me.innerHTML+=`html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; } +`}fromLocalStorage(){let r=Q.getItem(this.key);return r?r==="true":this.el.checked}setLocalStorage(r){Q.setItem(this.key,r.toString()),this.value=r,this.handleValueChange()}handleValueChange(){this.el.checked=this.value,document.documentElement.classList.toggle(this.key,this.value),this.app.filterChanged(),document.querySelectorAll(".tsd-index-section").forEach(r=>{r.style.display="block";let n=Array.from(r.querySelectorAll(".tsd-index-link")).every(i=>i.offsetParent==null);r.style.display=n?"none":"block"})}};var Z=class extends P{constructor(r){super(r);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()),this.update()}update(){this.icon.style.transform=`rotate(${this.el.open?0:-90}deg)`,Q.setItem(this.key,this.el.open.toString())}};function ve(t){let e=Q.getItem("tsd-theme")||"os";t.value=e,ye(e),t.addEventListener("change",()=>{Q.setItem("tsd-theme",t.value),ye(t.value)})}function ye(t){document.documentElement.dataset.theme=t}de();G(X,"a[data-toggle]");G(Z,".tsd-index-accordion");G(Y,".tsd-filter-item input[type=checkbox]");var ge=document.getElementById("tsd-theme");ge&&ve(ge);var Ae=new U;Object.defineProperty(window,"app",{value:Ae});document.querySelectorAll("summary a").forEach(t=>{t.addEventListener("click",()=>{location.assign(t.href)})});})(); +/*! 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/assets/search.js b/assets/search.js new file mode 100644 index 0000000..d6e9fd7 --- /dev/null +++ b/assets/search.js @@ -0,0 +1 @@ +window.searchData = JSON.parse("{\"rows\":[{\"kind\":64,\"name\":\"is\",\"url\":\"functions/is.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"significantDigits\",\"url\":\"functions/significantDigits.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"compare\",\"url\":\"functions/compare.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"floor\",\"url\":\"functions/floor.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"ceil\",\"url\":\"functions/ceil.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"round\",\"url\":\"functions/round.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"floorDiv\",\"url\":\"functions/floorDiv.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"ceilDiv\",\"url\":\"functions/ceilDiv.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"roundDiv\",\"url\":\"functions/roundDiv.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"rem\",\"url\":\"functions/rem.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"mod\",\"url\":\"functions/mod.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"modp\",\"url\":\"functions/modp.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"constrain\",\"url\":\"functions/constrain.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"normalize\",\"url\":\"functions/normalize.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"remap\",\"url\":\"functions/remap.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"lerp\",\"url\":\"functions/lerp.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"isPow\",\"url\":\"functions/isPow.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"prevPow\",\"url\":\"functions/prevPow.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"nextPow\",\"url\":\"functions/nextPow.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"root\",\"url\":\"functions/root.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"log\",\"url\":\"functions/log.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"properDivisors\",\"url\":\"functions/properDivisors.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"aliquotSum\",\"url\":\"functions/aliquotSum.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"minPrimeFactor\",\"url\":\"functions/minPrimeFactor.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"maxPrimeFactor\",\"url\":\"functions/maxPrimeFactor.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"primeFactors\",\"url\":\"functions/primeFactors.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"primeExponentials\",\"url\":\"functions/primeExponentials.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"isPrime\",\"url\":\"functions/isPrime.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"gcd\",\"url\":\"functions/gcd.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"lcm\",\"url\":\"functions/lcm.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"factorial\",\"url\":\"functions/factorial.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"binomial\",\"url\":\"functions/binomial.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"multinomial\",\"url\":\"functions/multinomial.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"degrees\",\"url\":\"functions/degrees.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"radians\",\"url\":\"functions/radians.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"sum\",\"url\":\"functions/sum.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"product\",\"url\":\"functions/product.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"median\",\"url\":\"functions/median.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"modes\",\"url\":\"functions/modes.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"range\",\"url\":\"functions/range.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"variance\",\"url\":\"functions/variance.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"arithmeticMean\",\"url\":\"functions/arithmeticMean.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"geometricMean\",\"url\":\"functions/geometricMean.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"harmonicMean\",\"url\":\"functions/harmonicMean.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"quadriaticMean\",\"url\":\"functions/quadriaticMean.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"cubicMean\",\"url\":\"functions/cubicMean.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"fromRomanNumerals\",\"url\":\"functions/fromRomanNumerals.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"toRomanNumerals\",\"url\":\"functions/toRomanNumerals.html\",\"classes\":\"\"},{\"kind\":8388608,\"name\":\"clamp\",\"url\":\"modules.html#clamp\",\"classes\":\"\"},{\"kind\":8388608,\"name\":\"norm\",\"url\":\"modules.html#norm\",\"classes\":\"\"},{\"kind\":8388608,\"name\":\"map\",\"url\":\"modules.html#map\",\"classes\":\"\"},{\"kind\":8388608,\"name\":\"aliquotParts\",\"url\":\"modules.html#aliquotParts\",\"classes\":\"\"},{\"kind\":8388608,\"name\":\"leastPrimeFactor\",\"url\":\"modules.html#leastPrimeFactor\",\"classes\":\"\"},{\"kind\":8388608,\"name\":\"greatestPrimeFactor\",\"url\":\"modules.html#greatestPrimeFactor\",\"classes\":\"\"},{\"kind\":8388608,\"name\":\"hcf\",\"url\":\"modules.html#hcf\",\"classes\":\"\"},{\"kind\":8388608,\"name\":\"mean\",\"url\":\"modules.html#mean\",\"classes\":\"\"},{\"kind\":8388608,\"name\":\"rootMeanSquare\",\"url\":\"modules.html#rootMeanSquare\",\"classes\":\"\"},{\"kind\":8388608,\"name\":\"fromRoman\",\"url\":\"modules.html#fromRoman\",\"classes\":\"\"},{\"kind\":8388608,\"name\":\"toRoman\",\"url\":\"modules.html#toRoman\",\"classes\":\"\"}],\"index\":{\"version\":\"2.3.9\",\"fields\":[\"name\",\"comment\"],\"fieldVectors\":[[\"name/0\",[0,36.889]],[\"comment/0\",[]],[\"name/1\",[1,36.889]],[\"comment/1\",[]],[\"name/2\",[2,36.889]],[\"comment/2\",[]],[\"name/3\",[3,36.889]],[\"comment/3\",[]],[\"name/4\",[4,36.889]],[\"comment/4\",[]],[\"name/5\",[5,36.889]],[\"comment/5\",[]],[\"name/6\",[6,36.889]],[\"comment/6\",[]],[\"name/7\",[7,36.889]],[\"comment/7\",[]],[\"name/8\",[8,36.889]],[\"comment/8\",[]],[\"name/9\",[9,36.889]],[\"comment/9\",[]],[\"name/10\",[10,36.889]],[\"comment/10\",[]],[\"name/11\",[11,36.889]],[\"comment/11\",[]],[\"name/12\",[12,36.889]],[\"comment/12\",[]],[\"name/13\",[13,36.889]],[\"comment/13\",[]],[\"name/14\",[14,36.889]],[\"comment/14\",[]],[\"name/15\",[15,36.889]],[\"comment/15\",[]],[\"name/16\",[16,36.889]],[\"comment/16\",[]],[\"name/17\",[17,36.889]],[\"comment/17\",[]],[\"name/18\",[18,36.889]],[\"comment/18\",[]],[\"name/19\",[19,36.889]],[\"comment/19\",[]],[\"name/20\",[20,36.889]],[\"comment/20\",[]],[\"name/21\",[21,36.889]],[\"comment/21\",[]],[\"name/22\",[22,36.889]],[\"comment/22\",[]],[\"name/23\",[23,36.889]],[\"comment/23\",[]],[\"name/24\",[24,36.889]],[\"comment/24\",[]],[\"name/25\",[25,36.889]],[\"comment/25\",[]],[\"name/26\",[26,36.889]],[\"comment/26\",[]],[\"name/27\",[27,36.889]],[\"comment/27\",[]],[\"name/28\",[28,36.889]],[\"comment/28\",[]],[\"name/29\",[29,36.889]],[\"comment/29\",[]],[\"name/30\",[30,36.889]],[\"comment/30\",[]],[\"name/31\",[31,36.889]],[\"comment/31\",[]],[\"name/32\",[32,36.889]],[\"comment/32\",[]],[\"name/33\",[33,36.889]],[\"comment/33\",[]],[\"name/34\",[34,36.889]],[\"comment/34\",[]],[\"name/35\",[35,36.889]],[\"comment/35\",[]],[\"name/36\",[36,36.889]],[\"comment/36\",[]],[\"name/37\",[37,36.889]],[\"comment/37\",[]],[\"name/38\",[38,36.889]],[\"comment/38\",[]],[\"name/39\",[39,36.889]],[\"comment/39\",[]],[\"name/40\",[40,36.889]],[\"comment/40\",[]],[\"name/41\",[41,36.889]],[\"comment/41\",[]],[\"name/42\",[42,36.889]],[\"comment/42\",[]],[\"name/43\",[43,36.889]],[\"comment/43\",[]],[\"name/44\",[44,36.889]],[\"comment/44\",[]],[\"name/45\",[45,36.889]],[\"comment/45\",[]],[\"name/46\",[46,36.889]],[\"comment/46\",[]],[\"name/47\",[47,36.889]],[\"comment/47\",[]],[\"name/48\",[48,36.889]],[\"comment/48\",[]],[\"name/49\",[49,36.889]],[\"comment/49\",[]],[\"name/50\",[50,36.889]],[\"comment/50\",[]],[\"name/51\",[51,36.889]],[\"comment/51\",[]],[\"name/52\",[52,36.889]],[\"comment/52\",[]],[\"name/53\",[53,36.889]],[\"comment/53\",[]],[\"name/54\",[54,36.889]],[\"comment/54\",[]],[\"name/55\",[55,36.889]],[\"comment/55\",[]],[\"name/56\",[56,36.889]],[\"comment/56\",[]],[\"name/57\",[57,36.889]],[\"comment/57\",[]],[\"name/58\",[58,36.889]],[\"comment/58\",[]]],\"invertedIndex\":[[\"aliquotparts\",{\"_index\":51,\"name\":{\"51\":{}},\"comment\":{}}],[\"aliquotsum\",{\"_index\":22,\"name\":{\"22\":{}},\"comment\":{}}],[\"arithmeticmean\",{\"_index\":41,\"name\":{\"41\":{}},\"comment\":{}}],[\"binomial\",{\"_index\":31,\"name\":{\"31\":{}},\"comment\":{}}],[\"ceil\",{\"_index\":4,\"name\":{\"4\":{}},\"comment\":{}}],[\"ceildiv\",{\"_index\":7,\"name\":{\"7\":{}},\"comment\":{}}],[\"clamp\",{\"_index\":48,\"name\":{\"48\":{}},\"comment\":{}}],[\"compare\",{\"_index\":2,\"name\":{\"2\":{}},\"comment\":{}}],[\"constrain\",{\"_index\":12,\"name\":{\"12\":{}},\"comment\":{}}],[\"cubicmean\",{\"_index\":45,\"name\":{\"45\":{}},\"comment\":{}}],[\"degrees\",{\"_index\":33,\"name\":{\"33\":{}},\"comment\":{}}],[\"factorial\",{\"_index\":30,\"name\":{\"30\":{}},\"comment\":{}}],[\"floor\",{\"_index\":3,\"name\":{\"3\":{}},\"comment\":{}}],[\"floordiv\",{\"_index\":6,\"name\":{\"6\":{}},\"comment\":{}}],[\"fromroman\",{\"_index\":57,\"name\":{\"57\":{}},\"comment\":{}}],[\"fromromannumerals\",{\"_index\":46,\"name\":{\"46\":{}},\"comment\":{}}],[\"gcd\",{\"_index\":28,\"name\":{\"28\":{}},\"comment\":{}}],[\"geometricmean\",{\"_index\":42,\"name\":{\"42\":{}},\"comment\":{}}],[\"greatestprimefactor\",{\"_index\":53,\"name\":{\"53\":{}},\"comment\":{}}],[\"harmonicmean\",{\"_index\":43,\"name\":{\"43\":{}},\"comment\":{}}],[\"hcf\",{\"_index\":54,\"name\":{\"54\":{}},\"comment\":{}}],[\"is\",{\"_index\":0,\"name\":{\"0\":{}},\"comment\":{}}],[\"ispow\",{\"_index\":16,\"name\":{\"16\":{}},\"comment\":{}}],[\"isprime\",{\"_index\":27,\"name\":{\"27\":{}},\"comment\":{}}],[\"lcm\",{\"_index\":29,\"name\":{\"29\":{}},\"comment\":{}}],[\"leastprimefactor\",{\"_index\":52,\"name\":{\"52\":{}},\"comment\":{}}],[\"lerp\",{\"_index\":15,\"name\":{\"15\":{}},\"comment\":{}}],[\"log\",{\"_index\":20,\"name\":{\"20\":{}},\"comment\":{}}],[\"map\",{\"_index\":50,\"name\":{\"50\":{}},\"comment\":{}}],[\"maxprimefactor\",{\"_index\":24,\"name\":{\"24\":{}},\"comment\":{}}],[\"mean\",{\"_index\":55,\"name\":{\"55\":{}},\"comment\":{}}],[\"median\",{\"_index\":37,\"name\":{\"37\":{}},\"comment\":{}}],[\"minprimefactor\",{\"_index\":23,\"name\":{\"23\":{}},\"comment\":{}}],[\"mod\",{\"_index\":10,\"name\":{\"10\":{}},\"comment\":{}}],[\"modes\",{\"_index\":38,\"name\":{\"38\":{}},\"comment\":{}}],[\"modp\",{\"_index\":11,\"name\":{\"11\":{}},\"comment\":{}}],[\"multinomial\",{\"_index\":32,\"name\":{\"32\":{}},\"comment\":{}}],[\"nextpow\",{\"_index\":18,\"name\":{\"18\":{}},\"comment\":{}}],[\"norm\",{\"_index\":49,\"name\":{\"49\":{}},\"comment\":{}}],[\"normalize\",{\"_index\":13,\"name\":{\"13\":{}},\"comment\":{}}],[\"prevpow\",{\"_index\":17,\"name\":{\"17\":{}},\"comment\":{}}],[\"primeexponentials\",{\"_index\":26,\"name\":{\"26\":{}},\"comment\":{}}],[\"primefactors\",{\"_index\":25,\"name\":{\"25\":{}},\"comment\":{}}],[\"product\",{\"_index\":36,\"name\":{\"36\":{}},\"comment\":{}}],[\"properdivisors\",{\"_index\":21,\"name\":{\"21\":{}},\"comment\":{}}],[\"quadriaticmean\",{\"_index\":44,\"name\":{\"44\":{}},\"comment\":{}}],[\"radians\",{\"_index\":34,\"name\":{\"34\":{}},\"comment\":{}}],[\"range\",{\"_index\":39,\"name\":{\"39\":{}},\"comment\":{}}],[\"rem\",{\"_index\":9,\"name\":{\"9\":{}},\"comment\":{}}],[\"remap\",{\"_index\":14,\"name\":{\"14\":{}},\"comment\":{}}],[\"root\",{\"_index\":19,\"name\":{\"19\":{}},\"comment\":{}}],[\"rootmeansquare\",{\"_index\":56,\"name\":{\"56\":{}},\"comment\":{}}],[\"round\",{\"_index\":5,\"name\":{\"5\":{}},\"comment\":{}}],[\"rounddiv\",{\"_index\":8,\"name\":{\"8\":{}},\"comment\":{}}],[\"significantdigits\",{\"_index\":1,\"name\":{\"1\":{}},\"comment\":{}}],[\"sum\",{\"_index\":35,\"name\":{\"35\":{}},\"comment\":{}}],[\"toroman\",{\"_index\":58,\"name\":{\"58\":{}},\"comment\":{}}],[\"toromannumerals\",{\"_index\":47,\"name\":{\"47\":{}},\"comment\":{}}],[\"variance\",{\"_index\":40,\"name\":{\"40\":{}},\"comment\":{}}]],\"pipeline\":[]}}"); \ No newline at end of file diff --git a/assets/style.css b/assets/style.css new file mode 100644 index 0000000..18b4f8f --- /dev/null +++ b/assets/style.css @@ -0,0 +1,1367 @@ +: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-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: var(--light-color-ts-type-alias); + --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); + /* object literal not included as it is not used and will be removed in 0.25 */ + --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-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: var(--dark-color-ts-type-alias); + --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); + /* object literal not included as it is not used and will be removed in 0.25 */ + --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-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-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-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-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, +h2 > a, +h3 > a, +h4 > a, +h5 > a, +h6 > a { + 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 */ +.tsd-generator { + border-top: 1px solid var(--color-accent); + padding-top: 1rem; + padding-bottom: 1rem; + max-height: 3.5rem; +} + +.tsd-generator > p { + margin-top: 0; + margin-bottom: 0; + padding: 0 1rem; +} + +.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: "Segoe UI", sans-serif; + 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 h4, +.tsd-typography .tsd-index-panel h3, +.tsd-index-panel .tsd-typography h3, +.tsd-typography h5, +.tsd-typography h6 { + font-size: 1em; + margin: 0; +} +.tsd-typography h5, +.tsd-typography h6 { + font-weight: normal; +} +.tsd-typography p, +.tsd-typography ul, +.tsd-typography ol { + margin: 1em 0; +} + +.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-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.5rem); +} +.tsd-navigation a, +.tsd-navigation summary > span, +.tsd-page-navigation a { + display: inline-flex; + 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-nested-navigation > li > a, +.tsd-nested-navigation > li > span { + width: calc(100% - 1.75rem - 0.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 { + padding: 0 10px; + background-color: var(--color-background); +} +#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, +#tsd-search .results li:hover { + background-color: var(--color-accent); +} +#tsd-search .results a { + display: block; +} +#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-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; +} + +.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/functions/aliquotSum.html b/functions/aliquotSum.html new file mode 100644 index 0000000..255112d --- /dev/null +++ b/functions/aliquotSum.html @@ -0,0 +1,116 @@ +aliquotSum | extra-number
+
+ +
+
+
+
+ +

Function aliquotSum

+
+
    + +
  • +

    Sum all proper divisors of a number.

    +
    +
    +

    Parameters

    +
      +
    • +
      x: number
      +

      a number

      +
      +
    +

    Returns number

    ฮฃdแตข | dแตข is a divisor of x and โ‰ x

    + +
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/functions/arithmeticMean.html b/functions/arithmeticMean.html new file mode 100644 index 0000000..cd97636 --- /dev/null +++ b/functions/arithmeticMean.html @@ -0,0 +1,116 @@ +arithmeticMean | extra-number
+
+ +
+
+
+
+ +

Function arithmeticMean

+
+
    + +
  • +

    Find the average of numbers.

    +
    +
    +

    Parameters

    +
      +
    • +
      Rest ...xs: number[]
      +

      a list of numbers

      +
      +
    +

    Returns number

    ฮฃxแตข/n | n = size(xs)

    + +
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/functions/binomial.html b/functions/binomial.html new file mode 100644 index 0000000..707bff9 --- /dev/null +++ b/functions/binomial.html @@ -0,0 +1,121 @@ +binomial | extra-number
+
+ +
+
+
+
+ +

Function binomial

+
+
    + +
  • +

    Find the number of ways to choose k elements from a set of n elements.

    +
    +
    +

    Parameters

    +
      +
    • +
      n: number
      +

      elements in source set

      +
      +
    • +
    • +
      k: number
      +

      elements in choose set

      +
      +
    +

    Returns number

    C(n, k)

    + +
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/functions/ceil.html b/functions/ceil.html new file mode 100644 index 0000000..e30012b --- /dev/null +++ b/functions/ceil.html @@ -0,0 +1,120 @@ +ceil | extra-number
+
+ +
+
+
+
+ +

Function ceil

+
+
    + +
  • +

    Round up a number to specific precision.

    +
    +
    +

    Parameters

    +
      +
    • +
      x: number
      +

      a number

      +
      +
    • +
    • +
      pre: number = 1
      +

      to precision [1]

      +
      +
    +

    Returns number

    +
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/functions/ceilDiv.html b/functions/ceilDiv.html new file mode 100644 index 0000000..7be3192 --- /dev/null +++ b/functions/ceilDiv.html @@ -0,0 +1,121 @@ +ceilDiv | extra-number
+
+ +
+
+
+
+ +

Function ceilDiv

+
+
    + +
  • +

    Perform ceiling-divison of two numbers.

    +
    +
    +

    Parameters

    +
      +
    • +
      x: number
      +

      divisor

      +
      +
    • +
    • +
      y: number
      +

      dividend

      +
      +
    +

    Returns number

    โŒˆx/yโŒ‰

    + +
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/functions/compare.html b/functions/compare.html new file mode 100644 index 0000000..5f60c08 --- /dev/null +++ b/functions/compare.html @@ -0,0 +1,121 @@ +compare | extra-number
+
+ +
+
+
+
+ +

Function compare

+
+
    + +
  • +

    Compare two numbers.

    +
    +
    +

    Parameters

    +
      +
    • +
      x: number
      +

      a number

      +
      +
    • +
    • +
      y: number
      +

      another number

      +
      +
    +

    Returns number

    x<y: -ve, x=y: 0, x>y: +ve

    + +
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/functions/constrain.html b/functions/constrain.html new file mode 100644 index 0000000..a5b7b35 --- /dev/null +++ b/functions/constrain.html @@ -0,0 +1,126 @@ +constrain | extra-number
+
+ +
+
+
+
+ +

Function constrain

+
+
    + +
  • +

    Constrain a number within a minimum and a maximum value.

    +
    +
    +

    Parameters

    +
      +
    • +
      x: number
      +

      a number

      +
      +
    • +
    • +
      min: number
      +

      minimum value

      +
      +
    • +
    • +
      max: number
      +

      maximum value

      +
      +
    +

    Returns number

    x<min: min, x>max: max, x

    + +
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/functions/cubicMean.html b/functions/cubicMean.html new file mode 100644 index 0000000..7cb03b5 --- /dev/null +++ b/functions/cubicMean.html @@ -0,0 +1,116 @@ +cubicMean | extra-number
+
+ +
+
+
+
+ +

Function cubicMean

+
+
    + +
  • +

    Find the cubic mean of numbers.

    +
    +
    +

    Parameters

    +
      +
    • +
      Rest ...xs: number[]
      +

      a list of numbers

      +
      +
    +

    Returns number

    ยณโˆš(ฮฃxแตขยณ)/n | n = size(xs)

    + +
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/functions/degrees.html b/functions/degrees.html new file mode 100644 index 0000000..5e001be --- /dev/null +++ b/functions/degrees.html @@ -0,0 +1,116 @@ +degrees | extra-number
+
+ +
+
+
+
+ +

Function degrees

+
+
    + +
  • +

    Convert radians to degrees.

    +
    +
    +

    Parameters

    +
      +
    • +
      x: number
      +

      radians

      +
      +
    +

    Returns number

    2ฯ€ โ†’ 360

    + +
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/functions/factorial.html b/functions/factorial.html new file mode 100644 index 0000000..918dd3f --- /dev/null +++ b/functions/factorial.html @@ -0,0 +1,121 @@ +factorial | extra-number
+
+ +
+
+
+
+ +

Function factorial

+
+
    + +
  • +

    Find the factorial of a number.

    +
    +
    +

    Parameters

    +
      +
    • +
      n: number
      +

      a number

      +
      +
    • +
    • +
      k: number = 0
      +

      denominator factorial [0]

      +
      +
    +

    Returns number

    P(n, k); k=0: n!, k>0: n!/k!

    + +
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/functions/floor.html b/functions/floor.html new file mode 100644 index 0000000..9bd293d --- /dev/null +++ b/functions/floor.html @@ -0,0 +1,120 @@ +floor | extra-number
+
+ +
+
+
+
+ +

Function floor

+
+
    + +
  • +

    Round down a number to specific precision.

    +
    +
    +

    Parameters

    +
      +
    • +
      x: number
      +

      a number

      +
      +
    • +
    • +
      pre: number = 1
      +

      to precision (1)

      +
      +
    +

    Returns number

    +
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/functions/floorDiv.html b/functions/floorDiv.html new file mode 100644 index 0000000..856bc8a --- /dev/null +++ b/functions/floorDiv.html @@ -0,0 +1,121 @@ +floorDiv | extra-number
+
+ +
+
+
+
+ +

Function floorDiv

+
+
    + +
  • +

    Perform floor-divison of two numbers.

    +
    +
    +

    Parameters

    +
      +
    • +
      x: number
      +

      divisor

      +
      +
    • +
    • +
      y: number
      +

      dividend

      +
      +
    +

    Returns number

    โŒŠx/yโŒ‹

    + +
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/functions/fromRomanNumerals.html b/functions/fromRomanNumerals.html new file mode 100644 index 0000000..5405e83 --- /dev/null +++ b/functions/fromRomanNumerals.html @@ -0,0 +1,116 @@ +fromRomanNumerals | extra-number
+
+ +
+
+
+
+ +

Function fromRomanNumerals

+
+
    + +
  • +

    Convert roman numerals to number.

    +
    +
    +

    Parameters

    +
      +
    • +
      txt: string
      +

      roman numerals

      +
      +
    +

    Returns number

    eg. XCV -> 95

    + +
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/functions/gcd.html b/functions/gcd.html new file mode 100644 index 0000000..0e52081 --- /dev/null +++ b/functions/gcd.html @@ -0,0 +1,116 @@ +gcd | extra-number
+
+ +
+
+
+
+ +

Function gcd

+
+
    + +
  • +

    Find the greatest common divisor of numbers.

    +
    +
    +

    Parameters

    +
      +
    • +
      Rest ...xs: number[]
      +

      a list of numbers

      +
      +
    +

    Returns number

    gcd(xโ‚, xโ‚‚, ...)

    + +
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/functions/geometricMean.html b/functions/geometricMean.html new file mode 100644 index 0000000..64c5a86 --- /dev/null +++ b/functions/geometricMean.html @@ -0,0 +1,116 @@ +geometricMean | extra-number
+
+ +
+
+
+
+ +

Function geometricMean

+
+
    + +
  • +

    Find the geometric mean of numbers.

    +
    +
    +

    Parameters

    +
      +
    • +
      Rest ...xs: number[]
      +

      a list of numbers

      +
      +
    +

    Returns number

    โฟโˆš(โˆxแตข) | n = size(xs)

    + +
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/functions/harmonicMean.html b/functions/harmonicMean.html new file mode 100644 index 0000000..276c9dd --- /dev/null +++ b/functions/harmonicMean.html @@ -0,0 +1,116 @@ +harmonicMean | extra-number
+
+ +
+
+
+
+ +

Function harmonicMean

+
+
    + +
  • +

    Find the harmonic mean of numbers.

    +
    +
    +

    Parameters

    +
      +
    • +
      Rest ...xs: number[]
      +

      a list of numbers

      +
      +
    +

    Returns number

    n/ฮฃ(1/xแตข) | n = size(xs)

    + +
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/functions/is.html b/functions/is.html new file mode 100644 index 0000000..b923912 --- /dev/null +++ b/functions/is.html @@ -0,0 +1,116 @@ +is | extra-number
+
+ +
+
+
+
+ +

Function is

+
+
    + +
  • +

    Check if value is a number.

    +
    +
    +

    Parameters

    +
      +
    • +
      v: any
      +

      a value

      +
      +
    +

    Returns v is number

    is number?

    + +
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/functions/isPow.html b/functions/isPow.html new file mode 100644 index 0000000..dbbc19a --- /dev/null +++ b/functions/isPow.html @@ -0,0 +1,121 @@ +isPow | extra-number
+
+ +
+
+
+
+ +

Function isPow

+
+
    + +
  • +

    Check if a number is a power-of-n.

    +
    +
    +

    Parameters

    +
      +
    • +
      x: number
      +

      a number

      +
      +
    • +
    • +
      n: number
      +

      base

      +
      +
    +

    Returns boolean

    nโฑ = x? | i = +ve integer

    + +
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/functions/isPrime.html b/functions/isPrime.html new file mode 100644 index 0000000..8cd1133 --- /dev/null +++ b/functions/isPrime.html @@ -0,0 +1,116 @@ +isPrime | extra-number
+
+ +
+
+
+
+ +

Function isPrime

+
+
    + +
  • +

    Examine if number is prime.

    +
    +
    +

    Parameters

    +
      +
    • +
      x: number
      +

      a number

      +
      +
    +

    Returns boolean

    is divisible by 1 and itself only?

    + +
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/functions/lcm.html b/functions/lcm.html new file mode 100644 index 0000000..d061c6e --- /dev/null +++ b/functions/lcm.html @@ -0,0 +1,116 @@ +lcm | extra-number
+
+ +
+
+
+
+ +

Function lcm

+
+
    + +
  • +

    Find the least common multiple of numbers.

    +
    +
    +

    Parameters

    +
      +
    • +
      Rest ...xs: number[]
      +

      a list of numbers

      +
      +
    +

    Returns number

    lcm(xโ‚, xโ‚‚, ...)

    + +
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/functions/lerp.html b/functions/lerp.html new file mode 100644 index 0000000..a0a98ab --- /dev/null +++ b/functions/lerp.html @@ -0,0 +1,126 @@ +lerp | extra-number
+
+ +
+
+
+
+ +

Function lerp

+
+
    + +
  • +

    Linearly interpolate a number between two numbers.

    +
    +
    +

    Parameters

    +
      +
    • +
      x: number
      +

      start number

      +
      +
    • +
    • +
      y: number
      +

      stop number

      +
      +
    • +
    • +
      t: number
      +

      interpolant โˆˆ [0, 1]

      +
      +
    +

    Returns number

    โˆˆ [x, y]

    + +
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/functions/log.html b/functions/log.html new file mode 100644 index 0000000..a77dfdc --- /dev/null +++ b/functions/log.html @@ -0,0 +1,121 @@ +log | extra-number
+
+ +
+
+
+
+ +

Function log

+
+
    + +
  • +

    Find the logarithm of a number with a given base.

    +
    +
    +

    Parameters

    +
      +
    • +
      x: number
      +

      a number

      +
      +
    • +
    • +
      b: number = Math.E
      +

      logarithm base [e]

      +
      +
    +

    Returns number

    log_b (x)

    + +
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/functions/maxPrimeFactor.html b/functions/maxPrimeFactor.html new file mode 100644 index 0000000..3754c3b --- /dev/null +++ b/functions/maxPrimeFactor.html @@ -0,0 +1,116 @@ +maxPrimeFactor | extra-number
+
+ +
+
+
+
+ +

Function maxPrimeFactor

+
+
    + +
  • +

    Find the greatest prime number which divides a number.

    +
    +
    +

    Parameters

    +
      +
    • +
      x: number
      +

      a number

      +
      +
    +

    Returns number

    greatest prime factor

    + +
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/functions/median.html b/functions/median.html new file mode 100644 index 0000000..e9aa631 --- /dev/null +++ b/functions/median.html @@ -0,0 +1,116 @@ +median | extra-number
+
+ +
+
+
+
+ +

Function median

+
+
    + +
  • +

    Find the value separating the higher and lower halves of numbers.

    +
    +
    +

    Parameters

    +
      +
    • +
      Rest ...xs: number[]
      +

      a list of numbers

      +
      +
    +

    Returns number

    xโ‚˜ | sort(xs) = [..., xโ‚˜, ...]

    + +
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/functions/minPrimeFactor.html b/functions/minPrimeFactor.html new file mode 100644 index 0000000..0f58d86 --- /dev/null +++ b/functions/minPrimeFactor.html @@ -0,0 +1,116 @@ +minPrimeFactor | extra-number
+
+ +
+
+
+
+ +

Function minPrimeFactor

+
+
    + +
  • +

    Find the least prime number which divides a number.

    +
    +
    +

    Parameters

    +
      +
    • +
      x: number
      +

      a number

      +
      +
    +

    Returns number

    least prime factor

    + +
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/functions/mod.html b/functions/mod.html new file mode 100644 index 0000000..ece680c --- /dev/null +++ b/functions/mod.html @@ -0,0 +1,121 @@ +mod | extra-number
+
+ +
+
+
+
+ +

Function mod

+
+
    + +
  • +

    Find the remainder of x/y with sign of y (floored division).

    +
    +
    +

    Parameters

    +
      +
    • +
      x: number
      +

      dividend

      +
      +
    • +
    • +
      y: number
      +

      divisor

      +
      +
    +

    Returns number

    floor(x % y)

    + +
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/functions/modes.html b/functions/modes.html new file mode 100644 index 0000000..cd4bf27 --- /dev/null +++ b/functions/modes.html @@ -0,0 +1,116 @@ +modes | extra-number
+
+ +
+
+
+
+ +

Function modes

+
+
    + +
  • +

    Find the values that appear most often.

    +
    +
    +

    Parameters

    +
      +
    • +
      Rest ...xs: number[]
      +

      a list of numbers

      +
      +
    +

    Returns number[]

    [xโ‚˜โ‚, xโ‚˜โ‚‚, ...] | count(xโ‚˜แตข) โ‰ฅ count(xแตข) โˆ€ xแตข โˆˆ xs

    + +
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/functions/modp.html b/functions/modp.html new file mode 100644 index 0000000..740d681 --- /dev/null +++ b/functions/modp.html @@ -0,0 +1,121 @@ +modp | extra-number
+
+ +
+
+
+
+ +

Function modp

+
+
    + +
  • +

    Find the remainder of x/y with +ve sign (euclidean division).

    +
    +
    +

    Parameters

    +
      +
    • +
      x: number
      +

      dividend

      +
      +
    • +
    • +
      y: number
      +

      divisor

      +
      +
    +

    Returns number

    n>0: floor(x % y), n<0: ceil(x % y)

    + +
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/functions/multinomial.html b/functions/multinomial.html new file mode 100644 index 0000000..c293303 --- /dev/null +++ b/functions/multinomial.html @@ -0,0 +1,116 @@ +multinomial | extra-number
+
+ +
+
+
+
+ +

Function multinomial

+
+
    + +
  • +

    Find the number of ways to put n objects in m bins (n=sum(kแตข)).

    +
    +
    +

    Parameters

    +
      +
    • +
      Rest ...ks: number[]
      +

      objects per bin (kแตข)

      +
      +
    +

    Returns number

    n!/(kโ‚!kโ‚‚!...) | n=sum(kแตข)

    + +
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/functions/nextPow.html b/functions/nextPow.html new file mode 100644 index 0000000..55bf610 --- /dev/null +++ b/functions/nextPow.html @@ -0,0 +1,121 @@ +nextPow | extra-number
+
+ +
+
+
+
+ +

Function nextPow

+
+
    + +
  • +

    Find smallest power-of-n greater than or equal to given number.

    +
    +
    +

    Parameters

    +
      +
    • +
      x: number
      +

      a number

      +
      +
    • +
    • +
      n: number
      +

      base

      +
      +
    +

    Returns number

    nโฑ | nโฑ โ‰ฅ x and nโฑ < n*x

    + +
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/functions/normalize.html b/functions/normalize.html new file mode 100644 index 0000000..74d8487 --- /dev/null +++ b/functions/normalize.html @@ -0,0 +1,126 @@ +normalize | extra-number
+
+ +
+
+
+
+ +

Function normalize

+
+
    + +
  • +

    Normalize a number from its current range into a value between 0 and 1.

    +
    +
    +

    Parameters

    +
      +
    • +
      x: number
      +

      a number

      +
      +
    • +
    • +
      r: number
      +

      lower bound of current range

      +
      +
    • +
    • +
      R: number
      +

      upper bound of current range

      +
      +
    +

    Returns number

    โˆˆ [0, 1]

    + +
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/functions/prevPow.html b/functions/prevPow.html new file mode 100644 index 0000000..3ff78dd --- /dev/null +++ b/functions/prevPow.html @@ -0,0 +1,121 @@ +prevPow | extra-number
+
+ +
+
+
+
+ +

Function prevPow

+
+
    + +
  • +

    Find largest power-of-n less than or equal to given number.

    +
    +
    +

    Parameters

    +
      +
    • +
      x: number
      +

      a number

      +
      +
    • +
    • +
      n: number
      +

      base

      +
      +
    +

    Returns number

    nโฑ | nโฑ โ‰ค x and nโฑ > x/n

    + +
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/functions/primeExponentials.html b/functions/primeExponentials.html new file mode 100644 index 0000000..3a75e93 --- /dev/null +++ b/functions/primeExponentials.html @@ -0,0 +1,116 @@ +primeExponentials | extra-number
+
+ +
+
+
+
+ +

Function primeExponentials

+
+
    + +
  • +

    Find the prime factors and respective exponents of a number.

    +
    +
    +

    Parameters

    +
      +
    • +
      x: number
      +

      a number

      +
      +
    +

    Returns [number, number][]

    [[fโ‚€, eโ‚€], [fโ‚, eโ‚], ...] | fแตข is a prime factor of x and eแตข is its exponent

    + +
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/functions/primeFactors.html b/functions/primeFactors.html new file mode 100644 index 0000000..2f06f2b --- /dev/null +++ b/functions/primeFactors.html @@ -0,0 +1,116 @@ +primeFactors | extra-number
+
+ +
+
+
+
+ +

Function primeFactors

+
+
    + +
  • +

    Find the prime factors of a number.

    +
    +
    +

    Parameters

    +
      +
    • +
      x: number
      +

      a number

      +
      +
    +

    Returns number[]

    [fโ‚€, fโ‚, ...] | fแตข divides x and is prime

    + +
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/functions/product.html b/functions/product.html new file mode 100644 index 0000000..b87a34e --- /dev/null +++ b/functions/product.html @@ -0,0 +1,116 @@ +product | extra-number
+
+ +
+
+
+
+ +

Function product

+
+
    + +
  • +

    Find the product of numbers (โˆ).

    +
    +
    +

    Parameters

    +
      +
    • +
      Rest ...xs: number[]
      +

      a list of numbers

      +
      +
    +

    Returns number

    โˆxแตข

    + +
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/functions/properDivisors.html b/functions/properDivisors.html new file mode 100644 index 0000000..7995085 --- /dev/null +++ b/functions/properDivisors.html @@ -0,0 +1,116 @@ +properDivisors | extra-number
+
+ +
+
+
+
+ +

Function properDivisors

+
+
    + +
  • +

    List all divisors of a number, except itself.

    +
    +
    +

    Parameters

    +
      +
    • +
      x: number
      +

      a number

      +
      +
    +

    Returns number[]

    proper divisors (factors)

    + +
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/functions/quadriaticMean.html b/functions/quadriaticMean.html new file mode 100644 index 0000000..bb267cd --- /dev/null +++ b/functions/quadriaticMean.html @@ -0,0 +1,116 @@ +quadriaticMean | extra-number
+
+ +
+
+
+
+ +

Function quadriaticMean

+
+
    + +
  • +

    Find the quadriatic mean of numbers.

    +
    +
    +

    Parameters

    +
      +
    • +
      Rest ...xs: number[]
      +

      a list of numbers

      +
      +
    +

    Returns number

    โˆš(ฮฃxแตขยฒ)/n | n = size(xs)

    + +
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/functions/radians.html b/functions/radians.html new file mode 100644 index 0000000..527e0d1 --- /dev/null +++ b/functions/radians.html @@ -0,0 +1,116 @@ +radians | extra-number
+
+ +
+
+
+
+ +

Function radians

+
+
    + +
  • +

    Convert degrees to radians.

    +
    +
    +

    Parameters

    +
      +
    • +
      x: number
      +

      degrees

      +
      +
    +

    Returns number

    360 โ†’ 2ฯ€

    + +
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/functions/range.html b/functions/range.html new file mode 100644 index 0000000..5f4f5bc --- /dev/null +++ b/functions/range.html @@ -0,0 +1,116 @@ +range | extra-number
+
+ +
+
+
+
+ +

Function range

+
+
    + +
  • +

    Find the smallest and largest values.

    +
    +
    +

    Parameters

    +
      +
    • +
      Rest ...xs: number[]
      +

      a list of numbers

      +
      +
    +

    Returns [number, number]

    [min(xs), max(xs)]

    + +
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/functions/rem.html b/functions/rem.html new file mode 100644 index 0000000..5b94b0d --- /dev/null +++ b/functions/rem.html @@ -0,0 +1,121 @@ +rem | extra-number
+
+ +
+
+
+
+ +

Function rem

+
+
    + +
  • +

    Find the remainder of x/y with sign of x (truncated division).

    +
    +
    +

    Parameters

    +
      +
    • +
      x: number
      +

      dividend

      +
      +
    • +
    • +
      y: number
      +

      divisor

      +
      +
    +

    Returns number

    trunc(x % y)

    + +
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/functions/remap.html b/functions/remap.html new file mode 100644 index 0000000..8114c4a --- /dev/null +++ b/functions/remap.html @@ -0,0 +1,136 @@ +remap | extra-number
+
+ +
+
+
+
+ +

Function remap

+
+
    + +
  • +

    Re-map a number from one range to another.

    +
    +
    +

    Parameters

    +
      +
    • +
      x: number
      +

      a number

      +
      +
    • +
    • +
      r: number
      +

      lower bound of current range

      +
      +
    • +
    • +
      R: number
      +

      upper bound of current range

      +
      +
    • +
    • +
      t: number
      +

      lower bound of target range

      +
      +
    • +
    • +
      T: number
      +

      upper bound of target range

      +
      +
    +

    Returns number

    โˆˆ [ymin, ymax]

    + +
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/functions/root.html b/functions/root.html new file mode 100644 index 0000000..e3a5ce4 --- /dev/null +++ b/functions/root.html @@ -0,0 +1,121 @@ +root | extra-number
+
+ +
+
+
+
+ +

Function root

+
+
    + +
  • +

    Find the nth root of a number (โฟโˆš).

    +
    +
    +

    Parameters

    +
      +
    • +
      x: number
      +

      a number

      +
      +
    • +
    • +
      n: number
      +

      root

      +
      +
    +

    Returns number

    โฟโˆšx

    + +
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/functions/round.html b/functions/round.html new file mode 100644 index 0000000..9ed392a --- /dev/null +++ b/functions/round.html @@ -0,0 +1,120 @@ +round | extra-number
+
+ +
+
+
+
+ +

Function round

+
+
    + +
  • +

    Round a number to specific precision.

    +
    +
    +

    Parameters

    +
      +
    • +
      x: number
      +

      a number

      +
      +
    • +
    • +
      pre: number = 1
      +

      to precision [1]

      +
      +
    +

    Returns number

    +
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/functions/roundDiv.html b/functions/roundDiv.html new file mode 100644 index 0000000..2500692 --- /dev/null +++ b/functions/roundDiv.html @@ -0,0 +1,121 @@ +roundDiv | extra-number
+
+ +
+
+
+
+ +

Function roundDiv

+
+
    + +
  • +

    Perform rounded-divison of two numbers.

    +
    +
    +

    Parameters

    +
      +
    • +
      x: number
      +

      divisor

      +
      +
    • +
    • +
      y: number
      +

      dividend

      +
      +
    +

    Returns number

    [x/y]

    + +
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/functions/significantDigits.html b/functions/significantDigits.html new file mode 100644 index 0000000..31c9ab3 --- /dev/null +++ b/functions/significantDigits.html @@ -0,0 +1,116 @@ +significantDigits | extra-number
+
+ +
+
+
+
+ +

Function significantDigits

+
+
    + +
  • +

    Count the number of significant digits in a number.

    +
    +
    +

    Parameters

    +
      +
    • +
      x: number
      +

      a number

      +
      +
    +

    Returns number

    |m - '.'| | x = m ร— 10แต‰; m = mantissa, e = exponent

    + +
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/functions/sum.html b/functions/sum.html new file mode 100644 index 0000000..bffaa06 --- /dev/null +++ b/functions/sum.html @@ -0,0 +1,116 @@ +sum | extra-number
+
+ +
+
+
+
+ +

Function sum

+
+
    + +
  • +

    Find the sum of numbers (ฮฃ).

    +
    +
    +

    Parameters

    +
      +
    • +
      Rest ...xs: number[]
      +

      a list of numbers

      +
      +
    +

    Returns number

    ฮฃxแตข

    + +
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/functions/toRomanNumerals.html b/functions/toRomanNumerals.html new file mode 100644 index 0000000..a066b93 --- /dev/null +++ b/functions/toRomanNumerals.html @@ -0,0 +1,116 @@ +toRomanNumerals | extra-number
+
+ +
+
+
+
+ +

Function toRomanNumerals

+
+
    + +
  • +

    Convert number to roman numerals.

    +
    +
    +

    Parameters

    +
      +
    • +
      x: number
      +

      a number

      +
      +
    +

    Returns string

    eg. 95 -> XCV

    + +
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/functions/variance.html b/functions/variance.html new file mode 100644 index 0000000..7765bc0 --- /dev/null +++ b/functions/variance.html @@ -0,0 +1,116 @@ +variance | extra-number
+
+ +
+
+
+
+ +

Function variance

+
+
    + +
  • +

    Find the mean of squared deviation of numbers from its mean.

    +
    +
    +

    Parameters

    +
      +
    • +
      Rest ...xs: number[]
      +

      a list of numbers

      +
      +
    +

    Returns number

    ฯƒยฒ = E[(xs - ยต)ยฒ] | ยต = mean(xs)

    + +
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 0000000..8d513bb --- /dev/null +++ b/index.html @@ -0,0 +1,396 @@ +extra-number
+
+ +
+
+
+
+

extra-number

+

A number is a mathematical object used to count, measure, and label.
+๐Ÿ“ฆ Node.js, +๐ŸŒ Web, +๐Ÿ“œ Files, +๐Ÿ“ฐ Docs. +๐Ÿ“˜ Wiki.

+

In JavaScript, Number type is double-precision 64-bit binary format IEEE 754 +value. This package includes common number functions related to querying +about numbers, comparing numbers, rounding numbers, performing +rounded division, performing modulo operations, controlling range of +numbers, performing arithmetic operations, obtaining divisors of a +number (and related operations), getting the number of possible arrangements +of a set of objects, performing geometry-related calculations, performing +basic statistical analysis, and finding various statistical means.

+

This package is available in Node.js and Web formats. To use it on the web, +simply use the extra_number global variable after loading with a <script> +tag from the jsDelivr CDN.

+
+

Stability: Experimental.

+
+
+ +
const xnumber = require('extra-number');
// import * as xnumber from "extra-number";
// import * as xnumber from "https://unpkg.com/extra-number/index.mjs"; (deno)

xnumber.isPrime(53);
// โ†’ true

xnumber.properDivisors(6);
// โ†’ [1, 2, 3]

xnumber.round(9.1357, 0.05);
// โ†’ 9.15

xnumber.significantDigits(0.0034);
// โ†’ 2

// TOFIX:
// xnumber.fromRoman('DCXLIX');
// โ†’ 649

// xnumber.toScientific(695700000);
// โ†’ '6.957ร—10โธ' (radius of Sun in m) +
+
+
+ + +

Index

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyDescription
isCheck if value is a number.
significantDigitsCount the number of significant digits in a number.
compareCompare two numbers.
floorRound down a number to specific precision.
ceilRound up a number to specific precision.
roundRound a number to specific precision.
floorDivPerform floor-divison of two numbers.
ceilDivPerform ceiling-divison of two numbers.
roundDivPerform rounded-divison of two numbers.
remFind the remainder of x/y with sign of x (truncated division).
modFind the remainder of x/y with sign of y (floored division).
modpFind the remainder of x/y with +ve sign (euclidean division).
constrainConstrain a number within a minimum and a maximum value.
normalizeNormalize a number from its current range into a value between 0 and 1.
remapRe-map a number from one range to another.
lerpLinearly interpolate a number between two numbers.
isPowCheck if a number is a power-of-n.
prevPowFind largest power-of-n less than or equal to given number.
nextPowFind smallest power-of-n greater than or equal to given number.
rootFind the nth root of a number (โฟโˆš).
logFind the logarithm of a number with a given base.
properDivisorsList all divisors of a number, except itself.
aliquotSumSum all proper divisors of a number.
minPrimeFactorFind the least prime number which divides a number.
maxPrimeFactorFind the greatest prime number which divides a number.
primeFactorsFind the prime factors of a number.
primeExponentialsFind the prime factors and respective exponents of a number.
isPrimeCheck if number is prime.
gcdFind the greatest common divisor of numbers.
lcmFind the least common multiple of numbers.
factorialFind the factorial of a number.
binomialFind the number of ways to choose k elements from a set of n elements.
multinomialFind the number of ways to put n objects in m bins (n=sum(kแตข)).
degreesConvert radians to degrees.
radiansConvert degrees to radians.
sumFind the sum of numbers (ฮฃ).
productFind the product of numbers (โˆ).
medianFind the value separating the higher and lower halves of numbers.
modesFind the values that appear most often.
rangeFind the smallest and largest values.
varianceFind the mean of squared deviation of numbers from its mean.
arithmeticMeanFind the average of numbers.
geometricMeanFind the geometric mean of numbers.
harmonicMeanFind the harmonic mean of numbers.
quadriaticMeanFind the quadriatic mean of numbers.
cubicMeanFind the cubic mean of numbers.
+
+
+ + +

References

+
+
+ + +


+ORG +DOI +Coverage Status +Test Coverage +Maintainability

+
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/modules.html b/modules.html new file mode 100644 index 0000000..d5ecba5 --- /dev/null +++ b/modules.html @@ -0,0 +1,203 @@ +extra-number
+
+ +
+
+
+
+

extra-number

+
+
+
+ +
+
+

References

+
+Renames and re-exports properDivisors
+
+Renames and re-exports constrain
+
+Renames and re-exports fromRomanNumerals
+
+Renames and re-exports maxPrimeFactor
+
+Renames and re-exports gcd
+
+Renames and re-exports minPrimeFactor
+
+Renames and re-exports remap
+
+Renames and re-exports arithmeticMean
+
+Renames and re-exports normalize
+
+Renames and re-exports quadriaticMean
+
+Renames and re-exports toRomanNumerals
+
+
+

Generated using TypeDoc

+
\ No newline at end of file