From 5260fd1a026036ffc36e9d252441fddd6573dd70 Mon Sep 17 00:00:00 2001 From: p-mcgowan Date: Fri, 23 Jan 2026 14:16:26 +0100 Subject: [PATCH 1/2] docs: fix typos --- readme.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/readme.md b/readme.md index 3ad5ee6..c3f813c 100644 --- a/readme.md +++ b/readme.md @@ -43,7 +43,7 @@ then manually remove %5C from the routes - [Quick Start](#quick-start) - [Installation](#installation) - - [Programatic](#programatic) + - [Programmatic](#programmatic) - [CLI](#cli) - [Docker](#docker) - [Docker compose](#docker-compose) @@ -83,7 +83,7 @@ npm i -D @acrontum/moxy ``` -### Programatic +### Programmatic ```typescript @@ -885,7 +885,7 @@ const server = new MoxyServer({ router: { allowHttpRouteConfig: true } }); npx @acrontum/moxy --allow-http-config ``` -The HTTP API offers most of the functionality that programatic or file configs offer, although it is not possible to create and handler as a function at this time. +The HTTP API offers most of the functionality that programmatic or file configs offer, although it is not possible to create and handler as a function at this time. #### GET /\_moxy: From 5795c48d455a42c8f24bc4eeb8af4d4d1cb0d2f8 Mon Sep 17 00:00:00 2001 From: p-mcgowan Date: Fri, 23 Jan 2026 14:17:23 +0100 Subject: [PATCH 2/2] v4.0.0 --- changelog.md | 9 +++ docs/assets/hierarchy.js | 2 +- docs/assets/main.js | 8 +-- docs/assets/navigation.js | 2 +- docs/assets/search.js | 2 +- docs/assets/style.css | 9 +-- docs/classes/HttpException.html | 6 +- docs/classes/Logger.html | 32 +++++------ docs/classes/MoxyRequest.html | 36 ++++++------ docs/classes/MoxyResponse.html | 52 ++++++++--------- docs/classes/MoxyServer.html | 62 ++++++++++----------- docs/classes/Router.html | 56 +++++++++---------- docs/functions/assertNextArg.html | 2 +- docs/functions/formatBody.html | 2 +- docs/functions/formatMethod.html | 2 +- docs/functions/formatRouteResponse.html | 2 +- docs/functions/formatRoutesForPrinting.html | 2 +- docs/functions/formatStatus.html | 2 +- docs/functions/getId.html | 2 +- docs/functions/getOption.html | 2 +- docs/functions/main.html | 2 +- docs/hierarchy.html | 2 +- docs/index.html | 2 +- docs/interfaces/AddRouteOptions.html | 10 ++-- docs/interfaces/CliConfig.html | 10 ++-- docs/interfaces/CloseServerOptions.html | 6 +- docs/interfaces/MethodSettings.html | 34 +++++------ docs/interfaces/PathConfigWithOptions.html | 42 +++++++------- docs/interfaces/PathSettings.html | 18 +++--- docs/interfaces/RouterConfig.html | 6 +- docs/interfaces/SendOptions.html | 6 +- docs/interfaces/ServerConfig.html | 10 ++-- docs/types/HandlerVariables.html | 4 +- docs/types/LogLevel.html | 1 + docs/types/LogLevels.html | 1 - docs/types/Method.html | 4 +- docs/types/MethodConfig.html | 4 +- docs/types/MoxyHttpServer.html | 2 +- docs/types/ParsedPathConfig.html | 2 +- docs/types/PathConfig.html | 4 +- docs/types/RequestHandler.html | 4 +- docs/types/RouteConfig.html | 4 +- docs/types/Routes.html | 4 +- docs/variables/colours.html | 2 +- docs/variables/extToMimeType.html | 2 +- docs/variables/methodColours.html | 2 +- package-lock.json | 4 +- package.json | 2 +- 48 files changed, 248 insertions(+), 238 deletions(-) create mode 100644 docs/types/LogLevel.html delete mode 100644 docs/types/LogLevels.html diff --git a/changelog.md b/changelog.md index 34e1353..4100ebc 100644 --- a/changelog.md +++ b/changelog.md @@ -4,6 +4,15 @@ All notable changes to this project will be documented in this file. Dates are d Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). +### [4.0.0](https://github.com/acrontum/moxy/compare/3.2.3...4.0.0) + +> 23 January 2026 + +- enh/update [`#49`](https://github.com/acrontum/moxy/pull/49) +- enh: refactor and update [`26a7264`](https://github.com/acrontum/moxy/commit/26a7264923b2368966e6ca880319b498fecb37f7) +- fix: handle different socket errors on node versions [`729bb41`](https://github.com/acrontum/moxy/commit/729bb41cb27131159015582a876e02d24d0c66a5) +- docs: fix typos [`5260fd1`](https://github.com/acrontum/moxy/commit/5260fd1a026036ffc36e9d252441fddd6573dd70) + #### [3.2.3](https://github.com/acrontum/moxy/compare/3.2.2...3.2.3) > 4 February 2025 diff --git a/docs/assets/hierarchy.js b/docs/assets/hierarchy.js index 86763bd..c040c80 100644 --- a/docs/assets/hierarchy.js +++ b/docs/assets/hierarchy.js @@ -1 +1 @@ -window.hierarchyData = "eJyNjbEKwjAURf/lzqlCrULfPwiCY+kQmlcTTBPIe04l/y5dpG5d7nLP4awoOauAhrYfDQrPkScNOQloRdtvm+zCIDys+ierhvQSGLxDcqD2ejP4lAhCSMplthPLeY+evC4RBlO0IiCouGZzmx+/nT5EVziBhks3VoNLtyvfWX12B9v/8IF6rfUL4KRYuw==" \ No newline at end of file +window.hierarchyData = "eJyNjkEKwjAURO8y61SpjUJzB0FwKV2E5tcE0wTyv6uSu0s2UneuZjFveLOh5CwM8+iHcVIotESaJeTEMBv6YWyR7EowuFnxdxIJ6clQeIXkYE7ni8K7RBiEJFQWOxMf9+jByxqhMEfLDANh17Vt9+Vb6UN0hVJ7ovVUFXqtd+4ric/uT/sv/Ie/1voB3ztZgw==" \ No newline at end of file diff --git a/docs/assets/main.js b/docs/assets/main.js index 4f59cd9..2363f64 100644 --- a/docs/assets/main.js +++ b/docs/assets/main.js @@ -1,9 +1,9 @@ "use strict"; -window.translations={"copy":"Copy","copied":"Copied!","normally_hidden":"This member is normally hidden due to your filter settings.","hierarchy_expand":"Expand","hierarchy_collapse":"Collapse"}; +window.translations={"copy":"Copy","copied":"Copied!","normally_hidden":"This member is normally hidden due to your filter settings.","hierarchy_expand":"Expand","hierarchy_collapse":"Collapse","folder":"Folder","kind_1":"Project","kind_2":"Module","kind_4":"Namespace","kind_8":"Enumeration","kind_16":"Enumeration Member","kind_32":"Variable","kind_64":"Function","kind_128":"Class","kind_256":"Interface","kind_512":"Constructor","kind_1024":"Property","kind_2048":"Method","kind_4096":"Call Signature","kind_8192":"Index Signature","kind_16384":"Constructor Signature","kind_32768":"Parameter","kind_65536":"Type Literal","kind_131072":"Type Parameter","kind_262144":"Accessor","kind_524288":"Get Signature","kind_1048576":"Set Signature","kind_2097152":"Type Alias","kind_4194304":"Reference","kind_8388608":"Document"}; "use strict";(()=>{var De=Object.create;var le=Object.defineProperty;var Fe=Object.getOwnPropertyDescriptor;var Ne=Object.getOwnPropertyNames;var Ve=Object.getPrototypeOf,Be=Object.prototype.hasOwnProperty;var qe=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var je=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Ne(e))!Be.call(t,i)&&i!==n&&le(t,i,{get:()=>e[i],enumerable:!(r=Fe(e,i))||r.enumerable});return t};var $e=(t,e,n)=>(n=t!=null?De(Ve(t)):{},je(e||!t||!t.__esModule?le(n,"default",{value:t,enumerable:!0}):n,t));var pe=qe((de,he)=>{(function(){var t=function(e){var n=new t.Builder;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),n.searchPipeline.add(t.stemmer),e.call(n,n),n.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(n){e.console&&console.warn&&console.warn(n)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var n=Object.create(null),r=Object.keys(e),i=0;i0){var d=t.utils.clone(n)||{};d.position=[a,c],d.index=s.length,s.push(new t.Token(r.slice(a,o),d))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. -`,e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(r){var i=t.Pipeline.registeredFunctions[r];if(i)n.add(i);else throw new Error("Cannot load unregistered function: "+r)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(n){t.Pipeline.warnIfFunctionNotRegistered(n),this._stack.push(n)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");r=r+1,this._stack.splice(r,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");this._stack.splice(r,0,n)},t.Pipeline.prototype.remove=function(e){var n=this._stack.indexOf(e);n!=-1&&this._stack.splice(n,1)},t.Pipeline.prototype.run=function(e){for(var n=this._stack.length,r=0;r1&&(oe&&(r=s),o!=e);)i=r-n,s=n+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(ol?d+=2:a==l&&(n+=r[c+1]*i[d+1],c+=2,d+=2);return n},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),n=1,r=0;n0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}if(s.str.length==0&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var c=s.node.edges["*"];else{var c=new t.TokenSet;s.node.edges["*"]=c}s.str.length==1&&(c.final=!0),i.push({node:c,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),p;m in s.node.edges?p=s.node.edges[m]:(p=new t.TokenSet,s.node.edges[m]=p),s.str.length==1&&(p.final=!0),i.push({node:p,editsRemaining:s.editsRemaining-1,str:d+s.str.slice(2)})}}}return r},t.TokenSet.fromString=function(e){for(var n=new t.TokenSet,r=n,i=0,s=e.length;i=e;n--){var r=this.uncheckedNodes[n],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(n){var r=new t.QueryParser(e,n);r.parse()})},t.Index.prototype.query=function(e){for(var n=new t.Query(this.fields),r=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),l=0;l1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,n){var r=e[this._ref],i=Object.keys(this._fields);this._documents[r]=n||{},this.documentCount+=1;for(var s=0;s=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,n;do e=this.next(),n=e.charCodeAt(0);while(n>47&&n<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var n=e.next();if(n==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(n.charCodeAt(0)==92){e.escapeCharacter();continue}if(n==":")return t.QueryLexer.lexField;if(n=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(n=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(n=="+"&&e.width()===1||n=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(n.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,n){this.lexer=new t.QueryLexer(e),this.query=n,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var n=e.peekLexeme();if(n!=null)switch(n.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expected either a field or a term, found "+n.type;throw n.str.length>=1&&(r+=" with value '"+n.str+"'"),new t.QueryParseError(r,n.start,n.end)}},t.QueryParser.parsePresence=function(e){var n=e.consumeLexeme();if(n!=null){switch(n.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var r="unrecognised presence operator'"+n.str+"'";throw new t.QueryParseError(r,n.start,n.end)}var i=e.peekLexeme();if(i==null){var r="expecting term or field, found nothing";throw new t.QueryParseError(r,n.start,n.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(r,i.start,i.end)}}},t.QueryParser.parseField=function(e){var n=e.consumeLexeme();if(n!=null){if(e.query.allFields.indexOf(n.str)==-1){var r=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+n.str+"', possible fields: "+r;throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.fields=[n.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,n.start,n.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var n=e.consumeLexeme();if(n!=null){e.currentClause.term=n.str.toLowerCase(),n.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var r=e.peekLexeme();if(r==null){e.nextClause();return}switch(r.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+r.type+"'";throw new t.QueryParseError(i,r.start,r.end)}}},t.QueryParser.parseEditDistance=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="edit distance must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.editDistance=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="boost must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.boost=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,n){typeof define=="function"&&define.amd?define(n):typeof de=="object"?he.exports=n():e.lunr=n()}(this,function(){return t})})()});window.translations||={copy:"Copy",copied:"Copied!",normally_hidden:"This member is normally hidden due to your filter settings.",hierarchy_expand:"Expand",hierarchy_collapse:"Collapse"};var ce=[];function G(t,e){ce.push({selector:e,constructor:t})}var J=class{alwaysVisibleMember=null;constructor(){this.createComponents(document.body),this.ensureFocusedElementVisible(),this.listenForCodeCopies(),window.addEventListener("hashchange",()=>this.ensureFocusedElementVisible()),document.body.style.display||(this.ensureFocusedElementVisible(),this.updateIndexVisibility(),this.scrollToHash())}createComponents(e){ce.forEach(n=>{e.querySelectorAll(n.selector).forEach(r=>{r.dataset.hasInstance||(new n.constructor({el:r,app:this}),r.dataset.hasInstance=String(!0))})})}filterChanged(){this.ensureFocusedElementVisible()}showPage(){document.body.style.display&&(document.body.style.removeProperty("display"),this.ensureFocusedElementVisible(),this.updateIndexVisibility(),this.scrollToHash())}scrollToHash(){if(location.hash){let e=document.getElementById(location.hash.substring(1));if(!e)return;e.scrollIntoView({behavior:"instant",block:"start"})}}ensureActivePageVisible(){let e=document.querySelector(".tsd-navigation .current"),n=e?.parentElement;for(;n&&!n.classList.contains(".tsd-navigation");)n instanceof HTMLDetailsElement&&(n.open=!0),n=n.parentElement;if(e&&!ze(e)){let r=e.getBoundingClientRect().top-document.documentElement.clientHeight/4;document.querySelector(".site-menu").scrollTop=r,document.querySelector(".col-sidebar").scrollTop=r}}updateIndexVisibility(){let e=document.querySelector(".tsd-index-content"),n=e?.open;e&&(e.open=!0),document.querySelectorAll(".tsd-index-section").forEach(r=>{r.style.display="block";let i=Array.from(r.querySelectorAll(".tsd-index-link")).every(s=>s.offsetParent==null);r.style.display=i?"none":"block"}),e&&(e.open=n)}ensureFocusedElementVisible(){if(this.alwaysVisibleMember&&(this.alwaysVisibleMember.classList.remove("always-visible"),this.alwaysVisibleMember.firstElementChild.remove(),this.alwaysVisibleMember=null),!location.hash)return;let e=document.getElementById(location.hash.substring(1));if(!e)return;let n=e.parentElement;for(;n&&n.tagName!=="SECTION";)n=n.parentElement;if(!n)return;let r=n.offsetParent==null,i=n;for(;i!==document.body;)i instanceof HTMLDetailsElement&&(i.open=!0),i=i.parentElement;if(n.offsetParent==null){this.alwaysVisibleMember=n,n.classList.add("always-visible");let s=document.createElement("p");s.classList.add("warning"),s.textContent=window.translations.normally_hidden,n.prepend(s)}r&&e.scrollIntoView()}listenForCodeCopies(){document.querySelectorAll("pre > button").forEach(e=>{let n;e.addEventListener("click",()=>{e.previousElementSibling instanceof HTMLElement&&navigator.clipboard.writeText(e.previousElementSibling.innerText.trim()),e.textContent=window.translations.copied,e.classList.add("visible"),clearTimeout(n),n=setTimeout(()=>{e.classList.remove("visible"),n=setTimeout(()=>{e.textContent=window.translations.copy},100)},1e3)})})}};function ze(t){let e=t.getBoundingClientRect(),n=Math.max(document.documentElement.clientHeight,window.innerHeight);return!(e.bottom<0||e.top-n>=0)}var ue=(t,e=100)=>{let n;return()=>{clearTimeout(n),n=setTimeout(()=>t(),e)}};var ge=$e(pe(),1);async function H(t){let e=Uint8Array.from(atob(t),s=>s.charCodeAt(0)),r=new Blob([e]).stream().pipeThrough(new DecompressionStream("deflate")),i=await new Response(r).text();return JSON.parse(i)}async function fe(t,e){if(!window.searchData)return;let n=await H(window.searchData);t.data=n,t.index=ge.Index.load(n.index),e.classList.remove("loading"),e.classList.add("ready")}function ve(){let t=document.getElementById("tsd-search");if(!t)return;let e={base:document.documentElement.dataset.base+"/"},n=document.getElementById("tsd-search-script");t.classList.add("loading"),n&&(n.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),n.addEventListener("load",()=>{fe(e,t)}),fe(e,t));let r=document.querySelector("#tsd-search input"),i=document.querySelector("#tsd-search .results");if(!r||!i)throw new Error("The input field or the result list wrapper was not found");i.addEventListener("mouseup",()=>{re(t)}),r.addEventListener("focus",()=>t.classList.add("has-focus")),We(t,i,r,e)}function We(t,e,n,r){n.addEventListener("input",ue(()=>{Ue(t,e,n,r)},200)),n.addEventListener("keydown",i=>{i.key=="Enter"?Je(e,t):i.key=="ArrowUp"?(me(e,n,-1),i.preventDefault()):i.key==="ArrowDown"&&(me(e,n,1),i.preventDefault())}),document.body.addEventListener("keypress",i=>{i.altKey||i.ctrlKey||i.metaKey||!n.matches(":focus")&&i.key==="/"&&(i.preventDefault(),n.focus())}),document.body.addEventListener("keyup",i=>{t.classList.contains("has-focus")&&(i.key==="Escape"||!e.matches(":focus-within")&&!n.matches(":focus"))&&(n.blur(),re(t))})}function re(t){t.classList.remove("has-focus")}function Ue(t,e,n,r){if(!r.index||!r.data)return;e.textContent="";let i=n.value.trim(),s;if(i){let o=i.split(" ").map(a=>a.length?`*${a}*`:"").join(" ");s=r.index.search(o)}else s=[];for(let o=0;oa.score-o.score);for(let o=0,a=Math.min(10,s.length);o`,d=ye(l.name,i);globalThis.DEBUG_SEARCH_WEIGHTS&&(d+=` (score: ${s[o].score.toFixed(2)})`),l.parent&&(d=` - ${ye(l.parent,i)}.${d}`);let m=document.createElement("li");m.classList.value=l.classes??"";let p=document.createElement("a");p.href=r.base+l.url,p.innerHTML=c+d,m.append(p),p.addEventListener("focus",()=>{e.querySelector(".current")?.classList.remove("current"),m.classList.add("current")}),e.appendChild(m)}}function me(t,e,n){let r=t.querySelector(".current");if(!r)r=t.querySelector(n==1?"li:first-child":"li:last-child"),r&&r.classList.add("current");else{let i=r;if(n===1)do i=i.nextElementSibling??void 0;while(i instanceof HTMLElement&&i.offsetParent==null);else do i=i.previousElementSibling??void 0;while(i instanceof HTMLElement&&i.offsetParent==null);i?(r.classList.remove("current"),i.classList.add("current")):n===-1&&(r.classList.remove("current"),e.focus())}}function Je(t,e){let n=t.querySelector(".current");if(n||(n=t.querySelector("li:first-child")),n){let r=n.querySelector("a");r&&(window.location.href=r.href),re(e)}}function ye(t,e){if(e==="")return t;let n=t.toLocaleLowerCase(),r=e.toLocaleLowerCase(),i=[],s=0,o=n.indexOf(r);for(;o!=-1;)i.push(ne(t.substring(s,o)),`${ne(t.substring(o,o+r.length))}`),s=o+r.length,o=n.indexOf(r,s);return i.push(ne(t.substring(s))),i.join("")}var Ge={"&":"&","<":"<",">":">","'":"'",'"':"""};function ne(t){return t.replace(/[&<>"'"]/g,e=>Ge[e])}var I=class{el;app;constructor(e){this.el=e.el,this.app=e.app}};var A="mousedown",Ee="mousemove",B="mouseup",X={x:0,y:0},xe=!1,ie=!1,Xe=!1,D=!1,Le=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(Le?"is-mobile":"not-mobile");Le&&"ontouchstart"in document.documentElement&&(Xe=!0,A="touchstart",Ee="touchmove",B="touchend");document.addEventListener(A,t=>{ie=!0,D=!1;let e=A=="touchstart"?t.targetTouches[0]:t;X.y=e.pageY||0,X.x=e.pageX||0});document.addEventListener(Ee,t=>{if(ie&&!D){let e=A=="touchstart"?t.targetTouches[0]:t,n=X.x-(e.pageX||0),r=X.y-(e.pageY||0);D=Math.sqrt(n*n+r*r)>10}});document.addEventListener(B,()=>{ie=!1});document.addEventListener("click",t=>{xe&&(t.preventDefault(),t.stopImmediatePropagation(),xe=!1)});var Y=class extends I{active;className;constructor(e){super(e),this.className=this.el.dataset.toggle||"",this.el.addEventListener(B,n=>this.onPointerUp(n)),this.el.addEventListener("click",n=>n.preventDefault()),document.addEventListener(A,n=>this.onDocumentPointerDown(n)),document.addEventListener(B,n=>this.onDocumentPointerUp(n))}setActive(e){if(this.active==e)return;this.active=e,document.documentElement.classList.toggle("has-"+this.className,e),this.el.classList.toggle("active",e);let n=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(n),setTimeout(()=>document.documentElement.classList.remove(n),500)}onPointerUp(e){D||(this.setActive(!0),e.preventDefault())}onDocumentPointerDown(e){if(this.active){if(e.target.closest(".col-sidebar, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(e){if(!D&&this.active&&e.target.closest(".col-sidebar")){let n=e.target.closest("a");if(n){let r=window.location.href;r.indexOf("#")!=-1&&(r=r.substring(0,r.indexOf("#"))),n.href.substring(0,r.length)==r&&setTimeout(()=>this.setActive(!1),250)}}}};var se;try{se=localStorage}catch{se={getItem(){return null},setItem(){}}}var C=se;var be=document.head.appendChild(document.createElement("style"));be.dataset.for="filters";var Z=class extends I{key;value;constructor(e){super(e),this.key=`filter-${this.el.name}`,this.value=this.el.checked,this.el.addEventListener("change",()=>{this.setLocalStorage(this.el.checked)}),this.setLocalStorage(this.fromLocalStorage()),be.innerHTML+=`html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; } -`,this.app.updateIndexVisibility()}fromLocalStorage(){let e=C.getItem(this.key);return e?e==="true":this.el.checked}setLocalStorage(e){C.setItem(this.key,e.toString()),this.value=e,this.handleValueChange()}handleValueChange(){this.el.checked=this.value,document.documentElement.classList.toggle(this.key,this.value),this.app.filterChanged(),this.app.updateIndexVisibility()}};var oe=new Map,ae=class{open;accordions=[];key;constructor(e,n){this.key=e,this.open=n}add(e){this.accordions.push(e),e.open=this.open,e.addEventListener("toggle",()=>{this.toggle(e.open)})}toggle(e){for(let n of this.accordions)n.open=e;C.setItem(this.key,e.toString())}},K=class extends I{constructor(e){super(e);let n=this.el.querySelector("summary"),r=n.querySelector("a");r&&r.addEventListener("click",()=>{location.assign(r.href)});let i=`tsd-accordion-${n.dataset.key??n.textContent.trim().replace(/\s+/g,"-").toLowerCase()}`,s;if(oe.has(i))s=oe.get(i);else{let o=C.getItem(i),a=o?o==="true":this.el.open;s=new ae(i,a),oe.set(i,s)}s.add(this.el)}};function Se(t){let e=C.getItem("tsd-theme")||"os";t.value=e,we(e),t.addEventListener("change",()=>{C.setItem("tsd-theme",t.value),we(t.value)})}function we(t){document.documentElement.dataset.theme=t}var ee;function Ce(){let t=document.getElementById("tsd-nav-script");t&&(t.addEventListener("load",Te),Te())}async function Te(){let t=document.getElementById("tsd-nav-container");if(!t||!window.navigationData)return;let e=await H(window.navigationData);ee=document.documentElement.dataset.base,ee.endsWith("/")||(ee+="/"),t.innerHTML="";for(let n of e)Ie(n,t,[]);window.app.createComponents(t),window.app.showPage(),window.app.ensureActivePageVisible()}function Ie(t,e,n){let r=e.appendChild(document.createElement("li"));if(t.children){let i=[...n,t.text],s=r.appendChild(document.createElement("details"));s.className=t.class?`${t.class} tsd-accordion`:"tsd-accordion";let o=s.appendChild(document.createElement("summary"));o.className="tsd-accordion-summary",o.dataset.key=i.join("$"),o.innerHTML='',ke(t,o);let a=s.appendChild(document.createElement("div"));a.className="tsd-accordion-details";let l=a.appendChild(document.createElement("ul"));l.className="tsd-nested-navigation";for(let c of t.children)Ie(c,l,i)}else ke(t,r,t.class)}function ke(t,e,n){if(t.path){let r=e.appendChild(document.createElement("a"));r.href=ee+t.path,n&&(r.className=n),location.pathname===r.pathname&&!r.href.includes("#")&&r.classList.add("current"),t.kind&&(r.innerHTML=``),r.appendChild(document.createElement("span")).textContent=t.text}else{let r=e.appendChild(document.createElement("span"));r.innerHTML='',r.appendChild(document.createElement("span")).textContent=t.text}}var te=document.documentElement.dataset.base;te.endsWith("/")||(te+="/");function Pe(){document.querySelector(".tsd-full-hierarchy")?Ye():document.querySelector(".tsd-hierarchy")&&Ze()}function Ye(){document.addEventListener("click",r=>{let i=r.target;for(;i.parentElement&&i.parentElement.tagName!="LI";)i=i.parentElement;i.dataset.dropdown&&(i.dataset.dropdown=String(i.dataset.dropdown!=="true"))});let t=new Map,e=new Set;for(let r of document.querySelectorAll(".tsd-full-hierarchy [data-refl]")){let i=r.querySelector("ul");t.has(r.dataset.refl)?e.add(r.dataset.refl):i&&t.set(r.dataset.refl,i)}for(let r of e)n(r);function n(r){let i=t.get(r).cloneNode(!0);i.querySelectorAll("[id]").forEach(s=>{s.removeAttribute("id")}),i.querySelectorAll("[data-dropdown]").forEach(s=>{s.dataset.dropdown="false"});for(let s of document.querySelectorAll(`[data-refl="${r}"]`)){let o=tt(),a=s.querySelector("ul");s.insertBefore(o,a),o.dataset.dropdown=String(!!a),a||s.appendChild(i.cloneNode(!0))}}}function Ze(){let t=document.getElementById("tsd-hierarchy-script");t&&(t.addEventListener("load",Qe),Qe())}async function Qe(){let t=document.querySelector(".tsd-panel.tsd-hierarchy:has(h4 a)");if(!t||!window.hierarchyData)return;let e=+t.dataset.refl,n=await H(window.hierarchyData),r=t.querySelector("ul"),i=document.createElement("ul");if(i.classList.add("tsd-hierarchy"),Ke(i,n,e),r.querySelectorAll("li").length==i.querySelectorAll("li").length)return;let s=document.createElement("span");s.classList.add("tsd-hierarchy-toggle"),s.textContent=window.translations.hierarchy_expand,t.querySelector("h4 a")?.insertAdjacentElement("afterend",s),s.insertAdjacentText("beforebegin",", "),s.addEventListener("click",()=>{s.textContent===window.translations.hierarchy_expand?(r.insertAdjacentElement("afterend",i),r.remove(),s.textContent=window.translations.hierarchy_collapse):(i.insertAdjacentElement("afterend",r),i.remove(),s.textContent=window.translations.hierarchy_expand)})}function Ke(t,e,n){let r=e.roots.filter(i=>et(e,i,n));for(let i of r)t.appendChild(Oe(e,i,n))}function Oe(t,e,n,r=new Set){if(r.has(e))return;r.add(e);let i=t.reflections[e],s=document.createElement("li");if(s.classList.add("tsd-hierarchy-item"),e===n){let o=s.appendChild(document.createElement("span"));o.textContent=i.name,o.classList.add("tsd-hierarchy-target")}else{for(let a of i.uniqueNameParents||[]){let l=t.reflections[a],c=s.appendChild(document.createElement("a"));c.textContent=l.name,c.href=te+l.url,c.className=l.class+" tsd-signature-type",s.append(document.createTextNode("."))}let o=s.appendChild(document.createElement("a"));o.textContent=t.reflections[e].name,o.href=te+i.url,o.className=i.class+" tsd-signature-type"}if(i.children){let o=s.appendChild(document.createElement("ul"));o.classList.add("tsd-hierarchy");for(let a of i.children){let l=Oe(t,a,n,r);l&&o.appendChild(l)}}return r.delete(e),s}function et(t,e,n){if(e===n)return!0;let r=new Set,i=[t.reflections[e]];for(;i.length;){let s=i.pop();if(!r.has(s)){r.add(s);for(let o of s.children||[]){if(o===n)return!0;i.push(t.reflections[o])}}}return!1}function tt(){let t=document.createElementNS("http://www.w3.org/2000/svg","svg");return t.setAttribute("width","20"),t.setAttribute("height","20"),t.setAttribute("viewBox","0 0 24 24"),t.setAttribute("fill","none"),t.innerHTML='',t}G(Y,"a[data-toggle]");G(K,".tsd-accordion");G(Z,".tsd-filter-item input[type=checkbox]");var _e=document.getElementById("tsd-theme");_e&&Se(_e);var nt=new J;Object.defineProperty(window,"app",{value:nt});ve();Ce();Pe();})(); +`,e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(r){var i=t.Pipeline.registeredFunctions[r];if(i)n.add(i);else throw new Error("Cannot load unregistered function: "+r)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(n){t.Pipeline.warnIfFunctionNotRegistered(n),this._stack.push(n)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");r=r+1,this._stack.splice(r,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");this._stack.splice(r,0,n)},t.Pipeline.prototype.remove=function(e){var n=this._stack.indexOf(e);n!=-1&&this._stack.splice(n,1)},t.Pipeline.prototype.run=function(e){for(var n=this._stack.length,r=0;r1&&(oe&&(r=s),o!=e);)i=r-n,s=n+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(ol?d+=2:a==l&&(n+=r[c+1]*i[d+1],c+=2,d+=2);return n},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),n=1,r=0;n0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}if(s.str.length==0&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var c=s.node.edges["*"];else{var c=new t.TokenSet;s.node.edges["*"]=c}s.str.length==1&&(c.final=!0),i.push({node:c,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),p;m in s.node.edges?p=s.node.edges[m]:(p=new t.TokenSet,s.node.edges[m]=p),s.str.length==1&&(p.final=!0),i.push({node:p,editsRemaining:s.editsRemaining-1,str:d+s.str.slice(2)})}}}return r},t.TokenSet.fromString=function(e){for(var n=new t.TokenSet,r=n,i=0,s=e.length;i=e;n--){var r=this.uncheckedNodes[n],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(n){var r=new t.QueryParser(e,n);r.parse()})},t.Index.prototype.query=function(e){for(var n=new t.Query(this.fields),r=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),l=0;l1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,n){var r=e[this._ref],i=Object.keys(this._fields);this._documents[r]=n||{},this.documentCount+=1;for(var s=0;s=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,n;do e=this.next(),n=e.charCodeAt(0);while(n>47&&n<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var n=e.next();if(n==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(n.charCodeAt(0)==92){e.escapeCharacter();continue}if(n==":")return t.QueryLexer.lexField;if(n=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(n=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(n=="+"&&e.width()===1||n=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(n.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,n){this.lexer=new t.QueryLexer(e),this.query=n,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var n=e.peekLexeme();if(n!=null)switch(n.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expected either a field or a term, found "+n.type;throw n.str.length>=1&&(r+=" with value '"+n.str+"'"),new t.QueryParseError(r,n.start,n.end)}},t.QueryParser.parsePresence=function(e){var n=e.consumeLexeme();if(n!=null){switch(n.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var r="unrecognised presence operator'"+n.str+"'";throw new t.QueryParseError(r,n.start,n.end)}var i=e.peekLexeme();if(i==null){var r="expecting term or field, found nothing";throw new t.QueryParseError(r,n.start,n.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(r,i.start,i.end)}}},t.QueryParser.parseField=function(e){var n=e.consumeLexeme();if(n!=null){if(e.query.allFields.indexOf(n.str)==-1){var r=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+n.str+"', possible fields: "+r;throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.fields=[n.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,n.start,n.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var n=e.consumeLexeme();if(n!=null){e.currentClause.term=n.str.toLowerCase(),n.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var r=e.peekLexeme();if(r==null){e.nextClause();return}switch(r.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+r.type+"'";throw new t.QueryParseError(i,r.start,r.end)}}},t.QueryParser.parseEditDistance=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="edit distance must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.editDistance=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="boost must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.boost=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,n){typeof define=="function"&&define.amd?define(n):typeof de=="object"?he.exports=n():e.lunr=n()}(this,function(){return t})})()});window.translations||={copy:"Copy",copied:"Copied!",normally_hidden:"This member is normally hidden due to your filter settings.",hierarchy_expand:"Expand",hierarchy_collapse:"Collapse",folder:"Folder",kind_1:"Project",kind_2:"Module",kind_4:"Namespace",kind_8:"Enumeration",kind_16:"Enumeration Member",kind_32:"Variable",kind_64:"Function",kind_128:"Class",kind_256:"Interface",kind_512:"Constructor",kind_1024:"Property",kind_2048:"Method",kind_4096:"Call Signature",kind_8192:"Index Signature",kind_16384:"Constructor Signature",kind_32768:"Parameter",kind_65536:"Type Literal",kind_131072:"Type Parameter",kind_262144:"Accessor",kind_524288:"Get Signature",kind_1048576:"Set Signature",kind_2097152:"Type Alias",kind_4194304:"Reference",kind_8388608:"Document"};var ce=[];function G(t,e){ce.push({selector:e,constructor:t})}var J=class{alwaysVisibleMember=null;constructor(){this.createComponents(document.body),this.ensureFocusedElementVisible(),this.listenForCodeCopies(),window.addEventListener("hashchange",()=>this.ensureFocusedElementVisible()),document.body.style.display||(this.ensureFocusedElementVisible(),this.updateIndexVisibility(),this.scrollToHash())}createComponents(e){ce.forEach(n=>{e.querySelectorAll(n.selector).forEach(r=>{r.dataset.hasInstance||(new n.constructor({el:r,app:this}),r.dataset.hasInstance=String(!0))})})}filterChanged(){this.ensureFocusedElementVisible()}showPage(){document.body.style.display&&(document.body.style.removeProperty("display"),this.ensureFocusedElementVisible(),this.updateIndexVisibility(),this.scrollToHash())}scrollToHash(){if(location.hash){let e=document.getElementById(location.hash.substring(1));if(!e)return;e.scrollIntoView({behavior:"instant",block:"start"})}}ensureActivePageVisible(){let e=document.querySelector(".tsd-navigation .current"),n=e?.parentElement;for(;n&&!n.classList.contains(".tsd-navigation");)n instanceof HTMLDetailsElement&&(n.open=!0),n=n.parentElement;if(e&&!ze(e)){let r=e.getBoundingClientRect().top-document.documentElement.clientHeight/4;document.querySelector(".site-menu").scrollTop=r,document.querySelector(".col-sidebar").scrollTop=r}}updateIndexVisibility(){let e=document.querySelector(".tsd-index-content"),n=e?.open;e&&(e.open=!0),document.querySelectorAll(".tsd-index-section").forEach(r=>{r.style.display="block";let i=Array.from(r.querySelectorAll(".tsd-index-link")).every(s=>s.offsetParent==null);r.style.display=i?"none":"block"}),e&&(e.open=n)}ensureFocusedElementVisible(){if(this.alwaysVisibleMember&&(this.alwaysVisibleMember.classList.remove("always-visible"),this.alwaysVisibleMember.firstElementChild.remove(),this.alwaysVisibleMember=null),!location.hash)return;let e=document.getElementById(location.hash.substring(1));if(!e)return;let n=e.parentElement;for(;n&&n.tagName!=="SECTION";)n=n.parentElement;if(!n)return;let r=n.offsetParent==null,i=n;for(;i!==document.body;)i instanceof HTMLDetailsElement&&(i.open=!0),i=i.parentElement;if(n.offsetParent==null){this.alwaysVisibleMember=n,n.classList.add("always-visible");let s=document.createElement("p");s.classList.add("warning"),s.textContent=window.translations.normally_hidden,n.prepend(s)}r&&e.scrollIntoView()}listenForCodeCopies(){document.querySelectorAll("pre > button").forEach(e=>{let n;e.addEventListener("click",()=>{e.previousElementSibling instanceof HTMLElement&&navigator.clipboard.writeText(e.previousElementSibling.innerText.trim()),e.textContent=window.translations.copied,e.classList.add("visible"),clearTimeout(n),n=setTimeout(()=>{e.classList.remove("visible"),n=setTimeout(()=>{e.textContent=window.translations.copy},100)},1e3)})})}};function ze(t){let e=t.getBoundingClientRect(),n=Math.max(document.documentElement.clientHeight,window.innerHeight);return!(e.bottom<0||e.top-n>=0)}var ue=(t,e=100)=>{let n;return()=>{clearTimeout(n),n=setTimeout(()=>t(),e)}};var ge=$e(pe(),1);async function A(t){let e=Uint8Array.from(atob(t),s=>s.charCodeAt(0)),r=new Blob([e]).stream().pipeThrough(new DecompressionStream("deflate")),i=await new Response(r).text();return JSON.parse(i)}async function fe(t,e){if(!window.searchData)return;let n=await A(window.searchData);t.data=n,t.index=ge.Index.load(n.index),e.classList.remove("loading"),e.classList.add("ready")}function ve(){let t=document.getElementById("tsd-search");if(!t)return;let e={base:document.documentElement.dataset.base+"/"},n=document.getElementById("tsd-search-script");t.classList.add("loading"),n&&(n.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),n.addEventListener("load",()=>{fe(e,t)}),fe(e,t));let r=document.querySelector("#tsd-search input"),i=document.querySelector("#tsd-search .results");if(!r||!i)throw new Error("The input field or the result list wrapper was not found");i.addEventListener("mouseup",()=>{re(t)}),r.addEventListener("focus",()=>t.classList.add("has-focus")),We(t,i,r,e)}function We(t,e,n,r){n.addEventListener("input",ue(()=>{Ue(t,e,n,r)},200)),n.addEventListener("keydown",i=>{i.key=="Enter"?Je(e,t):i.key=="ArrowUp"?(me(e,n,-1),i.preventDefault()):i.key==="ArrowDown"&&(me(e,n,1),i.preventDefault())}),document.body.addEventListener("keypress",i=>{i.altKey||i.ctrlKey||i.metaKey||!n.matches(":focus")&&i.key==="/"&&(i.preventDefault(),n.focus())}),document.body.addEventListener("keyup",i=>{t.classList.contains("has-focus")&&(i.key==="Escape"||!e.matches(":focus-within")&&!n.matches(":focus"))&&(n.blur(),re(t))})}function re(t){t.classList.remove("has-focus")}function Ue(t,e,n,r){if(!r.index||!r.data)return;e.textContent="";let i=n.value.trim(),s;if(i){let o=i.split(" ").map(a=>a.length?`*${a}*`:"").join(" ");s=r.index.search(o)}else s=[];for(let o=0;oa.score-o.score);for(let o=0,a=Math.min(10,s.length);o`,d=ye(l.name,i);globalThis.DEBUG_SEARCH_WEIGHTS&&(d+=` (score: ${s[o].score.toFixed(2)})`),l.parent&&(d=` + ${ye(l.parent,i)}.${d}`);let m=document.createElement("li");m.classList.value=l.classes??"";let p=document.createElement("a");p.href=r.base+l.url,p.innerHTML=c+d,m.append(p),p.addEventListener("focus",()=>{e.querySelector(".current")?.classList.remove("current"),m.classList.add("current")}),e.appendChild(m)}}function me(t,e,n){let r=t.querySelector(".current");if(!r)r=t.querySelector(n==1?"li:first-child":"li:last-child"),r&&r.classList.add("current");else{let i=r;if(n===1)do i=i.nextElementSibling??void 0;while(i instanceof HTMLElement&&i.offsetParent==null);else do i=i.previousElementSibling??void 0;while(i instanceof HTMLElement&&i.offsetParent==null);i?(r.classList.remove("current"),i.classList.add("current")):n===-1&&(r.classList.remove("current"),e.focus())}}function Je(t,e){let n=t.querySelector(".current");if(n||(n=t.querySelector("li:first-child")),n){let r=n.querySelector("a");r&&(window.location.href=r.href),re(e)}}function ye(t,e){if(e==="")return t;let n=t.toLocaleLowerCase(),r=e.toLocaleLowerCase(),i=[],s=0,o=n.indexOf(r);for(;o!=-1;)i.push(ne(t.substring(s,o)),`${ne(t.substring(o,o+r.length))}`),s=o+r.length,o=n.indexOf(r,s);return i.push(ne(t.substring(s))),i.join("")}var Ge={"&":"&","<":"<",">":">","'":"'",'"':"""};function ne(t){return t.replace(/[&<>"'"]/g,e=>Ge[e])}var I=class{el;app;constructor(e){this.el=e.el,this.app=e.app}};var H="mousedown",Ee="mousemove",B="mouseup",X={x:0,y:0},xe=!1,ie=!1,Xe=!1,D=!1,be=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(be?"is-mobile":"not-mobile");be&&"ontouchstart"in document.documentElement&&(Xe=!0,H="touchstart",Ee="touchmove",B="touchend");document.addEventListener(H,t=>{ie=!0,D=!1;let e=H=="touchstart"?t.targetTouches[0]:t;X.y=e.pageY||0,X.x=e.pageX||0});document.addEventListener(Ee,t=>{if(ie&&!D){let e=H=="touchstart"?t.targetTouches[0]:t,n=X.x-(e.pageX||0),r=X.y-(e.pageY||0);D=Math.sqrt(n*n+r*r)>10}});document.addEventListener(B,()=>{ie=!1});document.addEventListener("click",t=>{xe&&(t.preventDefault(),t.stopImmediatePropagation(),xe=!1)});var Y=class extends I{active;className;constructor(e){super(e),this.className=this.el.dataset.toggle||"",this.el.addEventListener(B,n=>this.onPointerUp(n)),this.el.addEventListener("click",n=>n.preventDefault()),document.addEventListener(H,n=>this.onDocumentPointerDown(n)),document.addEventListener(B,n=>this.onDocumentPointerUp(n))}setActive(e){if(this.active==e)return;this.active=e,document.documentElement.classList.toggle("has-"+this.className,e),this.el.classList.toggle("active",e);let n=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(n),setTimeout(()=>document.documentElement.classList.remove(n),500)}onPointerUp(e){D||(this.setActive(!0),e.preventDefault())}onDocumentPointerDown(e){if(this.active){if(e.target.closest(".col-sidebar, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(e){if(!D&&this.active&&e.target.closest(".col-sidebar")){let n=e.target.closest("a");if(n){let r=window.location.href;r.indexOf("#")!=-1&&(r=r.substring(0,r.indexOf("#"))),n.href.substring(0,r.length)==r&&setTimeout(()=>this.setActive(!1),250)}}}};var se;try{se=localStorage}catch{se={getItem(){return null},setItem(){}}}var C=se;var Le=document.head.appendChild(document.createElement("style"));Le.dataset.for="filters";var Z=class extends I{key;value;constructor(e){super(e),this.key=`filter-${this.el.name}`,this.value=this.el.checked,this.el.addEventListener("change",()=>{this.setLocalStorage(this.el.checked)}),this.setLocalStorage(this.fromLocalStorage()),Le.innerHTML+=`html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; } +`,this.app.updateIndexVisibility()}fromLocalStorage(){let e=C.getItem(this.key);return e?e==="true":this.el.checked}setLocalStorage(e){C.setItem(this.key,e.toString()),this.value=e,this.handleValueChange()}handleValueChange(){this.el.checked=this.value,document.documentElement.classList.toggle(this.key,this.value),this.app.filterChanged(),this.app.updateIndexVisibility()}};var oe=new Map,ae=class{open;accordions=[];key;constructor(e,n){this.key=e,this.open=n}add(e){this.accordions.push(e),e.open=this.open,e.addEventListener("toggle",()=>{this.toggle(e.open)})}toggle(e){for(let n of this.accordions)n.open=e;C.setItem(this.key,e.toString())}},K=class extends I{constructor(e){super(e);let n=this.el.querySelector("summary"),r=n.querySelector("a");r&&r.addEventListener("click",()=>{location.assign(r.href)});let i=`tsd-accordion-${n.dataset.key??n.textContent.trim().replace(/\s+/g,"-").toLowerCase()}`,s;if(oe.has(i))s=oe.get(i);else{let o=C.getItem(i),a=o?o==="true":this.el.open;s=new ae(i,a),oe.set(i,s)}s.add(this.el)}};function Se(t){let e=C.getItem("tsd-theme")||"os";t.value=e,we(e),t.addEventListener("change",()=>{C.setItem("tsd-theme",t.value),we(t.value)})}function we(t){document.documentElement.dataset.theme=t}var ee;function Ce(){let t=document.getElementById("tsd-nav-script");t&&(t.addEventListener("load",Te),Te())}async function Te(){let t=document.getElementById("tsd-nav-container");if(!t||!window.navigationData)return;let e=await A(window.navigationData);ee=document.documentElement.dataset.base,ee.endsWith("/")||(ee+="/"),t.innerHTML="";for(let n of e)Ie(n,t,[]);window.app.createComponents(t),window.app.showPage(),window.app.ensureActivePageVisible()}function Ie(t,e,n){let r=e.appendChild(document.createElement("li"));if(t.children){let i=[...n,t.text],s=r.appendChild(document.createElement("details"));s.className=t.class?`${t.class} tsd-accordion`:"tsd-accordion";let o=s.appendChild(document.createElement("summary"));o.className="tsd-accordion-summary",o.dataset.key=i.join("$"),o.innerHTML='',ke(t,o);let a=s.appendChild(document.createElement("div"));a.className="tsd-accordion-details";let l=a.appendChild(document.createElement("ul"));l.className="tsd-nested-navigation";for(let c of t.children)Ie(c,l,i)}else ke(t,r,t.class)}function ke(t,e,n){if(t.path){let r=e.appendChild(document.createElement("a"));if(r.href=ee+t.path,n&&(r.className=n),location.pathname===r.pathname&&!r.href.includes("#")&&r.classList.add("current"),t.kind){let i=window.translations[`kind_${t.kind}`].replaceAll('"',""");r.innerHTML=``}r.appendChild(document.createElement("span")).textContent=t.text}else{let r=e.appendChild(document.createElement("span")),i=window.translations.folder.replaceAll('"',""");r.innerHTML=``,r.appendChild(document.createElement("span")).textContent=t.text}}var te=document.documentElement.dataset.base;te.endsWith("/")||(te+="/");function Pe(){document.querySelector(".tsd-full-hierarchy")?Ye():document.querySelector(".tsd-hierarchy")&&Ze()}function Ye(){document.addEventListener("click",r=>{let i=r.target;for(;i.parentElement&&i.parentElement.tagName!="LI";)i=i.parentElement;i.dataset.dropdown&&(i.dataset.dropdown=String(i.dataset.dropdown!=="true"))});let t=new Map,e=new Set;for(let r of document.querySelectorAll(".tsd-full-hierarchy [data-refl]")){let i=r.querySelector("ul");t.has(r.dataset.refl)?e.add(r.dataset.refl):i&&t.set(r.dataset.refl,i)}for(let r of e)n(r);function n(r){let i=t.get(r).cloneNode(!0);i.querySelectorAll("[id]").forEach(s=>{s.removeAttribute("id")}),i.querySelectorAll("[data-dropdown]").forEach(s=>{s.dataset.dropdown="false"});for(let s of document.querySelectorAll(`[data-refl="${r}"]`)){let o=tt(),a=s.querySelector("ul");s.insertBefore(o,a),o.dataset.dropdown=String(!!a),a||s.appendChild(i.cloneNode(!0))}}}function Ze(){let t=document.getElementById("tsd-hierarchy-script");t&&(t.addEventListener("load",Qe),Qe())}async function Qe(){let t=document.querySelector(".tsd-panel.tsd-hierarchy:has(h4 a)");if(!t||!window.hierarchyData)return;let e=+t.dataset.refl,n=await A(window.hierarchyData),r=t.querySelector("ul"),i=document.createElement("ul");if(i.classList.add("tsd-hierarchy"),Ke(i,n,e),r.querySelectorAll("li").length==i.querySelectorAll("li").length)return;let s=document.createElement("span");s.classList.add("tsd-hierarchy-toggle"),s.textContent=window.translations.hierarchy_expand,t.querySelector("h4 a")?.insertAdjacentElement("afterend",s),s.insertAdjacentText("beforebegin",", "),s.addEventListener("click",()=>{s.textContent===window.translations.hierarchy_expand?(r.insertAdjacentElement("afterend",i),r.remove(),s.textContent=window.translations.hierarchy_collapse):(i.insertAdjacentElement("afterend",r),i.remove(),s.textContent=window.translations.hierarchy_expand)})}function Ke(t,e,n){let r=e.roots.filter(i=>et(e,i,n));for(let i of r)t.appendChild(_e(e,i,n))}function _e(t,e,n,r=new Set){if(r.has(e))return;r.add(e);let i=t.reflections[e],s=document.createElement("li");if(s.classList.add("tsd-hierarchy-item"),e===n){let o=s.appendChild(document.createElement("span"));o.textContent=i.name,o.classList.add("tsd-hierarchy-target")}else{for(let a of i.uniqueNameParents||[]){let l=t.reflections[a],c=s.appendChild(document.createElement("a"));c.textContent=l.name,c.href=te+l.url,c.className=l.class+" tsd-signature-type",s.append(document.createTextNode("."))}let o=s.appendChild(document.createElement("a"));o.textContent=t.reflections[e].name,o.href=te+i.url,o.className=i.class+" tsd-signature-type"}if(i.children){let o=s.appendChild(document.createElement("ul"));o.classList.add("tsd-hierarchy");for(let a of i.children){let l=_e(t,a,n,r);l&&o.appendChild(l)}}return r.delete(e),s}function et(t,e,n){if(e===n)return!0;let r=new Set,i=[t.reflections[e]];for(;i.length;){let s=i.pop();if(!r.has(s)){r.add(s);for(let o of s.children||[]){if(o===n)return!0;i.push(t.reflections[o])}}}return!1}function tt(){let t=document.createElementNS("http://www.w3.org/2000/svg","svg");return t.setAttribute("width","20"),t.setAttribute("height","20"),t.setAttribute("viewBox","0 0 24 24"),t.setAttribute("fill","none"),t.innerHTML='',t}G(Y,"a[data-toggle]");G(K,".tsd-accordion");G(Z,".tsd-filter-item input[type=checkbox]");var Oe=document.getElementById("tsd-theme");Oe&&Se(Oe);var nt=new J;Object.defineProperty(window,"app",{value:nt});ve();Ce();Pe();})(); /*! Bundled license information: lunr/lunr.js: diff --git a/docs/assets/navigation.js b/docs/assets/navigation.js index 5aebe50..18b9731 100644 --- a/docs/assets/navigation.js +++ b/docs/assets/navigation.js @@ -1 +1 @@ -window.navigationData = "eJyNllFv0zAUhf+LnyvKOjagb2MCDWml1TrBA+LBS24Ti8QO9k2VCPHfUeqstR33uq8+53y6tq9v8vMvQ+iQLdkDYvO5y6BBoSSbsYZjyZYsq7gxYOae/KbEumIz9lvInC2vFh/+zY6cR1UUoKcAu04lV6rrn+BPCwancUdMM0yjpIFzEKumKFvQ+9g+ThpFeFItxtJ2nUre5fnBtD6ctDkhhETQO56BmQceH7e4uXVw95W4V3IniijoqNIIZcBumSpqaqOgK8BS5VtAFLKIA30LBdtwLO0+fggsqSKjzhSarNI1UCB788RduAYKtAWZU1t0dBoz3BRRj2ugQA9c5hXo71wL/lKBUxT2zTA5Aj1gvf34/upm4Q+QR9hDNQEdhRTBNk4Yt6uXZcNjcQnRE5lyVNcPMzMcIyPJU1OsDdcG8lPrhrRQT/POky5ljLN4vNyQ46tJ1tD58YIc6SLKpGnsaiqbqUq12gnvX7t1Pko+4doNQ4fPaiVqeO4biCE8AwGqx/46W4tnIEDDt0bjN+jwTjtHumtldpgLc8/gg27fOaCd0jXHTyrvY5STmkSETzKExB5nBHO4zen3PaR5tsug5ovSGy3kMMcTYNeahG+RY2vOE61OYArAr9GDOwh0cB38zHnhdeRXzgPUXESzw/ok9us/GsiDyA==" \ No newline at end of file +window.navigationData = "eJyNlkGP0zAQhf+LzxVlC7tAb8sKtEhbWm1XcEAcTDJNLBI72JMqEeK/o8TZre2441793vs0tseT/PjLEDpka3aP2HzqMmhQKMkWrOFYsjXLKm4MmKUnvyqxrtiC/RYyZ+ur1ft/ixfOgyoK0HOAXaeSG9X1j/CnBYPzuCOmGaZR0sA5iFVTlD3oY2wfJ40iPKoWY2m7TiVv83w0bceTNieEkAj6wDMwy8Dj41bXNw7urhJ3Sh5EEQW9qDRCGbBbpoqa2yjoBrBU+R4QhSziQN9CwXYcS7uP7wJLqsioM4Umq3QNFMjePHEXroEC7UHm1BYdncYMN0XU4xoo0D2XeQX6G9eC/6rAKQr7ZpgcgR6wXn94d3W98gfIAxyhCjnP66m8bZswbVcvy4aH4hKi5zHnqK4fJmY4RCaSp6ZYO64N5KfGDWmhnuadJ13KmCbxdLUhx1eTrKHv4wU50kWUWe/Z1VQ2U5VqtRM+PvfqcpJ8whs3DB0+qY2o4alvIIbwDASonvrrbC2egQANXxqNX6HDW+0c6aGV2TgVlp7BB928dUAHpWuOH1XexygnNYkIn2QIiT3OCGa8zfnXPaR5tsug5rPSOy3kMMUTYNeahO+RY2vOE61OYArAL9GDGwU6uA1+5bzwNvIj5wFqLqLZYX0W+/kf2M2C4g==" \ No newline at end of file diff --git a/docs/assets/search.js b/docs/assets/search.js index db420b1..c6ba981 100644 --- a/docs/assets/search.js +++ b/docs/assets/search.js @@ -1 +1 @@ -window.searchData = "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"; \ No newline at end of file +window.searchData = "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"; \ No newline at end of file diff --git a/docs/assets/style.css b/docs/assets/style.css index 7f80f3d..2ab8b83 100644 --- a/docs/assets/style.css +++ b/docs/assets/style.css @@ -991,14 +991,15 @@ vertical-align: text-top; } /* - We need to be careful to target the arrow indicating whether the accordion - is open, but not any other SVGs included in the details element. -*/ + * We need to be careful to target the arrow indicating whether the accordion + * is open, but not any other SVGs included in the details element. + */ .tsd-accordion:not([open]) > .tsd-accordion-summary > svg:first-child, .tsd-accordion:not([open]) > .tsd-accordion-summary > h1 > svg:first-child, .tsd-accordion:not([open]) > .tsd-accordion-summary > h2 > svg:first-child, .tsd-accordion:not([open]) > .tsd-accordion-summary > h3 > svg:first-child, - .tsd-accordion:not([open]) > .tsd-accordion-summary > h4 > svg:first-child { + .tsd-accordion:not([open]) > .tsd-accordion-summary > h4 > svg:first-child, + .tsd-accordion:not([open]) > .tsd-accordion-summary > h5 > svg:first-child { transform: rotate(-90deg); } .tsd-index-content > :not(:first-child) { diff --git a/docs/classes/HttpException.html b/docs/classes/HttpException.html index 03be247..ecba34d 100644 --- a/docs/classes/HttpException.html +++ b/docs/classes/HttpException.html @@ -1,3 +1,3 @@ -HttpException | @acrontum/moxy

Class HttpException

Hierarchy

  • Error
    • HttpException

Constructors

Properties

Constructors

Properties

status: number
+HttpException | @acrontum/moxy

Class HttpException

Hierarchy

  • Error
    • HttpException

Constructors

Properties

Constructors

Properties

status: number
diff --git a/docs/classes/Logger.html b/docs/classes/Logger.html index 6b36b65..1eb1fc0 100644 --- a/docs/classes/Logger.html +++ b/docs/classes/Logger.html @@ -1,16 +1,16 @@ -Logger | @acrontum/moxy

Constructors

Properties

Methods

Constructors

Properties

level: string = 'verbose'

Methods

  • Same as console.debug. Will not log if level is 'error' or 'off'

    -

    Parameters

    • ...args: any[]

    Returns void

  • Same as console.error. Will always log

    -

    Parameters

    • ...args: any[]

    Returns void

  • Same as console.info. Will not log if level is 'error' or 'off'

    -

    Parameters

    • ...args: any[]

    Returns void

  • Same as console.log. Will not log if level is 'error' or 'off'

    -

    Parameters

    • ...args: any[]

    Returns void

  • Parameters

    • method: keyof Console
    • ...args: any[]

    Returns void

  • Same as console.trace. Will always log

    -

    Parameters

    • ...args: any[]

    Returns void

  • Same as console.warn. Will not log if level is 'error' or 'off'

    -

    Parameters

    • ...args: any[]

    Returns void

+Logger | @acrontum/moxy

Constructors

Properties

Methods

Constructors

Properties

level: LogLevel = 'verbose'

Methods

  • Same as console.debug. Will not log if level is 'error' or 'off'

    +

    Parameters

    • ...args: unknown[]

    Returns void

  • Same as console.error. Will always log

    +

    Parameters

    • ...args: unknown[]

    Returns void

  • Same as console.info. Will not log if level is 'error' or 'off'

    +

    Parameters

    • ...args: unknown[]

    Returns void

  • Same as console.log. Will not log if level is 'error' or 'off'

    +

    Parameters

    • ...args: unknown[]

    Returns void

  • Parameters

    • method: keyof Console
    • ...args: unknown[]

    Returns void

  • Same as console.trace. Will always log

    +

    Parameters

    • ...args: unknown[]

    Returns void

  • Same as console.warn. Will not log if level is 'error' or 'off'

    +

    Parameters

    • ...args: unknown[]

    Returns void

diff --git a/docs/classes/MoxyRequest.html b/docs/classes/MoxyRequest.html index 257980b..e6acad1 100644 --- a/docs/classes/MoxyRequest.html +++ b/docs/classes/MoxyRequest.html @@ -1,22 +1,22 @@ -MoxyRequest | @acrontum/moxy

Class MoxyRequest

Hierarchy

  • IncomingMessage
    • MoxyRequest

Constructors

Properties

Accessors

Methods

Constructors

Properties

id: string

Unique request UUID

-
timestamp: number

The unix timestamp of the request

-

Accessors

  • get body(): Promise<Buffer>
  • A promise which resolves to the request body

    -

    Returns Promise<Buffer>

  • get path(): string
  • Get the request path without hash or search

    -

    Returns string

  • get query(): ParsedUrlQuery
  • Get the parsed query params

    -

    Returns ParsedUrlQuery

Methods

  • Gets the body

    +MoxyRequest | @acrontum/moxy

    Class MoxyRequest

    Hierarchy

    • IncomingMessage
      • MoxyRequest

    Constructors

    Properties

    Accessors

    Methods

    Constructors

    Properties

    id: string

    Unique request UUID

    +
    timestamp: number

    The unix timestamp of the request

    +

    Accessors

    • get body(): Promise<Buffer<ArrayBufferLike>>

      A promise which resolves to the request body

      +

      Returns Promise<Buffer<ArrayBufferLike>>

    • get path(): undefined | string

      Get the request path without hash or search

      +

      Returns undefined | string

    Methods

    • Gets the body

      Parameters

      • format: "buffer"

        The desired body format (defaults to content-type header)

        -

      Returns Promise<Buffer>

    • Gets the body

      +

    Returns Promise<Buffer<ArrayBufferLike>>

  • Gets the body

    Parameters

    • format: "string"

      The desired body format (defaults to content-type header)

      -

    Returns Promise<string>

  • Gets the body

    +

Returns Promise<string>

  • Gets the body

    Parameters

    • format: "json"

      The desired body format (defaults to content-type header)

      -

    Returns Promise<Record<string, any>>

    • Parse the body using conten-type header

      +

    Returns Promise<Record<string, unknown>>

    • Parse the body using conten-type header

      Parameters

      • body: Buffer

        The body

        -

      Returns string | Buffer | Record<string, any>

    +

    Returns string | Buffer<ArrayBufferLike> | Record<string, unknown>

    diff --git a/docs/classes/MoxyResponse.html b/docs/classes/MoxyResponse.html index 9680881..8de16da 100644 --- a/docs/classes/MoxyResponse.html +++ b/docs/classes/MoxyResponse.html @@ -1,34 +1,34 @@ -MoxyResponse | @acrontum/moxy

    Class MoxyResponse

    Hierarchy

    Constructors

    Properties

    duration: number

    Request duration in ms

    -
    id: string

    Unique request UUID

    -

    Accessors

    • get body(): string | Buffer | Record<string, any>
    • The response body

      -

      Returns string | Buffer | Record<string, any>

    Methods

    • Overwrite writableend to store body internally

      -

      Parameters

      • ...args: any[]

        The arguments

        -

      Returns this

    • Gets the content type from file extention

      +MoxyResponse | @acrontum/moxy

      Class MoxyResponse

      Hierarchy

      Constructors

      Properties

      duration?: number

      Request duration in ms

      +
      id: string

      Unique request UUID

      +

      Accessors

      • get body(): string | Buffer<ArrayBufferLike> | Record<string, unknown>

        The response body

        +

        Returns string | Buffer<ArrayBufferLike> | Record<string, unknown>

      Methods

      • Overwrite writableend to store body internally

        +

        Parameters

        • ...args: unknown[]

          The arguments

          +

        Returns this

      • Gets the content type from file extention

        Parameters

        • filename: string

          The filename

          -

        Returns string

      • Parse the response body based on content-type

        +

      Returns string

    • Parse the response body based on content-type

      Parameters

      • body: Buffer

        The body

        -

      Returns string | Buffer | Record<string, any>

    Returns string | Buffer<ArrayBufferLike> | Record<string, unknown>

    • Sends a json response

      +

      Parameters

      • json: string | unknown[] | Record<string, unknown>

        The json

      • Optionaloptions: SendOptions

        Reponse options

        -

      Returns MoxyResponse

    • Set response headers +

    Returns this

    • Set response headers The writeHead method buffers headers, so they are not available for logging without calling setHeaders

      -

      Parameters

      • headers: Record<string, string | number | readonly string[]>

        The headers

        -

      Returns void

    • Override writablewrite to store body internally

      +

      Parameters

      • headers:
            | Headers
            | Map<string, string | number | readonly string[]>
            | Record<string, string | number | readonly string[]>

        The headers

        +

      Returns this

    • Override writablewrite to store body internally

      Parameters

      • chunk: string

        The chunk

        -
      • ...args: any[]

        The arguments

        -

      Returns boolean

    +
  • ...args: unknown[]

    The arguments

    +
  • Returns boolean

    diff --git a/docs/classes/MoxyServer.html b/docs/classes/MoxyServer.html index 72b8e18..3d70861 100644 --- a/docs/classes/MoxyServer.html +++ b/docs/classes/MoxyServer.html @@ -1,47 +1,47 @@ -MoxyServer | @acrontum/moxy

    Class MoxyServer

    Constructors

    Properties

    router: Router

    The internal router

    -

    Instance of HTTP server

    -

    Accessors

    Methods

    • Gets the folder contents

      +

    Returns Promise<void>

    • Gets the folder contents

      Parameters

      • dirPath: string

        The dir path

        -

      Returns Promise<Dirent[]>

    Returns Promise<Dirent<string>[]>

    • Loads a configuration from file

      +

    Returns Promise<MoxyHttpServer>

    • Loads a configuration from file

      Parameters

      • filePath: string

        The file path

      • basePath: string

        The base path

        -

      Returns void

    • Remove path handler

      +

    Returns void

    Returns this

    • Same as calling @MoxyServer.on over Object.entries with a prefx

      +

    Returns this

    • Same as calling @MoxyServer.on over Object.entries with a prefx

      Parameters

      • prefix: string

        The path prefix to prepend to all routes

      • routes: Routes

        Path suffix keyed RouteConfig

      • Optionaloptions: AddRouteOptions

        Extra router options

        -

      Returns this

    • Add path handler which removes its self after the first response

      +

    Returns this

    +

    Returns this

    diff --git a/docs/classes/Router.html b/docs/classes/Router.html index 71c08d3..5cf5bc8 100644 --- a/docs/classes/Router.html +++ b/docs/classes/Router.html @@ -1,46 +1,46 @@ -Router | @acrontum/moxy

    Constructors

    Properties

    onceRouterPaths: [string, ParsedPathConfig][] = []

    Entries of [router path, ParsedPathConfig] for single-use routes

    -
    options: RouterConfig

    Router config options

    -
    routerPaths: [string, ParsedPathConfig][] = []

    Entries of [router path, ParsedPathConfig]

    -
    routes: Record<string, ParsedPathConfig> = {}

    Path-keyed router route config object

    -

    Methods

    • Creates a simple opaque proxy

      +

    Returns this

    • Creates a simple opaque proxy

      Parameters

      • request: IncomingMessage

        The request

      • response: MoxyResponse

        The response

      • proxyUrl: string

        The proxy url

      • Optionaloptions: RequestOptions

        The request options

        -

      Returns void

    Returns ClientRequest

    • Convert simple replacement params into regex match groups

      +

    Returns Promise<MoxyResponse>

    • Convert simple replacement params into regex match groups

      Parameters

      • url: string

        The url

        -

      Returns string

    • Removes a route

      +

    Returns string

    • Removes a route

      Parameters

      • path: string

        The path

        -

      Returns this

    Returns this

    Returns Promise<unknown>

    +

    Returns Promise<null | MoxyResponse>

    diff --git a/docs/functions/assertNextArg.html b/docs/functions/assertNextArg.html index 833381b..2079159 100644 --- a/docs/functions/assertNextArg.html +++ b/docs/functions/assertNextArg.html @@ -1 +1 @@ -assertNextArg | @acrontum/moxy

    Function assertNextArg

    • Parameters

      • name: string
      • argv: string[]

      Returns string

    +assertNextArg | @acrontum/moxy

    Function assertNextArg

    • Parameters

      • name: string
      • argv: string[]

      Returns string

    diff --git a/docs/functions/formatBody.html b/docs/functions/formatBody.html index 21a9d9b..4cafdb7 100644 --- a/docs/functions/formatBody.html +++ b/docs/functions/formatBody.html @@ -1 +1 @@ -formatBody | @acrontum/moxy

    Function formatBody

    • Parameters

      • body: string | Buffer | Record<string, any>

      Returns string | Buffer

    +formatBody | @acrontum/moxy

    Function formatBody

    • Parameters

      • body: string | Buffer<ArrayBufferLike> | Record<string, unknown>

      Returns string | Buffer<ArrayBufferLike>

    diff --git a/docs/functions/formatMethod.html b/docs/functions/formatMethod.html index a5bf7f0..fa9572a 100644 --- a/docs/functions/formatMethod.html +++ b/docs/functions/formatMethod.html @@ -1 +1 @@ -formatMethod | @acrontum/moxy

    Function formatMethod

    +formatMethod | @acrontum/moxy

    Function formatMethod

    diff --git a/docs/functions/formatRouteResponse.html b/docs/functions/formatRouteResponse.html index db58d30..5fffd56 100644 --- a/docs/functions/formatRouteResponse.html +++ b/docs/functions/formatRouteResponse.html @@ -1 +1 @@ -formatRouteResponse | @acrontum/moxy

    Function formatRouteResponse

    +formatRouteResponse | @acrontum/moxy

    Function formatRouteResponse

    diff --git a/docs/functions/formatRoutesForPrinting.html b/docs/functions/formatRoutesForPrinting.html index f6ee44f..0525fde 100644 --- a/docs/functions/formatRoutesForPrinting.html +++ b/docs/functions/formatRoutesForPrinting.html @@ -1 +1 @@ -formatRoutesForPrinting | @acrontum/moxy

    Function formatRoutesForPrinting

    • Parameters

      • routes: Routes
      • expandFunction: boolean = true

      Returns string

    +formatRoutesForPrinting | @acrontum/moxy

    Function formatRoutesForPrinting

    • Parameters

      • routes: Routes
      • expandFunction: boolean = true

      Returns string

    diff --git a/docs/functions/formatStatus.html b/docs/functions/formatStatus.html index 4a038d0..4f6d640 100644 --- a/docs/functions/formatStatus.html +++ b/docs/functions/formatStatus.html @@ -1 +1 @@ -formatStatus | @acrontum/moxy

    Function formatStatus

    • Parameters

      • status: number

      Returns string

    +formatStatus | @acrontum/moxy

    Function formatStatus

    • Parameters

      • status: number

      Returns string

    diff --git a/docs/functions/getId.html b/docs/functions/getId.html index a119e8a..1b65030 100644 --- a/docs/functions/getId.html +++ b/docs/functions/getId.html @@ -1 +1 @@ -getId | @acrontum/moxy

    Function getId

    +getId | @acrontum/moxy

    Function getId

    diff --git a/docs/functions/getOption.html b/docs/functions/getOption.html index 53ad943..ff47cd4 100644 --- a/docs/functions/getOption.html +++ b/docs/functions/getOption.html @@ -1 +1 @@ -getOption | @acrontum/moxy

    Function getOption

    • Parameters

      Returns number

    +getOption | @acrontum/moxy

    Function getOption

    • Parameters

      Returns number

    diff --git a/docs/functions/main.html b/docs/functions/main.html index bc96e4a..2af2e7a 100644 --- a/docs/functions/main.html +++ b/docs/functions/main.html @@ -1 +1 @@ -main | @acrontum/moxy

    Function main

    +main | @acrontum/moxy

    Function main

    diff --git a/docs/hierarchy.html b/docs/hierarchy.html index 4a4a1ed..0c3ac36 100644 --- a/docs/hierarchy.html +++ b/docs/hierarchy.html @@ -1 +1 @@ -@acrontum/moxy

    @acrontum/moxy

    Hierarchy Summary

    +@acrontum/moxy

    @acrontum/moxy

    Hierarchy Summary

    diff --git a/docs/index.html b/docs/index.html index 0aebe03..3c717f0 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1 +1 @@ -@acrontum/moxy
    +@acrontum/moxy
    diff --git a/docs/interfaces/AddRouteOptions.html b/docs/interfaces/AddRouteOptions.html index f54dddb..e4569a4 100644 --- a/docs/interfaces/AddRouteOptions.html +++ b/docs/interfaces/AddRouteOptions.html @@ -1,5 +1,5 @@ -AddRouteOptions | @acrontum/moxy

    Interface AddRouteOptions

    interface AddRouteOptions {
        exact?: boolean;
        once?: boolean;
    }

    Properties

    Properties

    exact?: boolean

    If true, url is not parsed as regex

    -
    once?: boolean

    If true, route is deleted when used

    -
    +AddRouteOptions | @acrontum/moxy

    Interface AddRouteOptions

    interface AddRouteOptions {
        exact?: boolean;
        once?: boolean;
    }

    Properties

    Properties

    exact?: boolean

    If true, url is not parsed as regex

    +
    once?: boolean

    If true, route is deleted when used

    +
    diff --git a/docs/interfaces/CliConfig.html b/docs/interfaces/CliConfig.html index b337a5b..86b0b54 100644 --- a/docs/interfaces/CliConfig.html +++ b/docs/interfaces/CliConfig.html @@ -1,5 +1,5 @@ -CliConfig | @acrontum/moxy

    Interface CliConfig

    interface CliConfig {
        configs: { config: PathConfig; path: string }[];
        options: ServerConfig;
        port: string;
        routerFolders: string[];
    }

    Properties

    configs: { config: PathConfig; path: string }[]
    options: ServerConfig
    port: string
    routerFolders: string[]
    +CliConfig | @acrontum/moxy

    Interface CliConfig

    interface CliConfig {
        configs: { config: PathConfig; path: string }[];
        options: ServerConfig;
        port: string;
        routerFolders: string[];
    }

    Properties

    configs: { config: PathConfig; path: string }[]
    options: ServerConfig
    port: string
    routerFolders: string[]
    diff --git a/docs/interfaces/CloseServerOptions.html b/docs/interfaces/CloseServerOptions.html index dc66eb3..6cfba7f 100644 --- a/docs/interfaces/CloseServerOptions.html +++ b/docs/interfaces/CloseServerOptions.html @@ -1,3 +1,3 @@ -CloseServerOptions | @acrontum/moxy

    Interface CloseServerOptions

    interface CloseServerOptions {
        closeConnections?: boolean;
    }

    Properties

    Properties

    closeConnections?: boolean

    If true, will force close all sockets

    -
    +CloseServerOptions | @acrontum/moxy

    Interface CloseServerOptions

    interface CloseServerOptions {
        closeConnections?: boolean;
    }

    Properties

    Properties

    closeConnections?: boolean

    If true, will force close all sockets

    +
    diff --git a/docs/interfaces/MethodSettings.html b/docs/interfaces/MethodSettings.html index cc8d421..d52d268 100644 --- a/docs/interfaces/MethodSettings.html +++ b/docs/interfaces/MethodSettings.html @@ -1,17 +1,17 @@ -MethodSettings | @acrontum/moxy

    Interface MethodSettings

    interface MethodSettings {
        body?: any;
        delay?: number;
        exact?: true;
        handler?: RequestHandler;
        headers?: OutgoingHttpHeaders;
        proxy?: string;
        proxyOptions?: RequestOptions;
        status?: number;
    }

    Hierarchy (View Summary)

    Properties

    body?: any

    response payload

    -
    delay?: number

    Method-level delay (in milliseconds)

    -
    exact?: true

    If true, will not parse route as regex

    -
    handler?: RequestHandler

    HTTP request handler function

    -
    headers?: OutgoingHttpHeaders

    headers to add (Content-Type is added automatically)

    -
    proxy?: string

    If set, will proxy all requests to the target

    -
    proxyOptions?: RequestOptions

    Options to pass through proxy

    -
    status?: number

    status code to return (defaults to 200)

    -
    +MethodSettings | @acrontum/moxy

    Interface MethodSettings

    interface MethodSettings {
        body?: unknown;
        delay?: number;
        exact?: true;
        handler?: RequestHandler;
        headers?: OutgoingHttpHeaders;
        proxy?: string;
        proxyOptions?: RequestOptions;
        status?: number;
    }

    Hierarchy (View Summary)

    Properties

    body?: unknown

    response payload

    +
    delay?: number

    Method-level delay (in milliseconds)

    +
    exact?: true

    If true, will not parse route as regex

    +
    handler?: RequestHandler

    HTTP request handler function

    +
    headers?: OutgoingHttpHeaders

    headers to add (Content-Type is added automatically)

    +
    proxy?: string

    If set, will proxy all requests to the target

    +
    proxyOptions?: RequestOptions

    Options to pass through proxy

    +
    status?: number

    status code to return (defaults to 200)

    +
    diff --git a/docs/interfaces/PathConfigWithOptions.html b/docs/interfaces/PathConfigWithOptions.html index 706b6bc..f44bd42 100644 --- a/docs/interfaces/PathConfigWithOptions.html +++ b/docs/interfaces/PathConfigWithOptions.html @@ -1,21 +1,21 @@ -PathConfigWithOptions | @acrontum/moxy

    Interface PathConfigWithOptions

    Configuration for a path.

    -
    interface PathConfigWithOptions {
        all?: MethodConfig;
        connect?: MethodConfig;
        delay?: number;
        delete?: MethodConfig;
        exact?: true;
        get?: MethodConfig;
        head?: MethodConfig;
        options?: MethodConfig;
        patch?: MethodConfig;
        post?: MethodConfig;
        proxy?: string;
        proxyOptions?: RequestOptions;
        put?: MethodConfig;
        trace?: MethodConfig;
        urlRegex?: RegExp;
    }

    Hierarchy (View Summary)

    Properties

    connect?: MethodConfig
    delay?: number

    Method-level delay (in milliseconds)

    -
    delete?: MethodConfig
    exact?: true

    If true, will not parse route as regex

    -
    options?: MethodConfig
    patch?: MethodConfig
    proxy?: string

    If set, will proxy all requests to the target

    -
    proxyOptions?: RequestOptions

    Options to pass through proxy

    -
    trace?: MethodConfig
    urlRegex?: RegExp
    +PathConfigWithOptions | @acrontum/moxy

    Interface PathConfigWithOptions

    Configuration for a path.

    +
    interface PathConfigWithOptions {
        all?: MethodConfig;
        connect?: MethodConfig;
        delay?: number;
        delete?: MethodConfig;
        exact?: true;
        get?: MethodConfig;
        head?: MethodConfig;
        options?: MethodConfig;
        patch?: MethodConfig;
        post?: MethodConfig;
        proxy?: string;
        proxyOptions?: RequestOptions;
        put?: MethodConfig;
        trace?: MethodConfig;
        urlRegex?: RegExp;
    }

    Hierarchy (View Summary)

    Properties

    connect?: MethodConfig
    delay?: number

    Method-level delay (in milliseconds)

    +
    delete?: MethodConfig
    exact?: true

    If true, will not parse route as regex

    +
    options?: MethodConfig
    patch?: MethodConfig
    proxy?: string

    If set, will proxy all requests to the target

    +
    proxyOptions?: RequestOptions

    Options to pass through proxy

    +
    trace?: MethodConfig
    urlRegex?: RegExp
    diff --git a/docs/interfaces/PathSettings.html b/docs/interfaces/PathSettings.html index 190df32..f0ea018 100644 --- a/docs/interfaces/PathSettings.html +++ b/docs/interfaces/PathSettings.html @@ -1,9 +1,9 @@ -PathSettings | @acrontum/moxy

    Interface PathSettings

    interface PathSettings {
        delay?: number;
        exact?: true;
        proxy?: string;
        proxyOptions?: RequestOptions;
    }

    Hierarchy (View Summary)

    Properties

    delay?: number

    Method-level delay (in milliseconds)

    -
    exact?: true

    If true, will not parse route as regex

    -
    proxy?: string

    If set, will proxy all requests to the target

    -
    proxyOptions?: RequestOptions

    Options to pass through proxy

    -
    +PathSettings | @acrontum/moxy

    Interface PathSettings

    interface PathSettings {
        delay?: number;
        exact?: true;
        proxy?: string;
        proxyOptions?: RequestOptions;
    }

    Hierarchy (View Summary)

    Properties

    delay?: number

    Method-level delay (in milliseconds)

    +
    exact?: true

    If true, will not parse route as regex

    +
    proxy?: string

    If set, will proxy all requests to the target

    +
    proxyOptions?: RequestOptions

    Options to pass through proxy

    +
    diff --git a/docs/interfaces/RouterConfig.html b/docs/interfaces/RouterConfig.html index beb4952..9204b13 100644 --- a/docs/interfaces/RouterConfig.html +++ b/docs/interfaces/RouterConfig.html @@ -1,3 +1,3 @@ -RouterConfig | @acrontum/moxy

    Interface RouterConfig

    interface RouterConfig {
        allowHttpRouteConfig?: boolean;
    }

    Properties

    allowHttpRouteConfig?: boolean

    If true, exposes CRUD routes for path config

    -
    +RouterConfig | @acrontum/moxy

    Interface RouterConfig

    interface RouterConfig {
        allowHttpRouteConfig?: boolean;
    }

    Properties

    allowHttpRouteConfig?: boolean

    If true, exposes CRUD routes for path config

    +
    diff --git a/docs/interfaces/SendOptions.html b/docs/interfaces/SendOptions.html index 0056ffb..e4c7156 100644 --- a/docs/interfaces/SendOptions.html +++ b/docs/interfaces/SendOptions.html @@ -1,3 +1,3 @@ -SendOptions | @acrontum/moxy

    Interface SendOptions

    interface SendOptions {
        headers?: OutgoingHttpHeaders;
        status?: number;
    }

    Properties

    Properties

    headers?: OutgoingHttpHeaders
    status?: number
    +SendOptions | @acrontum/moxy

    Interface SendOptions

    interface SendOptions {
        headers?: OutgoingHttpHeaders;
        status?: number;
    }

    Properties

    Properties

    headers?: OutgoingHttpHeaders
    status?: number
    diff --git a/docs/interfaces/ServerConfig.html b/docs/interfaces/ServerConfig.html index 528becd..29ca33c 100644 --- a/docs/interfaces/ServerConfig.html +++ b/docs/interfaces/ServerConfig.html @@ -1,5 +1,5 @@ -ServerConfig | @acrontum/moxy

    Interface ServerConfig

    interface ServerConfig {
        logging?: string;
        router?: RouterConfig;
    }

    Properties

    Properties

    logging?: string

    Set log level

    -
    router?: RouterConfig

    Configuration passed to router

    -
    +ServerConfig | @acrontum/moxy

    Interface ServerConfig

    interface ServerConfig {
        logging?: LogLevel;
        router?: RouterConfig;
    }

    Properties

    Properties

    logging?: LogLevel

    Set log level

    +
    router?: RouterConfig

    Configuration passed to router

    +
    diff --git a/docs/types/HandlerVariables.html b/docs/types/HandlerVariables.html index 00546cb..1474f1b 100644 --- a/docs/types/HandlerVariables.html +++ b/docs/types/HandlerVariables.html @@ -1,2 +1,2 @@ -HandlerVariables | @acrontum/moxy

    Type Alias HandlerVariables

    HandlerVariables: Record<string, string | string[]>

    Path and query params

    -
    +HandlerVariables | @acrontum/moxy

    Type Alias HandlerVariables

    HandlerVariables: Record<string, string | string[]>

    Path and query params

    +
    diff --git a/docs/types/LogLevel.html b/docs/types/LogLevel.html new file mode 100644 index 0000000..ca74670 --- /dev/null +++ b/docs/types/LogLevel.html @@ -0,0 +1 @@ +LogLevel | @acrontum/moxy

    Type Alias LogLevel

    LogLevel:
        | "off"
        | "trace"
        | "error"
        | "warn"
        | "info"
        | "log"
        | "verbose"
        | "debug"
    diff --git a/docs/types/LogLevels.html b/docs/types/LogLevels.html deleted file mode 100644 index dc82fd0..0000000 --- a/docs/types/LogLevels.html +++ /dev/null @@ -1 +0,0 @@ -LogLevels | @acrontum/moxy

    Type Alias LogLevels

    LogLevels: "error" | "off" | string
    diff --git a/docs/types/Method.html b/docs/types/Method.html index 4411a97..5259378 100644 --- a/docs/types/Method.html +++ b/docs/types/Method.html @@ -1,2 +1,2 @@ -Method | @acrontum/moxy

    Type Alias Method

    Method:
        | "connect"
        | "delete"
        | "get"
        | "head"
        | "options"
        | "patch"
        | "post"
        | "put"
        | "trace"

    Common http verbs

    -
    +Method | @acrontum/moxy

    Type Alias Method

    Method:
        | "connect"
        | "delete"
        | "get"
        | "head"
        | "options"
        | "patch"
        | "post"
        | "put"
        | "trace"

    Common http verbs

    +
    diff --git a/docs/types/MethodConfig.html b/docs/types/MethodConfig.html index d9c1f31..290aa75 100644 --- a/docs/types/MethodConfig.html +++ b/docs/types/MethodConfig.html @@ -1,4 +1,4 @@ -MethodConfig | @acrontum/moxy

    Type Alias MethodConfig

    MethodConfig: MethodSettings | string | RequestHandler

    Configuration for a method. +MethodConfig | @acrontum/moxy

    Type Alias MethodConfig

    MethodConfig: MethodSettings | string | RequestHandler

    Configuration for a method. Would be configured as { get: MethodConfig, post: MethodConfig, ... }

    examples

    Standard http response: @@ -10,4 +10,4 @@ async (req, res, vars) => res.sendJson({ url: req.url, date: Date.now() }, { status: 201 });

    Static file: '/static/:file'

    -
    +
    diff --git a/docs/types/MoxyHttpServer.html b/docs/types/MoxyHttpServer.html index 07082a8..2759af6 100644 --- a/docs/types/MoxyHttpServer.html +++ b/docs/types/MoxyHttpServer.html @@ -1 +1 @@ -MoxyHttpServer | @acrontum/moxy

    Type Alias MoxyHttpServer

    MoxyHttpServer: Server<typeof MoxyRequest, typeof MoxyResponse>
    +MoxyHttpServer | @acrontum/moxy

    Type Alias MoxyHttpServer

    MoxyHttpServer: Server<typeof MoxyRequest, typeof MoxyResponse>
    diff --git a/docs/types/ParsedPathConfig.html b/docs/types/ParsedPathConfig.html index a804603..4c8eef8 100644 --- a/docs/types/ParsedPathConfig.html +++ b/docs/types/ParsedPathConfig.html @@ -1 +1 @@ -ParsedPathConfig | @acrontum/moxy

    Type Alias ParsedPathConfig

    +ParsedPathConfig | @acrontum/moxy

    Type Alias ParsedPathConfig

    diff --git a/docs/types/PathConfig.html b/docs/types/PathConfig.html index aa9a601..2eed01a 100644 --- a/docs/types/PathConfig.html +++ b/docs/types/PathConfig.html @@ -1,2 +1,2 @@ -PathConfig | @acrontum/moxy

    Type Alias PathConfig

    PathConfig: PathSettings & { all?: MethodConfig } & {
        [key in Method]?: MethodConfig
    }

    Configuration for a path.

    -
    +PathConfig | @acrontum/moxy

    Type Alias PathConfig

    PathConfig: PathSettings & { all?: MethodConfig } & {
        [key in Method]?: MethodConfig
    }

    Configuration for a path.

    +
    diff --git a/docs/types/RequestHandler.html b/docs/types/RequestHandler.html index 2c1a543..469a40f 100644 --- a/docs/types/RequestHandler.html +++ b/docs/types/RequestHandler.html @@ -1,2 +1,2 @@ -RequestHandler | @acrontum/moxy

    Type Alias RequestHandler

    RequestHandler: (
        req: MoxyRequest,
        res: MoxyResponse,
        variables: HandlerVariables,
        server: MoxyServer,
    ) => void

    Manual request handler

    -

    Type declaration

    +RequestHandler | @acrontum/moxy

    Type Alias RequestHandler

    RequestHandler: (
        req: MoxyRequest,
        res: MoxyResponse,
        variables: HandlerVariables,
        server: MoxyServer,
    ) => unknown

    Manual request handler

    +

    Type declaration

    diff --git a/docs/types/RouteConfig.html b/docs/types/RouteConfig.html index 6d32dd1..245fa5c 100644 --- a/docs/types/RouteConfig.html +++ b/docs/types/RouteConfig.html @@ -1,2 +1,2 @@ -RouteConfig | @acrontum/moxy

    Type Alias RouteConfig

    RouteConfig: string | RequestHandler | PathConfig

    Configuration for a route.

    -
    +RouteConfig | @acrontum/moxy

    Type Alias RouteConfig

    RouteConfig: string | RequestHandler | PathConfig

    Configuration for a route.

    +
    diff --git a/docs/types/Routes.html b/docs/types/Routes.html index 0ef39d4..8b5ccbb 100644 --- a/docs/types/Routes.html +++ b/docs/types/Routes.html @@ -1,2 +1,2 @@ -Routes | @acrontum/moxy

    Type Alias Routes

    Routes: Record<string, RouteConfig>

    Configuration for multiple routes.

    -
    +Routes | @acrontum/moxy

    Type Alias Routes

    Routes: Record<string, RouteConfig>

    Configuration for multiple routes.

    +
    diff --git a/docs/variables/colours.html b/docs/variables/colours.html index 64a403f..5a57432 100644 --- a/docs/variables/colours.html +++ b/docs/variables/colours.html @@ -1 +1 @@ -colours | @acrontum/moxy

    Variable coloursConst

    colours: {
        blue: string;
        green: string;
        majenta: string;
        none: string;
        purple: string;
        red: string;
        teal: string;
        yellow: string;
    } = ...

    Type declaration

    • blue: string
    • green: string
    • majenta: string
    • none: string
    • purple: string
    • red: string
    • teal: string
    • yellow: string
    +colours | @acrontum/moxy

    Variable coloursConst

    colours: {
        blue: string;
        green: string;
        majenta: string;
        none: string;
        purple: string;
        red: string;
        teal: string;
        yellow: string;
    } = ...

    Type declaration

    • blue: string
    • green: string
    • majenta: string
    • none: string
    • purple: string
    • red: string
    • teal: string
    • yellow: string
    diff --git a/docs/variables/extToMimeType.html b/docs/variables/extToMimeType.html index af14cde..5ab4f9f 100644 --- a/docs/variables/extToMimeType.html +++ b/docs/variables/extToMimeType.html @@ -1 +1 @@ -extToMimeType | @acrontum/moxy

    Variable extToMimeTypeConst

    extToMimeType: Record<string, string> = ...
    +extToMimeType | @acrontum/moxy

    Variable extToMimeTypeConst

    extToMimeType: Record<string, string> = ...
    diff --git a/docs/variables/methodColours.html b/docs/variables/methodColours.html index 7db57ef..fc8c7d4 100644 --- a/docs/variables/methodColours.html +++ b/docs/variables/methodColours.html @@ -1 +1 @@ -methodColours | @acrontum/moxy

    Variable methodColoursConst

    methodColours: Record<Method, string> = ...
    +methodColours | @acrontum/moxy

    Variable methodColoursConst

    methodColours: Record<Method, string> = ...
    diff --git a/package-lock.json b/package-lock.json index 8890da4..2d062ae 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@acrontum/moxy", - "version": "3.2.3", + "version": "4.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@acrontum/moxy", - "version": "3.2.3", + "version": "4.0.0", "license": "ISC", "bin": { "moxy": "dist/src/cli.js" diff --git a/package.json b/package.json index 1920f09..7c23f02 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@acrontum/moxy", - "version": "3.2.3", + "version": "4.0.0", "description": "Simple, configurable part mock part proxy", "main": "dist/src/index.js", "scripts": {