From afb287ea24e59e37137e2b360cb676b1b9030227 Mon Sep 17 00:00:00 2001 From: Ruslan Lopatin Date: Sun, 17 Sep 2023 15:08:05 +0700 Subject: [PATCH] Updates --- assets/highlight.css | 15 +- assets/main.js | 7 +- assets/navigation.js | 1 + assets/search.js | 2 +- assets/style.css | 843 ++--- classes/_hatsy_hatsy.HttpError-1.html | 339 +- classes/_hatsy_hatsy.RequestCapability-1.html | 329 +- ...tsy_hatsy_testing_js.TestHttpServer-1.html | 280 ++ classes/testing.TestHttpServer-1.html | 323 -- functions/_hatsy_hatsy.addResponseHeader.html | 122 +- .../_hatsy_hatsy.dispatchByAccepted.html | 126 +- .../_hatsy_hatsy.dispatchByLanguage.html | 115 +- functions/_hatsy_hatsy.dispatchByMethod.html | 124 +- functions/_hatsy_hatsy.dispatchError.html | 129 +- functions/_hatsy_hatsy.httpListener.html | 250 +- functions/_hatsy_hatsy.middleware-2.html | 124 +- functions/_hatsy_hatsy.renderHttpError.html | 113 +- functions/_hatsy_hatsy.requestExtension.html | 129 +- functions/_hatsy_hatsy.requestHandler-1.html | 124 +- .../_hatsy_hatsy.requestProcessor-2.html | 124 +- functions/_hatsy_hatsy.requestUpdate.html | 124 +- index.html | 123 +- .../_hatsy_hatsy.DispatchLanguages.html | 110 +- interfaces/_hatsy_hatsy.DispatchMethods.html | 185 +- .../_hatsy_hatsy.DispatchMimeTypes.html | 125 +- interfaces/_hatsy_hatsy.ErrorMeans.html | 91 +- interfaces/_hatsy_hatsy.FormDecoding.html | 200 +- interfaces/_hatsy_hatsy.HttpConfig-1.html | 133 +- .../_hatsy_hatsy.HttpConfig.Extended.html | 163 +- .../_hatsy_hatsy.HttpError.Options.html | 139 +- interfaces/_hatsy_hatsy.HttpForwarding.html | 172 +- interfaces/_hatsy_hatsy.HttpMeans-1.html | 132 +- .../_hatsy_hatsy.HttpMeans.Addresses.html | 97 +- interfaces/_hatsy_hatsy.JsonParsing.html | 198 +- interfaces/_hatsy_hatsy.LoggerMeans.html | 91 +- interfaces/_hatsy_hatsy.Logging.html | 195 +- interfaces/_hatsy_hatsy.RenderMeans.html | 144 +- interfaces/_hatsy_hatsy.RequestBodyMeans.html | 91 +- .../_hatsy_hatsy.RequestContext.Agent.html | 120 +- interfaces/_hatsy_hatsy.RequestLogger.html | 179 +- .../_hatsy_hatsy.RequestProcessor.Config.html | 131 +- ...sy_testing_js.TestHttpServer.Response.html | 2881 +++++++++++++++++ .../testing.TestHttpServer.Response.html | 2239 ------------- modules.html | 60 - modules/_hatsy_hatsy.HttpConfig.html | 65 +- modules/_hatsy_hatsy.HttpError.html | 65 +- modules/_hatsy_hatsy.HttpMeans.html | 65 +- modules/_hatsy_hatsy.Middleware.html | 65 +- modules/_hatsy_hatsy.RequestCapability.html | 65 +- modules/_hatsy_hatsy.RequestContext.html | 65 +- modules/_hatsy_hatsy.RequestProcessor.html | 65 +- modules/_hatsy_hatsy.html | 196 +- modules/_hatsy_hatsy_core.html | 138 - modules/_hatsy_hatsy_core_js.html | 124 + ...hatsy_hatsy_testing_js.TestHttpServer.html | 51 + modules/_hatsy_hatsy_testing_js.html | 53 + modules/testing.TestHttpServer.html | 68 - modules/testing.html | 72 - types/_hatsy_hatsy.Middleware-1.html | 142 +- types/_hatsy_hatsy.Middleware.Next.html | 79 +- ...atsy_hatsy.RequestCapability.Provider.html | 103 +- types/_hatsy_hatsy.RequestContext-1.html | 120 +- types/_hatsy_hatsy.RequestHandler.html | 134 +- types/_hatsy_hatsy.RequestHandlerMethod.html | 137 +- types/_hatsy_hatsy.RequestModification.html | 119 +- types/_hatsy_hatsy.RequestProcessor-1.html | 126 +- .../_hatsy_hatsy.RequestValueTransformer.html | 134 +- variables/_hatsy_hatsy.FormDecoding-1.html | 109 +- variables/_hatsy_hatsy.HttpForwarding-1.html | 109 +- variables/_hatsy_hatsy.JsonParsing-1.html | 107 +- variables/_hatsy_hatsy.Logging-1.html | 109 +- variables/_hatsy_hatsy.Rendering.html | 107 +- 72 files changed, 6738 insertions(+), 7796 deletions(-) create mode 100644 assets/navigation.js create mode 100644 classes/_hatsy_hatsy_testing_js.TestHttpServer-1.html delete mode 100644 classes/testing.TestHttpServer-1.html create mode 100644 interfaces/_hatsy_hatsy_testing_js.TestHttpServer.Response.html delete mode 100644 interfaces/testing.TestHttpServer.Response.html delete mode 100644 modules.html delete mode 100644 modules/_hatsy_hatsy_core.html create mode 100644 modules/_hatsy_hatsy_core_js.html create mode 100644 modules/_hatsy_hatsy_testing_js.TestHttpServer.html create mode 100644 modules/_hatsy_hatsy_testing_js.html delete mode 100644 modules/testing.TestHttpServer.html delete mode 100644 modules/testing.html diff --git a/assets/highlight.css b/assets/highlight.css index e5c35f7..fb1240d 100644 --- a/assets/highlight.css +++ b/assets/highlight.css @@ -21,10 +21,12 @@ --dark-hl-9: #6A9955; --light-hl-10: #267F99; --dark-hl-10: #4EC9B0; - --light-hl-11: #EE0000; - --dark-hl-11: #D7BA7D; - --light-hl-12: #811F3F; - --dark-hl-12: #D16969; + --light-hl-11: #800000; + --dark-hl-11: #569CD6; + --light-hl-12: #EE0000; + --dark-hl-12: #D7BA7D; + --light-hl-13: #811F3F; + --dark-hl-13: #D16969; --light-code-background: #FFFFFF; --dark-code-background: #1E1E1E; } @@ -43,6 +45,7 @@ --hl-10: var(--light-hl-10); --hl-11: var(--light-hl-11); --hl-12: var(--light-hl-12); + --hl-13: var(--light-hl-13); --code-background: var(--light-code-background); } } @@ -60,6 +63,7 @@ --hl-10: var(--dark-hl-10); --hl-11: var(--dark-hl-11); --hl-12: var(--dark-hl-12); + --hl-13: var(--dark-hl-13); --code-background: var(--dark-code-background); } } @@ -77,6 +81,7 @@ --hl-10: var(--light-hl-10); --hl-11: var(--light-hl-11); --hl-12: var(--light-hl-12); + --hl-13: var(--light-hl-13); --code-background: var(--light-code-background); } @@ -94,6 +99,7 @@ --hl-10: var(--dark-hl-10); --hl-11: var(--dark-hl-11); --hl-12: var(--dark-hl-12); + --hl-13: var(--dark-hl-13); --code-background: var(--dark-code-background); } @@ -110,4 +116,5 @@ .hl-10 { color: var(--hl-10); } .hl-11 { color: var(--hl-11); } .hl-12 { color: var(--hl-12); } +.hl-13 { color: var(--hl-13); } pre, code { background: var(--code-background); } diff --git a/assets/main.js b/assets/main.js index d55df03..01bcad5 100644 --- a/assets/main.js +++ b/assets/main.js @@ -1,7 +1,8 @@ "use strict"; -"use strict";(()=>{var Qe=Object.create;var ae=Object.defineProperty;var Pe=Object.getOwnPropertyDescriptor;var Ce=Object.getOwnPropertyNames;var Oe=Object.getPrototypeOf,Re=Object.prototype.hasOwnProperty;var _e=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Me=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Ce(e))!Re.call(t,i)&&i!==n&&ae(t,i,{get:()=>e[i],enumerable:!(r=Pe(e,i))||r.enumerable});return t};var De=(t,e,n)=>(n=t!=null?Qe(Oe(t)):{},Me(e||!t||!t.__esModule?ae(n,"default",{value:t,enumerable:!0}):n,t));var de=_e((ce,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 h=t.utils.clone(n)||{};h.position=[a,l],h.index=s.length,s.push(new t.Token(r.slice(a,o),h))}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(ou?h+=2:a==u&&(n+=r[l+1]*i[h+1],l+=2,h+=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 u=s.node.edges["*"];else{var u=new t.TokenSet;s.node.edges["*"]=u}if(s.str.length==0&&(u.final=!0),i.push({node:u,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 l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}s.str.length==1&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var h=s.str.charAt(0),m=s.str.charAt(1),v;m in s.node.edges?v=s.node.edges[m]:(v=new t.TokenSet,s.node.edges[m]=v),s.str.length==1&&(v.final=!0),i.push({node:v,editsRemaining:s.editsRemaining-1,str:h+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),u=0;u1?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 ce=="object"?he.exports=n():e.lunr=n()}(this,function(){return t})})()});var le=[];function B(t,e){le.push({selector:e,constructor:t})}var Y=class{constructor(){this.alwaysVisibleMember=null;this.createComponents(document.body),this.ensureFocusedElementVisible(),window.addEventListener("hashchange",()=>this.ensureFocusedElementVisible())}createComponents(e){le.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()}ensureFocusedElementVisible(){this.alwaysVisibleMember&&(this.alwaysVisibleMember.classList.remove("always-visible"),this.alwaysVisibleMember.firstElementChild.remove(),this.alwaysVisibleMember=null);let e=document.getElementById(location.hash.substring(1));if(!e)return;let n=e.parentElement;for(;n.tagName!=="SECTION";)n=n.parentElement;if(n.offsetParent==null){this.alwaysVisibleMember=n,n.classList.add("always-visible");let r=document.createElement("p");r.classList.add("warning"),r.textContent="This member is normally hidden due to your filter settings.",n.prepend(r)}}};var I=class{constructor(e){this.el=e.el,this.app=e.app}};var J=class{constructor(){this.listeners={}}addEventListener(e,n){e in this.listeners||(this.listeners[e]=[]),this.listeners[e].push(n)}removeEventListener(e,n){if(!(e in this.listeners))return;let r=this.listeners[e];for(let i=0,s=r.length;i{let n=Date.now();return(...r)=>{n+e-Date.now()<0&&(t(...r),n=Date.now())}};var re=class extends J{constructor(){super();this.scrollTop=0;this.lastY=0;this.width=0;this.height=0;this.showToolbar=!0;this.toolbar=document.querySelector(".tsd-page-toolbar"),this.navigation=document.querySelector(".col-menu"),window.addEventListener("scroll",ne(()=>this.onScroll(),10)),window.addEventListener("resize",ne(()=>this.onResize(),10)),this.searchInput=document.querySelector("#tsd-search input"),this.searchInput&&this.searchInput.addEventListener("focus",()=>{this.hideShowToolbar()}),this.onResize(),this.onScroll()}triggerResize(){let n=new CustomEvent("resize",{detail:{width:this.width,height:this.height}});this.dispatchEvent(n)}onResize(){this.width=window.innerWidth||0,this.height=window.innerHeight||0;let n=new CustomEvent("resize",{detail:{width:this.width,height:this.height}});this.dispatchEvent(n)}onScroll(){this.scrollTop=window.scrollY||0;let n=new CustomEvent("scroll",{detail:{scrollTop:this.scrollTop}});this.dispatchEvent(n),this.hideShowToolbar()}hideShowToolbar(){let n=this.showToolbar;this.showToolbar=this.lastY>=this.scrollTop||this.scrollTop<=0||!!this.searchInput&&this.searchInput===document.activeElement,n!==this.showToolbar&&(this.toolbar.classList.toggle("tsd-page-toolbar--hide"),this.navigation?.classList.toggle("col-menu--hide")),this.lastY=this.scrollTop}},R=re;R.instance=new re;var X=class extends I{constructor(n){super(n);this.anchors=[];this.index=-1;R.instance.addEventListener("resize",()=>this.onResize()),R.instance.addEventListener("scroll",r=>this.onScroll(r)),this.createAnchors()}createAnchors(){let n=window.location.href;n.indexOf("#")!=-1&&(n=n.substring(0,n.indexOf("#"))),this.el.querySelectorAll("a").forEach(r=>{let i=r.href;if(i.indexOf("#")==-1||i.substring(0,n.length)!=n)return;let s=i.substring(i.indexOf("#")+1),o=document.querySelector("a.tsd-anchor[name="+s+"]"),a=r.parentNode;!o||!a||this.anchors.push({link:a,anchor:o,position:0})}),this.onResize()}onResize(){let n;for(let i=0,s=this.anchors.length;ii.position-s.position);let r=new CustomEvent("scroll",{detail:{scrollTop:R.instance.scrollTop}});this.onScroll(r)}onScroll(n){let r=n.detail.scrollTop+5,i=this.anchors,s=i.length-1,o=this.index;for(;o>-1&&i[o].position>r;)o-=1;for(;o-1&&this.anchors[this.index].link.classList.remove("focus"),this.index=o,this.index>-1&&this.anchors[this.index].link.classList.add("focus"))}};var ue=(t,e=100)=>{let n;return()=>{clearTimeout(n),n=setTimeout(()=>t(),e)}};var me=De(de());function ve(){let t=document.getElementById("tsd-search");if(!t)return;let e=document.getElementById("search-script");t.classList.add("loading"),e&&(e.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),e.addEventListener("load",()=>{t.classList.remove("loading"),t.classList.add("ready")}),window.searchData&&t.classList.remove("loading"));let n=document.querySelector("#tsd-search input"),r=document.querySelector("#tsd-search .results");if(!n||!r)throw new Error("The input field or the result list wrapper was not found");let i=!1;r.addEventListener("mousedown",()=>i=!0),r.addEventListener("mouseup",()=>{i=!1,t.classList.remove("has-focus")}),n.addEventListener("focus",()=>t.classList.add("has-focus")),n.addEventListener("blur",()=>{i||(i=!1,t.classList.remove("has-focus"))});let s={base:t.dataset.base+"/"};Fe(t,r,n,s)}function Fe(t,e,n,r){n.addEventListener("input",ue(()=>{He(t,e,n,r)},200));let i=!1;n.addEventListener("keydown",s=>{i=!0,s.key=="Enter"?Ve(e,n):s.key=="Escape"?n.blur():s.key=="ArrowUp"?pe(e,-1):s.key==="ArrowDown"?pe(e,1):i=!1}),n.addEventListener("keypress",s=>{i&&s.preventDefault()}),document.body.addEventListener("keydown",s=>{s.altKey||s.ctrlKey||s.metaKey||!n.matches(":focus")&&s.key==="/"&&(n.focus(),s.preventDefault())})}function Ae(t,e){t.index||window.searchData&&(e.classList.remove("loading"),e.classList.add("ready"),t.data=window.searchData,t.index=me.Index.load(window.searchData.index))}function He(t,e,n,r){if(Ae(r,t),!r.index||!r.data)return;e.textContent="";let i=n.value.trim(),s=i?r.index.search(`*${i}*`):[];for(let o=0;oa.score-o.score);for(let o=0,a=Math.min(10,s.length);o${fe(u.parent,i)}.${l}`);let h=document.createElement("li");h.classList.value=u.classes??"";let m=document.createElement("a");m.href=r.base+u.url,m.innerHTML=l,h.append(m),e.appendChild(h)}}function pe(t,e){let n=t.querySelector(".current");if(!n)n=t.querySelector(e==1?"li:first-child":"li:last-child"),n&&n.classList.add("current");else{let r=n;if(e===1)do r=r.nextElementSibling??void 0;while(r instanceof HTMLElement&&r.offsetParent==null);else do r=r.previousElementSibling??void 0;while(r instanceof HTMLElement&&r.offsetParent==null);r&&(n.classList.remove("current"),r.classList.add("current"))}}function Ve(t,e){let n=t.querySelector(".current");if(n||(n=t.querySelector("li:first-child")),n){let r=n.querySelector("a");r&&(window.location.href=r.href),e.blur()}}function fe(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(ie(t.substring(s,o)),`${ie(t.substring(o,o+r.length))}`),s=o+r.length,o=n.indexOf(r,s);return i.push(ie(t.substring(s))),i.join("")}var Ne={"&":"&","<":"<",">":">","'":"'",'"':"""};function ie(t){return t.replace(/[&<>"'"]/g,e=>Ne[e])}var F="mousedown",ye="mousemove",j="mouseup",Z={x:0,y:0},ge=!1,se=!1,Be=!1,A=!1,xe=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(xe?"is-mobile":"not-mobile");xe&&"ontouchstart"in document.documentElement&&(Be=!0,F="touchstart",ye="touchmove",j="touchend");document.addEventListener(F,t=>{se=!0,A=!1;let e=F=="touchstart"?t.targetTouches[0]:t;Z.y=e.pageY||0,Z.x=e.pageX||0});document.addEventListener(ye,t=>{if(se&&!A){let e=F=="touchstart"?t.targetTouches[0]:t,n=Z.x-(e.pageX||0),r=Z.y-(e.pageY||0);A=Math.sqrt(n*n+r*r)>10}});document.addEventListener(j,()=>{se=!1});document.addEventListener("click",t=>{ge&&(t.preventDefault(),t.stopImmediatePropagation(),ge=!1)});var K=class extends I{constructor(n){super(n);this.className=this.el.dataset.toggle||"",this.el.addEventListener(j,r=>this.onPointerUp(r)),this.el.addEventListener("click",r=>r.preventDefault()),document.addEventListener(F,r=>this.onDocumentPointerDown(r)),document.addEventListener(j,r=>this.onDocumentPointerUp(r))}setActive(n){if(this.active==n)return;this.active=n,document.documentElement.classList.toggle("has-"+this.className,n),this.el.classList.toggle("active",n);let r=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(r),setTimeout(()=>document.documentElement.classList.remove(r),500)}onPointerUp(n){A||(this.setActive(!0),n.preventDefault())}onDocumentPointerDown(n){if(this.active){if(n.target.closest(".col-menu, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(n){if(!A&&this.active&&n.target.closest(".col-menu")){let r=n.target.closest("a");if(r){let i=window.location.href;i.indexOf("#")!=-1&&(i=i.substring(0,i.indexOf("#"))),r.href.substring(0,i.length)==i&&setTimeout(()=>this.setActive(!1),250)}}}};var oe;try{oe=localStorage}catch{oe={getItem(){return null},setItem(){}}}var Q=oe;var Le=document.head.appendChild(document.createElement("style"));Le.dataset.for="filters";var ee=class extends I{constructor(n){super(n);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; } -`}fromLocalStorage(){let n=Q.getItem(this.key);return n?n==="true":this.el.checked}setLocalStorage(n){Q.setItem(this.key,n.toString()),this.value=n,this.handleValueChange()}handleValueChange(){this.el.checked=this.value,document.documentElement.classList.toggle(this.key,this.value),this.app.filterChanged(),document.querySelectorAll(".tsd-index-section").forEach(n=>{n.style.display="block";let r=Array.from(n.querySelectorAll(".tsd-index-link")).every(i=>i.offsetParent==null);n.style.display=r?"none":"block"})}};var te=class extends I{constructor(n){super(n);this.calculateHeights(),this.summary=this.el.querySelector(".tsd-accordion-summary"),this.icon=this.summary.querySelector("svg"),this.key=`tsd-accordion-${this.summary.textContent.replace(/\s+/g,"-").toLowerCase()}`,this.setLocalStorage(this.fromLocalStorage(),!0),this.summary.addEventListener("click",r=>this.toggleVisibility(r)),this.icon.style.transform=this.getIconRotation()}getIconRotation(n=this.el.open){return`rotate(${n?0:-90}deg)`}calculateHeights(){let n=this.el.open,{position:r,left:i}=this.el.style;this.el.style.position="fixed",this.el.style.left="-9999px",this.el.open=!0,this.expandedHeight=this.el.offsetHeight+"px",this.el.open=!1,this.collapsedHeight=this.el.offsetHeight+"px",this.el.open=n,this.el.style.height=n?this.expandedHeight:this.collapsedHeight,this.el.style.position=r,this.el.style.left=i}toggleVisibility(n){n.preventDefault(),this.el.style.overflow="hidden",this.el.open?this.collapse():this.expand()}expand(n=!0){this.el.open=!0,this.animate(this.collapsedHeight,this.expandedHeight,{opening:!0,duration:n?300:0})}collapse(n=!0){this.animate(this.expandedHeight,this.collapsedHeight,{opening:!1,duration:n?300:0})}animate(n,r,{opening:i,duration:s=300}){if(this.animation)return;let o={duration:s,easing:"ease"};this.animation=this.el.animate({height:[n,r]},o),this.icon.animate({transform:[this.icon.style.transform||this.getIconRotation(!i),this.getIconRotation(i)]},o).addEventListener("finish",()=>{this.icon.style.transform=this.getIconRotation(i)}),this.animation.addEventListener("finish",()=>this.animationEnd(i))}animationEnd(n){this.el.open=n,this.animation=void 0,this.el.style.height="auto",this.el.style.overflow="visible",this.setLocalStorage(n)}fromLocalStorage(){let n=Q.getItem(this.key);return n?n==="true":this.el.open}setLocalStorage(n,r=!1){this.fromLocalStorage()===n&&!r||(Q.setItem(this.key,n.toString()),this.el.open=n,this.handleValueChange(r))}handleValueChange(n=!1){this.fromLocalStorage()===this.el.open&&!n||(this.fromLocalStorage()?this.expand(!1):this.collapse(!1))}};function be(t){let e=Q.getItem("tsd-theme")||"os";t.value=e,Ee(e),t.addEventListener("change",()=>{Q.setItem("tsd-theme",t.value),Ee(t.value)})}function Ee(t){document.documentElement.dataset.theme=t}ve();B(X,".menu-highlight");B(K,"a[data-toggle]");B(te,".tsd-index-accordion");B(ee,".tsd-filter-item input[type=checkbox]");var we=document.getElementById("theme");we&&be(we);var je=new Y;Object.defineProperty(window,"app",{value:je});})(); +"use strict";(()=>{var Pe=Object.create;var ne=Object.defineProperty;var Ie=Object.getOwnPropertyDescriptor;var Oe=Object.getOwnPropertyNames;var _e=Object.getPrototypeOf,Re=Object.prototype.hasOwnProperty;var Me=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Fe=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Oe(e))!Re.call(t,i)&&i!==n&&ne(t,i,{get:()=>e[i],enumerable:!(r=Ie(e,i))||r.enumerable});return t};var De=(t,e,n)=>(n=t!=null?Pe(_e(t)):{},Fe(e||!t||!t.__esModule?ne(n,"default",{value:t,enumerable:!0}):n,t));var ae=Me((se,oe)=>{(function(){var t=function(e){var n=new t.Builder;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),n.searchPipeline.add(t.stemmer),e.call(n,n),n.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(n){e.console&&console.warn&&console.warn(n)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var n=Object.create(null),r=Object.keys(e),i=0;i0){var d=t.utils.clone(n)||{};d.position=[a,u],d.index=s.length,s.push(new t.Token(r.slice(a,o),d))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. +`,e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(r){var i=t.Pipeline.registeredFunctions[r];if(i)n.add(i);else throw new Error("Cannot load unregistered function: "+r)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(n){t.Pipeline.warnIfFunctionNotRegistered(n),this._stack.push(n)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");r=r+1,this._stack.splice(r,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");this._stack.splice(r,0,n)},t.Pipeline.prototype.remove=function(e){var n=this._stack.indexOf(e);n!=-1&&this._stack.splice(n,1)},t.Pipeline.prototype.run=function(e){for(var n=this._stack.length,r=0;r1&&(oe&&(r=s),o!=e);)i=r-n,s=n+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(ol?d+=2:a==l&&(n+=r[u+1]*i[d+1],u+=2,d+=2);return n},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),n=1,r=0;n0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}if(s.str.length==0&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new t.TokenSet;s.node.edges["*"]=u}s.str.length==1&&(u.final=!0),i.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var d=s.str.charAt(0),v=s.str.charAt(1),f;v in s.node.edges?f=s.node.edges[v]:(f=new t.TokenSet,s.node.edges[v]=f),s.str.length==1&&(f.final=!0),i.push({node:f,editsRemaining:s.editsRemaining-1,str:d+s.str.slice(2)})}}}return r},t.TokenSet.fromString=function(e){for(var n=new t.TokenSet,r=n,i=0,s=e.length;i=e;n--){var r=this.uncheckedNodes[n],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(n){var r=new t.QueryParser(e,n);r.parse()})},t.Index.prototype.query=function(e){for(var n=new t.Query(this.fields),r=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),l=0;l1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,n){var r=e[this._ref],i=Object.keys(this._fields);this._documents[r]=n||{},this.documentCount+=1;for(var s=0;s=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,n;do e=this.next(),n=e.charCodeAt(0);while(n>47&&n<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var n=e.next();if(n==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(n.charCodeAt(0)==92){e.escapeCharacter();continue}if(n==":")return t.QueryLexer.lexField;if(n=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(n=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(n=="+"&&e.width()===1||n=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(n.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,n){this.lexer=new t.QueryLexer(e),this.query=n,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var n=e.peekLexeme();if(n!=null)switch(n.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expected either a field or a term, found "+n.type;throw n.str.length>=1&&(r+=" with value '"+n.str+"'"),new t.QueryParseError(r,n.start,n.end)}},t.QueryParser.parsePresence=function(e){var n=e.consumeLexeme();if(n!=null){switch(n.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var r="unrecognised presence operator'"+n.str+"'";throw new t.QueryParseError(r,n.start,n.end)}var i=e.peekLexeme();if(i==null){var r="expecting term or field, found nothing";throw new t.QueryParseError(r,n.start,n.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(r,i.start,i.end)}}},t.QueryParser.parseField=function(e){var n=e.consumeLexeme();if(n!=null){if(e.query.allFields.indexOf(n.str)==-1){var r=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+n.str+"', possible fields: "+r;throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.fields=[n.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,n.start,n.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var n=e.consumeLexeme();if(n!=null){e.currentClause.term=n.str.toLowerCase(),n.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var r=e.peekLexeme();if(r==null){e.nextClause();return}switch(r.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+r.type+"'";throw new t.QueryParseError(i,r.start,r.end)}}},t.QueryParser.parseEditDistance=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="edit distance must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.editDistance=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="boost must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.boost=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,n){typeof define=="function"&&define.amd?define(n):typeof se=="object"?oe.exports=n():e.lunr=n()}(this,function(){return t})})()});var re=[];function G(t,e){re.push({selector:e,constructor:t})}var U=class{constructor(){this.alwaysVisibleMember=null;this.createComponents(document.body),this.ensureActivePageVisible(),this.ensureFocusedElementVisible(),this.listenForCodeCopies(),window.addEventListener("hashchange",()=>this.ensureFocusedElementVisible())}createComponents(e){re.forEach(n=>{e.querySelectorAll(n.selector).forEach(r=>{r.dataset.hasInstance||(new n.constructor({el:r,app:this}),r.dataset.hasInstance=String(!0))})})}filterChanged(){this.ensureFocusedElementVisible()}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){let r=e.getBoundingClientRect().top-document.documentElement.clientHeight/4;document.querySelector(".site-menu").scrollTop=r}}ensureFocusedElementVisible(){if(this.alwaysVisibleMember&&(this.alwaysVisibleMember.classList.remove("always-visible"),this.alwaysVisibleMember.firstElementChild.remove(),this.alwaysVisibleMember=null),!location.hash)return;let e=document.getElementById(location.hash.substring(1));if(!e)return;let n=e.parentElement;for(;n&&n.tagName!=="SECTION";)n=n.parentElement;if(n&&n.offsetParent==null){this.alwaysVisibleMember=n,n.classList.add("always-visible");let r=document.createElement("p");r.classList.add("warning"),r.textContent="This member is normally hidden due to your filter settings.",n.prepend(r)}}listenForCodeCopies(){document.querySelectorAll("pre > button").forEach(e=>{let n;e.addEventListener("click",()=>{e.previousElementSibling instanceof HTMLElement&&navigator.clipboard.writeText(e.previousElementSibling.innerText.trim()),e.textContent="Copied!",e.classList.add("visible"),clearTimeout(n),n=setTimeout(()=>{e.classList.remove("visible"),n=setTimeout(()=>{e.textContent="Copy"},100)},1e3)})})}};var ie=(t,e=100)=>{let n;return()=>{clearTimeout(n),n=setTimeout(()=>t(),e)}};var de=De(ae());async function le(t,e){if(!window.searchData)return;let n=await fetch(window.searchData),r=new Blob([await n.arrayBuffer()]).stream().pipeThrough(new DecompressionStream("gzip")),i=await new Response(r).json();t.data=i,t.index=de.Index.load(i.index),e.classList.remove("loading"),e.classList.add("ready")}function he(){let t=document.getElementById("tsd-search");if(!t)return;let e={base:t.dataset.base+"/"},n=document.getElementById("tsd-search-script");t.classList.add("loading"),n&&(n.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),n.addEventListener("load",()=>{le(e,t)}),le(e,t));let r=document.querySelector("#tsd-search input"),i=document.querySelector("#tsd-search .results");if(!r||!i)throw new Error("The input field or the result list wrapper was not found");let s=!1;i.addEventListener("mousedown",()=>s=!0),i.addEventListener("mouseup",()=>{s=!1,t.classList.remove("has-focus")}),r.addEventListener("focus",()=>t.classList.add("has-focus")),r.addEventListener("blur",()=>{s||(s=!1,t.classList.remove("has-focus"))}),Ae(t,i,r,e)}function Ae(t,e,n,r){n.addEventListener("input",ie(()=>{Ne(t,e,n,r)},200));let i=!1;n.addEventListener("keydown",s=>{i=!0,s.key=="Enter"?Ve(e,n):s.key=="Escape"?n.blur():s.key=="ArrowUp"?ue(e,-1):s.key==="ArrowDown"?ue(e,1):i=!1}),n.addEventListener("keypress",s=>{i&&s.preventDefault()}),document.body.addEventListener("keydown",s=>{s.altKey||s.ctrlKey||s.metaKey||!n.matches(":focus")&&s.key==="/"&&(n.focus(),s.preventDefault())})}function Ne(t,e,n,r){if(!r.index||!r.data)return;e.textContent="";let i=n.value.trim(),s=i?r.index.search(`*${i}*`):[];for(let o=0;oa.score-o.score);for(let o=0,a=Math.min(10,s.length);o`,d=ce(l.name,i);globalThis.DEBUG_SEARCH_WEIGHTS&&(d+=` (score: ${s[o].score.toFixed(2)})`),l.parent&&(d=` + ${ce(l.parent,i)}.${d}`);let v=document.createElement("li");v.classList.value=l.classes??"";let f=document.createElement("a");f.href=r.base+l.url,f.innerHTML=u+d,v.append(f),e.appendChild(v)}}function ue(t,e){let n=t.querySelector(".current");if(!n)n=t.querySelector(e==1?"li:first-child":"li:last-child"),n&&n.classList.add("current");else{let r=n;if(e===1)do r=r.nextElementSibling??void 0;while(r instanceof HTMLElement&&r.offsetParent==null);else do r=r.previousElementSibling??void 0;while(r instanceof HTMLElement&&r.offsetParent==null);r&&(n.classList.remove("current"),r.classList.add("current"))}}function Ve(t,e){let n=t.querySelector(".current");if(n||(n=t.querySelector("li:first-child")),n){let r=n.querySelector("a");r&&(window.location.href=r.href),e.blur()}}function ce(t,e){if(e==="")return t;let n=t.toLocaleLowerCase(),r=e.toLocaleLowerCase(),i=[],s=0,o=n.indexOf(r);for(;o!=-1;)i.push(K(t.substring(s,o)),`${K(t.substring(o,o+r.length))}`),s=o+r.length,o=n.indexOf(r,s);return i.push(K(t.substring(s))),i.join("")}var Be={"&":"&","<":"<",">":">","'":"'",'"':"""};function K(t){return t.replace(/[&<>"'"]/g,e=>Be[e])}var C=class{constructor(e){this.el=e.el,this.app=e.app}};var F="mousedown",pe="mousemove",B="mouseup",J={x:0,y:0},fe=!1,ee=!1,He=!1,D=!1,me=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(me?"is-mobile":"not-mobile");me&&"ontouchstart"in document.documentElement&&(He=!0,F="touchstart",pe="touchmove",B="touchend");document.addEventListener(F,t=>{ee=!0,D=!1;let e=F=="touchstart"?t.targetTouches[0]:t;J.y=e.pageY||0,J.x=e.pageX||0});document.addEventListener(pe,t=>{if(ee&&!D){let e=F=="touchstart"?t.targetTouches[0]:t,n=J.x-(e.pageX||0),r=J.y-(e.pageY||0);D=Math.sqrt(n*n+r*r)>10}});document.addEventListener(B,()=>{ee=!1});document.addEventListener("click",t=>{fe&&(t.preventDefault(),t.stopImmediatePropagation(),fe=!1)});var X=class extends C{constructor(n){super(n);this.className=this.el.dataset.toggle||"",this.el.addEventListener(B,r=>this.onPointerUp(r)),this.el.addEventListener("click",r=>r.preventDefault()),document.addEventListener(F,r=>this.onDocumentPointerDown(r)),document.addEventListener(B,r=>this.onDocumentPointerUp(r))}setActive(n){if(this.active==n)return;this.active=n,document.documentElement.classList.toggle("has-"+this.className,n),this.el.classList.toggle("active",n);let r=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(r),setTimeout(()=>document.documentElement.classList.remove(r),500)}onPointerUp(n){D||(this.setActive(!0),n.preventDefault())}onDocumentPointerDown(n){if(this.active){if(n.target.closest(".col-sidebar, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(n){if(!D&&this.active&&n.target.closest(".col-sidebar")){let r=n.target.closest("a");if(r){let i=window.location.href;i.indexOf("#")!=-1&&(i=i.substring(0,i.indexOf("#"))),r.href.substring(0,i.length)==i&&setTimeout(()=>this.setActive(!1),250)}}}};var te;try{te=localStorage}catch{te={getItem(){return null},setItem(){}}}var Q=te;var ve=document.head.appendChild(document.createElement("style"));ve.dataset.for="filters";var Y=class extends C{constructor(n){super(n);this.key=`filter-${this.el.name}`,this.value=this.el.checked,this.el.addEventListener("change",()=>{this.setLocalStorage(this.el.checked)}),this.setLocalStorage(this.fromLocalStorage()),ve.innerHTML+=`html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; } +`}fromLocalStorage(){let n=Q.getItem(this.key);return n?n==="true":this.el.checked}setLocalStorage(n){Q.setItem(this.key,n.toString()),this.value=n,this.handleValueChange()}handleValueChange(){this.el.checked=this.value,document.documentElement.classList.toggle(this.key,this.value),this.app.filterChanged(),document.querySelectorAll(".tsd-index-section").forEach(n=>{n.style.display="block";let r=Array.from(n.querySelectorAll(".tsd-index-link")).every(i=>i.offsetParent==null);n.style.display=r?"none":"block"})}};var Z=class extends C{constructor(n){super(n);this.summary=this.el.querySelector(".tsd-accordion-summary"),this.icon=this.summary.querySelector("svg"),this.key=`tsd-accordion-${this.summary.dataset.key??this.summary.textContent.trim().replace(/\s+/g,"-").toLowerCase()}`;let r=Q.getItem(this.key);this.el.open=r?r==="true":this.el.open,this.el.addEventListener("toggle",()=>this.update());let i=this.summary.querySelector("a");i&&i.addEventListener("click",()=>{location.assign(i.href)}),this.update()}update(){this.icon.style.transform=`rotate(${this.el.open?0:-90}deg)`,Q.setItem(this.key,this.el.open.toString())}};function ge(t){let e=Q.getItem("tsd-theme")||"os";t.value=e,ye(e),t.addEventListener("change",()=>{Q.setItem("tsd-theme",t.value),ye(t.value)})}function ye(t){document.documentElement.dataset.theme=t}var Le;function be(){let t=document.getElementById("tsd-nav-script");t&&(t.addEventListener("load",xe),xe())}async function xe(){let t=document.getElementById("tsd-nav-container");if(!t||!window.navigationData)return;let n=await(await fetch(window.navigationData)).arrayBuffer(),r=new Blob([n]).stream().pipeThrough(new DecompressionStream("gzip")),i=await new Response(r).json();Le=t.dataset.base+"/",t.innerHTML="";for(let s of i)we(s,t,[]);window.app.createComponents(t),window.app.ensureActivePageVisible()}function we(t,e,n){let r=e.appendChild(document.createElement("li"));if(t.children){let i=[...n,t.text],s=r.appendChild(document.createElement("details"));s.className=t.class?`${t.class} tsd-index-accordion`:"tsd-index-accordion",s.dataset.key=i.join("$");let o=s.appendChild(document.createElement("summary"));o.className="tsd-accordion-summary",o.innerHTML='',Ee(t,o);let a=s.appendChild(document.createElement("div"));a.className="tsd-accordion-details";let l=a.appendChild(document.createElement("ul"));l.className="tsd-nested-navigation";for(let u of t.children)we(u,l,i)}else Ee(t,r,t.class)}function Ee(t,e,n){if(t.path){let r=e.appendChild(document.createElement("a"));r.href=Le+t.path,n&&(r.className=n),location.href===r.href&&r.classList.add("current"),t.kind&&(r.innerHTML=``),r.appendChild(document.createElement("span")).textContent=t.text}else e.appendChild(document.createElement("span")).textContent=t.text}G(X,"a[data-toggle]");G(Z,".tsd-index-accordion");G(Y,".tsd-filter-item input[type=checkbox]");var Se=document.getElementById("tsd-theme");Se&&ge(Se);var je=new U;Object.defineProperty(window,"app",{value:je});he();be();})(); /*! Bundled license information: lunr/lunr.js: diff --git a/assets/navigation.js b/assets/navigation.js new file mode 100644 index 0000000..6cc99f1 --- /dev/null +++ b/assets/navigation.js @@ -0,0 +1 @@ +window.navigationData = "data:application/octet-stream;base64,H4sIAAAAAAAAA52Y207cMBCG3yW9hdJdFlq4KqcKVWyLKO0NQsjE3qzpbpImXsqq4t3rnH2eCTcgrf75ftsztse5+xcJ9iKi4+jzkohyu1f/jXainIil/HWd0c2KlXsP9e/N3/dLsV5JyW+e0uh4uhPFS76iBUuj47sed85LiYiXVyRNNiRh5cDkqWDFgsQm1goxjA4OX3cs/pyJZUZH0NsAFJuv2e02HzP2PiTEvyiKrJgzkiLAgzZE/JIV63MWZ5SnCcxU1eOpz6Tg5NEqClW8O9Gx+1OFeilEfpalC54AZTYIddrMXXEXL4KllFF4/gq4C7KX4R4YMgw3V0Ff3EpXJxexCrUOtQjfc8EzTF0N2DYEXgFjtPGKlKUXa05+Mv1k4GTB/CUFrmJ1PbSsLrKnanU5WLfGpvUmzLFhPQk7ofKXah1xi9CA+yA4achjppeGi/ZrmaXXpChRSVPEo5medCnaYK6usiRh2CNWEYfGWclQ826Fo1ie+ba64FznnNIVkxXMgMIchKjK/Fb964miutS8vEprzPfD0cfJwVSrR9dIg1yrGFvogLypTm9sohVxKDmNDJOeXhlIzw37s2GlOM3oFj1MPSI81lp7RnLyyFdcQK2bpUeVwnWRPXM502DabHQXBldGYBrOa8bSh6+bTp6lQivq4BI1YtwhnrBUoBPbkeuo8AnuG3hg+RspZufU+kuSys2GymwrHQdu2u0R+CYAadIc3eiVb+SI/TSXbeyCx6TqjDBjV/XIocvNIYdZgv2fKUcVJLZZteCufttTlI4J+BeoF6ML8xdZbdhtIc+/hXxZ4CrUjIGsCKU3rMxl98suGdEOuMUmjeu+WDeyInSLw5lCp+2b8HR7EscsF+rTxIO3Q1D87sU8gt+FoPjmJgbprk3sZBtvCgDseAdp1KXsYq94KZ90iFSq4gBz7WhaPMRBujsNEIu6a3C8qDxYQx8k19ugftSW2tHlResBMNu6L8LkVm7uehfZcZ6E2cOZEl7tWvwzp0TAKdTUFlU9BdXvZXtxJpvgJ+Bl+FCpHp7Mfs7zNcPxjQiEvtOi2hticjTb/zCDHkcwWw8LwbXWGQduQnxQfw8N0x2xgA22mXb6aMGQEaYfdbv0kYCFtV3RFkMkzsK8I8Ya9fGAndnyoX36QMDA3fuhbYxwwAzZBTqd1FjAxt9Mod0cCJ+p53KHrcxAn4H/noM9HLGAzRv2kHn7wSZvKgTrIkQYmRch2qUP1A28d6KQMdWnEfBabIXYm/G2WljZDP1gxTOYFYWtx6GeUV2rDz6kAj4dI/ym8k3K9fXDb+b6CnL/ev8fkmgu2eUbAAA=" \ No newline at end of file diff --git a/assets/search.js b/assets/search.js index 5157384..d4c1aec 100644 --- a/assets/search.js +++ b/assets/search.js @@ -1 +1 @@ -window.searchData = JSON.parse("{\"kinds\":{\"2\":\"Module\",\"4\":\"Namespace\",\"32\":\"Variable\",\"64\":\"Function\",\"128\":\"Class\",\"256\":\"Interface\",\"512\":\"Constructor\",\"1024\":\"Property\",\"2048\":\"Method\",\"65536\":\"Type literal\",\"262144\":\"Accessor\",\"4194304\":\"Type alias\",\"8388608\":\"Reference\"},\"rows\":[{\"kind\":2,\"name\":\"@hatsy/hatsy\",\"url\":\"modules/_hatsy_hatsy.html\",\"classes\":\"tsd-kind-module\"},{\"kind\":2,\"name\":\"@hatsy/hatsy/core\",\"url\":\"modules/_hatsy_hatsy_core.html\",\"classes\":\"tsd-kind-module\"},{\"kind\":2,\"name\":\"testing\",\"url\":\"modules/testing.html\",\"classes\":\"tsd-kind-module\"},{\"kind\":64,\"name\":\"dispatchError\",\"url\":\"functions/_hatsy_hatsy.dispatchError.html\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"@hatsy/hatsy\"},{\"kind\":256,\"name\":\"ErrorMeans\",\"url\":\"interfaces/_hatsy_hatsy.ErrorMeans.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-module\",\"parent\":\"@hatsy/hatsy\"},{\"kind\":1024,\"name\":\"error\",\"url\":\"interfaces/_hatsy_hatsy.ErrorMeans.html#error\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"@hatsy/hatsy.ErrorMeans\"},{\"kind\":256,\"name\":\"LoggerMeans\",\"url\":\"interfaces/_hatsy_hatsy.LoggerMeans.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-module\",\"parent\":\"@hatsy/hatsy\"},{\"kind\":1024,\"name\":\"log\",\"url\":\"interfaces/_hatsy_hatsy.LoggerMeans.html#log\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"@hatsy/hatsy.LoggerMeans\"},{\"kind\":32,\"name\":\"Logging\",\"url\":\"variables/_hatsy_hatsy.Logging-1.html\",\"classes\":\"tsd-kind-variable tsd-parent-kind-module\",\"parent\":\"@hatsy/hatsy\"},{\"kind\":256,\"name\":\"Logging\",\"url\":\"interfaces/_hatsy_hatsy.Logging.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-module\",\"parent\":\"@hatsy/hatsy\"},{\"kind\":2048,\"name\":\"logBy\",\"url\":\"interfaces/_hatsy_hatsy.Logging.html#logBy\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"@hatsy/hatsy.Logging\"},{\"kind\":2048,\"name\":\"for\",\"url\":\"interfaces/_hatsy_hatsy.Logging.html#for\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"@hatsy/hatsy.Logging\"},{\"kind\":2048,\"name\":\"and\",\"url\":\"interfaces/_hatsy_hatsy.Logging.html#and\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"@hatsy/hatsy.Logging\"},{\"kind\":256,\"name\":\"RequestLogger\",\"url\":\"interfaces/_hatsy_hatsy.RequestLogger.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-module\",\"parent\":\"@hatsy/hatsy\"},{\"kind\":2048,\"name\":\"error\",\"url\":\"interfaces/_hatsy_hatsy.RequestLogger.html#error\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"@hatsy/hatsy.RequestLogger\"},{\"kind\":2048,\"name\":\"warn\",\"url\":\"interfaces/_hatsy_hatsy.RequestLogger.html#warn\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"@hatsy/hatsy.RequestLogger\"},{\"kind\":2048,\"name\":\"info\",\"url\":\"interfaces/_hatsy_hatsy.RequestLogger.html#info\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"@hatsy/hatsy.RequestLogger\"},{\"kind\":2048,\"name\":\"debug\",\"url\":\"interfaces/_hatsy_hatsy.RequestLogger.html#debug\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"@hatsy/hatsy.RequestLogger\"},{\"kind\":2048,\"name\":\"trace\",\"url\":\"interfaces/_hatsy_hatsy.RequestLogger.html#trace\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"@hatsy/hatsy.RequestLogger\"},{\"kind\":256,\"name\":\"RequestBodyMeans\",\"url\":\"interfaces/_hatsy_hatsy.RequestBodyMeans.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-module\",\"parent\":\"@hatsy/hatsy\"},{\"kind\":1024,\"name\":\"requestBody\",\"url\":\"interfaces/_hatsy_hatsy.RequestBodyMeans.html#requestBody\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"@hatsy/hatsy.RequestBodyMeans\"},{\"kind\":128,\"name\":\"RequestCapability\",\"url\":\"classes/_hatsy_hatsy.RequestCapability-1.html\",\"classes\":\"tsd-kind-class tsd-parent-kind-module\",\"parent\":\"@hatsy/hatsy\"},{\"kind\":2048,\"name\":\"of\",\"url\":\"classes/_hatsy_hatsy.RequestCapability-1.html#of\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"@hatsy/hatsy.RequestCapability\"},{\"kind\":2048,\"name\":\"combine\",\"url\":\"classes/_hatsy_hatsy.RequestCapability-1.html#combine\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"@hatsy/hatsy.RequestCapability\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/_hatsy_hatsy.RequestCapability-1.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"@hatsy/hatsy.RequestCapability\"},{\"kind\":2048,\"name\":\"for\",\"url\":\"classes/_hatsy_hatsy.RequestCapability-1.html#for\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"@hatsy/hatsy.RequestCapability\"},{\"kind\":2048,\"name\":\"and\",\"url\":\"classes/_hatsy_hatsy.RequestCapability-1.html#and\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"@hatsy/hatsy.RequestCapability\"},{\"kind\":4,\"name\":\"RequestCapability\",\"url\":\"modules/_hatsy_hatsy.RequestCapability.html\",\"classes\":\"tsd-kind-namespace tsd-parent-kind-module\",\"parent\":\"@hatsy/hatsy\"},{\"kind\":4194304,\"name\":\"Provider\",\"url\":\"types/_hatsy_hatsy.RequestCapability.Provider.html\",\"classes\":\"tsd-kind-type-alias tsd-parent-kind-namespace\",\"parent\":\"@hatsy/hatsy.RequestCapability\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/_hatsy_hatsy.RequestCapability.Provider.html#__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-type-alias\",\"parent\":\"@hatsy/hatsy.RequestCapability.Provider\"},{\"kind\":4194304,\"name\":\"RequestContext\",\"url\":\"types/_hatsy_hatsy.RequestContext-1.html\",\"classes\":\"tsd-kind-type-alias tsd-parent-kind-module\",\"parent\":\"@hatsy/hatsy\"},{\"kind\":4,\"name\":\"RequestContext\",\"url\":\"modules/_hatsy_hatsy.RequestContext.html\",\"classes\":\"tsd-kind-namespace tsd-parent-kind-module\",\"parent\":\"@hatsy/hatsy\"},{\"kind\":256,\"name\":\"Agent\",\"url\":\"interfaces/_hatsy_hatsy.RequestContext.Agent.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-namespace\",\"parent\":\"@hatsy/hatsy.RequestContext\"},{\"kind\":2048,\"name\":\"next\",\"url\":\"interfaces/_hatsy_hatsy.RequestContext.Agent.html#next\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"@hatsy/hatsy.RequestContext.Agent\"},{\"kind\":64,\"name\":\"requestHandler\",\"url\":\"functions/_hatsy_hatsy.requestHandler-1.html\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"@hatsy/hatsy\"},{\"kind\":4194304,\"name\":\"RequestHandler\",\"url\":\"types/_hatsy_hatsy.RequestHandler.html\",\"classes\":\"tsd-kind-type-alias tsd-parent-kind-module\",\"parent\":\"@hatsy/hatsy\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/_hatsy_hatsy.RequestHandler.html#__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-type-alias\",\"parent\":\"@hatsy/hatsy.RequestHandler\"},{\"kind\":4194304,\"name\":\"RequestHandlerMethod\",\"url\":\"types/_hatsy_hatsy.RequestHandlerMethod.html\",\"classes\":\"tsd-kind-type-alias tsd-parent-kind-module\",\"parent\":\"@hatsy/hatsy\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/_hatsy_hatsy.RequestHandlerMethod.html#__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-type-alias\",\"parent\":\"@hatsy/hatsy.RequestHandlerMethod\"},{\"kind\":64,\"name\":\"requestUpdate\",\"url\":\"functions/_hatsy_hatsy.requestUpdate.html\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"@hatsy/hatsy\"},{\"kind\":64,\"name\":\"requestExtension\",\"url\":\"functions/_hatsy_hatsy.requestExtension.html\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"@hatsy/hatsy\"},{\"kind\":4194304,\"name\":\"RequestModification\",\"url\":\"types/_hatsy_hatsy.RequestModification.html\",\"classes\":\"tsd-kind-type-alias tsd-parent-kind-module\",\"parent\":\"@hatsy/hatsy\"},{\"kind\":64,\"name\":\"requestProcessor\",\"url\":\"functions/_hatsy_hatsy.requestProcessor-2.html\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"@hatsy/hatsy\"},{\"kind\":4194304,\"name\":\"RequestProcessor\",\"url\":\"types/_hatsy_hatsy.RequestProcessor-1.html\",\"classes\":\"tsd-kind-type-alias tsd-parent-kind-module\",\"parent\":\"@hatsy/hatsy\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/_hatsy_hatsy.RequestProcessor-1.html#__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-type-alias\",\"parent\":\"@hatsy/hatsy.RequestProcessor\"},{\"kind\":4,\"name\":\"RequestProcessor\",\"url\":\"modules/_hatsy_hatsy.RequestProcessor.html\",\"classes\":\"tsd-kind-namespace tsd-parent-kind-module\",\"parent\":\"@hatsy/hatsy\"},{\"kind\":256,\"name\":\"Config\",\"url\":\"interfaces/_hatsy_hatsy.RequestProcessor.Config.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-namespace\",\"parent\":\"@hatsy/hatsy.RequestProcessor\"},{\"kind\":1024,\"name\":\"handler\",\"url\":\"interfaces/_hatsy_hatsy.RequestProcessor.Config.html#handler\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"@hatsy/hatsy.RequestProcessor.Config\"},{\"kind\":2048,\"name\":\"next\",\"url\":\"interfaces/_hatsy_hatsy.RequestProcessor.Config.html#next\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"@hatsy/hatsy.RequestProcessor.Config\"},{\"kind\":4194304,\"name\":\"RequestValueTransformer\",\"url\":\"types/_hatsy_hatsy.RequestValueTransformer.html\",\"classes\":\"tsd-kind-type-alias tsd-parent-kind-module\",\"parent\":\"@hatsy/hatsy\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/_hatsy_hatsy.RequestValueTransformer.html#__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-type-alias\",\"parent\":\"@hatsy/hatsy.RequestValueTransformer\"},{\"kind\":64,\"name\":\"dispatchByAccepted\",\"url\":\"functions/_hatsy_hatsy.dispatchByAccepted.html\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"@hatsy/hatsy\"},{\"kind\":256,\"name\":\"DispatchMimeTypes\",\"url\":\"interfaces/_hatsy_hatsy.DispatchMimeTypes.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-module\",\"parent\":\"@hatsy/hatsy\"},{\"kind\":1024,\"name\":\"text/html\",\"url\":\"interfaces/_hatsy_hatsy.DispatchMimeTypes.html#text_html\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"@hatsy/hatsy.DispatchMimeTypes\"},{\"kind\":1024,\"name\":\"application/json\",\"url\":\"interfaces/_hatsy_hatsy.DispatchMimeTypes.html#application_json\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"@hatsy/hatsy.DispatchMimeTypes\"},{\"kind\":1024,\"name\":\"*/*\",\"url\":\"interfaces/_hatsy_hatsy.DispatchMimeTypes.html#___\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"@hatsy/hatsy.DispatchMimeTypes\"},{\"kind\":64,\"name\":\"dispatchByLanguage\",\"url\":\"functions/_hatsy_hatsy.dispatchByLanguage.html\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"@hatsy/hatsy\"},{\"kind\":256,\"name\":\"DispatchLanguages\",\"url\":\"interfaces/_hatsy_hatsy.DispatchLanguages.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-module\",\"parent\":\"@hatsy/hatsy\"},{\"kind\":1024,\"name\":\"en\",\"url\":\"interfaces/_hatsy_hatsy.DispatchLanguages.html#en\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"@hatsy/hatsy.DispatchLanguages\"},{\"kind\":1024,\"name\":\"*\",\"url\":\"interfaces/_hatsy_hatsy.DispatchLanguages.html#_\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"@hatsy/hatsy.DispatchLanguages\"},{\"kind\":64,\"name\":\"dispatchByMethod\",\"url\":\"functions/_hatsy_hatsy.dispatchByMethod.html\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"@hatsy/hatsy\"},{\"kind\":256,\"name\":\"DispatchMethods\",\"url\":\"interfaces/_hatsy_hatsy.DispatchMethods.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-module\",\"parent\":\"@hatsy/hatsy\"},{\"kind\":1024,\"name\":\"delete\",\"url\":\"interfaces/_hatsy_hatsy.DispatchMethods.html#delete\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"@hatsy/hatsy.DispatchMethods\"},{\"kind\":1024,\"name\":\"get\",\"url\":\"interfaces/_hatsy_hatsy.DispatchMethods.html#get\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"@hatsy/hatsy.DispatchMethods\"},{\"kind\":1024,\"name\":\"head\",\"url\":\"interfaces/_hatsy_hatsy.DispatchMethods.html#head\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"@hatsy/hatsy.DispatchMethods\"},{\"kind\":1024,\"name\":\"options\",\"url\":\"interfaces/_hatsy_hatsy.DispatchMethods.html#options\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"@hatsy/hatsy.DispatchMethods\"},{\"kind\":1024,\"name\":\"patch\",\"url\":\"interfaces/_hatsy_hatsy.DispatchMethods.html#patch\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"@hatsy/hatsy.DispatchMethods\"},{\"kind\":1024,\"name\":\"post\",\"url\":\"interfaces/_hatsy_hatsy.DispatchMethods.html#post\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"@hatsy/hatsy.DispatchMethods\"},{\"kind\":1024,\"name\":\"put\",\"url\":\"interfaces/_hatsy_hatsy.DispatchMethods.html#put\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"@hatsy/hatsy.DispatchMethods\"},{\"kind\":256,\"name\":\"HttpMeans\",\"url\":\"interfaces/_hatsy_hatsy.HttpMeans-1.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-module\",\"parent\":\"@hatsy/hatsy\"},{\"kind\":1024,\"name\":\"request\",\"url\":\"interfaces/_hatsy_hatsy.HttpMeans-1.html#request\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"@hatsy/hatsy.HttpMeans\"},{\"kind\":1024,\"name\":\"requestAddresses\",\"url\":\"interfaces/_hatsy_hatsy.HttpMeans-1.html#requestAddresses\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"@hatsy/hatsy.HttpMeans\"},{\"kind\":1024,\"name\":\"response\",\"url\":\"interfaces/_hatsy_hatsy.HttpMeans-1.html#response\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"@hatsy/hatsy.HttpMeans\"},{\"kind\":4,\"name\":\"HttpMeans\",\"url\":\"modules/_hatsy_hatsy.HttpMeans.html\",\"classes\":\"tsd-kind-namespace tsd-parent-kind-module\",\"parent\":\"@hatsy/hatsy\"},{\"kind\":256,\"name\":\"Addresses\",\"url\":\"interfaces/_hatsy_hatsy.HttpMeans.Addresses.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-namespace\",\"parent\":\"@hatsy/hatsy.HttpMeans\"},{\"kind\":1024,\"name\":\"url\",\"url\":\"interfaces/_hatsy_hatsy.HttpMeans.Addresses.html#url\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"@hatsy/hatsy.HttpMeans.Addresses\"},{\"kind\":1024,\"name\":\"ip\",\"url\":\"interfaces/_hatsy_hatsy.HttpMeans.Addresses.html#ip\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"@hatsy/hatsy.HttpMeans.Addresses\"},{\"kind\":256,\"name\":\"HttpConfig\",\"url\":\"interfaces/_hatsy_hatsy.HttpConfig-1.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-module\",\"parent\":\"@hatsy/hatsy\"},{\"kind\":1024,\"name\":\"defaultHandler\",\"url\":\"interfaces/_hatsy_hatsy.HttpConfig-1.html#defaultHandler\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"@hatsy/hatsy.HttpConfig\"},{\"kind\":1024,\"name\":\"errorHandler\",\"url\":\"interfaces/_hatsy_hatsy.HttpConfig-1.html#errorHandler\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"@hatsy/hatsy.HttpConfig\"},{\"kind\":1024,\"name\":\"logError\",\"url\":\"interfaces/_hatsy_hatsy.HttpConfig-1.html#logError\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"@hatsy/hatsy.HttpConfig\"},{\"kind\":4,\"name\":\"HttpConfig\",\"url\":\"modules/_hatsy_hatsy.HttpConfig.html\",\"classes\":\"tsd-kind-namespace tsd-parent-kind-module\",\"parent\":\"@hatsy/hatsy\"},{\"kind\":256,\"name\":\"Extended\",\"url\":\"interfaces/_hatsy_hatsy.HttpConfig.Extended.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-namespace\",\"parent\":\"@hatsy/hatsy.HttpConfig\"},{\"kind\":2048,\"name\":\"handleBy\",\"url\":\"interfaces/_hatsy_hatsy.HttpConfig.Extended.html#handleBy\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"@hatsy/hatsy.HttpConfig.Extended\"},{\"kind\":1024,\"name\":\"defaultHandler\",\"url\":\"interfaces/_hatsy_hatsy.HttpConfig.Extended.html#defaultHandler\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"@hatsy/hatsy.HttpConfig.Extended\"},{\"kind\":1024,\"name\":\"errorHandler\",\"url\":\"interfaces/_hatsy_hatsy.HttpConfig.Extended.html#errorHandler\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"@hatsy/hatsy.HttpConfig.Extended\"},{\"kind\":1024,\"name\":\"logError\",\"url\":\"interfaces/_hatsy_hatsy.HttpConfig.Extended.html#logError\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"@hatsy/hatsy.HttpConfig.Extended\"},{\"kind\":128,\"name\":\"HttpError\",\"url\":\"classes/_hatsy_hatsy.HttpError-1.html\",\"classes\":\"tsd-kind-class tsd-parent-kind-module\",\"parent\":\"@hatsy/hatsy\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/_hatsy_hatsy.HttpError-1.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"@hatsy/hatsy.HttpError\"},{\"kind\":1024,\"name\":\"statusMessage\",\"url\":\"classes/_hatsy_hatsy.HttpError-1.html#statusMessage\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"@hatsy/hatsy.HttpError\"},{\"kind\":1024,\"name\":\"details\",\"url\":\"classes/_hatsy_hatsy.HttpError-1.html#details\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"@hatsy/hatsy.HttpError\"},{\"kind\":1024,\"name\":\"reason\",\"url\":\"classes/_hatsy_hatsy.HttpError-1.html#reason\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"@hatsy/hatsy.HttpError\"},{\"kind\":1024,\"name\":\"statusCode\",\"url\":\"classes/_hatsy_hatsy.HttpError-1.html#statusCode\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"@hatsy/hatsy.HttpError\"},{\"kind\":2048,\"name\":\"toLog\",\"url\":\"classes/_hatsy_hatsy.HttpError-1.html#toLog\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"@hatsy/hatsy.HttpError\"},{\"kind\":4,\"name\":\"HttpError\",\"url\":\"modules/_hatsy_hatsy.HttpError.html\",\"classes\":\"tsd-kind-namespace tsd-parent-kind-module\",\"parent\":\"@hatsy/hatsy\"},{\"kind\":256,\"name\":\"Options\",\"url\":\"interfaces/_hatsy_hatsy.HttpError.Options.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-namespace\",\"parent\":\"@hatsy/hatsy.HttpError\"},{\"kind\":1024,\"name\":\"statusMessage\",\"url\":\"interfaces/_hatsy_hatsy.HttpError.Options.html#statusMessage\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"@hatsy/hatsy.HttpError.Options\"},{\"kind\":1024,\"name\":\"message\",\"url\":\"interfaces/_hatsy_hatsy.HttpError.Options.html#message\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"@hatsy/hatsy.HttpError.Options\"},{\"kind\":1024,\"name\":\"details\",\"url\":\"interfaces/_hatsy_hatsy.HttpError.Options.html#details\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"@hatsy/hatsy.HttpError.Options\"},{\"kind\":1024,\"name\":\"reason\",\"url\":\"interfaces/_hatsy_hatsy.HttpError.Options.html#reason\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"@hatsy/hatsy.HttpError.Options\"},{\"kind\":64,\"name\":\"httpListener\",\"url\":\"functions/_hatsy_hatsy.httpListener.html\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"@hatsy/hatsy\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"functions/_hatsy_hatsy.httpListener.html#httpListener.__type\",\"classes\":\"tsd-kind-type-literal\",\"parent\":\"@hatsy/hatsy.httpListener.httpListener\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"functions/_hatsy_hatsy.httpListener.html#httpListener-1.__type-2\",\"classes\":\"tsd-kind-type-literal\",\"parent\":\"@hatsy/hatsy.httpListener.httpListener\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"functions/_hatsy_hatsy.httpListener.html#httpListener-2.__type-4\",\"classes\":\"tsd-kind-type-literal\",\"parent\":\"@hatsy/hatsy.httpListener.httpListener\"},{\"kind\":64,\"name\":\"middleware\",\"url\":\"functions/_hatsy_hatsy.middleware-2.html\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"@hatsy/hatsy\"},{\"kind\":4194304,\"name\":\"Middleware\",\"url\":\"types/_hatsy_hatsy.Middleware-1.html\",\"classes\":\"tsd-kind-type-alias tsd-parent-kind-module\",\"parent\":\"@hatsy/hatsy\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/_hatsy_hatsy.Middleware-1.html#__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-type-alias\",\"parent\":\"@hatsy/hatsy.Middleware\"},{\"kind\":4,\"name\":\"Middleware\",\"url\":\"modules/_hatsy_hatsy.Middleware.html\",\"classes\":\"tsd-kind-namespace tsd-parent-kind-module\",\"parent\":\"@hatsy/hatsy\"},{\"kind\":4194304,\"name\":\"Next\",\"url\":\"types/_hatsy_hatsy.Middleware.Next.html\",\"classes\":\"tsd-kind-type-alias tsd-parent-kind-namespace\",\"parent\":\"@hatsy/hatsy.Middleware\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/_hatsy_hatsy.Middleware.Next.html#__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-type-alias\",\"parent\":\"@hatsy/hatsy.Middleware.Next\"},{\"kind\":256,\"name\":\"RenderMeans\",\"url\":\"interfaces/_hatsy_hatsy.RenderMeans.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-module\",\"parent\":\"@hatsy/hatsy\"},{\"kind\":2048,\"name\":\"renderBody\",\"url\":\"interfaces/_hatsy_hatsy.RenderMeans.html#renderBody\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"@hatsy/hatsy.RenderMeans\"},{\"kind\":2048,\"name\":\"renderHtml\",\"url\":\"interfaces/_hatsy_hatsy.RenderMeans.html#renderHtml\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"@hatsy/hatsy.RenderMeans\"},{\"kind\":2048,\"name\":\"renderJson\",\"url\":\"interfaces/_hatsy_hatsy.RenderMeans.html#renderJson\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"@hatsy/hatsy.RenderMeans\"},{\"kind\":64,\"name\":\"renderHttpError\",\"url\":\"functions/_hatsy_hatsy.renderHttpError.html\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"@hatsy/hatsy\"},{\"kind\":32,\"name\":\"Rendering\",\"url\":\"variables/_hatsy_hatsy.Rendering.html\",\"classes\":\"tsd-kind-variable tsd-parent-kind-module\",\"parent\":\"@hatsy/hatsy\"},{\"kind\":32,\"name\":\"HttpForwarding\",\"url\":\"variables/_hatsy_hatsy.HttpForwarding-1.html\",\"classes\":\"tsd-kind-variable tsd-parent-kind-module\",\"parent\":\"@hatsy/hatsy\"},{\"kind\":256,\"name\":\"HttpForwarding\",\"url\":\"interfaces/_hatsy_hatsy.HttpForwarding.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-module\",\"parent\":\"@hatsy/hatsy\"},{\"kind\":2048,\"name\":\"with\",\"url\":\"interfaces/_hatsy_hatsy.HttpForwarding.html#with\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"@hatsy/hatsy.HttpForwarding\"},{\"kind\":2048,\"name\":\"for\",\"url\":\"interfaces/_hatsy_hatsy.HttpForwarding.html#for\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"@hatsy/hatsy.HttpForwarding\"},{\"kind\":2048,\"name\":\"and\",\"url\":\"interfaces/_hatsy_hatsy.HttpForwarding.html#and\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"@hatsy/hatsy.HttpForwarding\"},{\"kind\":32,\"name\":\"FormDecoding\",\"url\":\"variables/_hatsy_hatsy.FormDecoding-1.html\",\"classes\":\"tsd-kind-variable tsd-parent-kind-module\",\"parent\":\"@hatsy/hatsy\"},{\"kind\":256,\"name\":\"FormDecoding\",\"url\":\"interfaces/_hatsy_hatsy.FormDecoding.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-module\",\"parent\":\"@hatsy/hatsy\"},{\"kind\":2048,\"name\":\"withBody\",\"url\":\"interfaces/_hatsy_hatsy.FormDecoding.html#withBody\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"@hatsy/hatsy.FormDecoding\"},{\"kind\":2048,\"name\":\"for\",\"url\":\"interfaces/_hatsy_hatsy.FormDecoding.html#for\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"@hatsy/hatsy.FormDecoding\"},{\"kind\":2048,\"name\":\"and\",\"url\":\"interfaces/_hatsy_hatsy.FormDecoding.html#and\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"@hatsy/hatsy.FormDecoding\"},{\"kind\":32,\"name\":\"JsonParsing\",\"url\":\"variables/_hatsy_hatsy.JsonParsing-1.html\",\"classes\":\"tsd-kind-variable tsd-parent-kind-module\",\"parent\":\"@hatsy/hatsy\"},{\"kind\":256,\"name\":\"JsonParsing\",\"url\":\"interfaces/_hatsy_hatsy.JsonParsing.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-module\",\"parent\":\"@hatsy/hatsy\"},{\"kind\":2048,\"name\":\"withBody\",\"url\":\"interfaces/_hatsy_hatsy.JsonParsing.html#withBody\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"@hatsy/hatsy.JsonParsing\"},{\"kind\":2048,\"name\":\"for\",\"url\":\"interfaces/_hatsy_hatsy.JsonParsing.html#for\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"@hatsy/hatsy.JsonParsing\"},{\"kind\":2048,\"name\":\"and\",\"url\":\"interfaces/_hatsy_hatsy.JsonParsing.html#and\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"@hatsy/hatsy.JsonParsing\"},{\"kind\":64,\"name\":\"addResponseHeader\",\"url\":\"functions/_hatsy_hatsy.addResponseHeader.html\",\"classes\":\"tsd-kind-function tsd-parent-kind-module\",\"parent\":\"@hatsy/hatsy\"},{\"kind\":8388608,\"name\":\"dispatchError\",\"url\":\"modules/_hatsy_hatsy_core.html#dispatchError\",\"classes\":\"tsd-kind-reference tsd-parent-kind-module\",\"parent\":\"@hatsy/hatsy/core\"},{\"kind\":8388608,\"name\":\"ErrorMeans\",\"url\":\"modules/_hatsy_hatsy_core.html#ErrorMeans\",\"classes\":\"tsd-kind-reference tsd-parent-kind-module\",\"parent\":\"@hatsy/hatsy/core\"},{\"kind\":8388608,\"name\":\"LoggerMeans\",\"url\":\"modules/_hatsy_hatsy_core.html#LoggerMeans\",\"classes\":\"tsd-kind-reference tsd-parent-kind-module\",\"parent\":\"@hatsy/hatsy/core\"},{\"kind\":8388608,\"name\":\"Logging\",\"url\":\"modules/_hatsy_hatsy_core.html#Logging\",\"classes\":\"tsd-kind-reference tsd-parent-kind-module\",\"parent\":\"@hatsy/hatsy/core\"},{\"kind\":8388608,\"name\":\"RequestLogger\",\"url\":\"modules/_hatsy_hatsy_core.html#RequestLogger\",\"classes\":\"tsd-kind-reference tsd-parent-kind-module\",\"parent\":\"@hatsy/hatsy/core\"},{\"kind\":8388608,\"name\":\"RequestBodyMeans\",\"url\":\"modules/_hatsy_hatsy_core.html#RequestBodyMeans\",\"classes\":\"tsd-kind-reference tsd-parent-kind-module\",\"parent\":\"@hatsy/hatsy/core\"},{\"kind\":8388608,\"name\":\"RequestCapability\",\"url\":\"modules/_hatsy_hatsy_core.html#RequestCapability\",\"classes\":\"tsd-kind-reference tsd-parent-kind-module\",\"parent\":\"@hatsy/hatsy/core\"},{\"kind\":8388608,\"name\":\"RequestContext\",\"url\":\"modules/_hatsy_hatsy_core.html#RequestContext\",\"classes\":\"tsd-kind-reference tsd-parent-kind-module\",\"parent\":\"@hatsy/hatsy/core\"},{\"kind\":8388608,\"name\":\"requestHandler\",\"url\":\"modules/_hatsy_hatsy_core.html#requestHandler-1\",\"classes\":\"tsd-kind-reference tsd-parent-kind-module\",\"parent\":\"@hatsy/hatsy/core\"},{\"kind\":8388608,\"name\":\"RequestHandler\",\"url\":\"modules/_hatsy_hatsy_core.html#RequestHandler\",\"classes\":\"tsd-kind-reference tsd-parent-kind-module\",\"parent\":\"@hatsy/hatsy/core\"},{\"kind\":8388608,\"name\":\"RequestHandlerMethod\",\"url\":\"modules/_hatsy_hatsy_core.html#RequestHandlerMethod\",\"classes\":\"tsd-kind-reference tsd-parent-kind-module\",\"parent\":\"@hatsy/hatsy/core\"},{\"kind\":8388608,\"name\":\"requestUpdate\",\"url\":\"modules/_hatsy_hatsy_core.html#requestUpdate\",\"classes\":\"tsd-kind-reference tsd-parent-kind-module\",\"parent\":\"@hatsy/hatsy/core\"},{\"kind\":8388608,\"name\":\"requestExtension\",\"url\":\"modules/_hatsy_hatsy_core.html#requestExtension\",\"classes\":\"tsd-kind-reference tsd-parent-kind-module\",\"parent\":\"@hatsy/hatsy/core\"},{\"kind\":8388608,\"name\":\"RequestModification\",\"url\":\"modules/_hatsy_hatsy_core.html#RequestModification\",\"classes\":\"tsd-kind-reference tsd-parent-kind-module\",\"parent\":\"@hatsy/hatsy/core\"},{\"kind\":8388608,\"name\":\"requestProcessor\",\"url\":\"modules/_hatsy_hatsy_core.html#requestProcessor-1\",\"classes\":\"tsd-kind-reference tsd-parent-kind-module\",\"parent\":\"@hatsy/hatsy/core\"},{\"kind\":8388608,\"name\":\"RequestProcessor\",\"url\":\"modules/_hatsy_hatsy_core.html#RequestProcessor\",\"classes\":\"tsd-kind-reference tsd-parent-kind-module\",\"parent\":\"@hatsy/hatsy/core\"},{\"kind\":8388608,\"name\":\"RequestValueTransformer\",\"url\":\"modules/_hatsy_hatsy_core.html#RequestValueTransformer\",\"classes\":\"tsd-kind-reference tsd-parent-kind-module\",\"parent\":\"@hatsy/hatsy/core\"},{\"kind\":128,\"name\":\"TestHttpServer\",\"url\":\"classes/testing.TestHttpServer-1.html\",\"classes\":\"tsd-kind-class tsd-parent-kind-module\",\"parent\":\"testing\"},{\"kind\":2048,\"name\":\"start\",\"url\":\"classes/testing.TestHttpServer-1.html#start\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"testing.TestHttpServer\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/testing.TestHttpServer-1.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class tsd-is-private\",\"parent\":\"testing.TestHttpServer\"},{\"kind\":1024,\"name\":\"_listener\",\"url\":\"classes/testing.TestHttpServer-1.html#_listener\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"testing.TestHttpServer\"},{\"kind\":1024,\"name\":\"_server\",\"url\":\"classes/testing.TestHttpServer-1.html#_server\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"testing.TestHttpServer\"},{\"kind\":262144,\"name\":\"server\",\"url\":\"classes/testing.TestHttpServer-1.html#server\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"testing.TestHttpServer\"},{\"kind\":262144,\"name\":\"address\",\"url\":\"classes/testing.TestHttpServer-1.html#address\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"testing.TestHttpServer\"},{\"kind\":2048,\"name\":\"listenBy\",\"url\":\"classes/testing.TestHttpServer-1.html#listenBy\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"testing.TestHttpServer\"},{\"kind\":2048,\"name\":\"handleBy\",\"url\":\"classes/testing.TestHttpServer-1.html#handleBy\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"testing.TestHttpServer\"},{\"kind\":2048,\"name\":\"_start\",\"url\":\"classes/testing.TestHttpServer-1.html#_start\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-private\",\"parent\":\"testing.TestHttpServer\"},{\"kind\":2048,\"name\":\"post\",\"url\":\"classes/testing.TestHttpServer-1.html#post\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"testing.TestHttpServer\"},{\"kind\":2048,\"name\":\"get\",\"url\":\"classes/testing.TestHttpServer-1.html#get\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"testing.TestHttpServer\"},{\"kind\":2048,\"name\":\"stop\",\"url\":\"classes/testing.TestHttpServer-1.html#stop\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"testing.TestHttpServer\"},{\"kind\":4,\"name\":\"TestHttpServer\",\"url\":\"modules/testing.TestHttpServer.html\",\"classes\":\"tsd-kind-namespace tsd-parent-kind-module\",\"parent\":\"testing\"},{\"kind\":256,\"name\":\"Response\",\"url\":\"interfaces/testing.TestHttpServer.Response.html\",\"classes\":\"tsd-kind-interface tsd-parent-kind-namespace\",\"parent\":\"testing.TestHttpServer\"},{\"kind\":2048,\"name\":\"body\",\"url\":\"interfaces/testing.TestHttpServer.Response.html#body\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"testing.TestHttpServer.Response\"}],\"index\":{\"version\":\"2.3.9\",\"fields\":[\"name\",\"comment\"],\"fieldVectors\":[[\"name/0\",[0,47.065]],[\"comment/0\",[]],[\"name/1\",[1,47.065]],[\"comment/1\",[]],[\"name/2\",[2,47.065]],[\"comment/2\",[]],[\"name/3\",[3,41.957]],[\"comment/3\",[]],[\"name/4\",[4,41.957]],[\"comment/4\",[]],[\"name/5\",[5,41.957]],[\"comment/5\",[]],[\"name/6\",[6,41.957]],[\"comment/6\",[]],[\"name/7\",[7,47.065]],[\"comment/7\",[]],[\"name/8\",[8,38.592]],[\"comment/8\",[]],[\"name/9\",[8,38.592]],[\"comment/9\",[]],[\"name/10\",[9,47.065]],[\"comment/10\",[]],[\"name/11\",[10,34.072]],[\"comment/11\",[]],[\"name/12\",[11,34.072]],[\"comment/12\",[]],[\"name/13\",[12,41.957]],[\"comment/13\",[]],[\"name/14\",[5,41.957]],[\"comment/14\",[]],[\"name/15\",[13,47.065]],[\"comment/15\",[]],[\"name/16\",[14,47.065]],[\"comment/16\",[]],[\"name/17\",[15,47.065]],[\"comment/17\",[]],[\"name/18\",[16,47.065]],[\"comment/18\",[]],[\"name/19\",[17,41.957]],[\"comment/19\",[]],[\"name/20\",[18,47.065]],[\"comment/20\",[]],[\"name/21\",[19,38.592]],[\"comment/21\",[]],[\"name/22\",[20,47.065]],[\"comment/22\",[]],[\"name/23\",[21,47.065]],[\"comment/23\",[]],[\"name/24\",[22,38.592]],[\"comment/24\",[]],[\"name/25\",[10,34.072]],[\"comment/25\",[]],[\"name/26\",[11,34.072]],[\"comment/26\",[]],[\"name/27\",[19,38.592]],[\"comment/27\",[]],[\"name/28\",[23,47.065]],[\"comment/28\",[]],[\"name/29\",[24,27.606]],[\"comment/29\",[]],[\"name/30\",[25,38.592]],[\"comment/30\",[]],[\"name/31\",[25,38.592]],[\"comment/31\",[]],[\"name/32\",[26,47.065]],[\"comment/32\",[]],[\"name/33\",[27,38.592]],[\"comment/33\",[]],[\"name/34\",[28,36.079]],[\"comment/34\",[]],[\"name/35\",[28,36.079]],[\"comment/35\",[]],[\"name/36\",[24,27.606]],[\"comment/36\",[]],[\"name/37\",[29,41.957]],[\"comment/37\",[]],[\"name/38\",[24,27.606]],[\"comment/38\",[]],[\"name/39\",[30,41.957]],[\"comment/39\",[]],[\"name/40\",[31,41.957]],[\"comment/40\",[]],[\"name/41\",[32,41.957]],[\"comment/41\",[]],[\"name/42\",[33,34.072]],[\"comment/42\",[]],[\"name/43\",[33,34.072]],[\"comment/43\",[]],[\"name/44\",[24,27.606]],[\"comment/44\",[]],[\"name/45\",[33,34.072]],[\"comment/45\",[]],[\"name/46\",[34,47.065]],[\"comment/46\",[]],[\"name/47\",[35,47.065]],[\"comment/47\",[]],[\"name/48\",[27,38.592]],[\"comment/48\",[]],[\"name/49\",[36,41.957]],[\"comment/49\",[]],[\"name/50\",[24,27.606]],[\"comment/50\",[]],[\"name/51\",[37,47.065]],[\"comment/51\",[]],[\"name/52\",[38,47.065]],[\"comment/52\",[]],[\"name/53\",[39,47.065]],[\"comment/53\",[]],[\"name/54\",[40,47.065]],[\"comment/54\",[]],[\"name/55\",[41,41.957]],[\"comment/55\",[]],[\"name/56\",[42,47.065]],[\"comment/56\",[]],[\"name/57\",[43,47.065]],[\"comment/57\",[]],[\"name/58\",[44,47.065]],[\"comment/58\",[]],[\"name/59\",[41,41.957]],[\"comment/59\",[]],[\"name/60\",[45,47.065]],[\"comment/60\",[]],[\"name/61\",[46,47.065]],[\"comment/61\",[]],[\"name/62\",[47,47.065]],[\"comment/62\",[]],[\"name/63\",[48,41.957]],[\"comment/63\",[]],[\"name/64\",[49,47.065]],[\"comment/64\",[]],[\"name/65\",[50,41.957]],[\"comment/65\",[]],[\"name/66\",[51,47.065]],[\"comment/66\",[]],[\"name/67\",[52,41.957]],[\"comment/67\",[]],[\"name/68\",[53,47.065]],[\"comment/68\",[]],[\"name/69\",[54,41.957]],[\"comment/69\",[]],[\"name/70\",[55,47.065]],[\"comment/70\",[]],[\"name/71\",[56,47.065]],[\"comment/71\",[]],[\"name/72\",[57,41.957]],[\"comment/72\",[]],[\"name/73\",[54,41.957]],[\"comment/73\",[]],[\"name/74\",[58,47.065]],[\"comment/74\",[]],[\"name/75\",[59,47.065]],[\"comment/75\",[]],[\"name/76\",[60,47.065]],[\"comment/76\",[]],[\"name/77\",[61,41.957]],[\"comment/77\",[]],[\"name/78\",[62,41.957]],[\"comment/78\",[]],[\"name/79\",[63,41.957]],[\"comment/79\",[]],[\"name/80\",[64,41.957]],[\"comment/80\",[]],[\"name/81\",[61,41.957]],[\"comment/81\",[]],[\"name/82\",[65,47.065]],[\"comment/82\",[]],[\"name/83\",[66,41.957]],[\"comment/83\",[]],[\"name/84\",[62,41.957]],[\"comment/84\",[]],[\"name/85\",[63,41.957]],[\"comment/85\",[]],[\"name/86\",[64,41.957]],[\"comment/86\",[]],[\"name/87\",[67,41.957]],[\"comment/87\",[]],[\"name/88\",[22,38.592]],[\"comment/88\",[]],[\"name/89\",[68,41.957]],[\"comment/89\",[]],[\"name/90\",[69,41.957]],[\"comment/90\",[]],[\"name/91\",[70,41.957]],[\"comment/91\",[]],[\"name/92\",[71,47.065]],[\"comment/92\",[]],[\"name/93\",[72,47.065]],[\"comment/93\",[]],[\"name/94\",[67,41.957]],[\"comment/94\",[]],[\"name/95\",[50,41.957]],[\"comment/95\",[]],[\"name/96\",[68,41.957]],[\"comment/96\",[]],[\"name/97\",[73,47.065]],[\"comment/97\",[]],[\"name/98\",[69,41.957]],[\"comment/98\",[]],[\"name/99\",[70,41.957]],[\"comment/99\",[]],[\"name/100\",[74,47.065]],[\"comment/100\",[]],[\"name/101\",[24,27.606]],[\"comment/101\",[]],[\"name/102\",[24,27.606]],[\"comment/102\",[]],[\"name/103\",[24,27.606]],[\"comment/103\",[]],[\"name/104\",[75,38.592]],[\"comment/104\",[]],[\"name/105\",[75,38.592]],[\"comment/105\",[]],[\"name/106\",[24,27.606]],[\"comment/106\",[]],[\"name/107\",[75,38.592]],[\"comment/107\",[]],[\"name/108\",[27,38.592]],[\"comment/108\",[]],[\"name/109\",[24,27.606]],[\"comment/109\",[]],[\"name/110\",[76,47.065]],[\"comment/110\",[]],[\"name/111\",[77,47.065]],[\"comment/111\",[]],[\"name/112\",[78,47.065]],[\"comment/112\",[]],[\"name/113\",[79,47.065]],[\"comment/113\",[]],[\"name/114\",[80,47.065]],[\"comment/114\",[]],[\"name/115\",[81,47.065]],[\"comment/115\",[]],[\"name/116\",[82,41.957]],[\"comment/116\",[]],[\"name/117\",[82,41.957]],[\"comment/117\",[]],[\"name/118\",[83,47.065]],[\"comment/118\",[]],[\"name/119\",[10,34.072]],[\"comment/119\",[]],[\"name/120\",[11,34.072]],[\"comment/120\",[]],[\"name/121\",[84,41.957]],[\"comment/121\",[]],[\"name/122\",[84,41.957]],[\"comment/122\",[]],[\"name/123\",[85,41.957]],[\"comment/123\",[]],[\"name/124\",[10,34.072]],[\"comment/124\",[]],[\"name/125\",[11,34.072]],[\"comment/125\",[]],[\"name/126\",[86,41.957]],[\"comment/126\",[]],[\"name/127\",[86,41.957]],[\"comment/127\",[]],[\"name/128\",[85,41.957]],[\"comment/128\",[]],[\"name/129\",[10,34.072]],[\"comment/129\",[]],[\"name/130\",[11,34.072]],[\"comment/130\",[]],[\"name/131\",[87,47.065]],[\"comment/131\",[]],[\"name/132\",[3,41.957]],[\"comment/132\",[]],[\"name/133\",[4,41.957]],[\"comment/133\",[]],[\"name/134\",[6,41.957]],[\"comment/134\",[]],[\"name/135\",[8,38.592]],[\"comment/135\",[]],[\"name/136\",[12,41.957]],[\"comment/136\",[]],[\"name/137\",[17,41.957]],[\"comment/137\",[]],[\"name/138\",[19,38.592]],[\"comment/138\",[]],[\"name/139\",[25,38.592]],[\"comment/139\",[]],[\"name/140\",[28,36.079]],[\"comment/140\",[]],[\"name/141\",[28,36.079]],[\"comment/141\",[]],[\"name/142\",[29,41.957]],[\"comment/142\",[]],[\"name/143\",[30,41.957]],[\"comment/143\",[]],[\"name/144\",[31,41.957]],[\"comment/144\",[]],[\"name/145\",[32,41.957]],[\"comment/145\",[]],[\"name/146\",[33,34.072]],[\"comment/146\",[]],[\"name/147\",[33,34.072]],[\"comment/147\",[]],[\"name/148\",[36,41.957]],[\"comment/148\",[]],[\"name/149\",[88,41.957]],[\"comment/149\",[]],[\"name/150\",[89,47.065]],[\"comment/150\",[]],[\"name/151\",[22,38.592]],[\"comment/151\",[]],[\"name/152\",[90,47.065]],[\"comment/152\",[]],[\"name/153\",[91,47.065]],[\"comment/153\",[]],[\"name/154\",[92,47.065]],[\"comment/154\",[]],[\"name/155\",[93,47.065]],[\"comment/155\",[]],[\"name/156\",[94,47.065]],[\"comment/156\",[]],[\"name/157\",[66,41.957]],[\"comment/157\",[]],[\"name/158\",[95,47.065]],[\"comment/158\",[]],[\"name/159\",[52,41.957]],[\"comment/159\",[]],[\"name/160\",[48,41.957]],[\"comment/160\",[]],[\"name/161\",[96,47.065]],[\"comment/161\",[]],[\"name/162\",[88,41.957]],[\"comment/162\",[]],[\"name/163\",[57,41.957]],[\"comment/163\",[]],[\"name/164\",[97,47.065]],[\"comment/164\",[]]],\"invertedIndex\":[[\"\",{\"_index\":41,\"name\":{\"55\":{},\"59\":{}},\"comment\":{}}],[\"__type\",{\"_index\":24,\"name\":{\"29\":{},\"36\":{},\"38\":{},\"44\":{},\"50\":{},\"101\":{},\"102\":{},\"103\":{},\"106\":{},\"109\":{}},\"comment\":{}}],[\"_listener\",{\"_index\":90,\"name\":{\"152\":{}},\"comment\":{}}],[\"_server\",{\"_index\":91,\"name\":{\"153\":{}},\"comment\":{}}],[\"_start\",{\"_index\":95,\"name\":{\"158\":{}},\"comment\":{}}],[\"addresponseheader\",{\"_index\":87,\"name\":{\"131\":{}},\"comment\":{}}],[\"address\",{\"_index\":93,\"name\":{\"155\":{}},\"comment\":{}}],[\"addresses\",{\"_index\":58,\"name\":{\"74\":{}},\"comment\":{}}],[\"agent\",{\"_index\":26,\"name\":{\"32\":{}},\"comment\":{}}],[\"and\",{\"_index\":11,\"name\":{\"12\":{},\"26\":{},\"120\":{},\"125\":{},\"130\":{}},\"comment\":{}}],[\"application/json\",{\"_index\":40,\"name\":{\"54\":{}},\"comment\":{}}],[\"body\",{\"_index\":97,\"name\":{\"164\":{}},\"comment\":{}}],[\"combine\",{\"_index\":21,\"name\":{\"23\":{}},\"comment\":{}}],[\"config\",{\"_index\":34,\"name\":{\"46\":{}},\"comment\":{}}],[\"constructor\",{\"_index\":22,\"name\":{\"24\":{},\"88\":{},\"151\":{}},\"comment\":{}}],[\"debug\",{\"_index\":15,\"name\":{\"17\":{}},\"comment\":{}}],[\"defaulthandler\",{\"_index\":62,\"name\":{\"78\":{},\"84\":{}},\"comment\":{}}],[\"delete\",{\"_index\":47,\"name\":{\"62\":{}},\"comment\":{}}],[\"details\",{\"_index\":69,\"name\":{\"90\":{},\"98\":{}},\"comment\":{}}],[\"dispatchbyaccepted\",{\"_index\":37,\"name\":{\"51\":{}},\"comment\":{}}],[\"dispatchbylanguage\",{\"_index\":42,\"name\":{\"56\":{}},\"comment\":{}}],[\"dispatchbymethod\",{\"_index\":45,\"name\":{\"60\":{}},\"comment\":{}}],[\"dispatcherror\",{\"_index\":3,\"name\":{\"3\":{},\"132\":{}},\"comment\":{}}],[\"dispatchlanguages\",{\"_index\":43,\"name\":{\"57\":{}},\"comment\":{}}],[\"dispatchmethods\",{\"_index\":46,\"name\":{\"61\":{}},\"comment\":{}}],[\"dispatchmimetypes\",{\"_index\":38,\"name\":{\"52\":{}},\"comment\":{}}],[\"en\",{\"_index\":44,\"name\":{\"58\":{}},\"comment\":{}}],[\"error\",{\"_index\":5,\"name\":{\"5\":{},\"14\":{}},\"comment\":{}}],[\"errorhandler\",{\"_index\":63,\"name\":{\"79\":{},\"85\":{}},\"comment\":{}}],[\"errormeans\",{\"_index\":4,\"name\":{\"4\":{},\"133\":{}},\"comment\":{}}],[\"extended\",{\"_index\":65,\"name\":{\"82\":{}},\"comment\":{}}],[\"for\",{\"_index\":10,\"name\":{\"11\":{},\"25\":{},\"119\":{},\"124\":{},\"129\":{}},\"comment\":{}}],[\"formdecoding\",{\"_index\":84,\"name\":{\"121\":{},\"122\":{}},\"comment\":{}}],[\"get\",{\"_index\":48,\"name\":{\"63\":{},\"160\":{}},\"comment\":{}}],[\"handleby\",{\"_index\":66,\"name\":{\"83\":{},\"157\":{}},\"comment\":{}}],[\"handler\",{\"_index\":35,\"name\":{\"47\":{}},\"comment\":{}}],[\"hatsy/hatsy\",{\"_index\":0,\"name\":{\"0\":{}},\"comment\":{}}],[\"hatsy/hatsy/core\",{\"_index\":1,\"name\":{\"1\":{}},\"comment\":{}}],[\"head\",{\"_index\":49,\"name\":{\"64\":{}},\"comment\":{}}],[\"httpconfig\",{\"_index\":61,\"name\":{\"77\":{},\"81\":{}},\"comment\":{}}],[\"httperror\",{\"_index\":67,\"name\":{\"87\":{},\"94\":{}},\"comment\":{}}],[\"httpforwarding\",{\"_index\":82,\"name\":{\"116\":{},\"117\":{}},\"comment\":{}}],[\"httplistener\",{\"_index\":74,\"name\":{\"100\":{}},\"comment\":{}}],[\"httpmeans\",{\"_index\":54,\"name\":{\"69\":{},\"73\":{}},\"comment\":{}}],[\"info\",{\"_index\":14,\"name\":{\"16\":{}},\"comment\":{}}],[\"ip\",{\"_index\":60,\"name\":{\"76\":{}},\"comment\":{}}],[\"jsonparsing\",{\"_index\":86,\"name\":{\"126\":{},\"127\":{}},\"comment\":{}}],[\"listenby\",{\"_index\":94,\"name\":{\"156\":{}},\"comment\":{}}],[\"log\",{\"_index\":7,\"name\":{\"7\":{}},\"comment\":{}}],[\"logby\",{\"_index\":9,\"name\":{\"10\":{}},\"comment\":{}}],[\"logerror\",{\"_index\":64,\"name\":{\"80\":{},\"86\":{}},\"comment\":{}}],[\"loggermeans\",{\"_index\":6,\"name\":{\"6\":{},\"134\":{}},\"comment\":{}}],[\"logging\",{\"_index\":8,\"name\":{\"8\":{},\"9\":{},\"135\":{}},\"comment\":{}}],[\"message\",{\"_index\":73,\"name\":{\"97\":{}},\"comment\":{}}],[\"middleware\",{\"_index\":75,\"name\":{\"104\":{},\"105\":{},\"107\":{}},\"comment\":{}}],[\"next\",{\"_index\":27,\"name\":{\"33\":{},\"48\":{},\"108\":{}},\"comment\":{}}],[\"of\",{\"_index\":20,\"name\":{\"22\":{}},\"comment\":{}}],[\"options\",{\"_index\":50,\"name\":{\"65\":{},\"95\":{}},\"comment\":{}}],[\"patch\",{\"_index\":51,\"name\":{\"66\":{}},\"comment\":{}}],[\"post\",{\"_index\":52,\"name\":{\"67\":{},\"159\":{}},\"comment\":{}}],[\"provider\",{\"_index\":23,\"name\":{\"28\":{}},\"comment\":{}}],[\"put\",{\"_index\":53,\"name\":{\"68\":{}},\"comment\":{}}],[\"reason\",{\"_index\":70,\"name\":{\"91\":{},\"99\":{}},\"comment\":{}}],[\"renderbody\",{\"_index\":77,\"name\":{\"111\":{}},\"comment\":{}}],[\"renderhtml\",{\"_index\":78,\"name\":{\"112\":{}},\"comment\":{}}],[\"renderhttperror\",{\"_index\":80,\"name\":{\"114\":{}},\"comment\":{}}],[\"rendering\",{\"_index\":81,\"name\":{\"115\":{}},\"comment\":{}}],[\"renderjson\",{\"_index\":79,\"name\":{\"113\":{}},\"comment\":{}}],[\"rendermeans\",{\"_index\":76,\"name\":{\"110\":{}},\"comment\":{}}],[\"request\",{\"_index\":55,\"name\":{\"70\":{}},\"comment\":{}}],[\"requestaddresses\",{\"_index\":56,\"name\":{\"71\":{}},\"comment\":{}}],[\"requestbody\",{\"_index\":18,\"name\":{\"20\":{}},\"comment\":{}}],[\"requestbodymeans\",{\"_index\":17,\"name\":{\"19\":{},\"137\":{}},\"comment\":{}}],[\"requestcapability\",{\"_index\":19,\"name\":{\"21\":{},\"27\":{},\"138\":{}},\"comment\":{}}],[\"requestcontext\",{\"_index\":25,\"name\":{\"30\":{},\"31\":{},\"139\":{}},\"comment\":{}}],[\"requestextension\",{\"_index\":31,\"name\":{\"40\":{},\"144\":{}},\"comment\":{}}],[\"requesthandler\",{\"_index\":28,\"name\":{\"34\":{},\"35\":{},\"140\":{},\"141\":{}},\"comment\":{}}],[\"requesthandlermethod\",{\"_index\":29,\"name\":{\"37\":{},\"142\":{}},\"comment\":{}}],[\"requestlogger\",{\"_index\":12,\"name\":{\"13\":{},\"136\":{}},\"comment\":{}}],[\"requestmodification\",{\"_index\":32,\"name\":{\"41\":{},\"145\":{}},\"comment\":{}}],[\"requestprocessor\",{\"_index\":33,\"name\":{\"42\":{},\"43\":{},\"45\":{},\"146\":{},\"147\":{}},\"comment\":{}}],[\"requestupdate\",{\"_index\":30,\"name\":{\"39\":{},\"143\":{}},\"comment\":{}}],[\"requestvaluetransformer\",{\"_index\":36,\"name\":{\"49\":{},\"148\":{}},\"comment\":{}}],[\"response\",{\"_index\":57,\"name\":{\"72\":{},\"163\":{}},\"comment\":{}}],[\"server\",{\"_index\":92,\"name\":{\"154\":{}},\"comment\":{}}],[\"start\",{\"_index\":89,\"name\":{\"150\":{}},\"comment\":{}}],[\"statuscode\",{\"_index\":71,\"name\":{\"92\":{}},\"comment\":{}}],[\"statusmessage\",{\"_index\":68,\"name\":{\"89\":{},\"96\":{}},\"comment\":{}}],[\"stop\",{\"_index\":96,\"name\":{\"161\":{}},\"comment\":{}}],[\"testhttpserver\",{\"_index\":88,\"name\":{\"149\":{},\"162\":{}},\"comment\":{}}],[\"testing\",{\"_index\":2,\"name\":{\"2\":{}},\"comment\":{}}],[\"text/html\",{\"_index\":39,\"name\":{\"53\":{}},\"comment\":{}}],[\"tolog\",{\"_index\":72,\"name\":{\"93\":{}},\"comment\":{}}],[\"trace\",{\"_index\":16,\"name\":{\"18\":{}},\"comment\":{}}],[\"url\",{\"_index\":59,\"name\":{\"75\":{}},\"comment\":{}}],[\"warn\",{\"_index\":13,\"name\":{\"15\":{}},\"comment\":{}}],[\"with\",{\"_index\":83,\"name\":{\"118\":{}},\"comment\":{}}],[\"withbody\",{\"_index\":85,\"name\":{\"123\":{},\"128\":{}},\"comment\":{}}]],\"pipeline\":[]}}"); \ No newline at end of file +window.searchData = "data:application/octet-stream;base64,H4sIAAAAAAAAA81dbZPbthH+L9K3jnwWwHd/apyk42biNJOm+XLjuZFPvDuleqvEs+Px+L+XAPiyC+6SIEin/eKz7nYXD/ZZLIAlQH1eXE4fr4tXt58X/94dt4tXcrU4bg754tXir0+b4vrppf53sVo8X/blLw+n7fM+v7680782/948FYd9KXG/31yveWlssfiy6rf38v50yW9+v/bavVNCd79ffewX+bXYHR8Hm6jkhlqJw6aZ7e563hT3T99fLqdLY/zh+Xhf7E5HyzNImGhhtThvLvmxsN0N+hfFTdPaytt8c2w7tTsW+eVhc29T0op6tSrWsu1xjnrq2OKy1hpuF6gyHf/x9PiYO/YcyE7v+v70OLrBpVFy6DfsVgsgkKjfZXQ2ED5sLrvN+874q8ReiMkRZjfY12c1vLzaW4cpdPDrT6OaW9Yqjg5W3WEaf3AIa9T0gxXRxXX7Ynd9sTs+5ZddkW99gWyO23FAjMI8QAD9v+T/eS4ToonLQURIenoouKWZbqNjMg3uIAPk4+Zy9MFR6c0FY3d8OPnAqPTmgrHN3z8PJwQCR604F5DiUjbrA6RWnAKkO0hen7af3GYkW2H6tHRpLfq1vsQW3D3T9hpAk6ntnG8358373X5XtPiqNkhwrbjvHAYD5fTg1+hSK7r7AnSSQXJ/OrzfHXNPOK32REyRkADS8Vpcnu8LkGvHwoIW5nTXgzcme2KejgVOyeOw2HOzF5bQYUSRe7GOuOd4yhIRtVHz8+X0YbcFa4Li03m45VrLHUKvT+IoCto0fHenMEwAtGws+OBqbPV4rVY6lan5j8IFqpH0TILdmLEa7g0YIzt5B/HNoxJ1nJTqRrWSR5RU/WOG8BH2fTSSZaU+Go6xQRcPqmn3TZkj9vlg9QBLe0+NZFDaEPigrCS9GvccsrBJn2Fad87VC2/z4um0dQdm5P8HHgENT/BL1d2+CP3XebspcscANcJ+7ui0/P0fRX68lm05Nt7Izzk63p62u4fd/aaAOHh2oPhMbiinlzJXXYdLjLb8CzmnI7oweC+0EPwylefQsJv1GRhtN3um064v+ibURnrylFrOKw875y14267RGz+tUs5A288na+7wQbRsjXggqyzNMfPT6EZP/r3QyKH122b/nP96KffS5e7l4DQV2yp/5jAj2/YZa51+9z5mef3pm/v7/Gxqmk7PWlqNySPvu8rk290h/1V5ZjCoOhrTiz1qTfmysuLT+FIZuHPPAt1OM8A25/O+mvRe/n49DddMGXzAzl1lZ06Yf3n5F19kd3d308GQQf3j5vj4vHkcXGF1NWYL6tqge1A3GjM8U3SPFtzqMh8ZH203ufjwRTIyNiggZGxYu5HByJiwGyGTnTY3ItUZ+ekxsc33eTFc4afaXTa6YwZr1VEGzmM+vIYgsRjF+YA85Zvhx4MkkkpzPiins45EPzSt8nyAtIwfnFp1RjCnq2fIVJozQnn2RfI8GQhMKm+K4uy4f2lFPfePVjJ52DzvO2Uu58aXHQMOPgG97TtL4w/KUp8F0v70+L3To/cuHKDqCyXsCxVyf93KTT9QpWpH23w4u4I2a50R+2qy42jDajbDDidhOCBLYGEUosbM7APJAtgznpxPr4yA7TnQLNDsePsakD0GogWXHI9zQQVP+ZUkhko+Im3EPBO613Nru9Hxz6vb3oHRGksRtlRdi03xfP32tB14tt8BgxTnxPI2v17hfnIMnFZ3HkTbvNjs9teRWFotXxTotNDpR3B20w1BrePZftgzPtiZbJ6Twf9wXJe3LVYaI2cxu8sof9GBOA7KpIisLXEAD9OgHb4KKHuwjATlN2oIUKAU8VSK/bi7llPA8DNqKDt/Odq10SX6zZiitGUKdPxrQiwzjjHzQv5fw5Q1zHA+mPb20O0QZSM5x+awemY6utFlq+g42jpnJQkY32y3l1wb88UDLcwD7HouQ8UtU1qAGk1PIGFPcLCzqP+5WnR2aTwRN43OyJm01/+qcV8IS6M8BkZrgQO0O/vj0bqT4YDp6bDblvuxj6WRoezWSs50KuJtt2niiWkr9SedhOg0OOq5LOgUNQyJPpPjsJWbxdU/DRyZBM39NOrgIt1ff5e3zXt6XRvgDgOVu/BLdzvBngVC4pMT4i/anusth0Z2+hF+0xHH+w243SXSdTqW0HayF84bl2fwDJw3Iw7hOML5weWROwPnB+fH7DScQFox4nBLsRH0Cg/Q4t9Ol8N3+f1p69AolJ3hfiTZNOd7KDx9SHzcFU9OA6LT7BKoOjCO+jjh5mQXh/f1SRdILncou5C8L1IykECYqjRcSpUZ3iVQsfQMoco037d8a8XnCVefRpeVouOCEfRwQqhSOLyD1Q2WS7hSsLwDloUFQlZNCz9vLleHeAWiMwQr1TDnFSD7J2ZVu9WRSRV2cEKgdlB4R6kDIJcQ7QDyjk8aEFgLb7bbX6rqwpt8sx0uTXYU/G5ViSwM1kPv/xh8f8nS1hsG0bwkhQdDvBFkGAlSmgUG9X6OYRxYazYgMIe4gTAaswCg36AwDMPWmxNM96a6Mx6oOickx9usJCakOysoh+uSNKJGcRY4zCXBYTj2fcGZ/TMeUEfxK8CxTsuOBdWoz0mddXvOmblGb04w3Qt1znig6pzUkdfrnJmztOf0ldsVL9JX4BrazN7yAUWozgmJvbvkjIyw4AUQHkv6VQ3rcpvzz/zyIe8/JgRf/IbVxuxm4GvmmEX0tdhcimlQlrWNUYAsWz3nh2bw1rIx8nUwbswToYkgWytzoUSvMtOPul/3v/FmGCQw8zVQdk6a+qEcddx0PEp0kt4PofOR+vHo4M0QP3CuV0TGY7sWp/PkdHNye2TrhC4cSs9D7+XEapOTM3q85XbMoQdNbcILliOl7x3qU64Ql+9dS1Y8zsbi4su7VQlom/+xePV5Uf5FLxVfLeRNcJOVdh92+X5btnFrerJS78M6qJbeVX/7LVencpWEEXm5Xqxu16swvomz5N271W2tof+gf6HFyhXWraDEBBKT5SdJiUkkFpSfglUobqI0Q2IBEgvLTyElFiKxqPwUUWIREovLTzElFiOxpPyUUF1IkFhafkpXQXojZYjEUiSWcWIZdq/ydkb61+JBE7FeBcFNssYWBaZCKJcLQUpiNoTyupCUawQmRIScqwWmRCjXi4DsEGZFKO+LkJTExAhFgIhIScyNUByImJTE9AhFg0jIHmGGpOJBpGRsY4qkpiijSJfWaNHDhRx9ElMkFQ+SHIASUyQVEZIkU2KOZMSGksQcyZgNJYk5kgnfd8yRVERIMkIk5kgqImS4ksmNDFIsiTkKFBEyoloPMEeB4CUxR4HmiIylwEpqmqOEtIk5CjRHZVqIbhIhsCTmKIh4ScxRELNeCjBHgSJCZmT6xRwFKW8TcxQoIoI1aRNzFCoiAkFmdcxRqIgIyEgOMUehIiIIqPgMMUdhwEtac0/I9j3EHIURbxNzFCoiAjLXhZijUBERkLkuxByFKRt1IeYo1ByRM2CIOYrWbN8jzFGkOSKnywhzFGmOyPwZYY4izRE5GUaYo0gvEMj8GVlLBEVESEZdhDmKFBEhuYaJMEeRIiIkM1iEOYoUESHJe4Q5ijIeJ+YoVkSEZITEmKNYERGSGSzGHMWKiJBkM8YcxYqIcsFMraYwR7HmiGQzxhzFeh1H5pDYWskpIiJyNowxR7EiIiJzSIw5ihUREclmjDmKFRERuS6NMUeJIiIi10sJ5ihRRETk2EwwR4kiIiJXLAnmKAlYnAnmKNHLOnJsJpijRHNEzh0J5iiJ+b5bC+6E7zvmKEn5vmOOEkVETMZSgjlK1+x6KcUcpYqImIy6FHOUKiJi2ibmKFVExORWKMUcpYqImMwhKeYojdi+p5ijNGZHXIo5ShO+R9a+SBERk3kpxRylGd93zFGmiIjJDJZhjjLBzlwZ5iiTvCTmKAt4ScxRpjki4zPDHGWaI3LEZZijTG9byfyZYY4yvXMl2cwwR1nK47S2r4qIhIz5zN7BKiYScuI0f4OyiouE3h6urW3sWrGRhNQCx/wNygY9stZWds0v8MzfoGzUY9faz65jdkFm/gZlkx4M1p52rZhJ6O3v2trVrjVt9AZ4bfGmCwwJOemLTvFB80aGrbDLD7rIkNA1DbsAocsMKbmQE3YJQlcaUnKJJOwqhK41cLIWb7rakNJVELsSYUoRTBXG4s0UI+g6jF2N0DWHlEyJwqpHCF11YGStioTQdYeULrJIu2wk+b5ZVQmhaw9cjcniTVcfUrp4ZFUmhK4/cLIWb7KHN6s6IWQPb1Z9Qsge3qwKhdB1iJQeb1aNQuhKBE2bVaQQuhRBLuCEVaUQuhZBrqFEYFf79GAj85NVpxC6GsFVBi3OdD2CKaVZtQqhKxJ0mUhY1QphyhVkqUZY9QphChZkuURYFQuh6xKcrMWZrkzQJRNhVS2EKVuQ07Cw6hbCFC7o/GRVLoQpXdBchHaZVnFDlySEVb0QPeULYdUvhClg0GFmVTCErlOkdDxYNQyhKxUpPa9YVQyhaxUpPa9YdQyhqxUZPa9YlQyh6xUZ/YzDqmUIXbGgt0HCqmYIXbOgt6DCqmcIU9Agt9UisivsipuMXm9ZNQ2hKxcMF1ZVQ0T8MlJYdQ2hqxcZU+Y3vOnnVR/yS5Fv/26eW93eLharz4u76jFWKOrHbp8XJe5Xn7+sFlGmfn5pH1+pT8p6fd2vVW+vzH5eyMyolynE/EzNzzLkjdm1+VluBcxPWf0MzE+17qv+kzAAzIEG/SzuqToS3WJJ4xaLkFwfmjMRrWIZoq2iQckr5kg1Ae7L2CbNV0QArwGkgeS01MHyVkcI2DvjKFl5Wq1kzH9k7UuZcmY7L7EFwQAcEYWMAfNAFXgvgN7jmr2vv9sHeAH0yOAm9cwL0lq1AIRcGPNq7TuQQJMSNFlFW8oRXn2fF6AgAj3lQrR67Vfztu9WPQLqSTUWEq4D9fs9ATlJqx5zQdO8HaXViwE/aRUeKReq9aH99582zVuogesBhEgMmtg37/wFvQAMRGznGxOH6rQqMAC8GLPUVQaqb8oDPQADrxopwZCRffveYAADWIrYWKgsHOo3zAJ9kALiIVcedqUF8zpu0JUUIODiIcfjGwwddqR2fAYcXk0QgssNWpcKfdDbpEr/Cec1beRgDuED7GDU18xxfsub1xwCCMBdCYf/AfdcwImhgi1rH5gMoFKtrP/D9Uid+Nw2t2jBjAVzuqi7JSLGjD5EBTwCehTX0cymbcPKe5S6yzVU65O6X2wsEbwGIDZCrvfwmhHQBb7lRiB1EhbSA7znYAF+RTKYEsCMwBnRbxUGjgdui1l/F8W5O3lFIIzjar2UcHOfMtEZjTHwW1JZSLmIURYewJ1YEHpw1hZZHcEsE6WhffOGLIAGDOysT7kznmMwl2RV6GdcTjJf8QmYB24U3Cyi3sMCVmqww2suXtSK6FzfywTegjN/vXAQknO78RQeaxmMVnby1F+lDEADrnkNqyHYT16pm+ZhY1VKSzhC9vreVpdUEN11kuZG1b6+iAbcDFYqVUTUVrgx0ryjDoAAZKVcB+A7dYC/YVyt67y+bjYoHOHm21NAUgG+DCrtsF6jr7mAVV/HCWyAgS45JzavGAc8Ar24Suop12T1TnCgDcI0ZrX0UWOgBJJoXE+LEUfZufluRdBZMDrZrYt+VTdoFejEnI55/Ye9Z0kSmP24UWJ0zUFXoJtCXW4g17pEBk9gMln3A7cHCFqQcA42qvbmLoGJQXABZXQ7AzuBe+s1t3to3hYHBiPwVsYNn0qP3GHHAHbGBWRlwKZZgMbZqQ3odrotYJw0uWigG/fgviYwBfoh67VkPVaCgY7d1xcuwYgBURRUu8lA1Pa42aKyl7f33MBiDgz9sLKo6qC9lohFoQReD6q5MqhXl3VRSBV5XQx3N4ASODKoHRgOsLuv7hkDPkDOEs1ekFvNVWYO6CYecB0wFtYkhPz41MbO7V01YAkktbCagMJ6Bmm2X/UKJBwIxefqfiWwDzJIUEd0yGcxbeaDurtWwLtrwCDIDGFjkI/n+gYCyC0AUtbMHlwE1xevQFKEiS3kwqq6UwbUYB4PuTRsXs97r99fDZISGCop5zyjSi1QQLSkFccp2199OQUs72DcRhz/aq+jJh/CWzClhY27OcLAl3EBzoHH2Wm+OFmL2RgsrlJuoFXfXQ/GKZx5OJb0KyBBREEfrbnUUC7+0CAWqJDJKem39QB3whWj5EJBadmTUwpBinq5LEki3q0W590536sK6qvbd1++/BfkSedpx4gAAA=="; \ No newline at end of file diff --git a/assets/style.css b/assets/style.css index 2d02570..108428c 100644 --- a/assets/style.css +++ b/assets/style.css @@ -6,17 +6,35 @@ --light-color-background-warning: #e6e600; --light-color-icon-background: var(--light-color-background); --light-color-accent: #c5c7c9; + --light-color-active-menu-item: var(--light-color-accent); --light-color-text: #222; - --light-color-text-aside: #707070; - --light-color-link: #4da6ff; - --light-color-ts: #db1373; - --light-color-ts-interface: #139d2c; - --light-color-ts-enum: #9c891a; - --light-color-ts-class: #2484e5; + --light-color-text-aside: #6e6e6e; + --light-color-link: #1f70c2; + + --light-color-ts-project: #b111c9; + --light-color-ts-module: var(--light-color-ts-project); + --light-color-ts-namespace: var(--light-color-ts-project); + --light-color-ts-enum: #7e6f15; + --light-color-ts-enum-member: var(--light-color-ts-enum); + --light-color-ts-variable: #4760ec; --light-color-ts-function: #572be7; - --light-color-ts-namespace: #b111c9; - --light-color-ts-private: #707070; - --light-color-ts-variable: #4d68ff; + --light-color-ts-class: #1f70c2; + --light-color-ts-interface: #108024; + --light-color-ts-constructor: var(--light-color-ts-class); + --light-color-ts-property: var(--light-color-ts-variable); + --light-color-ts-method: var(--light-color-ts-function); + --light-color-ts-call-signature: var(--light-color-ts-method); + --light-color-ts-index-signature: var(--light-color-ts-property); + --light-color-ts-constructor-signature: var(--light-color-ts-constructor); + --light-color-ts-parameter: var(--light-color-ts-variable); + /* type literal not included as links will never be generated to it */ + --light-color-ts-type-parameter: var(--light-color-ts-type-alias); + --light-color-ts-accessor: var(--light-color-ts-property); + --light-color-ts-get-signature: var(--light-color-ts-accessor); + --light-color-ts-set-signature: var(--light-color-ts-accessor); + --light-color-ts-type-alias: #d51270; + /* reference not included as links will be colored with the kind that it points to */ + --light-external-icon: url("data:image/svg+xml;utf8,"); --light-color-scheme: light; @@ -27,17 +45,35 @@ --dark-color-warning-text: #222; --dark-color-icon-background: var(--dark-color-background-secondary); --dark-color-accent: #9096a2; + --dark-color-active-menu-item: #5d5d6a; --dark-color-text: #f5f5f5; --dark-color-text-aside: #dddddd; --dark-color-link: #00aff4; - --dark-color-ts: #ff6492; - --dark-color-ts-interface: #6cff87; + + --dark-color-ts-project: #e358ff; + --dark-color-ts-module: var(--dark-color-ts-project); + --dark-color-ts-namespace: var(--dark-color-ts-project); --dark-color-ts-enum: #f4d93e; - --dark-color-ts-class: #61b0ff; - --dark-color-ts-function: #9772ff; - --dark-color-ts-namespace: #e14dff; - --dark-color-ts-private: #e2e2e2; - --dark-color-ts-variable: #4d68ff; + --dark-color-ts-enum-member: var(--dark-color-ts-enum); + --dark-color-ts-variable: #798dff; + --dark-color-ts-function: #a280ff; + --dark-color-ts-class: #8ac4ff; + --dark-color-ts-interface: #6cff87; + --dark-color-ts-constructor: var(--dark-color-ts-class); + --dark-color-ts-property: var(--dark-color-ts-variable); + --dark-color-ts-method: var(--dark-color-ts-function); + --dark-color-ts-call-signature: var(--dark-color-ts-method); + --dark-color-ts-index-signature: var(--dark-color-ts-property); + --dark-color-ts-constructor-signature: var(--dark-color-ts-constructor); + --dark-color-ts-parameter: var(--dark-color-ts-variable); + /* type literal not included as links will never be generated to it */ + --dark-color-ts-type-parameter: var(--dark-color-ts-type-alias); + --dark-color-ts-accessor: var(--dark-color-ts-property); + --dark-color-ts-get-signature: var(--dark-color-ts-accessor); + --dark-color-ts-set-signature: var(--dark-color-ts-accessor); + --dark-color-ts-type-alias: #ff6492; + /* reference not included as links will be colored with the kind that it points to */ + --dark-external-icon: url("data:image/svg+xml;utf8,"); --dark-color-scheme: dark; } @@ -50,17 +86,34 @@ --color-warning-text: var(--light-color-warning-text); --color-icon-background: var(--light-color-icon-background); --color-accent: var(--light-color-accent); + --color-active-menu-item: var(--light-color-active-menu-item); --color-text: var(--light-color-text); --color-text-aside: var(--light-color-text-aside); --color-link: var(--light-color-link); - --color-ts: var(--light-color-ts); - --color-ts-interface: var(--light-color-ts-interface); - --color-ts-enum: var(--light-color-ts-enum); - --color-ts-class: var(--light-color-ts-class); - --color-ts-function: var(--light-color-ts-function); + + --color-ts-module: var(--light-color-ts-module); --color-ts-namespace: var(--light-color-ts-namespace); - --color-ts-private: var(--light-color-ts-private); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-enum-member: var(--light-color-ts-enum-member); --color-ts-variable: var(--light-color-ts-variable); + --color-ts-function: var(--light-color-ts-function); + --color-ts-class: var(--light-color-ts-class); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-constructor: var(--light-color-ts-constructor); + --color-ts-property: var(--light-color-ts-property); + --color-ts-method: var(--light-color-ts-method); + --color-ts-call-signature: var(--light-color-ts-call-signature); + --color-ts-index-signature: var(--light-color-ts-index-signature); + --color-ts-constructor-signature: var( + --light-color-ts-constructor-signature + ); + --color-ts-parameter: var(--light-color-ts-parameter); + --color-ts-type-parameter: var(--light-color-ts-type-parameter); + --color-ts-accessor: var(--light-color-ts-accessor); + --color-ts-get-signature: var(--light-color-ts-get-signature); + --color-ts-set-signature: var(--light-color-ts-set-signature); + --color-ts-type-alias: var(--light-color-ts-type-alias); + --external-icon: var(--light-external-icon); --color-scheme: var(--light-color-scheme); } @@ -74,17 +127,34 @@ --color-warning-text: var(--dark-color-warning-text); --color-icon-background: var(--dark-color-icon-background); --color-accent: var(--dark-color-accent); + --color-active-menu-item: var(--dark-color-active-menu-item); --color-text: var(--dark-color-text); --color-text-aside: var(--dark-color-text-aside); --color-link: var(--dark-color-link); - --color-ts: var(--dark-color-ts); - --color-ts-interface: var(--dark-color-ts-interface); - --color-ts-enum: var(--dark-color-ts-enum); - --color-ts-class: var(--dark-color-ts-class); - --color-ts-function: var(--dark-color-ts-function); + + --color-ts-module: var(--dark-color-ts-module); --color-ts-namespace: var(--dark-color-ts-namespace); - --color-ts-private: var(--dark-color-ts-private); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-enum-member: var(--dark-color-ts-enum-member); --color-ts-variable: var(--dark-color-ts-variable); + --color-ts-function: var(--dark-color-ts-function); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-constructor: var(--dark-color-ts-constructor); + --color-ts-property: var(--dark-color-ts-property); + --color-ts-method: var(--dark-color-ts-method); + --color-ts-call-signature: var(--dark-color-ts-call-signature); + --color-ts-index-signature: var(--dark-color-ts-index-signature); + --color-ts-constructor-signature: var( + --dark-color-ts-constructor-signature + ); + --color-ts-parameter: var(--dark-color-ts-parameter); + --color-ts-type-parameter: var(--dark-color-ts-type-parameter); + --color-ts-accessor: var(--dark-color-ts-accessor); + --color-ts-get-signature: var(--dark-color-ts-get-signature); + --color-ts-set-signature: var(--dark-color-ts-set-signature); + --color-ts-type-alias: var(--dark-color-ts-type-alias); + --external-icon: var(--dark-external-icon); --color-scheme: var(--dark-color-scheme); } @@ -105,17 +175,34 @@ body { --color-warning-text: var(--light-color-warning-text); --color-icon-background: var(--light-color-icon-background); --color-accent: var(--light-color-accent); + --color-active-menu-item: var(--light-color-active-menu-item); --color-text: var(--light-color-text); --color-text-aside: var(--light-color-text-aside); --color-link: var(--light-color-link); - --color-ts: var(--light-color-ts); - --color-ts-interface: var(--light-color-ts-interface); - --color-ts-enum: var(--light-color-ts-enum); - --color-ts-class: var(--light-color-ts-class); - --color-ts-function: var(--light-color-ts-function); + + --color-ts-module: var(--light-color-ts-module); --color-ts-namespace: var(--light-color-ts-namespace); - --color-ts-private: var(--light-color-ts-private); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-enum-member: var(--light-color-ts-enum-member); --color-ts-variable: var(--light-color-ts-variable); + --color-ts-function: var(--light-color-ts-function); + --color-ts-class: var(--light-color-ts-class); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-constructor: var(--light-color-ts-constructor); + --color-ts-property: var(--light-color-ts-property); + --color-ts-method: var(--light-color-ts-method); + --color-ts-call-signature: var(--light-color-ts-call-signature); + --color-ts-index-signature: var(--light-color-ts-index-signature); + --color-ts-constructor-signature: var( + --light-color-ts-constructor-signature + ); + --color-ts-parameter: var(--light-color-ts-parameter); + --color-ts-type-parameter: var(--light-color-ts-type-parameter); + --color-ts-accessor: var(--light-color-ts-accessor); + --color-ts-get-signature: var(--light-color-ts-get-signature); + --color-ts-set-signature: var(--light-color-ts-set-signature); + --color-ts-type-alias: var(--light-color-ts-type-alias); + --external-icon: var(--light-external-icon); --color-scheme: var(--light-color-scheme); } @@ -127,17 +214,34 @@ body { --color-warning-text: var(--dark-color-warning-text); --color-icon-background: var(--dark-color-icon-background); --color-accent: var(--dark-color-accent); + --color-active-menu-item: var(--dark-color-active-menu-item); --color-text: var(--dark-color-text); --color-text-aside: var(--dark-color-text-aside); --color-link: var(--dark-color-link); - --color-ts: var(--dark-color-ts); - --color-ts-interface: var(--dark-color-ts-interface); - --color-ts-enum: var(--dark-color-ts-enum); - --color-ts-class: var(--dark-color-ts-class); - --color-ts-function: var(--dark-color-ts-function); + + --color-ts-module: var(--dark-color-ts-module); --color-ts-namespace: var(--dark-color-ts-namespace); - --color-ts-private: var(--dark-color-ts-private); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-enum-member: var(--dark-color-ts-enum-member); --color-ts-variable: var(--dark-color-ts-variable); + --color-ts-function: var(--dark-color-ts-function); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-constructor: var(--dark-color-ts-constructor); + --color-ts-property: var(--dark-color-ts-property); + --color-ts-method: var(--dark-color-ts-method); + --color-ts-call-signature: var(--dark-color-ts-call-signature); + --color-ts-index-signature: var(--dark-color-ts-index-signature); + --color-ts-constructor-signature: var( + --dark-color-ts-constructor-signature + ); + --color-ts-parameter: var(--dark-color-ts-parameter); + --color-ts-type-parameter: var(--dark-color-ts-type-parameter); + --color-ts-accessor: var(--dark-color-ts-accessor); + --color-ts-get-signature: var(--dark-color-ts-get-signature); + --color-ts-set-signature: var(--dark-color-ts-set-signature); + --color-ts-type-alias: var(--dark-color-ts-type-alias); + --external-icon: var(--dark-external-icon); --color-scheme: var(--dark-color-scheme); } @@ -156,6 +260,16 @@ h6 { line-height: 1.2; } +h1 > a, +h2 > a, +h3 > a, +h4 > a, +h5 > a, +h6 > a { + text-decoration: none; + color: var(--color-text); +} + h1 { font-size: 1.875rem; margin: 0.67rem 0; @@ -190,12 +304,6 @@ h6 { text-transform: uppercase; } -pre { - white-space: pre; - white-space: pre-wrap; - word-wrap: break-word; -} - dl, menu, ol, @@ -208,26 +316,10 @@ dd { } .container { - max-width: 1600px; + max-width: 1700px; padding: 0 2rem; } -@media (min-width: 640px) { - .container { - padding: 0 4rem; - } -} -@media (min-width: 1200px) { - .container { - padding: 0 8rem; - } -} -@media (min-width: 1600px) { - .container { - padding: 0 12rem; - } -} - /* Footer */ .tsd-generator { border-top: 1px solid var(--color-accent); @@ -243,26 +335,9 @@ dd { } .container-main { - display: flex; - justify-content: space-between; - position: relative; margin: 0 auto; -} - -.col-4, -.col-8 { - box-sizing: border-box; - float: left; - padding: 2rem 1rem; -} - -.col-4 { - flex: 0 0 25%; -} -.col-8 { - flex: 1 0; - flex-wrap: wrap; - padding-left: 0; + /* toolbar, footer, margin */ + min-height: calc(100vh - 41px - 56px - 4rem); } @keyframes fade-in { @@ -305,22 +380,6 @@ dd { opacity: 0; } } -@keyframes shift-to-left { - from { - transform: translate(0, 0); - } - to { - transform: translate(-25%, 0); - } -} -@keyframes unshift-to-left { - from { - transform: translate(-25%, 0); - } - to { - transform: translate(0, 0); - } -} @keyframes pop-in-from-right { from { transform: translate(100%, 0); @@ -369,13 +428,29 @@ pre { } pre { + position: relative; + white-space: pre; + white-space: pre-wrap; + word-wrap: break-word; padding: 10px; - border: 0.1em solid var(--color-accent); + border: 1px solid var(--color-accent); } pre code { padding: 0; font-size: 100%; } +pre > button { + position: absolute; + top: 10px; + right: 10px; + opacity: 0; + transition: opacity 0.1s; + box-sizing: border-box; +} +pre:hover > button, +pre > button.visible { + opacity: 1; +} blockquote { margin: 1em 0; @@ -391,13 +466,12 @@ blockquote { padding: 0 0 0 20px; margin: 0; } -.tsd-typography h4, .tsd-typography .tsd-index-panel h3, .tsd-index-panel .tsd-typography h3, +.tsd-typography h4, .tsd-typography h5, .tsd-typography h6 { font-size: 1em; - margin: 0; } .tsd-typography h5, .tsd-typography h6 { @@ -408,91 +482,18 @@ blockquote { .tsd-typography ol { margin: 1em 0; } - -@media (max-width: 1024px) { - html .col-content { - float: none; - max-width: 100%; - width: 100%; - padding-top: 3rem; - } - html .col-menu { - position: fixed !important; - overflow-y: auto; - -webkit-overflow-scrolling: touch; - z-index: 1024; - top: 0 !important; - bottom: 0 !important; - left: auto !important; - right: 0 !important; - padding: 1.5rem 1.5rem 0 0; - max-width: 25rem; - visibility: hidden; - background-color: var(--color-background); - transform: translate(100%, 0); - } - html .col-menu > *:last-child { - padding-bottom: 20px; - } - html .overlay { - content: ""; - display: block; - position: fixed; - z-index: 1023; - top: 0; - left: 0; - right: 0; - bottom: 0; - background-color: rgba(0, 0, 0, 0.75); - visibility: hidden; - } - - .to-has-menu .overlay { - animation: fade-in 0.4s; - } - - .to-has-menu :is(header, footer, .col-content) { - animation: shift-to-left 0.4s; - } - - .to-has-menu .col-menu { - animation: pop-in-from-right 0.4s; - } - - .from-has-menu .overlay { - animation: fade-out 0.4s; - } - - .from-has-menu :is(header, footer, .col-content) { - animation: unshift-to-left 0.4s; - } - - .from-has-menu .col-menu { - animation: pop-out-to-right 0.4s; - } - - .has-menu body { - overflow: hidden; - } - .has-menu .overlay { - visibility: visible; - } - .has-menu :is(header, footer, .col-content) { - transform: translate(-25%, 0); - } - .has-menu .col-menu { - visibility: visible; - transform: translate(0, 0); - display: grid; - align-items: center; - grid-template-rows: auto 1fr; - grid-gap: 1.5rem; - max-height: 100vh; - padding: 1rem 2rem; - } - .has-menu .tsd-navigation { - max-height: 100%; - } +.tsd-typography table { + border-collapse: collapse; + border: none; +} +.tsd-typography td, +.tsd-typography th { + padding: 6px 13px; + border: 1px solid var(--color-accent); +} +.tsd-typography thead, +.tsd-typography tr:nth-child(even) { + background-color: var(--color-background-secondary); } .tsd-breadcrumb { @@ -673,43 +674,6 @@ input[type="checkbox"]:checked ~ svg .tsd-checkbox-checkmark { -o-page-break-inside: avoid; page-break-inside: avoid; } -.tsd-index-panel a, -.tsd-index-panel a.tsd-parent-kind-module { - color: var(--color-ts); -} -.tsd-index-panel a.tsd-parent-kind-interface { - color: var(--color-ts-interface); -} -.tsd-index-panel a.tsd-parent-kind-enum { - color: var(--color-ts-enum); -} -.tsd-index-panel a.tsd-parent-kind-class { - color: var(--color-ts-class); -} -.tsd-index-panel a.tsd-kind-module { - color: var(--color-ts-namespace); -} -.tsd-index-panel a.tsd-kind-interface { - color: var(--color-ts-interface); -} -.tsd-index-panel a.tsd-kind-enum { - color: var(--color-ts-enum); -} -.tsd-index-panel a.tsd-kind-class { - color: var(--color-ts-class); -} -.tsd-index-panel a.tsd-kind-function { - color: var(--color-ts-function); -} -.tsd-index-panel a.tsd-kind-namespace { - color: var(--color-ts-namespace); -} -.tsd-index-panel a.tsd-kind-variable { - color: var(--color-ts-variable); -} -.tsd-index-panel a.tsd-is-private { - color: var(--color-ts-private); -} .tsd-flag { display: inline-block; @@ -724,7 +688,7 @@ input[type="checkbox"]:checked ~ svg .tsd-checkbox-checkmark { } .tsd-anchor { - position: absolute; + position: relative; top: -100px; } @@ -738,108 +702,64 @@ input[type="checkbox"]:checked ~ svg .tsd-checkbox-checkmark { margin-bottom: 0; border-bottom: none; } -.tsd-member [data-tsd-kind] { - color: var(--color-ts); -} -.tsd-member [data-tsd-kind="Interface"] { - color: var(--color-ts-interface); -} -.tsd-member [data-tsd-kind="Enum"] { - color: var(--color-ts-enum); -} -.tsd-member [data-tsd-kind="Class"] { - color: var(--color-ts-class); + +.tsd-navigation.settings { + margin: 1rem 0; } -.tsd-member [data-tsd-kind="Private"] { - color: var(--color-ts-private); +.tsd-navigation > a, +.tsd-navigation .tsd-accordion-summary { + width: calc(100% - 0.5rem); } - -.tsd-navigation a { - display: block; - margin: 0.4rem 0; - border-left: 2px solid transparent; +.tsd-navigation a, +.tsd-navigation summary > span, +.tsd-page-navigation a { + display: inline-flex; + align-items: center; + padding: 0.25rem; color: var(--color-text); text-decoration: none; - transition: border-left-color 0.1s; + box-sizing: border-box; +} +.tsd-navigation a.current, +.tsd-page-navigation a.current { + background: var(--color-active-menu-item); } -.tsd-navigation a:hover { +.tsd-navigation a:hover, +.tsd-page-navigation a:hover { text-decoration: underline; } -.tsd-navigation ul { - margin: 0; +.tsd-navigation ul, +.tsd-page-navigation ul { + margin-top: 0; + margin-bottom: 0; padding: 0; list-style: none; } -.tsd-navigation li { +.tsd-navigation li, +.tsd-page-navigation li { padding: 0; + max-width: 100%; } - -.tsd-navigation.primary .tsd-accordion-details > ul { - margin-top: 0.75rem; -} -.tsd-navigation.primary a { - padding: 0.75rem 0.5rem; - margin: 0; +.tsd-nested-navigation { + margin-left: 3rem; } -.tsd-navigation.primary ul li a { - margin-left: 0.5rem; +.tsd-nested-navigation > li > details { + margin-left: -1.5rem; } -.tsd-navigation.primary ul li li a { +.tsd-small-nested-navigation { margin-left: 1.5rem; } -.tsd-navigation.primary ul li li li a { - margin-left: 2.5rem; -} -.tsd-navigation.primary ul li li li li a { - margin-left: 3.5rem; -} -.tsd-navigation.primary ul li li li li li a { - margin-left: 4.5rem; -} -.tsd-navigation.primary ul li li li li li li a { - margin-left: 5.5rem; -} -.tsd-navigation.primary li.current > a { - border-left: 0.15rem var(--color-text) solid; -} -.tsd-navigation.primary li.selected > a { - font-weight: bold; - border-left: 0.2rem var(--color-text) solid; -} -.tsd-navigation.primary ul li a:hover { - border-left: 0.2rem var(--color-text-aside) solid; -} -.tsd-navigation.primary li.globals + li > span, -.tsd-navigation.primary li.globals + li > a { - padding-top: 20px; +.tsd-small-nested-navigation > li > details { + margin-left: -1.5rem; } -.tsd-navigation.secondary.tsd-navigation--toolbar-hide { - max-height: calc(100vh - 1rem); - top: 0.5rem; -} -.tsd-navigation.secondary > ul { - display: inline; - padding-right: 0.5rem; - transition: opacity 0.2s; +.tsd-nested-navigation > li > a, +.tsd-nested-navigation > li > span { + width: calc(100% - 1.75rem - 0.5rem); } -.tsd-navigation.secondary ul li a { - padding-left: 0; -} -.tsd-navigation.secondary ul li li a { - padding-left: 1.1rem; -} -.tsd-navigation.secondary ul li li li a { - padding-left: 2.2rem; -} -.tsd-navigation.secondary ul li li li li a { - padding-left: 3.3rem; -} -.tsd-navigation.secondary ul li li li li li a { - padding-left: 4.4rem; -} -.tsd-navigation.secondary ul li li li li li li a { - padding-left: 5.5rem; + +.tsd-page-navigation ul { + padding-left: 1.75rem; } #tsd-sidebar-links a { @@ -852,41 +772,40 @@ input[type="checkbox"]:checked ~ svg .tsd-checkbox-checkmark { } a.tsd-index-link { - margin: 0.25rem 0; + padding: 0.25rem 0 !important; font-size: 1rem; line-height: 1.25rem; display: inline-flex; align-items: center; + color: var(--color-text); } -.tsd-accordion-summary > h1, -.tsd-accordion-summary > h2, -.tsd-accordion-summary > h3, -.tsd-accordion-summary > h4, -.tsd-accordion-summary > h5 { - display: inline-flex; - align-items: center; - vertical-align: middle; - margin-bottom: 0; +.tsd-accordion-summary { + list-style-type: none; /* hide marker on non-safari */ + outline: none; /* broken on safari, so just hide it */ +} +.tsd-accordion-summary::-webkit-details-marker { + display: none; /* hide marker on safari */ +} +.tsd-accordion-summary, +.tsd-accordion-summary a { user-select: none; -moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; -} -.tsd-accordion-summary { - display: block; + cursor: pointer; } +.tsd-accordion-summary a { + width: calc(100% - 1.5rem); +} .tsd-accordion-summary > * { margin-top: 0; margin-bottom: 0; padding-top: 0; padding-bottom: 0; } -.tsd-accordion-summary::-webkit-details-marker { - display: none; -} -.tsd-index-accordion .tsd-accordion-summary svg { - margin-right: 0.25rem; +.tsd-index-accordion .tsd-accordion-summary > svg { + margin-left: 0.25rem; } .tsd-index-content > :not(:first-child) { margin-top: 0.75rem; @@ -911,34 +830,6 @@ a.tsd-index-link { margin-right: 0.8rem; } -@media (min-width: 1024px) { - .col-content { - margin: 2rem auto; - } - - .menu-sticky-wrap { - position: sticky; - height: calc(100vh - 2rem); - top: 4rem; - right: 0; - padding: 0 1.5rem; - padding-top: 1rem; - margin-top: 3rem; - transition: 0.3s ease-in-out; - transition-property: top, padding-top, padding, height; - overflow-y: auto; - } - .col-menu { - border-left: 1px solid var(--color-accent); - } - .col-menu--hide { - top: 1rem; - } - .col-menu .tsd-navigation:not(:last-child) { - padding-bottom: 1.75rem; - } -} - .tsd-panel { margin-bottom: 2.5rem; } @@ -1019,8 +910,9 @@ a.tsd-index-link { box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); } #tsd-search .results li { - padding: 0 10px; background-color: var(--color-background); + line-height: initial; + padding: 4px; } #tsd-search .results li:nth-child(even) { background-color: var(--color-background-secondary); @@ -1028,12 +920,15 @@ a.tsd-index-link { #tsd-search .results li.state { display: none; } -#tsd-search .results li.current, -#tsd-search .results li:hover { +#tsd-search .results li.current:not(.no-results), +#tsd-search .results li:hover:not(.no-results) { background-color: var(--color-accent); } #tsd-search .results a { - display: block; + display: flex; + align-items: center; + padding: 0.25rem; + box-sizing: border-box; } #tsd-search .results a:before { top: 10px; @@ -1144,7 +1039,7 @@ ul.tsd-type-parameter-list h5 { } .tsd-page-toolbar { - position: fixed; + position: sticky; z-index: 1; top: 0; left: 0; @@ -1184,16 +1079,14 @@ ul.tsd-type-parameter-list h5 { padding: 12px 0; } -.tsd-page-toolbar--hide { - transform: translateY(-100%); -} - .tsd-widget { display: inline-block; overflow: hidden; opacity: 0.8; height: 40px; - transition: opacity 0.1s, background-color 0.2s; + transition: + opacity 0.1s, + background-color 0.2s; vertical-align: bottom; cursor: pointer; } @@ -1215,12 +1108,6 @@ ul.tsd-type-parameter-list h5 { .tsd-widget.menu { display: none; } -@media (max-width: 1024px) { - .tsd-widget.options, - .tsd-widget.menu { - display: inline-block; - } -} input[type="checkbox"] + .tsd-widget:before { background-position: -120px 0; } @@ -1251,7 +1138,7 @@ img { } .deprecated { - text-decoration: line-through; + text-decoration: line-through !important; } .warning { @@ -1260,6 +1147,78 @@ img { background: var(--color-background-warning); } +.tsd-kind-project { + color: var(--color-ts-project); +} +.tsd-kind-module { + color: var(--color-ts-module); +} +.tsd-kind-namespace { + color: var(--color-ts-namespace); +} +.tsd-kind-enum { + color: var(--color-ts-enum); +} +.tsd-kind-enum-member { + color: var(--color-ts-enum-member); +} +.tsd-kind-variable { + color: var(--color-ts-variable); +} +.tsd-kind-function { + color: var(--color-ts-function); +} +.tsd-kind-class { + color: var(--color-ts-class); +} +.tsd-kind-interface { + color: var(--color-ts-interface); +} +.tsd-kind-constructor { + color: var(--color-ts-constructor); +} +.tsd-kind-property { + color: var(--color-ts-property); +} +.tsd-kind-method { + color: var(--color-ts-method); +} +.tsd-kind-call-signature { + color: var(--color-ts-call-signature); +} +.tsd-kind-index-signature { + color: var(--color-ts-index-signature); +} +.tsd-kind-constructor-signature { + color: var(--color-ts-constructor-signature); +} +.tsd-kind-parameter { + color: var(--color-ts-parameter); +} +.tsd-kind-type-literal { + color: var(--color-ts-type-literal); +} +.tsd-kind-type-parameter { + color: var(--color-ts-type-parameter); +} +.tsd-kind-accessor { + color: var(--color-ts-accessor); +} +.tsd-kind-get-signature { + color: var(--color-ts-get-signature); +} +.tsd-kind-set-signature { + color: var(--color-ts-set-signature); +} +.tsd-kind-type-alias { + color: var(--color-ts-type-alias); +} + +/* if we have a kind icon, don't color the text by kind */ +.tsd-kind-icon ~ span { + color: var(--color-text); +} + * { scrollbar-width: thin; scrollbar-color: var(--color-accent) var(--color-icon-background); @@ -1278,3 +1237,147 @@ img { border-radius: 999rem; border: 0.25rem solid var(--color-icon-background); } + +/* mobile */ +@media (max-width: 769px) { + .tsd-widget.options, + .tsd-widget.menu { + display: inline-block; + } + + .container-main { + display: flex; + } + html .col-content { + float: none; + max-width: 100%; + width: 100%; + } + html .col-sidebar { + position: fixed !important; + overflow-y: auto; + -webkit-overflow-scrolling: touch; + z-index: 1024; + top: 0 !important; + bottom: 0 !important; + left: auto !important; + right: 0 !important; + padding: 1.5rem 1.5rem 0 0; + width: 75vw; + visibility: hidden; + background-color: var(--color-background); + transform: translate(100%, 0); + } + html .col-sidebar > *:last-child { + padding-bottom: 20px; + } + html .overlay { + content: ""; + display: block; + position: fixed; + z-index: 1023; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: rgba(0, 0, 0, 0.75); + visibility: hidden; + } + + .to-has-menu .overlay { + animation: fade-in 0.4s; + } + + .to-has-menu .col-sidebar { + animation: pop-in-from-right 0.4s; + } + + .from-has-menu .overlay { + animation: fade-out 0.4s; + } + + .from-has-menu .col-sidebar { + animation: pop-out-to-right 0.4s; + } + + .has-menu body { + overflow: hidden; + } + .has-menu .overlay { + visibility: visible; + } + .has-menu .col-sidebar { + visibility: visible; + transform: translate(0, 0); + display: flex; + flex-direction: column; + gap: 1.5rem; + max-height: 100vh; + padding: 1rem 2rem; + } + .has-menu .tsd-navigation { + max-height: 100%; + } +} + +/* one sidebar */ +@media (min-width: 770px) { + .container-main { + display: grid; + grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); + grid-template-areas: "sidebar content"; + margin: 2rem auto; + } + + .col-sidebar { + grid-area: sidebar; + } + .col-content { + grid-area: content; + padding: 0 1rem; + } +} +@media (min-width: 770px) and (max-width: 1399px) { + .col-sidebar { + max-height: calc(100vh - 2rem - 42px); + overflow: auto; + position: sticky; + top: 42px; + padding-top: 1rem; + } + .site-menu { + margin-top: 1rem; + } +} + +/* two sidebars */ +@media (min-width: 1200px) { + .container-main { + grid-template-columns: minmax(0, 1fr) minmax(0, 2.5fr) minmax(0, 20rem); + grid-template-areas: "sidebar content toc"; + } + + .col-sidebar { + display: contents; + } + + .page-menu { + grid-area: toc; + padding-left: 1rem; + } + .site-menu { + grid-area: sidebar; + } + + .site-menu { + margin-top: 1rem 0; + } + + .page-menu, + .site-menu { + max-height: calc(100vh - 2rem - 42px); + overflow: auto; + position: sticky; + top: 42px; + } +} diff --git a/classes/_hatsy_hatsy.HttpError-1.html b/classes/_hatsy_hatsy.HttpError-1.html index e303a4d..20299f4 100644 --- a/classes/_hatsy_hatsy.HttpError-1.html +++ b/classes/_hatsy_hatsy.HttpError-1.html @@ -1,73 +1,77 @@ -HttpError | Hatsy
+HttpError | Hatsy
-
+
-
+

Class HttpError

A error corresponding to the given HTTP status code.

-

HTTP request processing handlers may raise this error. The error handler would render +

HTTP request processing handlers may raise this error. The error handler would render corresponding error page then.

- -

See

HttpConfig.errorHandler

+
+
+

See

HttpConfig.errorHandler

Hierarchy

    -
  • Error +
  • Error
    • HttpError

Implements

    -
  • Loggable
- +

Constructors

-
- -
+
  • -
    options: Options = {}
    +
    options: Options = {}

    HTTP error options.

    -
  • -

    Returns HttpError

    +
    +

    Returns HttpError

    +
    +
  • Defined in hatsy/hatsy/src/http/http-error.ts:23
  • Properties

    -
    - -
    details?: string
    -

    Error details.

    -

    This will be displayed on error page in addition to error code.

    -
    -
    - -
    message: string
    -
    - -
    name: string
    -
    - -
    reason?: unknown
    -

    Arbitrary error reason.

    -

    This is another error typically.

    -
    -
    - -
    stack?: string
    -
    - -
    statusCode: number
    -

    HTTP status code.

    -
    -
    - -
    statusMessage?: string
    -

    HTTP status message.

    -
    -
    - -
    prepareStackTrace?: ((err: Error, stackTraces: CallSite[]) => any)
    +
    + +
    prepareStackTrace?: ((err, stackTraces) => any)

    Type declaration

    -
    - -
    stackTraceLimit: number
    +
    + +
    stackTraceLimit: number
    +
  • Defined in node_modules/.pnpm/@types+node@18.17.17/node_modules/@types/node/globals.d.ts:13
  • +
    + +
    cause?: unknown
    +
    + +
    message: string
    +
    + +
    name: string
    +
    + +
    stack?: string
    +
    +

    Accessors

    +
    + +
      +
    • get details(): undefined | string
    • +
    • +

      Error details.

      +

      This will be displayed on error page in addition to error code.

      +
      +

      Returns undefined | string

      +
    +
    + +
    +
    + +

    Methods

    -
    - -
      - +
      + +
        +
      • -

        Performs additional message processing before it is logged.

        -

        At output or default logging stage replaces this error with error message, details, and reason. Does nothing at -other logging stages.

        - -

        Returns

        Either new loggable value representation, or nothing outside the output logging stage.

        +

        Create .stack property on a target object

        Parameters

        • -
          __namedParameters: DueLog
        -

        Returns void | unknown[]

      • +
      • +
        Optional constructorOpt: Function
      +

      Returns void

      +
    -
    - -
      - +
    • Defined in node_modules/.pnpm/@types+node@18.17.17/node_modules/@types/node/globals.d.ts:4
    +
    + +
      +
    • -

      Create .stack property on a target object

      +

      Performs additional message processing before it is logged.

      +

      At output or default logging stage replaces this error with error message, details, and reason. Does nothing at +other logging stages.

      Parameters

      • -
        targetObject: object
      • -
      • -
        Optional constructorOpt: Function
      -

      Returns void

    +

    Returns void | unknown[]

    Either new loggable value representation, or nothing outside the output logging stage.

    + +
    - +
    + -
    +
    +

    On This Page

    - -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +
  • constructor
  • +
  • prepareStackTrace
  • +
  • stackTraceLimit
  • +
  • cause
  • +
  • message
  • +
  • name
  • +
  • stack
  • +
  • details
  • +
  • statusCode
  • +
  • statusMessage
  • +
  • captureStackTrace
  • +
  • toLog
  • + +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/classes/_hatsy_hatsy.RequestCapability-1.html b/classes/_hatsy_hatsy.RequestCapability-1.html index 7acf157..cdff2c6 100644 --- a/classes/_hatsy_hatsy.RequestCapability-1.html +++ b/classes/_hatsy_hatsy.RequestCapability-1.html @@ -1,254 +1,255 @@ -RequestCapability | Hatsy
    +RequestCapability | Hatsy
    -
    +
    -
    +

    Class RequestCapability<TInput, TExt>Abstract

    Request processing capability.

    Modifies request processing context in a certain way when delegates to handler.

    -

    Request processing capabilities could be combined.

    -
    -
    +

    Request processing capabilities could be combined.

    +
    +
    +

    Type Parameters

    -
      +
      • -

        TInput

        +

        TInput

        A type of request processing means required in order to apply this capability.

        -
      • +
    +
  • -

    TExt = object

    +

    TExt = object

    A type of extension to request processing means this capability applies.

    -
  • +
    +

    Hierarchy

    - +

    Constructors

    -

    Methods

    -

    Constructors

    -
    - -
      - +
      + +
    +

    TExt = object

    +

    Returns RequestCapability<TInput, TExt>

    Methods

    -
    - -
      - +
      + +
        +
      • -

        Combines this capability with the next one.

        - -

        Returns

        New request processing capability that applies modifications to request by this capability first, -and then - by the next one.

        - -

        See

        RequestCapability.combine

        +

        Combines two request processing capabilities.

        -
        +

        Type Parameters

        -
          +
          • -

            TNext

            -

            A type of extension to request processing means applied by next capability.

            -
        +

        TInput

        +

        A type of request processing means expected by the first capability.

        +
        +
      • +
      • +

        TExt

        +

        A type of request processing means extension applied by the first capability.

        +
        +
      • +
      • +

        TNext

        +

        A type of request processing means extension applied by the second capability.

        +
        +

      Parameters

      • -
        next: RequestCapability<TInput & TExt, TNext>
        -

        Next capability that receives requests modified by this capability.

        -
      -

      Returns RequestCapability<TInput, TExt & TNext>

    +

    Returns RequestCapability<TInput, TExt & TNext>

    Combined request processing capability that applies modifications to request by the first capability, +and then - by the second one.

    + +
    -
    - -
    +
    + +
      +
    • -

      Provides request processing capability to the given handler.

      -

      Builds request processing handler that modifies request and delegates to target handler.

      - -

      Returns

      New request processing handler.

      +

      Builds request capability by the given provider.

      -
      +

      Type Parameters

      -
        +
        • -

          TMeans

          -

          A type of request processing means expected by constructed handler.

          -
      +

      TInput

      +

      A type of request processing means required by this provider.

      +
      +
    • +
    • +

      TExt

      +

      A type of extension to request processing means this provider applies.

      +
      +

    Parameters

    • -
      handler: RequestHandler<TMeans & TExt>
      -

      Request processing handler that will receive modified request context.

      -
    -

    Returns RequestHandler<TMeans>

    -
    - -
    +
    + +
      +
    • -

      Combines two request processing capabilities.

      - -

      Returns

      Combined request processing capability that applies modifications to request by the first capability, -and then - by the second one.

      +

      Combines this capability with the next one.

      -
      +

      Type Parameters

      -
        +
        • -

          TInput

          -

          A type of request processing means expected by the first capability.

          -
        • -
        • -

          TExt

          -

          A type of request processing means extension applied by the first capability.

          -
        • -
        • -

          TNext

          -

          A type of request processing means extension applied by the second capability.

          -
      +

      TNext

      +

      A type of extension to request processing means applied by next capability.

      +
      +

    Parameters

    • -
      this: void
    • -
    • -
      first: RequestCapability<TInput, TExt>
      -

      First capability to combine.

      -
    • -
    • -
      second: RequestCapability<TInput & TExt, TNext>
      -

      Second capability to combine. Receives requests modified by the first one.

      -
    -

    Returns RequestCapability<TInput, TExt & TNext>

    +
    + +
      +
    • -

      Builds request capability by the given provider.

      - -

      Returns

      Request processing capability that call the given provider in order to apply.

      +

      Provides request processing capability to the given handler.

      +

      Builds request processing handler that modifies request and delegates to target handler.

      -
      +

      Type Parameters

      -
        -
      • -

        TInput

        -

        A type of request processing means required by this provider.

        -
      • +
        • -

          TExt

          -

          A type of extension to request processing means this provider applies.

          -
      +

      TMeans

      +

      A type of request processing means expected by constructed handler.

      +
      +

    Parameters

    • -
      this: void
    • -
    • -
      provider: Provider<TInput, TExt>
      -

      Request processing capability provider.

      -
    -

    Returns RequestCapability<TInput, TExt>

    +
    + -
    +
    +

    On This Page

    - -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +
  • constructor
  • +
  • combine
  • +
  • of
  • +
  • and
  • +
  • for
  • + +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/classes/_hatsy_hatsy_testing_js.TestHttpServer-1.html b/classes/_hatsy_hatsy_testing_js.TestHttpServer-1.html new file mode 100644 index 0000000..4c92bb4 --- /dev/null +++ b/classes/_hatsy_hatsy_testing_js.TestHttpServer-1.html @@ -0,0 +1,280 @@ +TestHttpServer | Hatsy
    +
    + +
    +
    +
    +
    + +

    Class TestHttpServer

    +
    +

    Testing HTTP server and client.

    +
    +
    +
    +

    Hierarchy

    +
      +
    • TestHttpServer
    +
    +
    +
    + +
    +
    +

    Accessors

    +
    +
    +

    Methods

    +
    +
    +

    Accessors

    +
    + +
    +
    + +
    +
    +

    Methods

    +
    + +
    +
    + +
      + +
    • +

      Requests the data from the test server.

      +
      +
      +

      Parameters

      +
        +
      • +
        path: string
        +

        Request path.

        +
        +
      • +
      • +
        Optional options: RequestOptions
        +

        Request options. The default request method is GET.

        +
        +
      +

      Returns Promise<Response>

      A promise resolves to server response.

      + +
    +
    + +
    +
    + +
    +
    + +
      + +
    • +

      Posts the data to the test server.

      +
      +
      +

      Parameters

      +
        +
      • +
        path: string
        +

        Request path.

        +
        +
      • +
      • +
        Optional body: string | Buffer
        +

        Request body to post, or undefined to post nothing.

        +
        +
      • +
      • +
        Optional options: RequestOptions
        +

        Request options. The default request method is POST.

        +
        +
      +

      Returns Promise<Response>

      A promise resolves to server response.

      + +
    +
    + +
    +
    + +
    +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/classes/testing.TestHttpServer-1.html b/classes/testing.TestHttpServer-1.html deleted file mode 100644 index 51bffba..0000000 --- a/classes/testing.TestHttpServer-1.html +++ /dev/null @@ -1,323 +0,0 @@ -TestHttpServer | Hatsy
    -
    - -
    -
    -
    -
    - -

    Class TestHttpServer

    -
    -

    Testing HTTP server and client.

    -
    -
    -

    Hierarchy

    -
      -
    • TestHttpServer
    -
    -
    -
    - -
    -
    -

    Constructors

    -
    -
    -

    Properties

    -
    -
    -

    Accessors

    -
    -
    -

    Methods

    -
    -
    -

    Constructors

    -
    - -
    -
    -

    Properties

    -
    - -
    _listener: RequestListener<typeof IncomingMessage, typeof ServerResponse>
    -
    - -
    _server: Server<typeof IncomingMessage, typeof ServerResponse>
    -
    -

    Accessors

    -
    - -
    -
    - -
    -
    -

    Methods

    -
    - -
    -
    - -
      - -
    • -

      Requests the data from the test server.

      - -

      Returns

      A promise resolves to server response.

      -
      -
      -

      Parameters

      -
        -
      • -
        path: string
        -

        Request path.

        -
      • -
      • -
        Optional options: RequestOptions
        -

        Request options. The default request method is GET.

        -
      -

      Returns Promise<Response>

    -
    - -
    -
    - -
      - -
    • -

      Starts to handle incoming requests by the given request listener.

      - -

      Returns

      this instance.

      -
      -
      -

      Parameters

      -
        -
      • -
        listener: RequestListener<typeof IncomingMessage, typeof ServerResponse>
        -

        New HTTP request listener.

        -
      -

      Returns TestHttpServer

    -
    - -
      - -
    • -

      Posts the data to the test server.

      - -

      Returns

      A promise resolves to server response.

      -
      -
      -

      Parameters

      -
        -
      • -
        path: string
        -

        Request path.

        -
      • -
      • -
        Optional body: string | Buffer
        -

        Request body to post, or undefined to post nothing.

        -
      • -
      • -
        Optional options: RequestOptions
        -

        Request options. The default request method is POST.

        -
      -

      Returns Promise<Response>

    -
    - -
    -
    - -
    -
    -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file diff --git a/functions/_hatsy_hatsy.addResponseHeader.html b/functions/_hatsy_hatsy.addResponseHeader.html index d300291..0eb5bb9 100644 --- a/functions/_hatsy_hatsy.addResponseHeader.html +++ b/functions/_hatsy_hatsy.addResponseHeader.html @@ -1,24 +1,24 @@ -addResponseHeader | Hatsy
    +addResponseHeader | Hatsy
    -
    +
    -
    +

    Function addResponseHeader

    -
      - +
        +
      • Appends HTTP header value to server response.

        Avoids value duplication.

        @@ -27,96 +27,44 @@

        Function addResponseHeader

        Parameters

        • -
          response: ServerResponse<IncomingMessage>
          +
          response: ServerResponse<IncomingMessage>

          HTTP response to add header to.

          -
        • +
    +
  • -
    name: string
    +
    name: string

    Target HTTP header name.

    -
  • +
    +
  • -
    value: string
    +
    value: string

    HTTP header value to add.

    -
  • -

    Returns void

    + -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +

    Theme

    + +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/functions/_hatsy_hatsy.dispatchByAccepted.html b/functions/_hatsy_hatsy.dispatchByAccepted.html index e1b24e0..132d60e 100644 --- a/functions/_hatsy_hatsy.dispatchByAccepted.html +++ b/functions/_hatsy_hatsy.dispatchByAccepted.html @@ -1,126 +1,72 @@ -dispatchByAccepted | Hatsy
    +dispatchByAccepted | Hatsy
    -
    +
    -
    +

    Function dispatchByAccepted

    -
      - +
        +
      • Dispatches request processing by requested MIME type.

        Performs content negotiation based on Accept header. Then calls handler based on negotiation results.

        Appends Vary: Accept header to the response.

        - -

        Returns

        New HTTP request processing handler.

        -
        +

        Type Parameters

        -
          +
          • -

            TMeans extends HttpMeans<IncomingMessage, ServerResponse<IncomingMessage>, TMeans>

        +

        TMeans extends HttpMeans<IncomingMessage, ServerResponse<IncomingMessage>>

    Parameters

    +
  • -
    fallback: RequestHandler<TMeans> = ...
    +
    fallback: RequestHandler<TMeans> = ...

    Fallback request handler to call when negotiation failed. Issues 406 (Not Acceptable) by default.

    -
  • -

    Returns RequestHandler<TMeans>

    +
    +

    Returns RequestHandler<TMeans>

    New HTTP request processing handler.

    + +
    - + -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +

    Theme

    + +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/functions/_hatsy_hatsy.dispatchByLanguage.html b/functions/_hatsy_hatsy.dispatchByLanguage.html index 3f3430a..9a0a2d3 100644 --- a/functions/_hatsy_hatsy.dispatchByLanguage.html +++ b/functions/_hatsy_hatsy.dispatchByLanguage.html @@ -1,119 +1,64 @@ -dispatchByLanguage | Hatsy
    +dispatchByLanguage | Hatsy
    -
    +
    -
    +

    Function dispatchByLanguage

    -
      - +
        +
      • Dispatches request processing by requested language.

        Performs content negotiation based on Accept-Language header. Then calls handler based on negotiation results.

        Appends Vary: Accept-Language header to the response.

        Issues 406 (Not Acceptable) error if no matching handler found.

        -
        +

        Type Parameters

        -
          +
          • -

            TMeans extends HttpMeans<IncomingMessage, ServerResponse<IncomingMessage>, TMeans>

        +

        TMeans extends HttpMeans<IncomingMessage, ServerResponse<IncomingMessage>>

    Parameters

    -

    Returns RequestHandler<TMeans>

    +

    Returns RequestHandler<TMeans>

    +
    - +
    -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +

    Theme

    + +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/functions/_hatsy_hatsy.dispatchByMethod.html b/functions/_hatsy_hatsy.dispatchByMethod.html index 7909c71..43c344d 100644 --- a/functions/_hatsy_hatsy.dispatchByMethod.html +++ b/functions/_hatsy_hatsy.dispatchByMethod.html @@ -1,122 +1,68 @@ -dispatchByMethod | Hatsy
    +dispatchByMethod | Hatsy
    -
    +
    -
    +

    Function dispatchByMethod

    -
      - +
        +
      • Dispatches request processing by HTTP request method.

        - -

        Returns

        New HTTP request processing handler.

        -
        +

        Type Parameters

        -
          +
          • -

            TMeans extends HttpMeans<IncomingMessage, ServerResponse<IncomingMessage>, TMeans>

            +

            TMeans extends HttpMeans<IncomingMessage, ServerResponse<IncomingMessage>>

            Supported HTTP route processing means.

            -
        +
    +

    Parameters

    -

    Returns RequestHandler<TMeans>

    +
    +

    Returns RequestHandler<TMeans>

    New HTTP request processing handler.

    + +
    - + -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +

    Theme

    + +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/functions/_hatsy_hatsy.dispatchError.html b/functions/_hatsy_hatsy.dispatchError.html index 8113d01..703ec9f 100644 --- a/functions/_hatsy_hatsy.dispatchError.html +++ b/functions/_hatsy_hatsy.dispatchError.html @@ -1,127 +1,74 @@ -dispatchError | Hatsy
    +dispatchError | Hatsy
    -
    +
    -
    +

    Function dispatchError

    -
      - +
        +
      • Dispatches request processing error.

        Processes request with the given handler. If processing fails, processes error with the given onError one.

        - -

        Returns

        New request processing handler.

        -
        +

        Type Parameters

        -
          +
          • -

            TMeans

            +

            TMeans

            Request processing means.

            -
        +
    +

    Parameters

    +
  • -
    handler: RequestHandler<TMeans>
    +
    handler: RequestHandler<TMeans>

    Request processing handler to process the original request with.

    -
  • -

    Returns RequestHandler<TMeans>

    +
    +

    Returns RequestHandler<TMeans>

    New request processing handler.

    + +
    - + -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +

    Theme

    + +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/functions/_hatsy_hatsy.httpListener.html b/functions/_hatsy_hatsy.httpListener.html index bc181a0..777e14f 100644 --- a/functions/_hatsy_hatsy.httpListener.html +++ b/functions/_hatsy_hatsy.httpListener.html @@ -1,244 +1,200 @@ -httpListener | Hatsy
    +httpListener | Hatsy
    -
    +
    -
    +

    Function httpListener

    -
      - +
        +
      • Creates Node.js HTTP request listener that processes requests by extended HTTP request processing handler.

        - -

        Returns

        HTTP request listener to pass to Node.js HTTP server.

        - -

        See

        requestHandler

        -
        +

        Type Parameters

        -
          +
          • -

            TExt

            +

            TExt

            Request processing means extension type.

            -
          • +
    +
  • -

    TRequest extends IncomingMessage<TRequest> = IncomingMessage

    +

    TRequest extends IncomingMessage = IncomingMessage

    A type of supported HTTP request.

    -
  • +
    +
  • -

    TResponse extends ServerResponse<IncomingMessage, TResponse> = ServerResponse<IncomingMessage>

    +

    TResponse extends ServerResponse<IncomingMessage> = ServerResponse<IncomingMessage>

    A type of supported HTTP response.

    -
  • +
    +

    Parameters

    +
  • -
    handler: RequestHandler<HttpMeans<TRequest, TResponse> & TExt>
    +
    handler: RequestHandler<HttpMeans<TRequest, TResponse> & TExt>

    HTTP request processing handler to delegate to.

    -
  • -

    Returns ((this: void, req: TRequest, res: TResponse) => void)

    + +
    +

    Returns ((this, req, res) => void)

    HTTP request listener to pass to Node.js HTTP server.

    +
    • -
        -
      • (this: void, req: TRequest, res: TResponse): void
      • +
          +
        • (this, req, res): void
        • Parameters

          • -
            this: void
          • +
            this: void
          • -
            req: TRequest
          • +
            req: TRequest
          • -
            res: TResponse
          -

          Returns void

    +

    Returns void

    +
    +

    See

    requestHandler

    +
    - +
  • Defined in hatsy/hatsy/src/http/http-listener.ts:31
  • +
  • Creates Node.js HTTP request listener that processes requests by HTTP request processing handler.

    - -

    Returns

    HTTP request listener to pass to Node.js HTTP server.

    - -

    See

    requestHandler

    -
    +

    Type Parameters

    -
      +
      • -

        TRequest extends IncomingMessage<TRequest>

        +

        TRequest extends IncomingMessage

        A type of supported HTTP request.

        -
      • + +
      • -

        TResponse extends ServerResponse<IncomingMessage, TResponse>

        +

        TResponse extends ServerResponse<IncomingMessage>

        A type of supported HTTP response.

        -
    + +
  • Parameters

    +
  • -
    handler: RequestHandler<HttpMeans<TRequest, TResponse>>
    +
    handler: RequestHandler<HttpMeans<TRequest, TResponse>>

    HTTP request processing handler to delegate to.

    -
  • -

    Returns ((this: void, req: TRequest, res: TResponse) => void)

    + +
    +

    Returns ((this, req, res) => void)

    HTTP request listener to pass to Node.js HTTP server.

    +
    • -
        -
      • (this: void, req: TRequest, res: TResponse): void
      • +
          +
        • (this, req, res): void
        • Parameters

          • -
            this: void
          • +
            this: void
          • -
            req: TRequest
          • +
            req: TRequest
          • -
            res: TResponse
          -

          Returns void

    +

    Returns void

    +
    +

    See

    requestHandler

    +
    - +
  • Defined in hatsy/hatsy/src/http/http-listener.ts:52
  • +
  • Creates Node.js HTTP request listener that processes requests by HTTP request processing handler according to default configuration.

    - -

    Returns

    HTTP request listener to pass to Node.js HTTP server.

    - -

    See

    requestHandler

    -
    +

    Type Parameters

    -
      +
      • -

        TRequest extends IncomingMessage<TRequest>

        +

        TRequest extends IncomingMessage

        A type of supported HTTP request.

        -
      • + +
      • -

        TResponse extends ServerResponse<IncomingMessage, TResponse>

        +

        TResponse extends ServerResponse<IncomingMessage>

        A type of supported HTTP response.

        -
    + +
  • Parameters

    -

    Returns ((this: void, req: TRequest, res: TResponse) => void)

    + +
    +

    Returns ((this, req, res) => void)

    HTTP request listener to pass to Node.js HTTP server.

    +
    • -
        -
      • (this: void, req: TRequest, res: TResponse): void
      • +
          +
        • (this, req, res): void
        • Parameters

          • -
            this: void
          • +
            this: void
          • -
            req: TRequest
          • +
            req: TRequest
          • -
            res: TResponse
          -

          Returns void

    +

    Returns void

    +
    +

    See

    requestHandler

    +
    - + -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +

    Theme

    + +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/functions/_hatsy_hatsy.middleware-2.html b/functions/_hatsy_hatsy.middleware-2.html index b0f8b33..2c5eb84 100644 --- a/functions/_hatsy_hatsy.middleware-2.html +++ b/functions/_hatsy_hatsy.middleware-2.html @@ -1,122 +1,68 @@ -middleware | Hatsy
    +middleware | Hatsy
    -
    +
    -
    +

    Function middleware

    -
      - +
        +
      • Involves the given middleware into HTTP request processing.

        - -

        Returns

        New request processing capability that processes HTTP requests by the given middleware.

        -
        +

        Type Parameters

        -
          +
          • -

            TInput extends HttpMeans<IncomingMessage, ServerResponse<IncomingMessage>, TInput>

            +

            TInput extends HttpMeans<IncomingMessage, ServerResponse<IncomingMessage>>

            A type of input HTTP request processing means.

            -
        +
    +

    Parameters

    • -
      middleware: Middleware<TInput["request"], TInput["response"]>
      +
      middleware: Middleware<TInput["request"], TInput["response"]>

      Middleware to apply.

      -
    -

    Returns RequestCapability<TInput>

    +
    +

    Returns RequestCapability<TInput>

    New request processing capability that processes HTTP requests by the given middleware.

    + +
    - + -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +

    Theme

    + +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/functions/_hatsy_hatsy.renderHttpError.html b/functions/_hatsy_hatsy.renderHttpError.html index 7ff2eea..67a219b 100644 --- a/functions/_hatsy_hatsy.renderHttpError.html +++ b/functions/_hatsy_hatsy.renderHttpError.html @@ -1,115 +1,60 @@ -renderHttpError | Hatsy
    +renderHttpError | Hatsy
    -
    +
    -
    +

    Function renderHttpError

    -
      - +
        +
      • HTTP request processing error handler that renders HTML page with error info.

        -

        Threats HTTP status error as HTTP status code to set for error page.

        +

        Threats HTTP status error as HTTP status code to set for error page.

        Renders either JSON or HTML error page.

        Parameters

        -

        Returns void | PromiseLike<unknown>

    +

    Returns void | PromiseLike<unknown>

    +
    - +
    -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +

    Theme

    + +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/functions/_hatsy_hatsy.requestExtension.html b/functions/_hatsy_hatsy.requestExtension.html index 1b24a3f..2a086f3 100644 --- a/functions/_hatsy_hatsy.requestExtension.html +++ b/functions/_hatsy_hatsy.requestExtension.html @@ -1,127 +1,74 @@ -requestExtension | Hatsy
    +requestExtension | Hatsy
    -
    +
    -
    +

    Function requestExtension

    -
      - +
        +
      • Builds request modification that adds new properties to request processing means.

        This is a helper function to avoid TypeScript limitation. It is a good idea to inline it.

        - -

        Returns

        Request extension cast to RequestModification.

        -
        +

        Type Parameters

        -
          +
          • -

            TMeans

            +

            TMeans

            A type of request processing means to modify.

            -
          • +
    +
  • -

    TExt extends object

    +

    TExt extends object

    A type of request processing means extension.

    -
  • +
    +

    Parameters

    • -
      extension: TExt
      +
      extension: TExt

      Request extension containing all the required properties.

      -
    -

    Returns RequestModification<TMeans, TExt>

    +
    +

    Returns RequestModification<TMeans, TExt>

    Request extension cast to RequestModification.

    + +
    - + -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +

    Theme

    + +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/functions/_hatsy_hatsy.requestHandler-1.html b/functions/_hatsy_hatsy.requestHandler-1.html index 29551de..3f911ca 100644 --- a/functions/_hatsy_hatsy.requestHandler-1.html +++ b/functions/_hatsy_hatsy.requestHandler-1.html @@ -1,124 +1,70 @@ -requestHandler | Hatsy
    +requestHandler | Hatsy
    -
    +
    -
    +

    Function requestHandler

    -
      - +
        +
      • Builds a request processing handler that delegates request processing to other handlers.

        Iterates over the given handlers in order and delegates the request processing to them. It stops when either response is generated, an error thrown, or no handlers left.

        - -

        Returns

        Request processing handler.

        -
        +

        Type Parameters

        -
          +
          • -

            TMeans

            +

            TMeans

            A type of request processing means handlers expect.

            -
        +
    +

    Parameters

    -

    Returns RequestHandler<TMeans>

    +
    +

    Returns RequestHandler<TMeans>

    Request processing handler.

    + +
    - + -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +

    Theme

    + +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/functions/_hatsy_hatsy.requestProcessor-2.html b/functions/_hatsy_hatsy.requestProcessor-2.html index f2d6547..9adab24 100644 --- a/functions/_hatsy_hatsy.requestProcessor-2.html +++ b/functions/_hatsy_hatsy.requestProcessor-2.html @@ -1,122 +1,68 @@ -requestProcessor | Hatsy
    +requestProcessor | Hatsy
    -
    +
    -
    +

    Function requestProcessor

    -
      - +
        +
      • Builds a request processor.

        - -

        Returns

        New request processor.

        -
        +

        Type Parameters

        -
          +
          • -

            TMeans

            +

            TMeans

            A type of initial request processing means.

            -
        +
    +

    Parameters

    • -
      config: Config<TMeans>
      +
      config: Config<TMeans>

      Request processor configuration.

      -
    -

    Returns RequestProcessor<TMeans>

    +
    +

    Returns RequestProcessor<TMeans>

    New request processor.

    + +
    - + -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +

    Theme

    + +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/functions/_hatsy_hatsy.requestUpdate.html b/functions/_hatsy_hatsy.requestUpdate.html index 09a6f55..86a7d79 100644 --- a/functions/_hatsy_hatsy.requestUpdate.html +++ b/functions/_hatsy_hatsy.requestUpdate.html @@ -1,123 +1,69 @@ -requestUpdate | Hatsy
    +requestUpdate | Hatsy
    -
    +
    -
    +

    Function requestUpdate

    -
      - +
        +
      • Builds request modification that updates some of the existing properties of request processing means.

        This is a helper function to avoid TypeScript limitation. It is a good idea to inline it.

        - -

        Returns

        Request modification cast to RequestModification.

        -
        +

        Type Parameters

        -
          +
          • -

            TMeans

            +

            TMeans

            A type of request processing means to modify.

            -
        +
    +

    Parameters

    • -
      modification: Partial<TMeans>
      +
      modification: Partial<TMeans>

      Partial request modification.

      -
    -

    Returns RequestModification<TMeans>

    +
    +

    Returns RequestModification<TMeans>

    Request modification cast to RequestModification.

    + +
    - + -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +

    Theme

    + +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/index.html b/index.html index 517d19b..899ccba 100644 --- a/index.html +++ b/index.html @@ -1,40 +1,28 @@ -Hatsy
    +Hatsy
    -
    +
    -
    +

    Hatsy

    -
    - -

    Hatsy

    -
    -

    Asynchronous TypeScript-friendly HTTP server for Node.js

    +

    Hatsy

    Asynchronous TypeScript-friendly HTTP server for Node.js

    NPM Build Status Code Quality Coverage GitHub Project API Documentation

    - - -

    Example

    -
    -
    import { escapeHTML } from '@frontmeans/httongue';
    import { httpListener, Rendering } from '@hatsy/hatsy';
    import { dispatchByName, Routing } from '@hatsy/router';
    import { createServer } from 'http';

    const server = createServer(
    httpListener(
    Routing.and(Rendering).for(
    dispatchByName({
    hello({
    route: {
    url: { searchParams },
    },
    renderHtml,
    }) {
    renderHtml(
    `<!DOCTYPE html>
    <html lang="en">
    <body>Hello, ${escapeHTML(searchParams.get('name') || 'World')}!</body>
    </html>
    `,
    );
    },
    }),
    ),
    ),
    );

    server.listen(8080); -
    +

    Example

    import { escapeHTML } from '@frontmeans/httongue';
    import { httpListener, Rendering } from '@hatsy/hatsy';
    import { dispatchByName, Routing } from '@hatsy/router';
    import { createServer } from 'http';

    const server = createServer(
    httpListener(
    Routing.and(Rendering).for(
    dispatchByName({
    hello({
    route: {
    url: { searchParams },
    },
    renderHtml,
    }) {
    renderHtml(
    `<!DOCTYPE html>
    <html lang="en">
    <body>Hello, ${escapeHTML(searchParams.get('name') || 'World')}!</body>
    </html>
    `,
    );
    },
    }),
    ),
    ),
    );

    server.listen(8080); +

    The server above responds with Hello, your-name-here! HTML at http://localhost:8080/hello?name=your-name-here

    - - -

    Goals

    -
    -

    Hatsy is developed with the following goals in mind:

    +

    Goals

    Hatsy is developed with the following goals in mind:

    • Simple API.

      Hatsy is a thin layer atop of Node.js HTTP listener. @@ -65,11 +53,7 @@

      Goals

      compatibility API. Specific functionality can be added by extending a request context.

    - - -

    HTTP listener

    -
    -

    httpListener([config,] handler) function creates a Node.js HTTP listener. It accepts an optional configuration and +

    HTTP listener

    httpListener([config,] handler) function creates a Node.js HTTP listener. It accepts an optional configuration and a RequestHandler to process HTTP requests by.

    HTTP processing configuration has the following options:

      @@ -86,11 +70,7 @@

      HTTP listener

      This can be used e.g. to set up additional request processing capabilities, such as Logging.

    - - -

    Request Handlers

    -
    -

    Everything in Hatsy is implemented as a request handler, which is a function accepting a RequestContext as its only +

    Request Handlers

    Everything in Hatsy is implemented as a request handler, which is a function accepting a RequestContext as its only parameter. The latter contains all means necessary for request processing.

    The handler can do the following:

      @@ -99,11 +79,7 @@

      Request Handlers

    • Delegate request processing to another handler by calling next() function from request context.
    • Modify or even extend with additional properties the request context for the next handler.
    - - -

    Request Context

    -
    -

    By default, HTTP request processing context contains the following properties:

    +

    Request Context

    By default, HTTP request processing context contains the following properties:

    • request - Node.js HTTP request.
    • response - Node.js HTTP response.
    • @@ -112,12 +88,8 @@

      Request Context

    However, the request handler may require more properties to operate. This is where context extension comes into play:

    import { HttpMeans, RequestContext } from '@hatsy/hatsy';

    /**
    * This is an extended request processing means containing user info.
    *
    * They are applied by [contentExtender] handler and passed to [greeter] one.
    */
    interface UserMeans {
    readonly name: string;
    }

    /**
    * Accepts context containing HTTP request processing means (`HttpMeans`).
    *
    * Delegates to [greeter] handler and extends its context with the necessary means.
    */
    async function contextExtender(
    // Every context property, including methods, is suitable for destructuring.
    { requestAddresses, next }: RequestContext<HttpMeans>,
    ): Promise<void> {
    // The second parameter contains request context properties that will be added or updated.
    // The rest remain unchanged.
    await next(greeter, { name: requestAddresses.url.searchParams.get('name') || 'anonymous' });
    }

    /**
    * Accepts extended request processing means. I.e. both HTTP and user info.
    */
    function greeter({ name, response }: RequestContext<HttpMeans & UserMeans>): void {
    // Respond with HTTP response.
    // Hatsy would detect the handler actually responded, because of the `.end()` method call.
    // Otherwise, Hatsy may try other handlers to process the same request.
    response.end(`Hello, ${name}`);
    } -
    - - -

    Capabilities

    -
    -

    Request handlers are everything needed to process the requests. However, it is quite typical to add more request + +

    Capabilities

    Request handlers are everything needed to process the requests. However, it is quite typical to add more request processing means. The request processing capabilities is a conventional API for the task. They also can be combined to add multiple processing means at a time.

    Some capabilities are:

    @@ -146,12 +118,8 @@

    Capabilities

    See the very first example containing capabilities usage. Here is the explanation:

    Routing.and(Rendering) // Combine two capabilities. `Rendering` will be applied after `Routing`.
    // More capabilities can be combined by chaining `.and()` calls.
    .for(handler); // Apply capabilities to the handler.
    // The handler receives a request context extended by both of them. -
    - - -

    Dispatchers

    -
    -

    Dispatchers are handlers that delegate processing to other handlers depending on request.

    + +

    Dispatchers

    Dispatchers are handlers that delegate processing to other handlers depending on request.

    The following dispatcher implemented:

    - - -

    Middleware

    -
    -

    Connect-style middleware can be utilized by middleware function.

    +

    Middleware

    Connect-style middleware can be utilized by middleware function.

    -
    +
    +

    On This Page

    -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +
  • Request Context
  • +
  • Capabilities
  • +
  • Dispatchers
  • +
  • Middleware
  • + +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/interfaces/_hatsy_hatsy.DispatchLanguages.html b/interfaces/_hatsy_hatsy.DispatchLanguages.html index c80f797..47cbc3e 100644 --- a/interfaces/_hatsy_hatsy.DispatchLanguages.html +++ b/interfaces/_hatsy_hatsy.DispatchLanguages.html @@ -1,107 +1,97 @@ -DispatchLanguages | Hatsy
    +DispatchLanguages | Hatsy
    -
    +
    -
    +

    Interface DispatchLanguages<TMeans>

    Request processing handlers for accepted languages.

    -
    -
    +
    +
    +

    Type Parameters

    -
    +
    +

    Hierarchy

    • DispatchLanguages
    -
    +

    Indexable

    -
    [code: string]: RequestHandlerMethod<this, TMeans> | undefined
    +
  • Defined in hatsy/hatsy/src/http/dispatch/dispatch-by-language.handler.ts:12
  • - +

    Properties

    -
    *? -en? +

    Properties

    -
    - - +
    + +

    Response in any language.

    This is a fallback handler typically.

    -
    +
    -
    - - +
  • Defined in hatsy/hatsy/src/http/dispatch/dispatch-by-language.handler.ts:24
  • +
    + +

    English response.

    -
    - +
    + -
    +
    +

    On This Page

    - -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +
  • *
  • +
  • en
  • + +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/interfaces/_hatsy_hatsy.DispatchMethods.html b/interfaces/_hatsy_hatsy.DispatchMethods.html index 9100761..93405d3 100644 --- a/interfaces/_hatsy_hatsy.DispatchMethods.html +++ b/interfaces/_hatsy_hatsy.DispatchMethods.html @@ -1,152 +1,147 @@ -DispatchMethods | Hatsy
    +DispatchMethods | Hatsy
    -
    +
    -
    +

    Interface DispatchMethods<TMeans>

    Request processing handlers for HTTP request methods.

    -
    -
    +
    +
    +

    Type Parameters

    -
    +
    +

    Hierarchy

    • DispatchMethods
    -
    +

    Indexable

    -
    [method: string]: RequestHandlerMethod<this, TMeans> | undefined
    +
  • Defined in hatsy/hatsy/src/http/dispatch/dispatch-by-method.handler.ts:9
  • - +

    Properties

    -
    - -
    delete?: RequestHandlerMethod<DispatchMethods<TMeans>, TMeans>
    +
    + +
    delete?: RequestHandlerMethod<DispatchMethods<TMeans>, TMeans>

    Request processing handler for HTTP DELETE.

    -
    +
    -
    - -
    get?: RequestHandlerMethod<DispatchMethods<TMeans>, TMeans>
    +
  • Defined in hatsy/hatsy/src/http/dispatch/dispatch-by-method.handler.ts:13
  • +
    + +
    get?: RequestHandlerMethod<DispatchMethods<TMeans>, TMeans>

    Request processing handler for HTTP GET.

    It is also called for HTTP HEAD requests unless a [head] handler is also defined.

    -
    -
    - -
    head?: RequestHandlerMethod<DispatchMethods<TMeans>, TMeans>
    +
  • Defined in hatsy/hatsy/src/http/dispatch/dispatch-by-method.handler.ts:20
  • +
    + +
    head?: RequestHandlerMethod<DispatchMethods<TMeans>, TMeans>

    Request processing handler for HTTP HEAD.

    -
    -
    - -
    options?: RequestHandlerMethod<DispatchMethods<TMeans>, TMeans>
    +
  • Defined in hatsy/hatsy/src/http/dispatch/dispatch-by-method.handler.ts:25
  • +
    + +
    options?: RequestHandlerMethod<DispatchMethods<TMeans>, TMeans>

    Request processing handler for HTTP OPTIONS.

    -
    -
    - -
    patch?: RequestHandlerMethod<DispatchMethods<TMeans>, TMeans>
    +
  • Defined in hatsy/hatsy/src/http/dispatch/dispatch-by-method.handler.ts:30
  • +
    + +
    patch?: RequestHandlerMethod<DispatchMethods<TMeans>, TMeans>

    Request processing handler for HTTP PATCH.

    -
    -
    - -
    post?: RequestHandlerMethod<DispatchMethods<TMeans>, TMeans>
    +
  • Defined in hatsy/hatsy/src/http/dispatch/dispatch-by-method.handler.ts:35
  • +
    + +
    post?: RequestHandlerMethod<DispatchMethods<TMeans>, TMeans>

    Request processing handler for HTTP POST.

    -
    -
    - -
    put?: RequestHandlerMethod<DispatchMethods<TMeans>, TMeans>
    +
  • Defined in hatsy/hatsy/src/http/dispatch/dispatch-by-method.handler.ts:40
  • +
    + +
    put?: RequestHandlerMethod<DispatchMethods<TMeans>, TMeans>

    Request processing handler for HTTP PUT.

    -
    - +
    + -
    +
    +

    On This Page

    - -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +
  • delete
  • +
  • get
  • +
  • head
  • +
  • options
  • +
  • patch
  • +
  • post
  • +
  • put
  • + +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/interfaces/_hatsy_hatsy.DispatchMimeTypes.html b/interfaces/_hatsy_hatsy.DispatchMimeTypes.html index 9083fb3..456fa19 100644 --- a/interfaces/_hatsy_hatsy.DispatchMimeTypes.html +++ b/interfaces/_hatsy_hatsy.DispatchMimeTypes.html @@ -1,116 +1,107 @@ -DispatchMimeTypes | Hatsy
    +DispatchMimeTypes | Hatsy
    -
    +
    -
    +

    Interface DispatchMimeTypes<TMeans>

    Request processing handlers for accepted MIME types.

    -
    -
    +
    +
    +

    Type Parameters

    -
    +
    +

    Hierarchy

    • DispatchMimeTypes
    -
    +

    Indexable

    -
    [mimeType: string]: RequestHandlerMethod<this, TMeans> | undefined
    +
  • Defined in hatsy/hatsy/src/http/dispatch/dispatch-by-accepted.handler.ts:12
  • - +

    Properties

    -
    - - +
    + +

    Produces any content.

    This is a fallback handler typically.

    -
    +
    -
    - -
    application/json?: RequestHandlerMethod<DispatchMimeTypes<TMeans>, TMeans>
    +
  • Defined in hatsy/hatsy/src/http/dispatch/dispatch-by-accepted.handler.ts:31
  • +
    + +
    application/json?: RequestHandlerMethod<DispatchMimeTypes<TMeans>, TMeans>

    Produces JSON.

    -
    -
    - -
    text/html?: RequestHandlerMethod<DispatchMimeTypes<TMeans>, TMeans>
    +
  • Defined in hatsy/hatsy/src/http/dispatch/dispatch-by-accepted.handler.ts:23
  • +
    + +
    text/html?: RequestHandlerMethod<DispatchMimeTypes<TMeans>, TMeans>

    Produces HTML.

    -
    - +
    + -
    +
    +

    On This Page

    - -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +
  • */*
  • +
  • application/json
  • +
  • text/html
  • + +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/interfaces/_hatsy_hatsy.ErrorMeans.html b/interfaces/_hatsy_hatsy.ErrorMeans.html index 7dd5298..d88f3b4 100644 --- a/interfaces/_hatsy_hatsy.ErrorMeans.html +++ b/interfaces/_hatsy_hatsy.ErrorMeans.html @@ -1,18 +1,18 @@ -ErrorMeans | Hatsy
    +ErrorMeans | Hatsy
    -
    +
    -
    +

    Interface ErrorMeans<TError>

    @@ -20,77 +20,66 @@

    Interface ErrorMeans<TError>

    Error processing means.

    A context with these means is created once error is thrown by one of the handlers right before passing it to error handler.

    -
    -
    +
    +
    +

    Type Parameters

    -
      +
      • -

        TError = any

        +

        TError = any

        Error type.

        -
    +
    +

    Hierarchy

    • ErrorMeans
    +
  • Defined in hatsy/hatsy/src/core/error.means.ts:9
  • - +

    Properties

    -

    Properties

    -
    - -
    error: TError
    +
    + +
    error: TError

    Error thrown.

    -
    -
    +
    + -
    +
    +

    On This Page

    - -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +
  • error
  • + +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/interfaces/_hatsy_hatsy.FormDecoding.html b/interfaces/_hatsy_hatsy.FormDecoding.html index f5ca2d7..d21168d 100644 --- a/interfaces/_hatsy_hatsy.FormDecoding.html +++ b/interfaces/_hatsy_hatsy.FormDecoding.html @@ -1,189 +1,185 @@ -FormDecoding | Hatsy
    +FormDecoding | Hatsy
    -
    +
    -
    +

    Interface FormDecoding<TInput, TBody>

    URL-encoded form decoding capability.

    -

    Represents form data submitted as application/x-www-form-urlencoded as a request body of type URLSearchParams, or optionally transforms it to another type.

    +

    Represents form data submitted as application/x-www-form-urlencoded as a * request body of type URLSearchParams, or optionally transforms it to another type.

    Responds with 415 (Unsupported Media Type) status code if request has content type specified, and it is not application/x-www-form-urlencoded or text/plain.

    -
    -
    +
    +
    +

    Type Parameters

    -
    +
  • -

    TBody = URLSearchParams

    +

    TBody = URLSearchParams

    Request body type.

    -
  • +
    +

    Hierarchy

    +
  • Defined in hatsy/hatsy/src/http/request/form-decoding.capability.ts:33
  • +
  • Defined in hatsy/hatsy/src/http/request/form-decoding.capability.ts:101
  • - +

    Methods

    -

    Methods

    -
    - - +

    Returns RequestCapability<TInput, RequestBodyMeans<TBody> & TNext>

    New request processing capability that applies modifications to request by this capability first, +and then - by the next one.

    + +
    +

    See

    RequestCapability.combine

    +
    -
    - -
    +
    + +
      +
    • Provides request processing capability to the given handler.

      Builds request processing handler that modifies request and delegates to target handler.

      - -

      Returns

      New request processing handler.

      -
      +

      Type Parameters

      -
        +
        • -

          TMeans extends HttpMeans<IncomingMessage, ServerResponse<IncomingMessage>, TMeans>

          +

          TMeans extends HttpMeans<IncomingMessage, ServerResponse<IncomingMessage>>

          A type of request processing means expected by constructed handler.

          -
      + +

    Parameters

    -

    Returns RequestHandler<TMeans>

    -
    - -
    +
    + +
      +
    • Configures form decoding capability to transform submitted form.

      - -

      Returns

      New form decoding capability.

      -
      +

      Type Parameters

      -
        +
        • -

          TMeans extends HttpMeans<IncomingMessage, ServerResponse<IncomingMessage>, TMeans>

          +

          TMeans extends HttpMeans<IncomingMessage, ServerResponse<IncomingMessage>>

          HTTP request processing means.

          -
        • + +
        • -

          TTransformed

          +

          TTransformed

          Transformed request body type.

          -
      + +

    Parameters

    -

    Returns FormDecoding<TMeans, TTransformed>

    +
    + -
    +
    +

    On This Page

    - -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +
  • and
  • +
  • for
  • +
  • withBody
  • + +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/interfaces/_hatsy_hatsy.HttpConfig-1.html b/interfaces/_hatsy_hatsy.HttpConfig-1.html index a92b6c0..6fafb99 100644 --- a/interfaces/_hatsy_hatsy.HttpConfig-1.html +++ b/interfaces/_hatsy_hatsy.HttpConfig-1.html @@ -1,128 +1,119 @@ -HttpConfig | Hatsy
    +HttpConfig | Hatsy
    -
    +
    -
    +

    Interface HttpConfig<TMeans>

    HTTP processing configuration.

    -
    -
    +
    +
    +

    Type Parameters

    -
    +
    +

    Hierarchy

    - +

    Properties

    -
    - -
    defaultHandler?: boolean | RequestHandler<TMeans>
    +
    + +
    defaultHandler?: boolean | RequestHandler<TMeans>

    Default HTTP request handler.

    This handler will be called after all other handlers when response is not generated.

    When set to false the default response won't be generated.

    - -

    Default

    true, which means a 404 Not Found error will be raised if there is no response.

    +
    +
    +

    Default

    true, which means a 404 Not Found error will be raised if there is no response.

    -
    - -
    errorHandler?: boolean | RequestHandler<TMeans & ErrorMeans<any>>
    +
  • Defined in hatsy/hatsy/src/http/http-config.ts:20
  • +
    + +
    errorHandler?: boolean | RequestHandler<TMeans & ErrorMeans<any>>

    Error processing handler.

    This handler will be called once request processing error occurred. Such handler would receive -a error processing means along with HTTP processing ones.

    +a error processing means along with HTTP processing ones.

    When set to false the request processing errors will be logged, but otherwise ignored.

    - -

    Default

    true, which means the request processing error page will be rendered by renderHttpError +

    +
    +

    Default

    true, which means the request processing error page will be rendered by renderHttpError handler.

    -
    - -
    logError?: boolean
    +
  • Defined in hatsy/hatsy/src/http/http-config.ts:33
  • +
    + +
    logError?: boolean

    Whether to log HTTP processing error.

    Unhandled errors will be logged with console.error in any case.

    - -

    Default

    true, which means an error will be logged with logger means, created if necessary.

    +
    +
    +

    Default

    true, which means an error will be logged with logger means, created if necessary.

    - +
    + -
    +
    +

    On This Page

    - -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +
  • defaultHandler
  • +
  • errorHandler
  • +
  • logError
  • + +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/interfaces/_hatsy_hatsy.HttpConfig.Extended.html b/interfaces/_hatsy_hatsy.HttpConfig.Extended.html index 32a266d..428d498 100644 --- a/interfaces/_hatsy_hatsy.HttpConfig.Extended.html +++ b/interfaces/_hatsy_hatsy.HttpConfig.Extended.html @@ -1,162 +1,155 @@ -Extended | Hatsy
    +Extended | Hatsy
    -
    +
    -
    +

    Interface Extended<TExt, TMeans>

    HTTP processing configuration for extended requests.

    -
    -
    +
    +
    +

    Type Parameters

    -
      +
      • -

        TExt

        +

        TExt

        Request processing means extension type.

        -
      • +
    +
  • -

    TMeans extends HttpMeans = HttpMeans

    +

    TMeans extends HttpMeans = HttpMeans

    A type of supported HTTP request processing means.

    -
  • +
    +

    Hierarchy

    +
  • Defined in hatsy/hatsy/src/http/http-config.ts:52
  • - +

    Properties

    -
    - -
    defaultHandler?: boolean | RequestHandler<TMeans & TExt>
    +
    + +
    defaultHandler?: boolean | RequestHandler<TMeans & TExt>

    Default HTTP request handler.

    This handler will be called after all other handlers when response is not generated.

    When set to false the default response won't be generated.

    - -

    Default

    true, which means a 404 Not Found error will be raised if there is no response.

    +
    +
    +

    Default

    true, which means a 404 Not Found error will be raised if there is no response.

    -
    - -
    errorHandler?: boolean | RequestHandler<TMeans & TExt & ErrorMeans<any>>
    +
  • Defined in hatsy/hatsy/src/http/http-config.ts:20
  • +
    + +
    errorHandler?: boolean | RequestHandler<TMeans & TExt & ErrorMeans<any>>

    Error processing handler.

    This handler will be called once request processing error occurred. Such handler would receive -a error processing means along with HTTP processing ones.

    +a error processing means along with HTTP processing ones.

    When set to false the request processing errors will be logged, but otherwise ignored.

    - -

    Default

    true, which means the request processing error page will be rendered by renderHttpError +

    +
    +

    Default

    true, which means the request processing error page will be rendered by renderHttpError handler.

    -
    - -
    logError?: boolean
    +
  • Defined in hatsy/hatsy/src/http/http-config.ts:33
  • +
    + +
    logError?: boolean

    Whether to log HTTP processing error.

    Unhandled errors will be logged with console.error in any case.

    - -

    Default

    true, which means an error will be logged with logger means, created if necessary.

    +
    +
    +

    Default

    true, which means an error will be logged with logger means, created if necessary.

    +
  • Defined in hatsy/hatsy/src/http/http-config.ts:42
  • Methods

    -
    - -
    - +
    + -
    +
    +

    On This Page

    - -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +
  • defaultHandler
  • +
  • errorHandler
  • +
  • logError
  • +
  • handleBy
  • + +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/interfaces/_hatsy_hatsy.HttpError.Options.html b/interfaces/_hatsy_hatsy.HttpError.Options.html index efb67cb..87c489f 100644 --- a/interfaces/_hatsy_hatsy.HttpError.Options.html +++ b/interfaces/_hatsy_hatsy.HttpError.Options.html @@ -1,119 +1,110 @@ -Options | Hatsy
    +Options | Hatsy
    -
    +
    -
    +
    -

    Options for HTTP error construction.

    -
    +

    Options for HTTP error construction.

    +
    +

    Hierarchy

      -
    • Options
    - +

    Properties

    -
    - -
    details?: string
    +
    + +
    cause?: unknown
    +
    + +
    details?: string

    Error details.

    This will be displayed on error page in addition to error code.

    -
    +
    -
    - -
    message?: string
    +
  • Defined in hatsy/hatsy/src/http/http-error.ts:114
  • +
    + +
    message?: string

    Error message.

    - -

    Default

    Constructed by status code and status message.

    +
    +
    +

    Default

    Constructed by status code and status message.
    +
    -
    - -
    reason?: unknown
    -

    Arbitrary error reason.

    -

    This is another error typically.

    -
    -
    - -
    statusMessage?: string
    +
  • Defined in hatsy/hatsy/src/http/http-error.ts:107
  • +
    + +
    statusMessage?: string

    HTTP status message.

    -
    +
    - +
    + -
    +
    +

    On This Page

    - -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +
  • cause
  • +
  • details
  • +
  • message
  • +
  • statusMessage
  • + +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/interfaces/_hatsy_hatsy.HttpForwarding.html b/interfaces/_hatsy_hatsy.HttpForwarding.html index b58e549..ec9f067 100644 --- a/interfaces/_hatsy_hatsy.HttpForwarding.html +++ b/interfaces/_hatsy_hatsy.HttpForwarding.html @@ -1,166 +1,158 @@ -HttpForwarding | Hatsy
    +HttpForwarding | Hatsy
    -
    +
    -
    +

    Interface HttpForwarding

    HTTP proxy forwarding capability.

    -

    Extracts trusted forwarding information from HTTP request and updates HTTP request addressing info accordingly.

    +

    Extracts trusted forwarding information from HTTP request and updates HTTP request accordingly.

    The proxy forwarding information is not trusted by default.

    -
    +
    +

    Hierarchy

    +
  • Defined in hatsy/hatsy/src/http/request/http-forwarding.capability.ts:17
  • +
  • Defined in hatsy/hatsy/src/http/request/http-forwarding.capability.ts:71
  • - +

    Methods

    -

    Methods

    -
    - -
      - +
      + +
        +
      • Combines this capability with the next one.

        - -

        Returns

        New request processing capability that applies modifications to request by this capability first, -and then - by the next one.

        - -

        See

        RequestCapability.combine

        -
        +

        Type Parameters

        -
          +
          • -

            TNext

            +

            TNext

            A type of extension to request processing means applied by next capability.

            -
        +
    +

    Parameters

    • -
      next: RequestCapability<HttpMeans<IncomingMessage, ServerResponse<IncomingMessage>> & object, TNext>
      +
      next: RequestCapability<HttpMeans<IncomingMessage, ServerResponse<IncomingMessage>> & object, TNext>

      Next capability that receives requests modified by this capability.

      -
    -

    Returns RequestCapability<HttpMeans<IncomingMessage, ServerResponse<IncomingMessage>>, object & TNext>

    +
    +

    Returns RequestCapability<HttpMeans<IncomingMessage, ServerResponse<IncomingMessage>>, object & TNext>

    New request processing capability that applies modifications to request by this capability first, +and then - by the next one.

    + +
    +

    See

    RequestCapability.combine

    +
    -
    - -
    +
    + +
      +
    • Provides request processing capability to the given handler.

      Builds request processing handler that modifies request and delegates to target handler.

      - -

      Returns

      New request processing handler.

      -
      +

      Type Parameters

      -
        +
        • -

          TMeans extends HttpMeans<IncomingMessage, ServerResponse<IncomingMessage>, TMeans>

          +

          TMeans extends HttpMeans<IncomingMessage, ServerResponse<IncomingMessage>>

          A type of request processing means expected by constructed handler.

          -
      + +

    Parameters

    • -
      handler: RequestHandler<TMeans & object>
      +
      handler: RequestHandler<TMeans & object>

      Request processing handler that will receive modified request context.

      -
    -

    Returns RequestHandler<TMeans>

    +
    + +
      +
    • Configures trust policy to proxy forwarding records.

      - -

      Returns

      New HTTP proxy forwarding capability.

      Parameters

      • -
        trust: HttpForwardTrust
        +
        trust: HttpForwardTrust

        New trust policy to HTTP proxy forwarding records.

        -
      -

      Returns HttpForwarding

    +

    Returns HttpForwarding

    New HTTP proxy forwarding capability.

    + +
    - +
    + -
    +
    +

    On This Page

    - -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +
  • and
  • +
  • for
  • +
  • with
  • + +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/interfaces/_hatsy_hatsy.HttpMeans-1.html b/interfaces/_hatsy_hatsy.HttpMeans-1.html index ae019ae..eb101e9 100644 --- a/interfaces/_hatsy_hatsy.HttpMeans-1.html +++ b/interfaces/_hatsy_hatsy.HttpMeans-1.html @@ -1,119 +1,111 @@ -HttpMeans | Hatsy
    +HttpMeans | Hatsy
    -
    +
    -
    +

    Interface HttpMeans<TRequest, TResponse>

    HTTP request processing means.

    -

    When passed to HTTP handler the latter responds by utilizing the passed in response, or delegates to the -next handler.

    -
    -
    +

    When passed to HTTP handler the latter responds by utilizing the passed in response, or delegates to the +next handler.

    +
    +
    +

    Type Parameters

    -
      +
      • -

        TRequest extends IncomingMessage = IncomingMessage

        +

        TRequest extends IncomingMessage = IncomingMessage

        HTTP request type.

        -
      • +
    +
  • -

    TResponse extends ServerResponse = ServerResponse

    +

    TResponse extends ServerResponse = ServerResponse

    HTTP response type.

    -
  • +
    +

    Hierarchy

    • HttpMeans
    +
  • Defined in hatsy/hatsy/src/http/http.means.ts:12
  • +
  • Defined in hatsy/hatsy/src/http/http.means.ts:32
  • - +

    Properties

    -
    - -
    request: TRequest
    +
    + +
    request: TRequest

    HTTP request.

    -
    -
    - -
    requestAddresses: Addresses
    +
  • Defined in hatsy/hatsy/src/http/http.means.ts:19
  • +
    + +
    requestAddresses: Addresses

    HTTP request addressing info.

    -
    -
    - -
    response: TResponse
    +
  • Defined in hatsy/hatsy/src/http/http.means.ts:24
  • +
    + +
    response: TResponse

    HTTP response.

    -
    -
    +
    + -
    +
    +

    On This Page

    - -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +
  • request
  • +
  • requestAddresses
  • +
  • response
  • + +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/interfaces/_hatsy_hatsy.HttpMeans.Addresses.html b/interfaces/_hatsy_hatsy.HttpMeans.Addresses.html index 8ef45ee..8ceba8e 100644 --- a/interfaces/_hatsy_hatsy.HttpMeans.Addresses.html +++ b/interfaces/_hatsy_hatsy.HttpMeans.Addresses.html @@ -1,97 +1,86 @@ -Addresses | Hatsy
    +Addresses | Hatsy
    -
    +
    -
    +

    Interface Addresses

    HTTP request addressing info.

    -
    +
    +

    Hierarchy

    • Addresses
    +
  • Defined in hatsy/hatsy/src/http/http.means.ts:36
  • - +

    Properties

    -
    ip -url +

    Properties

    -
    - -
    ip: string
    +
    + +
    ip: string

    Remote address.

    -
    +
    -
    - -
    url: URL
    +
  • Defined in hatsy/hatsy/src/http/http.means.ts:45
  • +
    + +
    url: URL

    Request URL.

    -
    +
    - +
    + -
    +
    +

    On This Page

    - -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +
  • ip
  • +
  • url
  • + +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/interfaces/_hatsy_hatsy.JsonParsing.html b/interfaces/_hatsy_hatsy.JsonParsing.html index 373237a..5a22378 100644 --- a/interfaces/_hatsy_hatsy.JsonParsing.html +++ b/interfaces/_hatsy_hatsy.JsonParsing.html @@ -1,18 +1,18 @@ -JsonParsing | Hatsy
    +JsonParsing | Hatsy
    -
    +
    -
    +

    Interface JsonParsing<TInput, TBody>

    @@ -22,169 +22,165 @@

    Interface JsonParsing<TInput, TBody>

    Responds with 415 (Unsupported Media Type) status code if request has content type specified, and it is not application/json, text/json, or text/plain.

    Responds with 400 (Bad Request) status code if failed to parse JSON.

    -
    -
    +
    +
    +

    Type Parameters

    -
    + +

    Hierarchy

    +
  • Defined in hatsy/hatsy/src/http/request/json-parsing.capability.ts:35
  • +
  • Defined in hatsy/hatsy/src/http/request/json-parsing.capability.ts:107
  • - +

    Methods

    -

    Methods

    -
    - - +

    Returns RequestCapability<TInput, RequestBodyMeans<TBody> & TNext>

    New request processing capability that applies modifications to request by this capability first, +and then - by the next one.

    + +
    +

    See

    RequestCapability.combine

    +
    -
    - -
    +
    + +
      +
    • Provides request processing capability to the given handler.

      Builds request processing handler that modifies request and delegates to target handler.

      - -

      Returns

      New request processing handler.

      -
      +

      Type Parameters

      -
        +
        • -

          TMeans extends HttpMeans<IncomingMessage, ServerResponse<IncomingMessage>, TMeans>

          +

          TMeans extends HttpMeans<IncomingMessage, ServerResponse<IncomingMessage>>

          A type of request processing means expected by constructed handler.

          -
      + +

    Parameters

    -

    Returns RequestHandler<TMeans>

    -
    - -
    +
    + +
      +
    • Configures JSON parsing capability to transform submitted data.

      - -

      Returns

      New JSON parsing capability.

      -
      +

      Type Parameters

      -
        +
        • -

          TMeans extends HttpMeans<IncomingMessage, ServerResponse<IncomingMessage>, TMeans>

          +

          TMeans extends HttpMeans<IncomingMessage, ServerResponse<IncomingMessage>>

          HTTP request processing means.

          -
        • + +
        • -

          TTransformed

          +

          TTransformed

          Transformed request body type.

          -
      + +

    Parameters

    -

    Returns FormDecoding<TMeans, TTransformed>

    +
    + -
    +
    +

    On This Page

    - -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +
  • and
  • +
  • for
  • +
  • withBody
  • + +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/interfaces/_hatsy_hatsy.LoggerMeans.html b/interfaces/_hatsy_hatsy.LoggerMeans.html index 1069f32..2ba6533 100644 --- a/interfaces/_hatsy_hatsy.LoggerMeans.html +++ b/interfaces/_hatsy_hatsy.LoggerMeans.html @@ -1,94 +1,83 @@ -LoggerMeans | Hatsy
    +LoggerMeans | Hatsy
    -
    +
    -
    +

    Interface LoggerMeans<TLogger>

    Request logger means.

    -
    -
    +
    +
    +

    Type Parameters

    -
    +
    +

    Hierarchy

    • LoggerMeans
    +
  • Defined in hatsy/hatsy/src/core/logging/logger.means.ts:8
  • - +

    Properties

    -

    Properties

    -
    - -
    log: TLogger
    +
    + +
    log: TLogger

    A logger to use during request processing.

    -
    +
    - +
    + -
    +
    +

    On This Page

    - -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +
  • log
  • + +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/interfaces/_hatsy_hatsy.Logging.html b/interfaces/_hatsy_hatsy.Logging.html index 72563ff..df982f2 100644 --- a/interfaces/_hatsy_hatsy.Logging.html +++ b/interfaces/_hatsy_hatsy.Logging.html @@ -1,183 +1,178 @@ -Logging | Hatsy
    +Logging | Hatsy
    -
    +
    -
    +

    Interface Logging<TInput, TLogger>

    Request logging capability.

    -

    Provides request logger means for handlers.

    -
    -
    +

    Provides request logger means for handlers.

    +
    +
    +

    Type Parameters

    -
      +
      • -

        TInput = unknown

        +

        TInput = unknown

        A type of request processing means required in order to apply this capability.

        -
      • +
    +
  • -

    TLogger extends RequestLogger = RequestLogger

    +

    TLogger extends RequestLogger = RequestLogger

    Request logger type.

    -
  • +
    +

    Hierarchy

    +
  • Defined in hatsy/hatsy/src/core/logging/logging.capability.ts:16
  • +
  • Defined in hatsy/hatsy/src/core/logging/logging.capability.ts:73
  • - +

    Methods

    -

    Methods

    -
    - - +

    Returns RequestCapability<TInput, LoggerMeans<TLogger> & TNext>

    New request processing capability that applies modifications to request by this capability first, +and then - by the next one.

    + +
    +

    See

    RequestCapability.combine

    +
    -
    - -
    +
    + +
      +
    • Provides request processing capability to the given handler.

      Builds request processing handler that modifies request and delegates to target handler.

      - -

      Returns

      New request processing handler.

      -
      +

      Type Parameters

      -
        +
        • -

          TMeans

          +

          TMeans

          A type of request processing means expected by constructed handler.

          -
      + +

    Parameters

    -

    Returns RequestHandler<TMeans>

    -
    - -
    +
    + +
      +
    • Configures a logging capability with the given logger.

      - -

      Returns

      New request logging capability.

      -
      +

      Type Parameters

      -
      + +

    Parameters

    • -
      log: TNewLogger
      +
      log: TNewLogger

      A logger to use for request processing.

      -
    -

    Returns Logging<TInput, TNewLogger>

    +
    + -
    +
    +

    On This Page

    - -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +
  • and
  • +
  • for
  • +
  • logBy
  • + +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/interfaces/_hatsy_hatsy.RenderMeans.html b/interfaces/_hatsy_hatsy.RenderMeans.html index 6fc980a..ea4e2df 100644 --- a/interfaces/_hatsy_hatsy.RenderMeans.html +++ b/interfaces/_hatsy_hatsy.RenderMeans.html @@ -1,18 +1,18 @@ -RenderMeans | Hatsy
    +RenderMeans | Hatsy
    -
    +
    -
    +

    Interface RenderMeans

    @@ -21,30 +21,31 @@

    Interface RenderMeans

    It is implied that response body is generated by these means only. I.e. nothing is written to ServerResponse directly.

    All renderXXX methods write Content-Length header. They skip writing content body when request method is HEAD.

    -
    +
    +

    Hierarchy

    • RenderMeans
    +
  • Defined in hatsy/hatsy/src/http/render/render.means.ts:9
  • - +

    Methods

    -
    - -
    -
    - -
    +
    + + +

    Returns void

    +
    -
    - -
    +
    + + +

    Returns void

    +
    - +
    + -
    +
    +

    On This Page

    - -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +
  • renderBody
  • +
  • renderHtml
  • +
  • renderJson
  • + +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/interfaces/_hatsy_hatsy.RequestBodyMeans.html b/interfaces/_hatsy_hatsy.RequestBodyMeans.html index a39e4ef..e1e8d18 100644 --- a/interfaces/_hatsy_hatsy.RequestBodyMeans.html +++ b/interfaces/_hatsy_hatsy.RequestBodyMeans.html @@ -1,94 +1,83 @@ -RequestBodyMeans | Hatsy
    +RequestBodyMeans | Hatsy
    -
    +
    -
    +

    Interface RequestBodyMeans<TBody>

    Request body processing means.

    -
    -
    +
    +
    +

    Type Parameters

    -
      +
      • -

        TBody

        +

        TBody

        A type of request body.

        -
    +
    +

    Hierarchy

    • RequestBodyMeans
    +
  • Defined in hatsy/hatsy/src/core/request-body.means.ts:6
  • - +

    Properties

    -

    Properties

    -
    - -
    requestBody: TBody
    +
    + +
    requestBody: TBody

    Request body.

    -
    +
    - +
    + -
    +
    +

    On This Page

    - -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +
  • requestBody
  • + +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/interfaces/_hatsy_hatsy.RequestContext.Agent.html b/interfaces/_hatsy_hatsy.RequestContext.Agent.html index 18f8d67..8537092 100644 --- a/interfaces/_hatsy_hatsy.RequestContext.Agent.html +++ b/interfaces/_hatsy_hatsy.RequestContext.Agent.html @@ -1,123 +1,113 @@ -Agent | Hatsy
    +Agent | Hatsy
    -
    +
    -
    +

    Interface Agent<TMeans>

    Request processing agent interface.

    -

    It is extended by request processing context in order the handlers -to be able to delegate processing to other handlers.

    -
    -
    +

    It is extended by request processing context in order the handlers +to be able to delegate processing to other handlers.

    +
    +
    +

    Type Parameters

    -
      +
      • -

        TMeans

        +

        TMeans

        A type of request processing means.

        -
    +
    +

    Hierarchy

    • Agent
    +
  • Defined in hatsy/hatsy/src/core/request-context.ts:27
  • - +

    Methods

    -

    Methods

    -
    - -
      - +
      + +
        +
      • Delegates request processing to the next handler and optionally modifies processing means by creating a new context with the given modifications applied. The rest of the properties remain unchanged.

        - -

        Returns

        A promise resolved when request processing finishes. Resolves to true when request is responded, -or to false otherwise.

        -
        +

        Type Parameters

        -
          +
          • -

            TExt extends object = object

        +

        TExt extends object = object

      Parameters

      • -
        this: void
      • +
        this: void
      • -
        handler: RequestHandler<TMeans & TExt>
        +
        handler: RequestHandler<TMeans & TExt>

        Target handler to delegate request processing to.

        -
      • +
      +
    • -
      Optional modification: RequestModification<TMeans, TExt>
      +
      Optional modification: RequestModification<TMeans, TExt>

      Request processing means modification. this context will be passed to the next handler when omitted.

      -
    -

    Returns Promise<boolean>

    +
    + -
    +
    +

    On This Page

    - -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +
  • next
  • + +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/interfaces/_hatsy_hatsy.RequestLogger.html b/interfaces/_hatsy_hatsy.RequestLogger.html index d0132f0..b93dd90 100644 --- a/interfaces/_hatsy_hatsy.RequestLogger.html +++ b/interfaces/_hatsy_hatsy.RequestLogger.html @@ -1,51 +1,52 @@ -RequestLogger | Hatsy
    +RequestLogger | Hatsy
    -
    +
    -
    +

    Interface RequestLogger

    A logger to use during request processing.

    -
    +
    +

    Hierarchy

      -
    • Logger +
    • Logger
      • RequestLogger
    +
  • Defined in hatsy/hatsy/src/core/logging/request-logger.ts:6
  • - +

    Methods

    -
    - -
    -

    Returns void

    +
    +

    Returns void

    +
    -
    - -
    +
    + + +

    Returns void

    +
    -
    - -
    +
    + + +

    Returns void

    +
    -
    - -
    +
    + + +

    Returns void

    +
    -
    - -
    +
    + + +

    Returns void

    +
    - +
    + -
    +
    +

    On This Page

    - -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +
  • debug
  • +
  • error
  • +
  • info
  • +
  • trace
  • +
  • warn
  • + +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/interfaces/_hatsy_hatsy.RequestProcessor.Config.html b/interfaces/_hatsy_hatsy.RequestProcessor.Config.html index c021828..ce5dac5 100644 --- a/interfaces/_hatsy_hatsy.RequestProcessor.Config.html +++ b/interfaces/_hatsy_hatsy.RequestProcessor.Config.html @@ -1,134 +1,125 @@ -Config | Hatsy
    +Config | Hatsy
    -
    +
    -
    +

    Interface Config<TMeans>

    Request processor configuration.

    -
    -
    +
    +
    +

    Type Parameters

    -
      +
      • -

        TMeans

        +

        TMeans

        A type of initial request processing means.

        -
    +
    +

    Hierarchy

    • Config
    +
  • Defined in hatsy/hatsy/src/core/request-processor.ts:27
  • - +

    Properties

    -

    Methods

    -

    Properties

    -
    - -
    handler: RequestHandlerMethod<Config<TMeans>, TMeans>
    +
    + +
    handler: RequestHandlerMethod<Config<TMeans>, TMeans>

    Initial request processing handler.

    This processor is invoked immediately on request processor call.

    -
    +
    +
  • Defined in hatsy/hatsy/src/core/request-processor.ts:33
  • Methods

    -
    - -
      - +
      + +
        +
      • Calls the next request processing handler.

        -

        This method is called when delegating to request handler. The value returned +

        This method is called when delegating to request handler. The value returned is used as processing result.

        - -

        Returns

        A promise resolved when request processing finishes. Resolves to true when request is responded, -or to false otherwise.

        -
        +

        Type Parameters

        -
          +
          • -

            TExt extends object

        +

        TExt extends object

      Parameters

      +
    • -
      context: RequestContext<TMeans & TExt>
      +
      context: RequestContext<TMeans & TExt>

      Request processing context.

      -
    -

    Returns Promise<boolean>

    - +
    + -
    +
    +

    On This Page

    - -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +
  • handler
  • +
  • next
  • + +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/interfaces/_hatsy_hatsy_testing_js.TestHttpServer.Response.html b/interfaces/_hatsy_hatsy_testing_js.TestHttpServer.Response.html new file mode 100644 index 0000000..eb79fda --- /dev/null +++ b/interfaces/_hatsy_hatsy_testing_js.TestHttpServer.Response.html @@ -0,0 +1,2881 @@ +Response | Hatsy
    +
    + +
    +
    +
    + +
    +

    A response of test HTTP server.

    +
    +
    +
    +

    Hierarchy

    +
      +
    • IncomingMessage +
        +
      • Response
    +
    +
    +
    + +
    +
    +

    Properties

    +
    + +
    aborted: boolean
    +

    The message.aborted property will be true if the request has +been aborted.

    +
    +
    +

    Since

    v10.1.0

    + +

    Deprecated

    Since v17.0.0,v16.12.0 - Check message.destroyed from stream.Readable.

    +
    +
    + +
    closed: boolean
    +

    Is true after 'close' has been emitted.

    +
    +
    +

    Since

    v18.0.0

    +
    +
    + +
    complete: boolean
    +

    The message.complete property will be true if a complete HTTP message has +been received and successfully parsed.

    +

    This property is particularly useful as a means of determining if a client or +server fully transmitted a message before a connection was terminated:

    +
    const req = http.request({
    host: '127.0.0.1',
    port: 8080,
    method: 'POST'
    }, (res) => {
    res.resume();
    res.on('end', () => {
    if (!res.complete)
    console.error(
    'The connection was terminated while the message was still being sent');
    });
    }); +
    +
    +
    +

    Since

    v0.3.0

    +
    +
    + +
    connection: Socket
    +

    Alias for message.socket.

    +
    +
    +

    Since

    v0.1.90

    + +

    Deprecated

    Since v16.0.0 - Use socket.

    +
    +
    + +
    destroyed: boolean
    +

    Is true after readable.destroy() has been called.

    +
    +
    +

    Since

    v8.0.0

    +
    +
    + +
    errored: null | Error
    +

    Returns error if the stream has been destroyed with an error.

    +
    +
    +

    Since

    v18.0.0

    +
    +
    + +
    headers: IncomingHttpHeaders
    +

    The request/response headers object.

    +

    Key-value pairs of header names and values. Header names are lower-cased.

    +
    // Prints something like:
    //
    // { 'user-agent': 'curl/7.22.0',
    // host: '127.0.0.1:8000',
    // accept: '*' }
    console.log(request.getHeaders()); +
    +

    Duplicates in raw headers are handled in the following ways, depending on the +header name:

    +
      +
    • Duplicates of age, authorization, content-length, content-type,etag, expires, from, host, if-modified-since, if-unmodified-since,last-modified, location, +max-forwards, proxy-authorization, referer,retry-after, server, or user-agent are discarded.
    • +
    • set-cookie is always an array. Duplicates are added to the array.
    • +
    • For duplicate cookie headers, the values are joined together with '; '.
    • +
    • For all other headers, the values are joined together with ', '.
    • +
    +
    +
    +

    Since

    v0.1.5

    +
    +
    + +
    headersDistinct: Dict<string[]>
    +

    Similar to message.headers, but there is no join logic and the values are always arrays of strings, even for headers received just once.

    +
    // Prints something like:
    //
    // { 'user-agent': ['curl/7.22.0'],
    // host: ['127.0.0.1:8000'],
    // accept: ['*'] }
    console.log(request.headersDistinct); +
    +
    +
    +

    Since

    v18.3.0, v16.17.0

    +
    +
    + +
    httpVersion: string
    +

    In case of server request, the HTTP version sent by the client. In the case of +client response, the HTTP version of the connected-to server. +Probably either '1.1' or '1.0'.

    +

    Also message.httpVersionMajor is the first integer andmessage.httpVersionMinor is the second.

    +
    +
    +

    Since

    v0.1.1

    +
    +
    + +
    httpVersionMajor: number
    +
    + +
    httpVersionMinor: number
    +
    + +
    method?: string
    +

    Only valid for request obtained from Server.

    +

    The request method as a string. Read only. Examples: 'GET', 'DELETE'.

    +
    +
    +

    Since

    v0.1.1

    +
    +
    + +
    rawHeaders: string[]
    +

    The raw request/response headers list exactly as they were received.

    +

    The keys and values are in the same list. It is not a +list of tuples. So, the even-numbered offsets are key values, and the +odd-numbered offsets are the associated values.

    +

    Header names are not lowercased, and duplicates are not merged.

    +
    // Prints something like:
    //
    // [ 'user-agent',
    // 'this is invalid because there can be only one',
    // 'User-Agent',
    // 'curl/7.22.0',
    // 'Host',
    // '127.0.0.1:8000',
    // 'ACCEPT',
    // '*' ]
    console.log(request.rawHeaders); +
    +
    +
    +

    Since

    v0.11.6

    +
    +
    + +
    rawTrailers: string[]
    +

    The raw request/response trailer keys and values exactly as they were +received. Only populated at the 'end' event.

    +
    +
    +

    Since

    v0.11.6

    +
    +
    + +
    readable: boolean
    +

    Is true if it is safe to call readable.read(), which means +the stream has not been destroyed or emitted 'error' or 'end'.

    +
    +
    +

    Since

    v11.4.0

    +
    +
    + +
    readableAborted: boolean
    +

    Returns whether the stream was destroyed or errored before emitting 'end'.

    +
    +
    +

    Since

    v16.8.0

    +
    +
    + +
    readableDidRead: boolean
    +

    Returns whether 'data' has been emitted.

    +
    +
    +

    Since

    v16.7.0, v14.18.0

    +
    +
    + +
    readableEncoding: null | BufferEncoding
    +

    Getter for the property encoding of a given Readable stream. The encodingproperty can be set using the readable.setEncoding() method.

    +
    +
    +

    Since

    v12.7.0

    +
    +
    + +
    readableEnded: boolean
    +

    Becomes true when 'end' event is emitted.

    +
    +
    +

    Since

    v12.9.0

    +
    +
    + +
    readableFlowing: null | boolean
    +

    This property reflects the current state of a Readable stream as described +in the Three states section.

    +
    +
    +

    Since

    v9.4.0

    +
    +
    + +
    readableHighWaterMark: number
    +

    Returns the value of highWaterMark passed when creating this Readable.

    +
    +
    +

    Since

    v9.3.0

    +
    +
    + +
    readableLength: number
    +

    This property contains the number of bytes (or objects) in the queue +ready to be read. The value provides introspection data regarding +the status of the highWaterMark.

    +
    +
    +

    Since

    v9.4.0

    +
    +
    + +
    readableObjectMode: boolean
    +

    Getter for the property objectMode of a given Readable stream.

    +
    +
    +

    Since

    v12.3.0

    +
    +
    + +
    socket: Socket
    +

    The net.Socket object associated with the connection.

    +

    With HTTPS support, use request.socket.getPeerCertificate() to obtain the +client's authentication details.

    +

    This property is guaranteed to be an instance of the net.Socket class, +a subclass of stream.Duplex, unless the user specified a socket +type other than net.Socket or internally nulled.

    +
    +
    +

    Since

    v0.3.0

    +
    +
    + +
    statusCode?: number
    +

    Only valid for response obtained from ClientRequest.

    +

    The 3-digit HTTP response status code. E.G. 404.

    +
    +
    +

    Since

    v0.1.1

    +
    +
    + +
    statusMessage?: string
    +

    Only valid for response obtained from ClientRequest.

    +

    The HTTP response status message (reason phrase). E.G. OK or Internal Server Error.

    +
    +
    +

    Since

    v0.11.10

    +
    +
    + +
    trailers: Dict<string>
    +

    The request/response trailers object. Only populated at the 'end' event.

    +
    +
    +

    Since

    v0.3.0

    +
    +
    + +
    trailersDistinct: Dict<string[]>
    +

    Similar to message.trailers, but there is no join logic and the values are always arrays of strings, even for headers received just once. +Only populated at the 'end' event.

    +
    +
    +

    Since

    v18.3.0, v16.17.0

    +
    +
    + +
    url?: string
    +

    Only valid for request obtained from Server.

    +

    Request URL string. This contains only the URL that is present in the actual +HTTP request. Take the following request:

    +
    GET /status?name=ryan HTTP/1.1
    Accept: text/plain +
    +

    To parse the URL into its parts:

    +
    new URL(request.url, `http://${request.getHeaders().host}`);
    +
    +

    When request.url is '/status?name=ryan' andrequest.getHeaders().host is 'localhost:3000':

    +
    $ node
    > new URL(request.url, `http://${request.getHeaders().host}`)
    URL {
    href: 'http://localhost:3000/status?name=ryan',
    origin: 'http://localhost:3000',
    protocol: 'http:',
    username: '',
    password: '',
    host: 'localhost:3000',
    hostname: 'localhost',
    port: '3000',
    pathname: '/status',
    search: '?name=ryan',
    searchParams: URLSearchParams { 'name' => 'ryan' },
    hash: ''
    } +
    +
    +
    +

    Since

    v0.1.90

    +
    +
    +

    Methods

    +
    + +
      + +
    • +

      Returns AsyncIterableIterator<any>

    +
    + +
      + +
    • +
      +

      Parameters

      +
        +
      • +
        callback: ((error?) => void)
        +
          +
        • +
            +
          • (error?): void
          • +
          • +
            +

            Parameters

            +
              +
            • +
              Optional error: null | Error
            +

            Returns void

      +

      Returns void

    +
    + +
      + +
    • +
      +

      Parameters

      +
        +
      • +
        error: null | Error
      • +
      • +
        callback: ((error?) => void)
        +
          +
        • +
            +
          • (error?): void
          • +
          • +
            +

            Parameters

            +
              +
            • +
              Optional error: null | Error
            +

            Returns void

      +

      Returns void

    +
    + +
      + +
    • +
      +

      Parameters

      +
        +
      • +
        size: number
      +

      Returns void

    +
    + +
      + +
    • +

      Event emitter +The defined events on documents including:

      +
        +
      1. close
      2. +
      3. data
      4. +
      5. end
      6. +
      7. error
      8. +
      9. pause
      10. +
      11. readable
      12. +
      13. resume
      14. +
      +
      +
      +

      Parameters

      +
        +
      • +
        event: "close"
      • +
      • +
        listener: (() => void)
        +
          +
        • +
            +
          • (): void
          • +
          • +

            Returns void

      +

      Returns Response

      +
    • + +
    • +
      +

      Parameters

      +
        +
      • +
        event: "data"
      • +
      • +
        listener: ((chunk) => void)
        +
          +
        • +
            +
          • (chunk): void
          • +
          • +
            +

            Parameters

            +
              +
            • +
              chunk: any
            +

            Returns void

      +

      Returns Response

    • + +
    • +
      +

      Parameters

      +
        +
      • +
        event: "end"
      • +
      • +
        listener: (() => void)
        +
          +
        • +
            +
          • (): void
          • +
          • +

            Returns void

      +

      Returns Response

    • + +
    • +
      +

      Parameters

      +
        +
      • +
        event: "error"
      • +
      • +
        listener: ((err) => void)
        +
          +
        • +
            +
          • (err): void
          • +
          • +
            +

            Parameters

            +
              +
            • +
              err: Error
            +

            Returns void

      +

      Returns Response

    • + +
    • +
      +

      Parameters

      +
        +
      • +
        event: "pause"
      • +
      • +
        listener: (() => void)
        +
          +
        • +
            +
          • (): void
          • +
          • +

            Returns void

      +

      Returns Response

    • + +
    • +
      +

      Parameters

      +
        +
      • +
        event: "readable"
      • +
      • +
        listener: (() => void)
        +
          +
        • +
            +
          • (): void
          • +
          • +

            Returns void

      +

      Returns Response

    • + +
    • +
      +

      Parameters

      +
        +
      • +
        event: "resume"
      • +
      • +
        listener: (() => void)
        +
          +
        • +
            +
          • (): void
          • +
          • +

            Returns void

      +

      Returns Response

    • + +
    • +
      +

      Parameters

      +
        +
      • +
        event: string | symbol
      • +
      • +
        listener: ((...args) => void)
        +
          +
        • +
            +
          • (...args): void
          • +
          • +
            +

            Parameters

            +
              +
            • +
              Rest ...args: any[]
            +

            Returns void

      +

      Returns Response

    +
    + +
      + +
    • +

      This method returns a new stream with chunks of the underlying stream paired with a counter +in the form [index, chunk]. The first index value is 0 and it increases by 1 for each chunk produced.

      +
      +
      +

      Parameters

      +
        +
      • +
        Optional options: Pick<ArrayOptions, "signal">
      +

      Returns Readable

      a stream of indexed pairs.

      + +
      +

      Since

      v17.5.0

      +
    +
    + +
    +
    + +
      + +
    • +
      +

      Type Parameters

      +
        +
      • +

        T extends ReadableStream

      +
      +

      Parameters

      +
        +
      • +
        stream: ComposeFnParam | T | Iterable<T> | AsyncIterable<T>
      • +
      • +
        Optional options: {
            signal: AbortSignal;
        }
        +
          +
        • +
          signal: AbortSignal
      +

      Returns T

    +
    + +
      + +
    • +

      Calls destroy() on the socket that received the IncomingMessage. If erroris provided, an 'error' event is emitted on the socket and error is passed +as an argument to any listeners on the event.

      +
      +
      +

      Parameters

      +
        +
      • +
        Optional error: Error
      +

      Returns Response

      +
      +

      Since

      v0.3.0

      +
    +
    + +
      + +
    • +

      This method returns a new stream with the first limit chunks dropped from the start.

      +
      +
      +

      Parameters

      +
        +
      • +
        limit: number
        +

        the number of chunks to drop from the readable.

        +
        +
      • +
      • +
        Optional options: Pick<ArrayOptions, "signal">
      +

      Returns Readable

      a stream with limit chunks dropped from the start.

      + +
      +

      Since

      v17.5.0

      +
    +
    + +
      + +
    • +
      +

      Parameters

      +
        +
      • +
        event: "close"
      +

      Returns boolean

    • + +
    • +
      +

      Parameters

      +
        +
      • +
        event: "data"
      • +
      • +
        chunk: any
      +

      Returns boolean

    • + +
    • +
      +

      Parameters

      +
        +
      • +
        event: "end"
      +

      Returns boolean

    • + +
    • +
      +

      Parameters

      +
        +
      • +
        event: "error"
      • +
      • +
        err: Error
      +

      Returns boolean

    • + +
    • +
      +

      Parameters

      +
        +
      • +
        event: "pause"
      +

      Returns boolean

    • + +
    • +
      +

      Parameters

      +
        +
      • +
        event: "readable"
      +

      Returns boolean

    • + +
    • +
      +

      Parameters

      +
        +
      • +
        event: "resume"
      +

      Returns boolean

    • + +
    • +
      +

      Parameters

      +
        +
      • +
        event: string | symbol
      • +
      • +
        Rest ...args: any[]
      +

      Returns boolean

    +
    + +
      + +
    • +

      Returns an array listing the events for which the emitter has registered +listeners. The values in the array are strings or Symbols.

      +
      const EventEmitter = require('events');
      const myEE = new EventEmitter();
      myEE.on('foo', () => {});
      myEE.on('bar', () => {});

      const sym = Symbol('symbol');
      myEE.on(sym, () => {});

      console.log(myEE.eventNames());
      // Prints: [ 'foo', 'bar', Symbol(symbol) ] +
      +
      +

      Returns (string | symbol)[]

      +
      +

      Since

      v6.0.0

      +
    +
    + +
      + +
    • +

      This method is similar to Array.prototype.every and calls fn on each chunk in the stream +to check if all awaited return values are truthy value for fn. Once an fn call on a chunk +awaited return value is falsy, the stream is destroyed and the promise is fulfilled with false. +If all of the fn calls on the chunks return a truthy value, the promise is fulfilled with true.

      +
      +
      +

      Parameters

      +
        +
      • +
        fn: ((data, options?) => boolean | Promise<boolean>)
        +

        a function to call on each chunk of the stream. Async or not.

        +
        +
        +
          +
        • +
            +
          • (data, options?): boolean | Promise<boolean>
          • +
          • +
            +

            Parameters

            +
              +
            • +
              data: any
            • +
            • +
              Optional options: Pick<ArrayOptions, "signal">
            +

            Returns boolean | Promise<boolean>

      • +
      • +
        Optional options: ArrayOptions
      +

      Returns Promise<boolean>

      a promise evaluating to true if fn returned a truthy value for every one of the chunks.

      + +
      +

      Since

      v17.5.0

      +
    +
    + +
      + +
    • +

      This method allows filtering the stream. For each chunk in the stream the fn function will be called +and if it returns a truthy value, the chunk will be passed to the result stream. +If the fn function returns a promise - that promise will be awaited.

      +
      +
      +

      Parameters

      +
        +
      • +
        fn: ((data, options?) => boolean | Promise<boolean>)
        +

        a function to filter chunks from the stream. Async or not.

        +
        +
        +
          +
        • +
            +
          • (data, options?): boolean | Promise<boolean>
          • +
          • +
            +

            Parameters

            +
              +
            • +
              data: any
            • +
            • +
              Optional options: Pick<ArrayOptions, "signal">
            +

            Returns boolean | Promise<boolean>

      • +
      • +
        Optional options: ArrayOptions
      +

      Returns Readable

      a stream filtered with the predicate fn.

      + +
      +

      Since

      v17.4.0, v16.14.0

      +
    +
    + +
      + +
    • +

      This method is similar to Array.prototype.find and calls fn on each chunk in the stream +to find a chunk with a truthy value for fn. Once an fn call's awaited return value is truthy, +the stream is destroyed and the promise is fulfilled with value for which fn returned a truthy value. +If all of the fn calls on the chunks return a falsy value, the promise is fulfilled with undefined.

      +
      +
      +

      Type Parameters

      +
        +
      • +

        T

      +
      +

      Parameters

      +
        +
      • +
        fn: ((data, options?) => data is T)
        +

        a function to call on each chunk of the stream. Async or not.

        +
        +
        +
          +
        • +
            +
          • (data, options?): data is T
          • +
          • +
            +

            Parameters

            +
              +
            • +
              data: any
            • +
            • +
              Optional options: Pick<ArrayOptions, "signal">
            +

            Returns data is T

      • +
      • +
        Optional options: ArrayOptions
      +

      Returns Promise<undefined | T>

      a promise evaluating to the first chunk for which fn evaluated with a truthy value, +or undefined if no element was found.

      + +
      +

      Since

      v17.5.0

      +
    • + +
    • +
      +

      Parameters

      +
        +
      • +
        fn: ((data, options?) => boolean | Promise<boolean>)
        +
          +
        • +
            +
          • (data, options?): boolean | Promise<boolean>
          • +
          • +
            +

            Parameters

            +
              +
            • +
              data: any
            • +
            • +
              Optional options: Pick<ArrayOptions, "signal">
            +

            Returns boolean | Promise<boolean>

      • +
      • +
        Optional options: ArrayOptions
      +

      Returns Promise<any>

    +
    + +
      + +
    • +

      This method returns a new stream by applying the given callback to each chunk of the stream +and then flattening the result.

      +

      It is possible to return a stream or another iterable or async iterable from fn and the result streams +will be merged (flattened) into the returned stream.

      +
      +
      +

      Parameters

      +
        +
      • +
        fn: ((data, options?) => any)
        +

        a function to map over every chunk in the stream. May be async. May be a stream or generator.

        +
        +
        +
          +
        • +
            +
          • (data, options?): any
          • +
          • +
            +

            Parameters

            +
              +
            • +
              data: any
            • +
            • +
              Optional options: Pick<ArrayOptions, "signal">
            +

            Returns any

      • +
      • +
        Optional options: ArrayOptions
      +

      Returns Readable

      a stream flat-mapped with the function fn.

      + +
      +

      Since

      v17.5.0

      +
    +
    + +
      + +
    • +

      This method allows iterating a stream. For each chunk in the stream the fn function will be called. +If the fn function returns a promise - that promise will be awaited.

      +

      This method is different from for await...of loops in that it can optionally process chunks concurrently. +In addition, a forEach iteration can only be stopped by having passed a signal option +and aborting the related AbortController while for await...of can be stopped with break or return. +In either case the stream will be destroyed.

      +

      This method is different from listening to the 'data' event in that it uses the readable event +in the underlying machinary and can limit the number of concurrent fn calls.

      +
      +
      +

      Parameters

      +
        +
      • +
        fn: ((data, options?) => void | Promise<void>)
        +

        a function to call on each chunk of the stream. Async or not.

        +
        +
        +
          +
        • +
            +
          • (data, options?): void | Promise<void>
          • +
          • +
            +

            Parameters

            +
              +
            • +
              data: any
            • +
            • +
              Optional options: Pick<ArrayOptions, "signal">
            +

            Returns void | Promise<void>

      • +
      • +
        Optional options: ArrayOptions
      +

      Returns Promise<void>

      a promise for when the stream has finished.

      + +
      +

      Since

      v17.5.0

      +
    +
    + +
      + +
    • +

      Returns the current max listener value for the EventEmitter which is either +set by emitter.setMaxListeners(n) or defaults to defaultMaxListeners.

      +
      +

      Returns number

      +
      +

      Since

      v1.0.0

      +
    +
    + +
      + +
    • +

      The readable.isPaused() method returns the current operating state of theReadable. This is used primarily by the mechanism that underlies thereadable.pipe() method. In most +typical cases, there will be no reason to +use this method directly.

      +
      const readable = new stream.Readable();

      readable.isPaused(); // === false
      readable.pause();
      readable.isPaused(); // === true
      readable.resume();
      readable.isPaused(); // === false +
      +
      +

      Returns boolean

      +
      +

      Since

      v0.11.14

      +
    +
    + +
      + +
    • +

      The iterator created by this method gives users the option to cancel the destruction +of the stream if the for await...of loop is exited by return, break, or throw, +or if the iterator should destroy the stream if the stream emitted an error during iteration.

      +
      +
      +

      Parameters

      +
        +
      • +
        Optional options: {
            destroyOnReturn?: boolean;
        }
        +
          +
        • +
          Optional destroyOnReturn?: boolean
          +

          When set to false, calling return on the async iterator, +or exiting a for await...of iteration using a break, return, or throw will not destroy the stream. +Default: true.

          +
          +
      +

      Returns AsyncIterableIterator<any>

      +
      +

      Since

      v16.3.0

      +
    +
    + +
      + +
    • +

      Returns the number of listeners listening to the event named eventName.

      +

      If listener is provided, it will return how many times the listener +is found in the list of the listeners of the event.

      +
      +
      +

      Parameters

      +
        +
      • +
        eventName: string | symbol
        +

        The name of the event being listened for

        +
        +
      • +
      • +
        Optional listener: Function
        +

        The event handler function

        +
        +
      +

      Returns number

      +
      +

      Since

      v3.2.0

      +
    +
    + +
      + +
    • +

      Returns a copy of the array of listeners for the event named eventName.

      +
      server.on('connection', (stream) => {
      console.log('someone connected!');
      });
      console.log(util.inspect(server.listeners('connection')));
      // Prints: [ [Function] ] +
      +
      +
      +

      Parameters

      +
        +
      • +
        eventName: string | symbol
      +

      Returns Function[]

      +
      +

      Since

      v0.1.26

      +
    +
    + +
      + +
    • +

      This method allows mapping over the stream. The fn function will be called for every chunk in the stream. +If the fn function returns a promise - that promise will be awaited before being passed to the result stream.

      +
      +
      +

      Parameters

      +
        +
      • +
        fn: ((data, options?) => any)
        +

        a function to map over every chunk in the stream. Async or not.

        +
        +
        +
          +
        • +
            +
          • (data, options?): any
          • +
          • +
            +

            Parameters

            +
              +
            • +
              data: any
            • +
            • +
              Optional options: Pick<ArrayOptions, "signal">
            +

            Returns any

      • +
      • +
        Optional options: ArrayOptions
      +

      Returns Readable

      a stream mapped with the function fn.

      + +
      +

      Since

      v17.4.0, v16.14.0

      +
    +
    + +
      + +
    • +

      Alias for emitter.removeListener().

      +
      +
      +

      Parameters

      +
        +
      • +
        eventName: string | symbol
      • +
      • +
        listener: ((...args) => void)
        +
          +
        • +
            +
          • (...args): void
          • +
          • +
            +

            Parameters

            +
              +
            • +
              Rest ...args: any[]
            +

            Returns void

      +

      Returns Response

      +
      +

      Since

      v10.0.0

      +
    +
    + +
      + +
    • +
      +

      Parameters

      +
        +
      • +
        event: "close"
      • +
      • +
        listener: (() => void)
        +
          +
        • +
            +
          • (): void
          • +
          • +

            Returns void

      +

      Returns Response

    • + +
    • +
      +

      Parameters

      +
        +
      • +
        event: "data"
      • +
      • +
        listener: ((chunk) => void)
        +
          +
        • +
            +
          • (chunk): void
          • +
          • +
            +

            Parameters

            +
              +
            • +
              chunk: any
            +

            Returns void

      +

      Returns Response

    • + +
    • +
      +

      Parameters

      +
        +
      • +
        event: "end"
      • +
      • +
        listener: (() => void)
        +
          +
        • +
            +
          • (): void
          • +
          • +

            Returns void

      +

      Returns Response

    • + +
    • +
      +

      Parameters

      +
        +
      • +
        event: "error"
      • +
      • +
        listener: ((err) => void)
        +
          +
        • +
            +
          • (err): void
          • +
          • +
            +

            Parameters

            +
              +
            • +
              err: Error
            +

            Returns void

      +

      Returns Response

    • + +
    • +
      +

      Parameters

      +
        +
      • +
        event: "pause"
      • +
      • +
        listener: (() => void)
        +
          +
        • +
            +
          • (): void
          • +
          • +

            Returns void

      +

      Returns Response

    • + +
    • +
      +

      Parameters

      +
        +
      • +
        event: "readable"
      • +
      • +
        listener: (() => void)
        +
          +
        • +
            +
          • (): void
          • +
          • +

            Returns void

      +

      Returns Response

    • + +
    • +
      +

      Parameters

      +
        +
      • +
        event: "resume"
      • +
      • +
        listener: (() => void)
        +
          +
        • +
            +
          • (): void
          • +
          • +

            Returns void

      +

      Returns Response

    • + +
    • +
      +

      Parameters

      +
        +
      • +
        event: string | symbol
      • +
      • +
        listener: ((...args) => void)
        +
          +
        • +
            +
          • (...args): void
          • +
          • +
            +

            Parameters

            +
              +
            • +
              Rest ...args: any[]
            +

            Returns void

      +

      Returns Response

    +
    + +
      + +
    • +
      +

      Parameters

      +
        +
      • +
        event: "close"
      • +
      • +
        listener: (() => void)
        +
          +
        • +
            +
          • (): void
          • +
          • +

            Returns void

      +

      Returns Response

    • + +
    • +
      +

      Parameters

      +
        +
      • +
        event: "data"
      • +
      • +
        listener: ((chunk) => void)
        +
          +
        • +
            +
          • (chunk): void
          • +
          • +
            +

            Parameters

            +
              +
            • +
              chunk: any
            +

            Returns void

      +

      Returns Response

    • + +
    • +
      +

      Parameters

      +
        +
      • +
        event: "end"
      • +
      • +
        listener: (() => void)
        +
          +
        • +
            +
          • (): void
          • +
          • +

            Returns void

      +

      Returns Response

    • + +
    • +
      +

      Parameters

      +
        +
      • +
        event: "error"
      • +
      • +
        listener: ((err) => void)
        +
          +
        • +
            +
          • (err): void
          • +
          • +
            +

            Parameters

            +
              +
            • +
              err: Error
            +

            Returns void

      +

      Returns Response

    • + +
    • +
      +

      Parameters

      +
        +
      • +
        event: "pause"
      • +
      • +
        listener: (() => void)
        +
          +
        • +
            +
          • (): void
          • +
          • +

            Returns void

      +

      Returns Response

    • + +
    • +
      +

      Parameters

      +
        +
      • +
        event: "readable"
      • +
      • +
        listener: (() => void)
        +
          +
        • +
            +
          • (): void
          • +
          • +

            Returns void

      +

      Returns Response

    • + +
    • +
      +

      Parameters

      +
        +
      • +
        event: "resume"
      • +
      • +
        listener: (() => void)
        +
          +
        • +
            +
          • (): void
          • +
          • +

            Returns void

      +

      Returns Response

    • + +
    • +
      +

      Parameters

      +
        +
      • +
        event: string | symbol
      • +
      • +
        listener: ((...args) => void)
        +
          +
        • +
            +
          • (...args): void
          • +
          • +
            +

            Parameters

            +
              +
            • +
              Rest ...args: any[]
            +

            Returns void

      +

      Returns Response

    +
    + +
      + +
    • +

      The readable.pause() method will cause a stream in flowing mode to stop +emitting 'data' events, switching out of flowing mode. Any data that +becomes available will remain in the internal buffer.

      +
      const readable = getReadableStreamSomehow();
      readable.on('data', (chunk) => {
      console.log(`Received ${chunk.length} bytes of data.`);
      readable.pause();
      console.log('There will be no additional data for 1 second.');
      setTimeout(() => {
      console.log('Now data will start flowing again.');
      readable.resume();
      }, 1000);
      }); +
      +

      The readable.pause() method has no effect if there is a 'readable'event listener.

      +
      +

      Returns Response

      +
      +

      Since

      v0.9.4

      +
    +
    + +
      + +
    • +
      +

      Type Parameters

      +
        +
      • +

        T extends WritableStream

      +
      +

      Parameters

      +
        +
      • +
        destination: T
      • +
      • +
        Optional options: {
            end?: boolean;
        }
        +
          +
        • +
          Optional end?: boolean
      +

      Returns T

    +
    + +
      + +
    • +
      +

      Parameters

      +
        +
      • +
        event: "close"
      • +
      • +
        listener: (() => void)
        +
          +
        • +
            +
          • (): void
          • +
          • +

            Returns void

      +

      Returns Response

    • + +
    • +
      +

      Parameters

      +
        +
      • +
        event: "data"
      • +
      • +
        listener: ((chunk) => void)
        +
          +
        • +
            +
          • (chunk): void
          • +
          • +
            +

            Parameters

            +
              +
            • +
              chunk: any
            +

            Returns void

      +

      Returns Response

    • + +
    • +
      +

      Parameters

      +
        +
      • +
        event: "end"
      • +
      • +
        listener: (() => void)
        +
          +
        • +
            +
          • (): void
          • +
          • +

            Returns void

      +

      Returns Response

    • + +
    • +
      +

      Parameters

      +
        +
      • +
        event: "error"
      • +
      • +
        listener: ((err) => void)
        +
          +
        • +
            +
          • (err): void
          • +
          • +
            +

            Parameters

            +
              +
            • +
              err: Error
            +

            Returns void

      +

      Returns Response

    • + +
    • +
      +

      Parameters

      +
        +
      • +
        event: "pause"
      • +
      • +
        listener: (() => void)
        +
          +
        • +
            +
          • (): void
          • +
          • +

            Returns void

      +

      Returns Response

    • + +
    • +
      +

      Parameters

      +
        +
      • +
        event: "readable"
      • +
      • +
        listener: (() => void)
        +
          +
        • +
            +
          • (): void
          • +
          • +

            Returns void

      +

      Returns Response

    • + +
    • +
      +

      Parameters

      +
        +
      • +
        event: "resume"
      • +
      • +
        listener: (() => void)
        +
          +
        • +
            +
          • (): void
          • +
          • +

            Returns void

      +

      Returns Response

    • + +
    • +
      +

      Parameters

      +
        +
      • +
        event: string | symbol
      • +
      • +
        listener: ((...args) => void)
        +
          +
        • +
            +
          • (...args): void
          • +
          • +
            +

            Parameters

            +
              +
            • +
              Rest ...args: any[]
            +

            Returns void

      +

      Returns Response

    +
    + +
      + +
    • +
      +

      Parameters

      +
        +
      • +
        event: "close"
      • +
      • +
        listener: (() => void)
        +
          +
        • +
            +
          • (): void
          • +
          • +

            Returns void

      +

      Returns Response

    • + +
    • +
      +

      Parameters

      +
        +
      • +
        event: "data"
      • +
      • +
        listener: ((chunk) => void)
        +
          +
        • +
            +
          • (chunk): void
          • +
          • +
            +

            Parameters

            +
              +
            • +
              chunk: any
            +

            Returns void

      +

      Returns Response

    • + +
    • +
      +

      Parameters

      +
        +
      • +
        event: "end"
      • +
      • +
        listener: (() => void)
        +
          +
        • +
            +
          • (): void
          • +
          • +

            Returns void

      +

      Returns Response

    • + +
    • +
      +

      Parameters

      +
        +
      • +
        event: "error"
      • +
      • +
        listener: ((err) => void)
        +
          +
        • +
            +
          • (err): void
          • +
          • +
            +

            Parameters

            +
              +
            • +
              err: Error
            +

            Returns void

      +

      Returns Response

    • + +
    • +
      +

      Parameters

      +
        +
      • +
        event: "pause"
      • +
      • +
        listener: (() => void)
        +
          +
        • +
            +
          • (): void
          • +
          • +

            Returns void

      +

      Returns Response

    • + +
    • +
      +

      Parameters

      +
        +
      • +
        event: "readable"
      • +
      • +
        listener: (() => void)
        +
          +
        • +
            +
          • (): void
          • +
          • +

            Returns void

      +

      Returns Response

    • + +
    • +
      +

      Parameters

      +
        +
      • +
        event: "resume"
      • +
      • +
        listener: (() => void)
        +
          +
        • +
            +
          • (): void
          • +
          • +

            Returns void

      +

      Returns Response

    • + +
    • +
      +

      Parameters

      +
        +
      • +
        event: string | symbol
      • +
      • +
        listener: ((...args) => void)
        +
          +
        • +
            +
          • (...args): void
          • +
          • +
            +

            Parameters

            +
              +
            • +
              Rest ...args: any[]
            +

            Returns void

      +

      Returns Response

    +
    + +
      + +
    • +
      +

      Parameters

      +
        +
      • +
        chunk: any
      • +
      • +
        Optional encoding: BufferEncoding
      +

      Returns boolean

    +
    + +
      + +
    • +

      Returns a copy of the array of listeners for the event named eventName, +including any wrappers (such as those created by .once()).

      +
      const emitter = new EventEmitter();
      emitter.once('log', () => console.log('log once'));

      // Returns a new Array with a function `onceWrapper` which has a property
      // `listener` which contains the original listener bound above
      const listeners = emitter.rawListeners('log');
      const logFnWrapper = listeners[0];

      // Logs "log once" to the console and does not unbind the `once` event
      logFnWrapper.listener();

      // Logs "log once" to the console and removes the listener
      logFnWrapper();

      emitter.on('log', () => console.log('log persistently'));
      // Will return a new Array with a single function bound by `.on()` above
      const newListeners = emitter.rawListeners('log');

      // Logs "log persistently" twice
      newListeners[0]();
      emitter.emit('log'); +
      +
      +
      +

      Parameters

      +
        +
      • +
        eventName: string | symbol
      +

      Returns Function[]

      +
      +

      Since

      v9.4.0

      +
    +
    + +
      + +
    • +

      The readable.read() method reads data out of the internal buffer and +returns it. If no data is available to be read, null is returned. By default, +the data is returned as a Buffer object unless an encoding has been +specified using the readable.setEncoding() method or the stream is operating +in object mode.

      +

      The optional size argument specifies a specific number of bytes to read. Ifsize bytes are not available to be read, null will be returned _unless_the stream has ended, in which +case all of the data remaining in the internal +buffer will be returned.

      +

      If the size argument is not specified, all of the data contained in the +internal buffer will be returned.

      +

      The size argument must be less than or equal to 1 GiB.

      +

      The readable.read() method should only be called on Readable streams +operating in paused mode. In flowing mode, readable.read() is called +automatically until the internal buffer is fully drained.

      +
      const readable = getReadableStreamSomehow();

      // 'readable' may be triggered multiple times as data is buffered in
      readable.on('readable', () => {
      let chunk;
      console.log('Stream is readable (new data received in buffer)');
      // Use a loop to make sure we read all currently available data
      while (null !== (chunk = readable.read())) {
      console.log(`Read ${chunk.length} bytes of data...`);
      }
      });

      // 'end' will be triggered once when there is no more data available
      readable.on('end', () => {
      console.log('Reached end of stream.');
      }); +
      +

      Each call to readable.read() returns a chunk of data, or null. The chunks +are not concatenated. A while loop is necessary to consume all data +currently in the buffer. When reading a large file .read() may return null, +having consumed all buffered content so far, but there is still more data to +come not yet buffered. In this case a new 'readable' event will be emitted +when there is more data in the buffer. Finally the 'end' event will be +emitted when there is no more data to come.

      +

      Therefore to read a file's whole contents from a readable, it is necessary +to collect chunks across multiple 'readable' events:

      +
      const chunks = [];

      readable.on('readable', () => {
      let chunk;
      while (null !== (chunk = readable.read())) {
      chunks.push(chunk);
      }
      });

      readable.on('end', () => {
      const content = chunks.join('');
      }); +
      +

      A Readable stream in object mode will always return a single item from +a call to readable.read(size), regardless of the value of thesize argument.

      +

      If the readable.read() method returns a chunk of data, a 'data' event will +also be emitted.

      +

      Calling read after the 'end' event has +been emitted will return null. No runtime error will be raised.

      +
      +
      +

      Parameters

      +
        +
      • +
        Optional size: number
        +

        Optional argument to specify how much data to read.

        +
        +
      +

      Returns any

      +
      +

      Since

      v0.9.4

      +
    +
    + +
      + +
    • +

      This method calls fn on each chunk of the stream in order, passing it the result from the calculation +on the previous element. It returns a promise for the final value of the reduction.

      +

      If no initial value is supplied the first chunk of the stream is used as the initial value. +If the stream is empty, the promise is rejected with a TypeError with the ERR_INVALID_ARGS code property.

      +

      The reducer function iterates the stream element-by-element which means that there is no concurrency parameter +or parallelism. To perform a reduce concurrently, you can extract the async function to readable.map method.

      +
      +
      +

      Type Parameters

      +
        +
      • +

        T = any

      +
      +

      Parameters

      +
        +
      • +
        fn: ((previous, data, options?) => T)
        +

        a reducer function to call over every chunk in the stream. Async or not.

        +
        +
        +
          +
        • +
            +
          • (previous, data, options?): T
          • +
          • +
            +

            Parameters

            +
              +
            • +
              previous: any
            • +
            • +
              data: any
            • +
            • +
              Optional options: Pick<ArrayOptions, "signal">
            +

            Returns T

      • +
      • +
        Optional initial: undefined
        +

        the initial value to use in the reduction.

        +
        +
      • +
      • +
        Optional options: Pick<ArrayOptions, "signal">
      +

      Returns Promise<T>

      a promise for the final value of the reduction.

      + +
      +

      Since

      v17.5.0

      +
    • + +
    • +
      +

      Type Parameters

      +
        +
      • +

        T = any

      +
      +

      Parameters

      +
        +
      • +
        fn: ((previous, data, options?) => T)
        +
          +
        • +
            +
          • (previous, data, options?): T
          • +
          • +
            +

            Parameters

            +
              +
            • +
              previous: T
            • +
            • +
              data: any
            • +
            • +
              Optional options: Pick<ArrayOptions, "signal">
            +

            Returns T

      • +
      • +
        initial: T
      • +
      • +
        Optional options: Pick<ArrayOptions, "signal">
      +

      Returns Promise<T>

    +
    + +
      + +
    • +

      Removes all listeners, or those of the specified eventName.

      +

      It is bad practice to remove listeners added elsewhere in the code, +particularly when the EventEmitter instance was created by some other +component or module (e.g. sockets or file streams).

      +

      Returns a reference to the EventEmitter, so that calls can be chained.

      +
      +
      +

      Parameters

      +
        +
      • +
        Optional event: string | symbol
      +

      Returns Response

      +
      +

      Since

      v0.1.26

      +
    +
    + +
      + +
    • +
      +

      Parameters

      +
        +
      • +
        event: "close"
      • +
      • +
        listener: (() => void)
        +
          +
        • +
            +
          • (): void
          • +
          • +

            Returns void

      +

      Returns Response

    • + +
    • +
      +

      Parameters

      +
        +
      • +
        event: "data"
      • +
      • +
        listener: ((chunk) => void)
        +
          +
        • +
            +
          • (chunk): void
          • +
          • +
            +

            Parameters

            +
              +
            • +
              chunk: any
            +

            Returns void

      +

      Returns Response

    • + +
    • +
      +

      Parameters

      +
        +
      • +
        event: "end"
      • +
      • +
        listener: (() => void)
        +
          +
        • +
            +
          • (): void
          • +
          • +

            Returns void

      +

      Returns Response

    • + +
    • +
      +

      Parameters

      +
        +
      • +
        event: "error"
      • +
      • +
        listener: ((err) => void)
        +
          +
        • +
            +
          • (err): void
          • +
          • +
            +

            Parameters

            +
              +
            • +
              err: Error
            +

            Returns void

      +

      Returns Response

    • + +
    • +
      +

      Parameters

      +
        +
      • +
        event: "pause"
      • +
      • +
        listener: (() => void)
        +
          +
        • +
            +
          • (): void
          • +
          • +

            Returns void

      +

      Returns Response

    • + +
    • +
      +

      Parameters

      +
        +
      • +
        event: "readable"
      • +
      • +
        listener: (() => void)
        +
          +
        • +
            +
          • (): void
          • +
          • +

            Returns void

      +

      Returns Response

    • + +
    • +
      +

      Parameters

      +
        +
      • +
        event: "resume"
      • +
      • +
        listener: (() => void)
        +
          +
        • +
            +
          • (): void
          • +
          • +

            Returns void

      +

      Returns Response

    • + +
    • +
      +

      Parameters

      +
        +
      • +
        event: string | symbol
      • +
      • +
        listener: ((...args) => void)
        +
          +
        • +
            +
          • (...args): void
          • +
          • +
            +

            Parameters

            +
              +
            • +
              Rest ...args: any[]
            +

            Returns void

      +

      Returns Response

    +
    + +
      + +
    • +

      The readable.resume() method causes an explicitly paused Readable stream to +resume emitting 'data' events, switching the stream into flowing mode.

      +

      The readable.resume() method can be used to fully consume the data from a +stream without actually processing any of that data:

      +
      getReadableStreamSomehow()
      .resume()
      .on('end', () => {
      console.log('Reached the end, but did not read anything.');
      }); +
      +

      The readable.resume() method has no effect if there is a 'readable'event listener.

      +
      +

      Returns Response

      +
      +

      Since

      v0.9.4

      +
    +
    + +
      + +
    • +

      The readable.setEncoding() method sets the character encoding for +data read from the Readable stream.

      +

      By default, no encoding is assigned and stream data will be returned asBuffer objects. Setting an encoding causes the stream data +to be returned as strings of the specified encoding rather than as Bufferobjects. For instance, calling readable.setEncoding('utf8') will cause the +output data to be interpreted as UTF-8 data, and passed as strings. Callingreadable.setEncoding('hex') will cause the data to be encoded in hexadecimal +string format.

      +

      The Readable stream will properly handle multi-byte characters delivered +through the stream that would otherwise become improperly decoded if simply +pulled from the stream as Buffer objects.

      +
      const readable = getReadableStreamSomehow();
      readable.setEncoding('utf8');
      readable.on('data', (chunk) => {
      assert.equal(typeof chunk, 'string');
      console.log('Got %d characters of string data:', chunk.length);
      }); +
      +
      +
      +

      Parameters

      +
        +
      • +
        encoding: BufferEncoding
        +

        The encoding to use.

        +
        +
      +

      Returns Response

      +
      +

      Since

      v0.9.4

      +
    +
    + +
      + +
    • +

      By default EventEmitters will print a warning if more than 10 listeners are +added for a particular event. This is a useful default that helps finding +memory leaks. The emitter.setMaxListeners() method allows the limit to be +modified for this specific EventEmitter instance. The value can be set toInfinity (or 0) to indicate an unlimited number of listeners.

      +

      Returns a reference to the EventEmitter, so that calls can be chained.

      +
      +
      +

      Parameters

      +
        +
      • +
        n: number
      +

      Returns Response

      +
      +

      Since

      v0.3.5

      +
    +
    + +
      + +
    • +

      Calls message.socket.setTimeout(msecs, callback).

      +
      +
      +

      Parameters

      +
        +
      • +
        msecs: number
      • +
      • +
        Optional callback: (() => void)
        +
          +
        • +
            +
          • (): void
          • +
          • +

            Returns void

      +

      Returns Response

      +
      +

      Since

      v0.5.9

      +
    +
    + +
      + +
    • +

      This method is similar to Array.prototype.some and calls fn on each chunk in the stream +until the awaited return value is true (or any truthy value). Once an fn call on a chunk +awaited return value is truthy, the stream is destroyed and the promise is fulfilled with true. +If none of the fn calls on the chunks return a truthy value, the promise is fulfilled with false.

      +
      +
      +

      Parameters

      +
        +
      • +
        fn: ((data, options?) => boolean | Promise<boolean>)
        +

        a function to call on each chunk of the stream. Async or not.

        +
        +
        +
          +
        • +
            +
          • (data, options?): boolean | Promise<boolean>
          • +
          • +
            +

            Parameters

            +
              +
            • +
              data: any
            • +
            • +
              Optional options: Pick<ArrayOptions, "signal">
            +

            Returns boolean | Promise<boolean>

      • +
      • +
        Optional options: ArrayOptions
      +

      Returns Promise<boolean>

      a promise evaluating to true if fn returned a truthy value for at least one of the chunks.

      + +
      +

      Since

      v17.5.0

      +
    +
    + +
      + +
    • +

      This method returns a new stream with the first limit chunks.

      +
      +
      +

      Parameters

      +
        +
      • +
        limit: number
        +

        the number of chunks to take from the readable.

        +
        +
      • +
      • +
        Optional options: Pick<ArrayOptions, "signal">
      +

      Returns Readable

      a stream with limit chunks taken.

      + +
      +

      Since

      v17.5.0

      +
    +
    + +
      + +
    • +

      This method allows easily obtaining the contents of a stream.

      +

      As this method reads the entire stream into memory, it negates the benefits of streams. It's intended +for interoperability and convenience, not as the primary way to consume streams.

      +
      +
      +

      Parameters

      +
        +
      • +
        Optional options: Pick<ArrayOptions, "signal">
      +

      Returns Promise<any[]>

      a promise containing an array with the contents of the stream.

      + +
      +

      Since

      v17.5.0

      +
    +
    + +
      + +
    • +

      The readable.unpipe() method detaches a Writable stream previously attached +using the pipe method.

      +

      If the destination is not specified, then all pipes are detached.

      +

      If the destination is specified, but no pipe is set up for it, then +the method does nothing.

      +
      const fs = require('fs');
      const readable = getReadableStreamSomehow();
      const writable = fs.createWriteStream('file.txt');
      // All the data from readable goes into 'file.txt',
      // but only for the first second.
      readable.pipe(writable);
      setTimeout(() => {
      console.log('Stop writing to file.txt.');
      readable.unpipe(writable);
      console.log('Manually close the file stream.');
      writable.end();
      }, 1000); +
      +
      +
      +

      Parameters

      +
        +
      • +
        Optional destination: WritableStream
        +

        Optional specific stream to unpipe

        +
        +
      +

      Returns Response

      +
      +

      Since

      v0.9.4

      +
    +
    + +
      + +
    • +

      Passing chunk as null signals the end of the stream (EOF) and behaves the +same as readable.push(null), after which no more data can be written. The EOF +signal is put at the end of the buffer and any buffered data will still be +flushed.

      +

      The readable.unshift() method pushes a chunk of data back into the internal +buffer. This is useful in certain situations where a stream is being consumed by +code that needs to "un-consume" some amount of data that it has optimistically +pulled out of the source, so that the data can be passed on to some other party.

      +

      The stream.unshift(chunk) method cannot be called after the 'end' event +has been emitted or a runtime error will be thrown.

      +

      Developers using stream.unshift() often should consider switching to +use of a Transform stream instead. See the API for stream implementers section for more information.

      +
      // Pull off a header delimited by \n\n.
      // Use unshift() if we get too much.
      // Call the callback with (error, header, stream).
      const { StringDecoder } = require('string_decoder');
      function parseHeader(stream, callback) {
      stream.on('error', callback);
      stream.on('readable', onReadable);
      const decoder = new StringDecoder('utf8');
      let header = '';
      function onReadable() {
      let chunk;
      while (null !== (chunk = stream.read())) {
      const str = decoder.write(chunk);
      if (str.includes('\n\n')) {
      // Found the header boundary.
      const split = str.split(/\n\n/);
      header += split.shift();
      const remaining = split.join('\n\n');
      const buf = Buffer.from(remaining, 'utf8');
      stream.removeListener('error', callback);
      // Remove the 'readable' listener before unshifting.
      stream.removeListener('readable', onReadable);
      if (buf.length)
      stream.unshift(buf);
      // Now the body of the message can be read from the stream.
      callback(null, header, stream);
      return;
      }
      // Still reading the header.
      header += str;
      }
      }
      } +
      +

      Unlike push, stream.unshift(chunk) will not +end the reading process by resetting the internal reading state of the stream. +This can cause unexpected results if readable.unshift() is called during a +read (i.e. from within a _read implementation on a +custom stream). Following the call to readable.unshift() with an immediate push will reset the reading state appropriately, +however it is best to simply avoid calling readable.unshift() while in the +process of performing a read.

      +
      +
      +

      Parameters

      +
        +
      • +
        chunk: any
        +

        Chunk of data to unshift onto the read queue. For streams not operating in object mode, chunk must be a string, Buffer, Uint8Array or null. For object mode +streams, chunk may be any JavaScript value.

        +
        +
      • +
      • +
        Optional encoding: BufferEncoding
        +

        Encoding of string chunks. Must be a valid Buffer encoding, such as 'utf8' or 'ascii'.

        +
        +
      +

      Returns void

      +
      +

      Since

      v0.9.11

      +
    +
    + +
      + +
    • +

      Prior to Node.js 0.10, streams did not implement the entire stream module API +as it is currently defined. (See Compatibility for more information.)

      +

      When using an older Node.js library that emits 'data' events and has a pause method that is advisory only, thereadable.wrap() method can be used to create a Readable +stream that uses +the old stream as its data source.

      +

      It will rarely be necessary to use readable.wrap() but the method has been +provided as a convenience for interacting with older Node.js applications and +libraries.

      +
      const { OldReader } = require('./old-api-module.js');
      const { Readable } = require('stream');
      const oreader = new OldReader();
      const myReader = new Readable().wrap(oreader);

      myReader.on('readable', () => {
      myReader.read(); // etc.
      }); +
      +
      +
      +

      Parameters

      +
        +
      • +
        stream: ReadableStream
        +

        An "old style" readable stream

        +
        +
      +

      Returns Response

      +
      +

      Since

      v0.9.4

      +
    +
    +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/interfaces/testing.TestHttpServer.Response.html b/interfaces/testing.TestHttpServer.Response.html deleted file mode 100644 index ce14c52..0000000 --- a/interfaces/testing.TestHttpServer.Response.html +++ /dev/null @@ -1,2239 +0,0 @@ -Response | Hatsy
    -
    - -
    -
    -
    -
    - -

    Interface Response

    -
    -

    A response of test HTTP server.

    -
    -
    -

    Hierarchy

    -
      -
    • IncomingMessage -
        -
      • Response
    -
    -
    -
    - -
    -
    -

    Properties

    -
    - -
    aborted: boolean
    -

    The message.aborted property will be true if the request has -been aborted.

    - -

    Since

    v10.1.0

    - -

    Deprecated

    Since v17.0.0,v16.12.0 - Check message.destroyed from stream.Readable.

    -
    -
    - -
    closed: boolean
    -

    Is true after 'close' has been emitted.

    - -

    Since

    v18.0.0

    -
    -
    - -
    complete: boolean
    -

    The message.complete property will be true if a complete HTTP message has -been received and successfully parsed.

    -

    This property is particularly useful as a means of determining if a client or -server fully transmitted a message before a connection was terminated:

    -
    const req = http.request({
    host: '127.0.0.1',
    port: 8080,
    method: 'POST'
    }, (res) => {
    res.resume();
    res.on('end', () => {
    if (!res.complete)
    console.error(
    'The connection was terminated while the message was still being sent');
    });
    }); -
    - -

    Since

    v0.3.0

    -
    -
    - -
    connection: Socket
    -

    Alias for message.socket.

    - -

    Since

    v0.1.90

    - -

    Deprecated

    Since v16.0.0 - Use socket.

    -
    -
    - -
    destroyed: boolean
    -

    Is true after readable.destroy() has been called.

    - -

    Since

    v8.0.0

    -
    -
    - -
    errored: null | Error
    -

    Returns error if the stream has been destroyed with an error.

    - -

    Since

    v18.0.0

    -
    -
    - -
    headers: IncomingHttpHeaders
    -

    The request/response headers object.

    -

    Key-value pairs of header names and values. Header names are lower-cased.

    -
    // Prints something like:
    //
    // { 'user-agent': 'curl/7.22.0',
    // host: '127.0.0.1:8000',
    // accept: '*' }
    console.log(request.getHeaders()); -
    -

    Duplicates in raw headers are handled in the following ways, depending on the -header name:

    -
      -
    • Duplicates of age, authorization, content-length, content-type,etag, expires, from, host, if-modified-since, if-unmodified-since,last-modified, location, -max-forwards, proxy-authorization, referer,retry-after, server, or user-agent are discarded.
    • -
    • set-cookie is always an array. Duplicates are added to the array.
    • -
    • For duplicate cookie headers, the values are joined together with '; '.
    • -
    • For all other headers, the values are joined together with ', '.
    • -
    - -

    Since

    v0.1.5

    -
    -
    - -
    httpVersion: string
    -

    In case of server request, the HTTP version sent by the client. In the case of -client response, the HTTP version of the connected-to server. -Probably either '1.1' or '1.0'.

    -

    Also message.httpVersionMajor is the first integer andmessage.httpVersionMinor is the second.

    - -

    Since

    v0.1.1

    -
    -
    - -
    httpVersionMajor: number
    -
    - -
    httpVersionMinor: number
    -
    - -
    method?: string
    -

    Only valid for request obtained from Server.

    -

    The request method as a string. Read only. Examples: 'GET', 'DELETE'.

    - -

    Since

    v0.1.1

    -
    -
    - -
    rawHeaders: string[]
    -

    The raw request/response headers list exactly as they were received.

    -

    The keys and values are in the same list. It is not a -list of tuples. So, the even-numbered offsets are key values, and the -odd-numbered offsets are the associated values.

    -

    Header names are not lowercased, and duplicates are not merged.

    -
    // Prints something like:
    //
    // [ 'user-agent',
    // 'this is invalid because there can be only one',
    // 'User-Agent',
    // 'curl/7.22.0',
    // 'Host',
    // '127.0.0.1:8000',
    // 'ACCEPT',
    // '*' ]
    console.log(request.rawHeaders); -
    - -

    Since

    v0.11.6

    -
    -
    - -
    rawTrailers: string[]
    -

    The raw request/response trailer keys and values exactly as they were -received. Only populated at the 'end' event.

    - -

    Since

    v0.11.6

    -
    -
    - -
    readable: boolean
    -

    Is true if it is safe to call readable.read(), which means -the stream has not been destroyed or emitted 'error' or 'end'.

    - -

    Since

    v11.4.0

    -
    -
    - -
    readableAborted: boolean
    -

    Returns whether the stream was destroyed or errored before emitting 'end'.

    - -

    Since

    v16.8.0

    -
    -
    - -
    readableDidRead: boolean
    -

    Returns whether 'data' has been emitted.

    - -

    Since

    v16.7.0, v14.18.0

    -
    -
    - -
    readableEncoding: null | BufferEncoding
    -

    Getter for the property encoding of a given Readable stream. The encodingproperty can be set using the readable.setEncoding() method.

    - -

    Since

    v12.7.0

    -
    -
    - -
    readableEnded: boolean
    -

    Becomes true when 'end' event is emitted.

    - -

    Since

    v12.9.0

    -
    -
    - -
    readableFlowing: null | boolean
    -

    This property reflects the current state of a Readable stream as described -in the Three states section.

    - -

    Since

    v9.4.0

    -
    -
    - -
    readableHighWaterMark: number
    -

    Returns the value of highWaterMark passed when creating this Readable.

    - -

    Since

    v9.3.0

    -
    -
    - -
    readableLength: number
    -

    This property contains the number of bytes (or objects) in the queue -ready to be read. The value provides introspection data regarding -the status of the highWaterMark.

    - -

    Since

    v9.4.0

    -
    -
    - -
    readableObjectMode: boolean
    -

    Getter for the property objectMode of a given Readable stream.

    - -

    Since

    v12.3.0

    -
    -
    - -
    socket: Socket
    -

    The net.Socket object associated with the connection.

    -

    With HTTPS support, use request.socket.getPeerCertificate() to obtain the -client's authentication details.

    -

    This property is guaranteed to be an instance of the net.Socket class, -a subclass of stream.Duplex, unless the user specified a socket -type other than net.Socket or internally nulled.

    - -

    Since

    v0.3.0

    -
    -
    - -
    statusCode?: number
    -

    Only valid for response obtained from ClientRequest.

    -

    The 3-digit HTTP response status code. E.G. 404.

    - -

    Since

    v0.1.1

    -
    -
    - -
    statusMessage?: string
    -

    Only valid for response obtained from ClientRequest.

    -

    The HTTP response status message (reason phrase). E.G. OK or Internal Server Error.

    - -

    Since

    v0.11.10

    -
    -
    - -
    trailers: Dict<string>
    -

    The request/response trailers object. Only populated at the 'end' event.

    - -

    Since

    v0.3.0

    -
    -
    - -
    url?: string
    -

    Only valid for request obtained from Server.

    -

    Request URL string. This contains only the URL that is present in the actual -HTTP request. Take the following request:

    -
    GET /status?name=ryan HTTP/1.1
    -Accept: text/plain
    -
    -

    To parse the URL into its parts:

    -
    new URL(request.url, `http://${request.getHeaders().host}`);
    -
    -

    When request.url is '/status?name=ryan' andrequest.getHeaders().host is 'localhost:3000':

    -
    $ node
    -> new URL(request.url, `http://${request.getHeaders().host}`)
    -URL {
    -  href: 'http://localhost:3000/status?name=ryan',
    -  origin: 'http://localhost:3000',
    -  protocol: 'http:',
    -  username: '',
    -  password: '',
    -  host: 'localhost:3000',
    -  hostname: 'localhost',
    -  port: '3000',
    -  pathname: '/status',
    -  search: '?name=ryan',
    -  searchParams: URLSearchParams { 'name' => 'ryan' },
    -  hash: ''
    -}
    -
    - -

    Since

    v0.1.90

    -
    -
    -

    Methods

    -
    - -
      - -
    • -

      Returns AsyncIterableIterator<any>

    -
    - -
      - -
    • -
      -

      Parameters

      -
        -
      • -
        callback: ((error?: null | Error) => void)
        -
          -
        • -
            -
          • (error?: null | Error): void
          • -
          • -
            -

            Parameters

            -
              -
            • -
              Optional error: null | Error
            -

            Returns void

      -

      Returns void

    -
    - -
      - -
    • -
      -

      Parameters

      -
        -
      • -
        error: null | Error
      • -
      • -
        callback: ((error?: null | Error) => void)
        -
          -
        • -
            -
          • (error?: null | Error): void
          • -
          • -
            -

            Parameters

            -
              -
            • -
              Optional error: null | Error
            -

            Returns void

      -

      Returns void

    -
    - -
      - -
    • -
      -

      Parameters

      -
        -
      • -
        size: number
      -

      Returns void

    -
    - -
      - -
    • -

      Event emitter -The defined events on documents including:

      -
        -
      1. close
      2. -
      3. data
      4. -
      5. end
      6. -
      7. error
      8. -
      9. pause
      10. -
      11. readable
      12. -
      13. resume
      14. -
      -
      -
      -

      Parameters

      -
        -
      • -
        event: "close"
      • -
      • -
        listener: (() => void)
        -
          -
        • -
            -
          • (): void
          • -
          • -

            Returns void

      -

      Returns Response

    • - -
    • -
      -

      Parameters

      -
        -
      • -
        event: "data"
      • -
      • -
        listener: ((chunk: any) => void)
        -
          -
        • -
            -
          • (chunk: any): void
          • -
          • -
            -

            Parameters

            -
              -
            • -
              chunk: any
            -

            Returns void

      -

      Returns Response

    • - -
    • -
      -

      Parameters

      -
        -
      • -
        event: "end"
      • -
      • -
        listener: (() => void)
        -
          -
        • -
            -
          • (): void
          • -
          • -

            Returns void

      -

      Returns Response

    • - -
    • -
      -

      Parameters

      -
        -
      • -
        event: "error"
      • -
      • -
        listener: ((err: Error) => void)
        -
          -
        • -
            -
          • (err: Error): void
          • -
          • -
            -

            Parameters

            -
              -
            • -
              err: Error
            -

            Returns void

      -

      Returns Response

    • - -
    • -
      -

      Parameters

      -
        -
      • -
        event: "pause"
      • -
      • -
        listener: (() => void)
        -
          -
        • -
            -
          • (): void
          • -
          • -

            Returns void

      -

      Returns Response

    • - -
    • -
      -

      Parameters

      -
        -
      • -
        event: "readable"
      • -
      • -
        listener: (() => void)
        -
          -
        • -
            -
          • (): void
          • -
          • -

            Returns void

      -

      Returns Response

    • - -
    • -
      -

      Parameters

      -
        -
      • -
        event: "resume"
      • -
      • -
        listener: (() => void)
        -
          -
        • -
            -
          • (): void
          • -
          • -

            Returns void

      -

      Returns Response

    • - -
    • -
      -

      Parameters

      -
        -
      • -
        event: string | symbol
      • -
      • -
        listener: ((...args: any[]) => void)
        -
          -
        • -
            -
          • (...args: any[]): void
          • -
          • -
            -

            Parameters

            -
              -
            • -
              Rest ...args: any[]
            -

            Returns void

      -

      Returns Response

    -
    - -
    -
    - -
      - -
    • -

      Calls destroy() on the socket that received the IncomingMessage. If erroris provided, an 'error' event is emitted on the socket and error is passed -as an argument to any listeners on the event.

      - -

      Since

      v0.3.0

      -
      -
      -

      Parameters

      -
        -
      • -
        Optional error: Error
      -

      Returns Response

    -
    - -
      - -
    • -
      -

      Parameters

      -
        -
      • -
        event: "close"
      -

      Returns boolean

    • - -
    • -
      -

      Parameters

      -
        -
      • -
        event: "data"
      • -
      • -
        chunk: any
      -

      Returns boolean

    • - -
    • -
      -

      Parameters

      -
        -
      • -
        event: "end"
      -

      Returns boolean

    • - -
    • -
      -

      Parameters

      -
        -
      • -
        event: "error"
      • -
      • -
        err: Error
      -

      Returns boolean

    • - -
    • -
      -

      Parameters

      -
        -
      • -
        event: "pause"
      -

      Returns boolean

    • - -
    • -
      -

      Parameters

      -
        -
      • -
        event: "readable"
      -

      Returns boolean

    • - -
    • -
      -

      Parameters

      -
        -
      • -
        event: "resume"
      -

      Returns boolean

    • - -
    • -
      -

      Parameters

      -
        -
      • -
        event: string | symbol
      • -
      • -
        Rest ...args: any[]
      -

      Returns boolean

    -
    - -
      - -
    • -

      Returns an array listing the events for which the emitter has registered -listeners. The values in the array are strings or Symbols.

      -
      const EventEmitter = require('events');
      const myEE = new EventEmitter();
      myEE.on('foo', () => {});
      myEE.on('bar', () => {});

      const sym = Symbol('symbol');
      myEE.on(sym, () => {});

      console.log(myEE.eventNames());
      // Prints: [ 'foo', 'bar', Symbol(symbol) ] -
      - -

      Since

      v6.0.0

      -
      -

      Returns (string | symbol)[]

    -
    - -
      - -
    • -

      Returns the current max listener value for the EventEmitter which is either -set by emitter.setMaxListeners(n) or defaults to defaultMaxListeners.

      - -

      Since

      v1.0.0

      -
      -

      Returns number

    -
    - -
      - -
    • -

      The readable.isPaused() method returns the current operating state of theReadable. This is used primarily by the mechanism that underlies thereadable.pipe() method. In most -typical cases, there will be no reason to -use this method directly.

      -
      const readable = new stream.Readable();

      readable.isPaused(); // === false
      readable.pause();
      readable.isPaused(); // === true
      readable.resume();
      readable.isPaused(); // === false -
      - -

      Since

      v0.11.14

      -
      -

      Returns boolean

    -
    - -
      - -
    • -

      Returns the number of listeners listening to the event named eventName.

      - -

      Since

      v3.2.0

      -
      -
      -

      Parameters

      -
        -
      • -
        eventName: string | symbol
        -

        The name of the event being listened for

        -
      -

      Returns number

    -
    - -
      - -
    • -

      Returns a copy of the array of listeners for the event named eventName.

      -
      server.on('connection', (stream) => {
      console.log('someone connected!');
      });
      console.log(util.inspect(server.listeners('connection')));
      // Prints: [ [Function] ] -
      - -

      Since

      v0.1.26

      -
      -
      -

      Parameters

      -
        -
      • -
        eventName: string | symbol
      -

      Returns Function[]

    -
    - -
      - -
    • -

      Alias for emitter.removeListener().

      - -

      Since

      v10.0.0

      -
      -
      -

      Parameters

      -
        -
      • -
        eventName: string | symbol
      • -
      • -
        listener: ((...args: any[]) => void)
        -
          -
        • -
            -
          • (...args: any[]): void
          • -
          • -
            -

            Parameters

            -
              -
            • -
              Rest ...args: any[]
            -

            Returns void

      -

      Returns Response

    -
    - -
      - -
    • -
      -

      Parameters

      -
        -
      • -
        event: "close"
      • -
      • -
        listener: (() => void)
        -
          -
        • -
            -
          • (): void
          • -
          • -

            Returns void

      -

      Returns Response

    • - -
    • -
      -

      Parameters

      -
        -
      • -
        event: "data"
      • -
      • -
        listener: ((chunk: any) => void)
        -
          -
        • -
            -
          • (chunk: any): void
          • -
          • -
            -

            Parameters

            -
              -
            • -
              chunk: any
            -

            Returns void

      -

      Returns Response

    • - -
    • -
      -

      Parameters

      -
        -
      • -
        event: "end"
      • -
      • -
        listener: (() => void)
        -
          -
        • -
            -
          • (): void
          • -
          • -

            Returns void

      -

      Returns Response

    • - -
    • -
      -

      Parameters

      -
        -
      • -
        event: "error"
      • -
      • -
        listener: ((err: Error) => void)
        -
          -
        • -
            -
          • (err: Error): void
          • -
          • -
            -

            Parameters

            -
              -
            • -
              err: Error
            -

            Returns void

      -

      Returns Response

    • - -
    • -
      -

      Parameters

      -
        -
      • -
        event: "pause"
      • -
      • -
        listener: (() => void)
        -
          -
        • -
            -
          • (): void
          • -
          • -

            Returns void

      -

      Returns Response

    • - -
    • -
      -

      Parameters

      -
        -
      • -
        event: "readable"
      • -
      • -
        listener: (() => void)
        -
          -
        • -
            -
          • (): void
          • -
          • -

            Returns void

      -

      Returns Response

    • - -
    • -
      -

      Parameters

      -
        -
      • -
        event: "resume"
      • -
      • -
        listener: (() => void)
        -
          -
        • -
            -
          • (): void
          • -
          • -

            Returns void

      -

      Returns Response

    • - -
    • -
      -

      Parameters

      -
        -
      • -
        event: string | symbol
      • -
      • -
        listener: ((...args: any[]) => void)
        -
          -
        • -
            -
          • (...args: any[]): void
          • -
          • -
            -

            Parameters

            -
              -
            • -
              Rest ...args: any[]
            -

            Returns void

      -

      Returns Response

    -
    - -
      - -
    • -
      -

      Parameters

      -
        -
      • -
        event: "close"
      • -
      • -
        listener: (() => void)
        -
          -
        • -
            -
          • (): void
          • -
          • -

            Returns void

      -

      Returns Response

    • - -
    • -
      -

      Parameters

      -
        -
      • -
        event: "data"
      • -
      • -
        listener: ((chunk: any) => void)
        -
          -
        • -
            -
          • (chunk: any): void
          • -
          • -
            -

            Parameters

            -
              -
            • -
              chunk: any
            -

            Returns void

      -

      Returns Response

    • - -
    • -
      -

      Parameters

      -
        -
      • -
        event: "end"
      • -
      • -
        listener: (() => void)
        -
          -
        • -
            -
          • (): void
          • -
          • -

            Returns void

      -

      Returns Response

    • - -
    • -
      -

      Parameters

      -
        -
      • -
        event: "error"
      • -
      • -
        listener: ((err: Error) => void)
        -
          -
        • -
            -
          • (err: Error): void
          • -
          • -
            -

            Parameters

            -
              -
            • -
              err: Error
            -

            Returns void

      -

      Returns Response

    • - -
    • -
      -

      Parameters

      -
        -
      • -
        event: "pause"
      • -
      • -
        listener: (() => void)
        -
          -
        • -
            -
          • (): void
          • -
          • -

            Returns void

      -

      Returns Response

    • - -
    • -
      -

      Parameters

      -
        -
      • -
        event: "readable"
      • -
      • -
        listener: (() => void)
        -
          -
        • -
            -
          • (): void
          • -
          • -

            Returns void

      -

      Returns Response

    • - -
    • -
      -

      Parameters

      -
        -
      • -
        event: "resume"
      • -
      • -
        listener: (() => void)
        -
          -
        • -
            -
          • (): void
          • -
          • -

            Returns void

      -

      Returns Response

    • - -
    • -
      -

      Parameters

      -
        -
      • -
        event: string | symbol
      • -
      • -
        listener: ((...args: any[]) => void)
        -
          -
        • -
            -
          • (...args: any[]): void
          • -
          • -
            -

            Parameters

            -
              -
            • -
              Rest ...args: any[]
            -

            Returns void

      -

      Returns Response

    -
    - -
      - -
    • -

      The readable.pause() method will cause a stream in flowing mode to stop -emitting 'data' events, switching out of flowing mode. Any data that -becomes available will remain in the internal buffer.

      -
      const readable = getReadableStreamSomehow();
      readable.on('data', (chunk) => {
      console.log(`Received ${chunk.length} bytes of data.`);
      readable.pause();
      console.log('There will be no additional data for 1 second.');
      setTimeout(() => {
      console.log('Now data will start flowing again.');
      readable.resume();
      }, 1000);
      }); -
      -

      The readable.pause() method has no effect if there is a 'readable'event listener.

      - -

      Since

      v0.9.4

      -
      -

      Returns Response

    -
    - -
      - -
    • -
      -

      Type Parameters

      -
        -
      • -

        T extends WritableStream<T>

      -
      -

      Parameters

      -
        -
      • -
        destination: T
      • -
      • -
        Optional options: {
            end?: boolean;
        }
        -
          -
        • -
          Optional end?: boolean
      -

      Returns T

    -
    - -
      - -
    • -
      -

      Parameters

      -
        -
      • -
        event: "close"
      • -
      • -
        listener: (() => void)
        -
          -
        • -
            -
          • (): void
          • -
          • -

            Returns void

      -

      Returns Response

    • - -
    • -
      -

      Parameters

      -
        -
      • -
        event: "data"
      • -
      • -
        listener: ((chunk: any) => void)
        -
          -
        • -
            -
          • (chunk: any): void
          • -
          • -
            -

            Parameters

            -
              -
            • -
              chunk: any
            -

            Returns void

      -

      Returns Response

    • - -
    • -
      -

      Parameters

      -
        -
      • -
        event: "end"
      • -
      • -
        listener: (() => void)
        -
          -
        • -
            -
          • (): void
          • -
          • -

            Returns void

      -

      Returns Response

    • - -
    • -
      -

      Parameters

      -
        -
      • -
        event: "error"
      • -
      • -
        listener: ((err: Error) => void)
        -
          -
        • -
            -
          • (err: Error): void
          • -
          • -
            -

            Parameters

            -
              -
            • -
              err: Error
            -

            Returns void

      -

      Returns Response

    • - -
    • -
      -

      Parameters

      -
        -
      • -
        event: "pause"
      • -
      • -
        listener: (() => void)
        -
          -
        • -
            -
          • (): void
          • -
          • -

            Returns void

      -

      Returns Response

    • - -
    • -
      -

      Parameters

      -
        -
      • -
        event: "readable"
      • -
      • -
        listener: (() => void)
        -
          -
        • -
            -
          • (): void
          • -
          • -

            Returns void

      -

      Returns Response

    • - -
    • -
      -

      Parameters

      -
        -
      • -
        event: "resume"
      • -
      • -
        listener: (() => void)
        -
          -
        • -
            -
          • (): void
          • -
          • -

            Returns void

      -

      Returns Response

    • - -
    • -
      -

      Parameters

      -
        -
      • -
        event: string | symbol
      • -
      • -
        listener: ((...args: any[]) => void)
        -
          -
        • -
            -
          • (...args: any[]): void
          • -
          • -
            -

            Parameters

            -
              -
            • -
              Rest ...args: any[]
            -

            Returns void

      -

      Returns Response

    -
    - -
      - -
    • -
      -

      Parameters

      -
        -
      • -
        event: "close"
      • -
      • -
        listener: (() => void)
        -
          -
        • -
            -
          • (): void
          • -
          • -

            Returns void

      -

      Returns Response

    • - -
    • -
      -

      Parameters

      -
        -
      • -
        event: "data"
      • -
      • -
        listener: ((chunk: any) => void)
        -
          -
        • -
            -
          • (chunk: any): void
          • -
          • -
            -

            Parameters

            -
              -
            • -
              chunk: any
            -

            Returns void

      -

      Returns Response

    • - -
    • -
      -

      Parameters

      -
        -
      • -
        event: "end"
      • -
      • -
        listener: (() => void)
        -
          -
        • -
            -
          • (): void
          • -
          • -

            Returns void

      -

      Returns Response

    • - -
    • -
      -

      Parameters

      -
        -
      • -
        event: "error"
      • -
      • -
        listener: ((err: Error) => void)
        -
          -
        • -
            -
          • (err: Error): void
          • -
          • -
            -

            Parameters

            -
              -
            • -
              err: Error
            -

            Returns void

      -

      Returns Response

    • - -
    • -
      -

      Parameters

      -
        -
      • -
        event: "pause"
      • -
      • -
        listener: (() => void)
        -
          -
        • -
            -
          • (): void
          • -
          • -

            Returns void

      -

      Returns Response

    • - -
    • -
      -

      Parameters

      -
        -
      • -
        event: "readable"
      • -
      • -
        listener: (() => void)
        -
          -
        • -
            -
          • (): void
          • -
          • -

            Returns void

      -

      Returns Response

    • - -
    • -
      -

      Parameters

      -
        -
      • -
        event: "resume"
      • -
      • -
        listener: (() => void)
        -
          -
        • -
            -
          • (): void
          • -
          • -

            Returns void

      -

      Returns Response

    • - -
    • -
      -

      Parameters

      -
        -
      • -
        event: string | symbol
      • -
      • -
        listener: ((...args: any[]) => void)
        -
          -
        • -
            -
          • (...args: any[]): void
          • -
          • -
            -

            Parameters

            -
              -
            • -
              Rest ...args: any[]
            -

            Returns void

      -

      Returns Response

    -
    - -
      - -
    • -
      -

      Parameters

      -
        -
      • -
        chunk: any
      • -
      • -
        Optional encoding: BufferEncoding
      -

      Returns boolean

    -
    - -
      - -
    • -

      Returns a copy of the array of listeners for the event named eventName, -including any wrappers (such as those created by .once()).

      -
      const emitter = new EventEmitter();
      emitter.once('log', () => console.log('log once'));

      // Returns a new Array with a function `onceWrapper` which has a property
      // `listener` which contains the original listener bound above
      const listeners = emitter.rawListeners('log');
      const logFnWrapper = listeners[0];

      // Logs "log once" to the console and does not unbind the `once` event
      logFnWrapper.listener();

      // Logs "log once" to the console and removes the listener
      logFnWrapper();

      emitter.on('log', () => console.log('log persistently'));
      // Will return a new Array with a single function bound by `.on()` above
      const newListeners = emitter.rawListeners('log');

      // Logs "log persistently" twice
      newListeners[0]();
      emitter.emit('log'); -
      - -

      Since

      v9.4.0

      -
      -
      -

      Parameters

      -
        -
      • -
        eventName: string | symbol
      -

      Returns Function[]

    -
    - -
      - -
    • -

      The readable.read() method reads data out of the internal buffer and -returns it. If no data is available to be read, null is returned. By default, -the data is returned as a Buffer object unless an encoding has been -specified using the readable.setEncoding() method or the stream is operating -in object mode.

      -

      The optional size argument specifies a specific number of bytes to read. Ifsize bytes are not available to be read, null will be returned _unless_the stream has ended, in which -case all of the data remaining in the internal -buffer will be returned.

      -

      If the size argument is not specified, all of the data contained in the -internal buffer will be returned.

      -

      The size argument must be less than or equal to 1 GiB.

      -

      The readable.read() method should only be called on Readable streams -operating in paused mode. In flowing mode, readable.read() is called -automatically until the internal buffer is fully drained.

      -
      const readable = getReadableStreamSomehow();

      // 'readable' may be triggered multiple times as data is buffered in
      readable.on('readable', () => {
      let chunk;
      console.log('Stream is readable (new data received in buffer)');
      // Use a loop to make sure we read all currently available data
      while (null !== (chunk = readable.read())) {
      console.log(`Read ${chunk.length} bytes of data...`);
      }
      });

      // 'end' will be triggered once when there is no more data available
      readable.on('end', () => {
      console.log('Reached end of stream.');
      }); -
      -

      Each call to readable.read() returns a chunk of data, or null. The chunks -are not concatenated. A while loop is necessary to consume all data -currently in the buffer. When reading a large file .read() may return null, -having consumed all buffered content so far, but there is still more data to -come not yet buffered. In this case a new 'readable' event will be emitted -when there is more data in the buffer. Finally the 'end' event will be -emitted when there is no more data to come.

      -

      Therefore to read a file's whole contents from a readable, it is necessary -to collect chunks across multiple 'readable' events:

      -
      const chunks = [];

      readable.on('readable', () => {
      let chunk;
      while (null !== (chunk = readable.read())) {
      chunks.push(chunk);
      }
      });

      readable.on('end', () => {
      const content = chunks.join('');
      }); -
      -

      A Readable stream in object mode will always return a single item from -a call to readable.read(size), regardless of the value of thesize argument.

      -

      If the readable.read() method returns a chunk of data, a 'data' event will -also be emitted.

      -

      Calling read after the 'end' event has -been emitted will return null. No runtime error will be raised.

      - -

      Since

      v0.9.4

      -
      -
      -

      Parameters

      -
        -
      • -
        Optional size: number
        -

        Optional argument to specify how much data to read.

        -
      -

      Returns any

    -
    - -
      - -
    • -

      Removes all listeners, or those of the specified eventName.

      -

      It is bad practice to remove listeners added elsewhere in the code, -particularly when the EventEmitter instance was created by some other -component or module (e.g. sockets or file streams).

      -

      Returns a reference to the EventEmitter, so that calls can be chained.

      - -

      Since

      v0.1.26

      -
      -
      -

      Parameters

      -
        -
      • -
        Optional event: string | symbol
      -

      Returns Response

    -
    - -
      - -
    • -
      -

      Parameters

      -
        -
      • -
        event: "close"
      • -
      • -
        listener: (() => void)
        -
          -
        • -
            -
          • (): void
          • -
          • -

            Returns void

      -

      Returns Response

    • - -
    • -
      -

      Parameters

      -
        -
      • -
        event: "data"
      • -
      • -
        listener: ((chunk: any) => void)
        -
          -
        • -
            -
          • (chunk: any): void
          • -
          • -
            -

            Parameters

            -
              -
            • -
              chunk: any
            -

            Returns void

      -

      Returns Response

    • - -
    • -
      -

      Parameters

      -
        -
      • -
        event: "end"
      • -
      • -
        listener: (() => void)
        -
          -
        • -
            -
          • (): void
          • -
          • -

            Returns void

      -

      Returns Response

    • - -
    • -
      -

      Parameters

      -
        -
      • -
        event: "error"
      • -
      • -
        listener: ((err: Error) => void)
        -
          -
        • -
            -
          • (err: Error): void
          • -
          • -
            -

            Parameters

            -
              -
            • -
              err: Error
            -

            Returns void

      -

      Returns Response

    • - -
    • -
      -

      Parameters

      -
        -
      • -
        event: "pause"
      • -
      • -
        listener: (() => void)
        -
          -
        • -
            -
          • (): void
          • -
          • -

            Returns void

      -

      Returns Response

    • - -
    • -
      -

      Parameters

      -
        -
      • -
        event: "readable"
      • -
      • -
        listener: (() => void)
        -
          -
        • -
            -
          • (): void
          • -
          • -

            Returns void

      -

      Returns Response

    • - -
    • -
      -

      Parameters

      -
        -
      • -
        event: "resume"
      • -
      • -
        listener: (() => void)
        -
          -
        • -
            -
          • (): void
          • -
          • -

            Returns void

      -

      Returns Response

    • - -
    • -
      -

      Parameters

      -
        -
      • -
        event: string | symbol
      • -
      • -
        listener: ((...args: any[]) => void)
        -
          -
        • -
            -
          • (...args: any[]): void
          • -
          • -
            -

            Parameters

            -
              -
            • -
              Rest ...args: any[]
            -

            Returns void

      -

      Returns Response

    -
    - -
      - -
    • -

      The readable.resume() method causes an explicitly paused Readable stream to -resume emitting 'data' events, switching the stream into flowing mode.

      -

      The readable.resume() method can be used to fully consume the data from a -stream without actually processing any of that data:

      -
      getReadableStreamSomehow()
      .resume()
      .on('end', () => {
      console.log('Reached the end, but did not read anything.');
      }); -
      -

      The readable.resume() method has no effect if there is a 'readable'event listener.

      - -

      Since

      v0.9.4

      -
      -

      Returns Response

    -
    - -
      - -
    • -

      The readable.setEncoding() method sets the character encoding for -data read from the Readable stream.

      -

      By default, no encoding is assigned and stream data will be returned asBuffer objects. Setting an encoding causes the stream data -to be returned as strings of the specified encoding rather than as Bufferobjects. For instance, calling readable.setEncoding('utf8') will cause the -output data to be interpreted as UTF-8 data, and passed as strings. Callingreadable.setEncoding('hex') will cause the data to be encoded in hexadecimal -string format.

      -

      The Readable stream will properly handle multi-byte characters delivered -through the stream that would otherwise become improperly decoded if simply -pulled from the stream as Buffer objects.

      -
      const readable = getReadableStreamSomehow();
      readable.setEncoding('utf8');
      readable.on('data', (chunk) => {
      assert.equal(typeof chunk, 'string');
      console.log('Got %d characters of string data:', chunk.length);
      }); -
      - -

      Since

      v0.9.4

      -
      -
      -

      Parameters

      -
        -
      • -
        encoding: BufferEncoding
        -

        The encoding to use.

        -
      -

      Returns Response

    -
    - -
      - -
    • -

      By default EventEmitters will print a warning if more than 10 listeners are -added for a particular event. This is a useful default that helps finding -memory leaks. The emitter.setMaxListeners() method allows the limit to be -modified for this specific EventEmitter instance. The value can be set toInfinity (or 0) to indicate an unlimited number of listeners.

      -

      Returns a reference to the EventEmitter, so that calls can be chained.

      - -

      Since

      v0.3.5

      -
      -
      -

      Parameters

      -
        -
      • -
        n: number
      -

      Returns Response

    -
    - -
      - -
    • -

      Calls message.socket.setTimeout(msecs, callback).

      - -

      Since

      v0.5.9

      -
      -
      -

      Parameters

      -
        -
      • -
        msecs: number
      • -
      • -
        Optional callback: (() => void)
        -
          -
        • -
            -
          • (): void
          • -
          • -

            Returns void

      -

      Returns Response

    -
    - -
      - -
    • -

      The readable.unpipe() method detaches a Writable stream previously attached -using the pipe method.

      -

      If the destination is not specified, then all pipes are detached.

      -

      If the destination is specified, but no pipe is set up for it, then -the method does nothing.

      -
      const fs = require('fs');
      const readable = getReadableStreamSomehow();
      const writable = fs.createWriteStream('file.txt');
      // All the data from readable goes into 'file.txt',
      // but only for the first second.
      readable.pipe(writable);
      setTimeout(() => {
      console.log('Stop writing to file.txt.');
      readable.unpipe(writable);
      console.log('Manually close the file stream.');
      writable.end();
      }, 1000); -
      - -

      Since

      v0.9.4

      -
      -
      -

      Parameters

      -
        -
      • -
        Optional destination: WritableStream
        -

        Optional specific stream to unpipe

        -
      -

      Returns Response

    -
    - -
      - -
    • -

      Passing chunk as null signals the end of the stream (EOF) and behaves the -same as readable.push(null), after which no more data can be written. The EOF -signal is put at the end of the buffer and any buffered data will still be -flushed.

      -

      The readable.unshift() method pushes a chunk of data back into the internal -buffer. This is useful in certain situations where a stream is being consumed by -code that needs to "un-consume" some amount of data that it has optimistically -pulled out of the source, so that the data can be passed on to some other party.

      -

      The stream.unshift(chunk) method cannot be called after the 'end' event -has been emitted or a runtime error will be thrown.

      -

      Developers using stream.unshift() often should consider switching to -use of a Transform stream instead. See the API for stream implementers section for more information.

      -
      // Pull off a header delimited by \n\n.
      // Use unshift() if we get too much.
      // Call the callback with (error, header, stream).
      const { StringDecoder } = require('string_decoder');
      function parseHeader(stream, callback) {
      stream.on('error', callback);
      stream.on('readable', onReadable);
      const decoder = new StringDecoder('utf8');
      let header = '';
      function onReadable() {
      let chunk;
      while (null !== (chunk = stream.read())) {
      const str = decoder.write(chunk);
      if (str.includes('\n\n')) {
      // Found the header boundary.
      const split = str.split(/\n\n/);
      header += split.shift();
      const remaining = split.join('\n\n');
      const buf = Buffer.from(remaining, 'utf8');
      stream.removeListener('error', callback);
      // Remove the 'readable' listener before unshifting.
      stream.removeListener('readable', onReadable);
      if (buf.length)
      stream.unshift(buf);
      // Now the body of the message can be read from the stream.
      callback(null, header, stream);
      return;
      }
      // Still reading the header.
      header += str;
      }
      }
      } -
      -

      Unlike push, stream.unshift(chunk) will not -end the reading process by resetting the internal reading state of the stream. -This can cause unexpected results if readable.unshift() is called during a -read (i.e. from within a _read implementation on a -custom stream). Following the call to readable.unshift() with an immediate push will reset the reading state appropriately, -however it is best to simply avoid calling readable.unshift() while in the -process of performing a read.

      - -

      Since

      v0.9.11

      -
      -
      -

      Parameters

      -
        -
      • -
        chunk: any
        -

        Chunk of data to unshift onto the read queue. For streams not operating in object mode, chunk must be a string, Buffer, Uint8Array or null. For object mode -streams, chunk may be any JavaScript value.

        -
      • -
      • -
        Optional encoding: BufferEncoding
        -

        Encoding of string chunks. Must be a valid Buffer encoding, such as 'utf8' or 'ascii'.

        -
      -

      Returns void

    -
    - -
      - -
    • -

      Prior to Node.js 0.10, streams did not implement the entire stream module API -as it is currently defined. (See Compatibility for more information.)

      -

      When using an older Node.js library that emits 'data' events and has a pause method that is advisory only, thereadable.wrap() method can be used to create a Readable -stream that uses -the old stream as its data source.

      -

      It will rarely be necessary to use readable.wrap() but the method has been -provided as a convenience for interacting with older Node.js applications and -libraries.

      -
      const { OldReader } = require('./old-api-module.js');
      const { Readable } = require('stream');
      const oreader = new OldReader();
      const myReader = new Readable().wrap(oreader);

      myReader.on('readable', () => {
      myReader.read(); // etc.
      }); -
      - -

      Since

      v0.9.4

      -
      -
      -

      Parameters

      -
        -
      • -
        stream: ReadableStream
        -

        An "old style" readable stream

        -
      -

      Returns Response

    -
    -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file diff --git a/modules.html b/modules.html deleted file mode 100644 index a5b0b6b..0000000 --- a/modules.html +++ /dev/null @@ -1,60 +0,0 @@ -Hatsy
    -
    - -
    -
    -
    -
    -

    Hatsy

    -
    -
    -

    Index

    -
    -

    Modules

    -
    -
    -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file diff --git a/modules/_hatsy_hatsy.HttpConfig.html b/modules/_hatsy_hatsy.HttpConfig.html index bbc6061..37eacce 100644 --- a/modules/_hatsy_hatsy.HttpConfig.html +++ b/modules/_hatsy_hatsy.HttpConfig.html @@ -1,68 +1,51 @@ -HttpConfig | Hatsy
    +HttpConfig | Hatsy
    -
    +
    -
    + - -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +

    Theme

    + +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/modules/_hatsy_hatsy.HttpError.html b/modules/_hatsy_hatsy.HttpError.html index 3dbf012..797d35a 100644 --- a/modules/_hatsy_hatsy.HttpError.html +++ b/modules/_hatsy_hatsy.HttpError.html @@ -1,68 +1,51 @@ -HttpError | Hatsy
    +HttpError | Hatsy
    -
    +
    -
    + - -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +

    Theme

    + +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/modules/_hatsy_hatsy.HttpMeans.html b/modules/_hatsy_hatsy.HttpMeans.html index 7a1b456..3bb126e 100644 --- a/modules/_hatsy_hatsy.HttpMeans.html +++ b/modules/_hatsy_hatsy.HttpMeans.html @@ -1,68 +1,51 @@ -HttpMeans | Hatsy
    +HttpMeans | Hatsy
    -
    +
    -
    + - -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +

    Theme

    + +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/modules/_hatsy_hatsy.Middleware.html b/modules/_hatsy_hatsy.Middleware.html index 71ad06e..acb45e0 100644 --- a/modules/_hatsy_hatsy.Middleware.html +++ b/modules/_hatsy_hatsy.Middleware.html @@ -1,68 +1,51 @@ -Middleware | Hatsy
    +Middleware | Hatsy
    -
    +
    -
    + - -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +

    Theme

    + +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/modules/_hatsy_hatsy.RequestCapability.html b/modules/_hatsy_hatsy.RequestCapability.html index 28ad28a..055b9c0 100644 --- a/modules/_hatsy_hatsy.RequestCapability.html +++ b/modules/_hatsy_hatsy.RequestCapability.html @@ -1,68 +1,51 @@ -RequestCapability | Hatsy
    +RequestCapability | Hatsy
    -
    +
    -
    + - -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +

    Theme

    + +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/modules/_hatsy_hatsy.RequestContext.html b/modules/_hatsy_hatsy.RequestContext.html index 16bd144..409f403 100644 --- a/modules/_hatsy_hatsy.RequestContext.html +++ b/modules/_hatsy_hatsy.RequestContext.html @@ -1,68 +1,51 @@ -RequestContext | Hatsy
    +RequestContext | Hatsy
    -
    +
    -
    + - -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +

    Theme

    + +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/modules/_hatsy_hatsy.RequestProcessor.html b/modules/_hatsy_hatsy.RequestProcessor.html index 569b468..c570700 100644 --- a/modules/_hatsy_hatsy.RequestProcessor.html +++ b/modules/_hatsy_hatsy.RequestProcessor.html @@ -1,68 +1,51 @@ -RequestProcessor | Hatsy
    +RequestProcessor | Hatsy
    -
    +
    -
    + - -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +

    Theme

    + +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/modules/_hatsy_hatsy.html b/modules/_hatsy_hatsy.html index 6992bed..a6b819c 100644 --- a/modules/_hatsy_hatsy.html +++ b/modules/_hatsy_hatsy.html @@ -1,168 +1,110 @@ -@hatsy/hatsy | Hatsy
    +@hatsy/hatsy | Hatsy
    -
    +
    -
    +

    Module @hatsy/hatsy

    -
    -
    +
  • Defined in hatsy/hatsy/src/mod.ts:1
  • Index

    Namespaces

    -

    Classes

    -

    Interfaces

    -

    Type Aliases

    -

    Variables

    -

    Functions

    -
    - -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +

    Theme

    + +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/modules/_hatsy_hatsy_core.html b/modules/_hatsy_hatsy_core.html deleted file mode 100644 index ddff06f..0000000 --- a/modules/_hatsy_hatsy_core.html +++ /dev/null @@ -1,138 +0,0 @@ -@hatsy/hatsy/core | Hatsy
    -
    - -
    -
    -
    -
    - -

    Module @hatsy/hatsy/core

    -
    -
    -
    -
    -
    - -
    -
    -

    References

    -
    -Re-exports ErrorMeans
    -
    -Re-exports LoggerMeans
    -
    -Re-exports Logging
    -
    -Re-exports RequestBodyMeans
    -
    -Re-exports RequestCapability
    -
    -Re-exports RequestContext
    -
    -Re-exports RequestHandler
    -
    -Re-exports RequestHandlerMethod
    -
    -Re-exports RequestLogger
    -
    -Re-exports RequestModification
    -
    -Re-exports RequestProcessor
    -
    -Re-exports RequestValueTransformer
    -
    -Re-exports dispatchError
    -
    -Re-exports requestExtension
    -
    -Re-exports requestHandler
    -
    -Re-exports requestProcessor
    -
    -Re-exports requestUpdate
    -
    -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file diff --git a/modules/_hatsy_hatsy_core_js.html b/modules/_hatsy_hatsy_core_js.html new file mode 100644 index 0000000..ef0d552 --- /dev/null +++ b/modules/_hatsy_hatsy_core_js.html @@ -0,0 +1,124 @@ +@hatsy/hatsy/core.js | Hatsy
    +
    + +
    +
    +
    +
    + +

    Module @hatsy/hatsy/core.js

    +
    +
    +
    + +
    +
    +

    References

    +
    +Re-exports ErrorMeans
    +
    +Re-exports LoggerMeans
    +
    +Re-exports Logging
    +
    +Re-exports RequestBodyMeans
    +
    +Re-exports RequestCapability
    +
    +Re-exports RequestContext
    +
    +Re-exports RequestHandler
    +
    +Re-exports RequestHandlerMethod
    +
    +Re-exports RequestLogger
    +
    +Re-exports RequestModification
    +
    +Re-exports RequestProcessor
    +
    +Re-exports RequestValueTransformer
    +
    +Re-exports dispatchError
    +
    +Re-exports requestExtension
    +
    +Re-exports requestHandler
    +
    +Re-exports requestProcessor
    +
    +Re-exports requestUpdate
    +
    +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/modules/_hatsy_hatsy_testing_js.TestHttpServer.html b/modules/_hatsy_hatsy_testing_js.TestHttpServer.html new file mode 100644 index 0000000..de7bcc0 --- /dev/null +++ b/modules/_hatsy_hatsy_testing_js.TestHttpServer.html @@ -0,0 +1,51 @@ +TestHttpServer | Hatsy
    +
    + +
    +
    + +
    + +
    +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/modules/_hatsy_hatsy_testing_js.html b/modules/_hatsy_hatsy_testing_js.html new file mode 100644 index 0000000..5954488 --- /dev/null +++ b/modules/_hatsy_hatsy_testing_js.html @@ -0,0 +1,53 @@ +@hatsy/hatsy/testing.js | Hatsy
    +
    + +
    +
    +
    +
    + +

    Module @hatsy/hatsy/testing.js

    +
    +
    +

    Index

    +
    +

    Namespaces

    +
    +
    +

    Classes

    +
    +
    + +
    +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/modules/testing.TestHttpServer.html b/modules/testing.TestHttpServer.html deleted file mode 100644 index 7b4ebba..0000000 --- a/modules/testing.TestHttpServer.html +++ /dev/null @@ -1,68 +0,0 @@ -TestHttpServer | Hatsy
    -
    - -
    -
    -
    -
    - -

    Namespace TestHttpServer

    -
    -
    -

    Index

    -
    -

    Interfaces

    -
    -
    -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file diff --git a/modules/testing.html b/modules/testing.html deleted file mode 100644 index 071d133..0000000 --- a/modules/testing.html +++ /dev/null @@ -1,72 +0,0 @@ -testing | Hatsy
    -
    - -
    -
    -
    -
    - -

    Module testing

    -
    -
    -
    -
    -

    Index

    -
    -

    Namespaces

    -
    -
    -

    Classes

    -
    -
    -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file diff --git a/types/_hatsy_hatsy.Middleware-1.html b/types/_hatsy_hatsy.Middleware-1.html index 384cf3a..a70c41b 100644 --- a/types/_hatsy_hatsy.Middleware-1.html +++ b/types/_hatsy_hatsy.Middleware-1.html @@ -1,39 +1,41 @@ -Middleware | Hatsy
    +Middleware | Hatsy
    -
    +
    -
    +

    Type alias Middleware<TRequest, TResponse>

    -
    Middleware<TRequest, TResponse>: ((this: void, request: TRequest, response: TResponse, next: Next) => void)
    -
    +
    Middleware<TRequest, TResponse>: ((this, request, response, next) => void)
    +

    Type Parameters

    -
      +
      • -

        TRequest extends IncomingMessage = IncomingMessage

        +

        TRequest extends IncomingMessage = IncomingMessage

        Supported HTTP request type.

        -
      • +
    +
  • -

    TResponse extends ServerResponse = ServerResponse

    +

    TResponse extends ServerResponse = ServerResponse

    Supported HTTP response type.

    -
  • +
    +

    Type declaration

    • -
        -
      • (this: void, request: TRequest, response: TResponse, next: Next): void
      • +
          +
        • (this, request, response, next): void
        • HTTP middleware signature.

          This is a Connect-style middleware.

          @@ -42,99 +44,47 @@

          Type declaration

          Parameters

          • -
            this: void
          • +
            this: void
          • -
            request: TRequest
            +
            request: TRequest

            HTTP request.

            -
          • +
          +
        • -
          response: TResponse
          +
          response: TResponse

          HTTP response.

          -
        • +
    +
  • -
    next: Next
    +
    next: Next

    Next function to delegate request processing to or report error with.

    -
  • -

    Returns void

    + -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +

    Theme

    + +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/types/_hatsy_hatsy.Middleware.Next.html b/types/_hatsy_hatsy.Middleware.Next.html index adba41a..5400ec2 100644 --- a/types/_hatsy_hatsy.Middleware.Next.html +++ b/types/_hatsy_hatsy.Middleware.Next.html @@ -1,82 +1,67 @@ -Next | Hatsy
    +Next | Hatsy
    -
    +
    -
    +
    -
    Next: ((this: void, error?: unknown) => void)
    +
    Next: ((this, error?) => void)

    Type declaration

    • -
        -
      • (this: void, error?: unknown): void
      • +
          +
        • (this, error?): void
        • -

          A signature of the function the middleware may call to delegate request processing +

          A signature of the function the middleware may call to delegate request processing or report error with.

          Parameters

          • -
            this: void
          • +
            this: void
          • -
            Optional error: unknown
            +
            Optional error: unknown

            Either an error to report, or nothing to delegate request processing to next handler.

            -
          -

          Returns void

    +
    +

    Returns void

    +
    - +
    + - -
    -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +

    Theme

    + +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/types/_hatsy_hatsy.RequestCapability.Provider.html b/types/_hatsy_hatsy.RequestCapability.Provider.html index fad065e..28be452 100644 --- a/types/_hatsy_hatsy.RequestCapability.Provider.html +++ b/types/_hatsy_hatsy.RequestCapability.Provider.html @@ -1,102 +1,89 @@ -Provider | Hatsy
    +Provider | Hatsy
    -
    +
    -
    +

    Type alias Provider<TInput, TExt>

    -
    Provider<TInput, TExt>: (<TMeans>(this: void, handler: RequestHandler<TMeans & TExt>) => RequestHandler<TMeans>)
    -
    +
    Provider<TInput, TExt>: (<TMeans>(this, handler) => RequestHandler<TMeans>)
    +

    Type Parameters

    -
      +
      • -

        TInput

        +

        TInput

        A type of request processing means required by this provider.

        -
      • +
    +
  • -

    TExt = object

    +

    TExt = object

    A type of extension to request processing means this provider applies.

    -
  • +
    +

    Type declaration

    • -
        -
      • <TMeans>(this: void, handler: RequestHandler<TMeans & TExt>): RequestHandler<TMeans>
      • +
          +
        • <TMeans>(this, handler): RequestHandler<TMeans>
        • Request processing capability provider signature.

          Builds a request processing handler that modifies request and delegates to another one.

          - -

          Returns

          New request processing handler.

          -
          +

          Type Parameters

          -
            +
            • -

              TMeans extends TInput

              +

              TMeans extends TInput

              A type of request processing means expected by constructed handler.

              -
          +
    +

    Parameters

    • -
      this: void
    • +
      this: void
    • -
      handler: RequestHandler<TMeans & TExt>
      +
      handler: RequestHandler<TMeans & TExt>

      Request processing handler that will receive modified request context.

      -
    -

    Returns RequestHandler<TMeans>

    +
    + - -
    -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +

    Theme

    + +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/types/_hatsy_hatsy.RequestContext-1.html b/types/_hatsy_hatsy.RequestContext-1.html index 4ec851e..5749ccb 100644 --- a/types/_hatsy_hatsy.RequestContext-1.html +++ b/types/_hatsy_hatsy.RequestContext-1.html @@ -1,114 +1,60 @@ -RequestContext | Hatsy
    +RequestContext | Hatsy
    -
    +
    -
    +

    Type alias RequestContext<TMeans>

    -
    RequestContext<TMeans>: TMeans & Agent<TMeans>
    +
    RequestContext<TMeans>: TMeans & Agent<TMeans>

    Request processing context.

    -

    It is passed to request processing handler. It the necessary means. The handler can either -respond by these means, or delegate processing to the next handler.

    -

    The context instance is immutable. The request processing means it contains can be modified or even extended when delegating request processing to the next handler +

    It is passed to request processing handler. It the necessary means. The handler can either +respond by these means, or delegate processing to the next handler.

    +

    The context instance is immutable. The request processing means it contains can be * modified or even extended when delegating request processing to the next handler by creating another context based on original one.

    -
    +

    Type Parameters

    -
      +
      • -

        TMeans

        +

        TMeans

        Request processing means of this context.

        -
    +
    +
    - +
    -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +

    Theme

    + +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/types/_hatsy_hatsy.RequestHandler.html b/types/_hatsy_hatsy.RequestHandler.html index abd79df..35c4987 100644 --- a/types/_hatsy_hatsy.RequestHandler.html +++ b/types/_hatsy_hatsy.RequestHandler.html @@ -1,133 +1,79 @@ -RequestHandler | Hatsy
    +RequestHandler | Hatsy
    -
    +
    -
    +

    Type alias RequestHandler<TMeans>

    -
    RequestHandler<TMeans>: ((this: void, context: RequestContext<TMeans>) => PromiseLike<unknown> | void)
    -
    +
    RequestHandler<TMeans>: ((this, context) => PromiseLike<unknown> | void)
    +

    Type Parameters

    -
      +
      • -

        TMeans

        +

        TMeans

        A type of request processing means this handler expects.

        -
    +
    +

    Type declaration

    • -
        -
      • (this: void, context: RequestContext<TMeans>): PromiseLike<unknown> | void
      • +
          +
        • (this, context): PromiseLike<unknown> | void
        • Request processing handler signature.

          Handler implementations expect a request processing context containing specific processing means. -E.g. the ones for HTTP request processing. The handler may either respond using the provided means, -or delegate to next handler.

          +E.g. the ones for HTTP request processing. The handler may either respond using the provided means, +or delegate to next handler.

          The handler may be asynchronous.

          - -

          Returns

          Either nothing if the handler completed its work synchronously, or a promise-like instance resolved when -the handler completed its work asynchronously.

          Parameters

          • -
            this: void
          • +
            this: void
          • -
            context: RequestContext<TMeans>
            +
            context: RequestContext<TMeans>

            Request processing context containing the necessary means.

            -
          -

          Returns PromiseLike<unknown> | void

    +
    +

    Returns PromiseLike<unknown> | void

    Either nothing if the handler completed its work synchronously, or a promise-like instance resolved when +the handler completed its work asynchronously.

    + +
    - + -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +

    Theme

    + +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/types/_hatsy_hatsy.RequestHandlerMethod.html b/types/_hatsy_hatsy.RequestHandlerMethod.html index 7309fd3..d7d2828 100644 --- a/types/_hatsy_hatsy.RequestHandlerMethod.html +++ b/types/_hatsy_hatsy.RequestHandlerMethod.html @@ -1,134 +1,81 @@ -RequestHandlerMethod | Hatsy
    +RequestHandlerMethod | Hatsy
    -
    +
    -
    +

    Type alias RequestHandlerMethod<TThis, TMeans>

    -
    RequestHandlerMethod<TThis, TMeans>: ((this: TThis, context: RequestContext<TMeans>) => PromiseLike<unknown> | void)
    -
    +
    RequestHandlerMethod<TThis, TMeans>: ((this, context) => PromiseLike<unknown> | void)
    +

    Type Parameters

    -
      +
      • -

        TThis

        +

        TThis

        A type of this object.

        -
      • +
    +
  • -

    TMeans

    +

    TMeans

    A type of request processing means this handler expects.

    -
  • +
    +

    Type declaration

    • -
        -
      • (this: TThis, context: RequestContext<TMeans>): PromiseLike<unknown> | void
      • +
          +
        • (this, context): PromiseLike<unknown> | void
        • Request processing method signature.

          -

          This is a request handler that requires a this object.

          - -

          Returns

          Either nothing if the handler completed its work synchronously, or a promise-like instance resolved when -the handler completed its work asynchronously.

          +

          This is a request handler that requires a this object.

          Parameters

          • -
            this: TThis
          • +
            this: TThis
          • -
            context: RequestContext<TMeans>
            +
            context: RequestContext<TMeans>

            Request processing context containing the necessary means.

            -
          -

          Returns PromiseLike<unknown> | void

    +
    +

    Returns PromiseLike<unknown> | void

    Either nothing if the handler completed its work synchronously, or a promise-like instance resolved when +the handler completed its work asynchronously.

    + +
    - + -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +

    Theme

    + +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/types/_hatsy_hatsy.RequestModification.html b/types/_hatsy_hatsy.RequestModification.html index de4a0d1..bc26934 100644 --- a/types/_hatsy_hatsy.RequestModification.html +++ b/types/_hatsy_hatsy.RequestModification.html @@ -1,114 +1,61 @@ -RequestModification | Hatsy
    +RequestModification | Hatsy
    -
    +
    -
    +

    Type alias RequestModification<TMeans, TExt>

    -
    RequestModification<TMeans, TExt>: { [ K in keyof TMeans]?: TMeans[K] } & { [ K in Exclude<keyof TExt, keyof TMeans>]: TExt[K] }
    -

    Modification or extension of request processing means.

    +
    RequestModification<TMeans, TExt>: {
        [K in keyof TMeans]?: TMeans[K]
    } & {
        [K in Exclude<keyof TExt, keyof TMeans>]: TExt[K]
    }
    +

    Modification or extension of request processing means.

    The properties present here are added to new context potentially replacing the original ones.

    -
    +

    Type Parameters

    -
      +
      • -

        TMeans

        +

        TMeans

        A type of request processing means to modify.

        -
      • +
    +
  • -

    TExt extends object = object

    +

    TExt extends object = object

    A type of request processing means extension.

    -
  • +
    +
    - +
    -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +

    Theme

    + +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/types/_hatsy_hatsy.RequestProcessor-1.html b/types/_hatsy_hatsy.RequestProcessor-1.html index 7ce0da3..60a8382 100644 --- a/types/_hatsy_hatsy.RequestProcessor-1.html +++ b/types/_hatsy_hatsy.RequestProcessor-1.html @@ -1,126 +1,72 @@ -RequestProcessor | Hatsy
    +RequestProcessor | Hatsy
    -
    +
    -
    +

    Type alias RequestProcessor<TMeans>

    -
    RequestProcessor<TMeans>: ((this: void, means: TMeans) => Promise<boolean>)
    -
    +
    RequestProcessor<TMeans>: ((this, means) => Promise<boolean>)
    +

    Type Parameters

    -
      +
      • -

        TMeans

        +

        TMeans

        A type of initial request processing means.

        -
    +
    +

    Type declaration

    • -
        -
      • (this: void, means: TMeans): Promise<boolean>
      • +
          +
        • (this, means): Promise<boolean>
        • Generic request processor.

          -

          Can be constructed by requestProcessor function.

          +

          Can be constructed by requestProcessor function.

          Parameters

          • -
            this: void
          • +
            this: void
          • -
            means: TMeans
          -

          Returns Promise<boolean>

    +

    Returns Promise<boolean>

    +
    - + -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +

    Theme

    + +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/types/_hatsy_hatsy.RequestValueTransformer.html b/types/_hatsy_hatsy.RequestValueTransformer.html index 5511327..ac7cc4f 100644 --- a/types/_hatsy_hatsy.RequestValueTransformer.html +++ b/types/_hatsy_hatsy.RequestValueTransformer.html @@ -1,43 +1,46 @@ -RequestValueTransformer | Hatsy
    +RequestValueTransformer | Hatsy
    -
    +
    -
    +

    Type alias RequestValueTransformer<TMeans, TFrom, TTo>

    -
    RequestValueTransformer<TMeans, TFrom, TTo>: ((this: void, from: TFrom, context: RequestContext<TMeans>) => TTo | PromiseLike<TTo>)
    -
    +
    RequestValueTransformer<TMeans, TFrom, TTo>: ((this, from, context) => TTo | PromiseLike<TTo>)
    +

    Type Parameters

    -
      +
      • -

        TMeans

        +

        TMeans

        A type of request processing means.

        -
      • +
    +
  • -

    TFrom

    +

    TFrom

    A type of original, non-transformed value.

    -
  • +
    +
  • -

    TTo

    +

    TTo

    A type of transformed value.

    -
  • +
    +

    Type declaration

    • -
        -
      • (this: void, from: TFrom, context: RequestContext<TMeans>): TTo | PromiseLike<TTo>
      • +
          +
        • (this, from, context): TTo | PromiseLike<TTo>
        • Signature of request value transformer function.

          It is used to transform values in context of request processing.

          @@ -46,90 +49,35 @@

          Type declaration

          Parameters

          • -
            this: void
          • +
            this: void
          • -
            from: TFrom
          • +
            from: TFrom
          • -
            context: RequestContext<TMeans>
          -

          Returns TTo | PromiseLike<TTo>

    + -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +

    Theme

    + +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/variables/_hatsy_hatsy.FormDecoding-1.html b/variables/_hatsy_hatsy.FormDecoding-1.html index a925cba..cbd867e 100644 --- a/variables/_hatsy_hatsy.FormDecoding-1.html +++ b/variables/_hatsy_hatsy.FormDecoding-1.html @@ -1,104 +1,49 @@ -FormDecoding | Hatsy
    +FormDecoding | Hatsy
    -
    +
    -
    +

    Variable FormDecoding

    -
    FormDecoding: FormDecoding<HttpMeans<IncomingMessage, ServerResponse<IncomingMessage>>, URLSearchParams>
    +
    FormDecoding: FormDecoding<HttpMeans<IncomingMessage, ServerResponse<IncomingMessage>>, URLSearchParams>

    URL-encoded form decoding capability.

    -

    Represents form data submitted as application/x-www-form-urlencoded as a request body of type URLSearchParams.

    -
    +
    - +
    -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +

    Theme

    + +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/variables/_hatsy_hatsy.HttpForwarding-1.html b/variables/_hatsy_hatsy.HttpForwarding-1.html index e797eb2..0c55dbe 100644 --- a/variables/_hatsy_hatsy.HttpForwarding-1.html +++ b/variables/_hatsy_hatsy.HttpForwarding-1.html @@ -1,104 +1,49 @@ -HttpForwarding | Hatsy
    +HttpForwarding | Hatsy
    -
    +
    -
    +

    Variable HttpForwarding

    -
    HttpForwarding: HttpForwarding
    +
    HttpForwarding: HttpForwarding

    HTTP proxy forwarding capability.

    -

    Can be used directly, or configured first.

    -
    +
    - +
    -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +

    Theme

    + +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/variables/_hatsy_hatsy.JsonParsing-1.html b/variables/_hatsy_hatsy.JsonParsing-1.html index 0cff273..d5bb2c5 100644 --- a/variables/_hatsy_hatsy.JsonParsing-1.html +++ b/variables/_hatsy_hatsy.JsonParsing-1.html @@ -1,104 +1,49 @@ -JsonParsing | Hatsy
    +JsonParsing | Hatsy
    -
    +
    -
    +

    Variable JsonParsing

    -
    JsonParsing: JsonParsing<HttpMeans<IncomingMessage, ServerResponse<IncomingMessage>>, any>
    +
    JsonParsing: JsonParsing<HttpMeans<IncomingMessage, ServerResponse<IncomingMessage>>, any>

    JSON request body parsing capability.

    Parses request body as JSON.

    -
    +
    - +
    -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +

    Theme

    + +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/variables/_hatsy_hatsy.Logging-1.html b/variables/_hatsy_hatsy.Logging-1.html index 651e605..92f36ea 100644 --- a/variables/_hatsy_hatsy.Logging-1.html +++ b/variables/_hatsy_hatsy.Logging-1.html @@ -1,105 +1,50 @@ -Logging | Hatsy
    +Logging | Hatsy
    -
    +
    -
    +

    Variable Logging

    -
    Logging: Logging<unknown, RequestLogger>
    +
    Logging: Logging<unknown, RequestLogger>

    Request logging capability instance.

    -

    Uses a global console as request logger, unless the logger is present in request context +

    Uses a global console as request logger, unless the logger is present in request context already.

    -
    +
    - +
    -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +

    Theme

    + +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/variables/_hatsy_hatsy.Rendering.html b/variables/_hatsy_hatsy.Rendering.html index 31c5228..44df025 100644 --- a/variables/_hatsy_hatsy.Rendering.html +++ b/variables/_hatsy_hatsy.Rendering.html @@ -1,103 +1,48 @@ -Rendering | Hatsy
    +Rendering | Hatsy
    -
    +
    -
    -

    Generated using TypeDoc

    -
    \ No newline at end of file +

    Theme

    + +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file