From d7adb3adf1ad0e934581f6308165b808f9e4fab1 Mon Sep 17 00:00:00 2001 From: "aegir[bot]" Date: Thu, 29 Feb 2024 10:24:55 +0000 Subject: [PATCH] docs: update documentation [skip ci] --- assets/main.js | 8 ++-- classes/index.MultiaddrFilter.html | 4 +- functions/convert.convert.html | 2 +- functions/convert.convertToBytes.html | 2 +- functions/convert.convertToIpNet.html | 2 +- functions/convert.convertToString.html | 2 +- functions/index.fromNodeAddress.html | 4 +- functions/index.isMultiaddr.html | 4 +- functions/index.isName.html | 4 +- functions/index.multiaddr-1.html | 4 +- functions/index.protocols.html | 4 +- functions/resolvers.dnsaddrResolver.html | 4 +- index.html | 17 +++++++- interfaces/index.AbortOptions.html | 4 +- interfaces/index.Multiaddr.html | 50 ++++++++++++------------ interfaces/index.MultiaddrObject.html | 4 +- interfaces/index.NodeAddress.html | 4 +- interfaces/index.Protocol.html | 4 +- interfaces/index.Resolver.html | 2 +- modules/convert.html | 2 +- modules/index.html | 2 +- modules/resolvers.html | 2 +- types/index.MultiaddrInput.html | 2 +- types/index.StringTuple.html | 2 +- types/index.Tuple.html | 2 +- variables/index.resolvers.html | 2 +- 26 files changed, 79 insertions(+), 64 deletions(-) diff --git a/assets/main.js b/assets/main.js index 7270cff8..3092fea0 100644 --- a/assets/main.js +++ b/assets/main.js @@ -1,8 +1,8 @@ "use strict"; -"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;if(i){let o=i.split(" ").map(a=>a.length?`*${a}*`:"").join(" ");s=r.index.search(o)}else s=[];for(let o=0;oa.score-o.score);for(let o=0,a=Math.min(10,s.length);o`,d=ce(l.name,i);globalThis.DEBUG_SEARCH_WEIGHTS&&(d+=` (score: ${s[o].score.toFixed(2)})`),l.parent&&(d=` - ${ce(l.parent,i)}.${d}`);let 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(e){super(e),this.className=this.el.dataset.toggle||"",this.el.addEventListener(B,n=>this.onPointerUp(n)),this.el.addEventListener("click",n=>n.preventDefault()),document.addEventListener(F,n=>this.onDocumentPointerDown(n)),document.addEventListener(B,n=>this.onDocumentPointerUp(n))}setActive(e){if(this.active==e)return;this.active=e,document.documentElement.classList.toggle("has-"+this.className,e),this.el.classList.toggle("active",e);let n=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(n),setTimeout(()=>document.documentElement.classList.remove(n),500)}onPointerUp(e){D||(this.setActive(!0),e.preventDefault())}onDocumentPointerDown(e){if(this.active){if(e.target.closest(".col-sidebar, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(e){if(!D&&this.active&&e.target.closest(".col-sidebar")){let n=e.target.closest("a");if(n){let r=window.location.href;r.indexOf("#")!=-1&&(r=r.substring(0,r.indexOf("#"))),n.href.substring(0,r.length)==r&&setTimeout(()=>this.setActive(!1),250)}}}};var 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(e){super(e),this.key=`filter-${this.el.name}`,this.value=this.el.checked,this.el.addEventListener("change",()=>{this.setLocalStorage(this.el.checked)}),this.setLocalStorage(this.fromLocalStorage()),ve.innerHTML+=`html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; } -`,this.handleValueChange()}fromLocalStorage(){let e=Q.getItem(this.key);return e?e==="true":this.el.checked}setLocalStorage(e){Q.setItem(this.key,e.toString()),this.value=e,this.handleValueChange()}handleValueChange(){this.el.checked=this.value,document.documentElement.classList.toggle(this.key,this.value),this.app.filterChanged(),document.querySelectorAll(".tsd-index-section").forEach(e=>{e.style.display="block";let n=Array.from(e.querySelectorAll(".tsd-index-link")).every(r=>r.offsetParent==null);e.style.display=n?"none":"block"})}};var Z=class extends C{constructor(e){super(e),this.summary=this.el.querySelector(".tsd-accordion-summary"),this.icon=this.summary.querySelector("svg"),this.key=`tsd-accordion-${this.summary.dataset.key??this.summary.textContent.trim().replace(/\s+/g,"-").toLowerCase()}`;let n=Q.getItem(this.key);this.el.open=n?n==="true":this.el.open,this.el.addEventListener("toggle",()=>this.update());let r=this.summary.querySelector("a");r&&r.addEventListener("click",()=>{location.assign(r.href)}),this.update()}update(){this.icon.style.transform=`rotate(${this.el.open?0:-90}deg)`,Q.setItem(this.key,this.el.open.toString())}};function ge(t){let e=Q.getItem("tsd-theme")||"os";t.value=e,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();})(); +"use strict";(()=>{var Ie=Object.create;var ne=Object.defineProperty;var Pe=Object.getOwnPropertyDescriptor;var Oe=Object.getOwnPropertyNames;var _e=Object.getPrototypeOf,Re=Object.prototype.hasOwnProperty;var Me=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Fe=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Oe(e))!Re.call(t,i)&&i!==n&&ne(t,i,{get:()=>e[i],enumerable:!(r=Pe(e,i))||r.enumerable});return t};var De=(t,e,n)=>(n=t!=null?Ie(_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;if(i){let o=i.split(" ").map(a=>a.length?`*${a}*`:"").join(" ");s=r.index.search(o)}else s=[];for(let o=0;oa.score-o.score);for(let o=0,a=Math.min(10,s.length);o`,d=ce(l.name,i);globalThis.DEBUG_SEARCH_WEIGHTS&&(d+=` (score: ${s[o].score.toFixed(2)})`),l.parent&&(d=` + ${ce(l.parent,i)}.${d}`);let 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 He={"&":"&","<":"<",">":">","'":"'",'"':"""};function K(t){return t.replace(/[&<>"'"]/g,e=>He[e])}var C=class{constructor(e){this.el=e.el,this.app=e.app}};var F="mousedown",pe="mousemove",H="mouseup",J={x:0,y:0},fe=!1,ee=!1,Be=!1,D=!1,me=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(me?"is-mobile":"not-mobile");me&&"ontouchstart"in document.documentElement&&(Be=!0,F="touchstart",pe="touchmove",H="touchend");document.addEventListener(F,t=>{ee=!0,D=!1;let e=F=="touchstart"?t.targetTouches[0]:t;J.y=e.pageY||0,J.x=e.pageX||0});document.addEventListener(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(H,()=>{ee=!1});document.addEventListener("click",t=>{fe&&(t.preventDefault(),t.stopImmediatePropagation(),fe=!1)});var X=class extends C{constructor(e){super(e),this.className=this.el.dataset.toggle||"",this.el.addEventListener(H,n=>this.onPointerUp(n)),this.el.addEventListener("click",n=>n.preventDefault()),document.addEventListener(F,n=>this.onDocumentPointerDown(n)),document.addEventListener(H,n=>this.onDocumentPointerUp(n))}setActive(e){if(this.active==e)return;this.active=e,document.documentElement.classList.toggle("has-"+this.className,e),this.el.classList.toggle("active",e);let n=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(n),setTimeout(()=>document.documentElement.classList.remove(n),500)}onPointerUp(e){D||(this.setActive(!0),e.preventDefault())}onDocumentPointerDown(e){if(this.active){if(e.target.closest(".col-sidebar, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(e){if(!D&&this.active&&e.target.closest(".col-sidebar")){let n=e.target.closest("a");if(n){let r=window.location.href;r.indexOf("#")!=-1&&(r=r.substring(0,r.indexOf("#"))),n.href.substring(0,r.length)==r&&setTimeout(()=>this.setActive(!1),250)}}}};var te;try{te=localStorage}catch{te={getItem(){return null},setItem(){}}}var Q=te;var ve=document.head.appendChild(document.createElement("style"));ve.dataset.for="filters";var Y=class extends C{constructor(e){super(e),this.key=`filter-${this.el.name}`,this.value=this.el.checked,this.el.addEventListener("change",()=>{this.setLocalStorage(this.el.checked)}),this.setLocalStorage(this.fromLocalStorage()),ve.innerHTML+=`html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; } +`,this.updateIndexHeadingVisibility()}fromLocalStorage(){let e=Q.getItem(this.key);return e?e==="true":this.el.checked}setLocalStorage(e){Q.setItem(this.key,e.toString()),this.value=e,this.handleValueChange()}handleValueChange(){this.el.checked=this.value,document.documentElement.classList.toggle(this.key,this.value),this.app.filterChanged(),this.updateIndexHeadingVisibility()}updateIndexHeadingVisibility(){let e=document.querySelector(".tsd-index-content"),n=e?.open;e&&(e.open=!0),document.querySelectorAll(".tsd-index-section").forEach(r=>{r.style.display="block";let i=Array.from(r.querySelectorAll(".tsd-index-link")).every(s=>s.offsetParent==null);r.style.display=i?"none":"block"}),e&&(e.open=n)}};var Z=class extends C{constructor(e){super(e),this.summary=this.el.querySelector(".tsd-accordion-summary"),this.icon=this.summary.querySelector("svg"),this.key=`tsd-accordion-${this.summary.dataset.key??this.summary.textContent.trim().replace(/\s+/g,"-").toLowerCase()}`;let n=Q.getItem(this.key);this.el.open=n?n==="true":this.el.open,this.el.addEventListener("toggle",()=>this.update());let r=this.summary.querySelector("a");r&&r.addEventListener("click",()=>{location.assign(r.href)}),this.update()}update(){this.icon.style.transform=`rotate(${this.el.open?0:-90}deg)`,Q.setItem(this.key,this.el.open.toString())}};function ge(t){let e=Q.getItem("tsd-theme")||"os";t.value=e,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/classes/index.MultiaddrFilter.html b/classes/index.MultiaddrFilter.html index 7a73b68a..c6efb746 100644 --- a/classes/index.MultiaddrFilter.html +++ b/classes/index.MultiaddrFilter.html @@ -4,8 +4,8 @@ multiaddr is in a ipcidr range.

Example

import { multiaddr, MultiaddrFilter } from '@multiformats/multiaddr'

const range = multiaddr('/ip4/192.168.10.10/ipcidr/24')
const filter = new MultiaddrFilter(range)

const input = multiaddr('/ip4/192.168.10.2/udp/60')
console.info(filter.contains(input)) // true
-

Constructors

Constructors

Properties

Methods

Constructors

Properties

multiaddr: Multiaddr
netmask: IpNet

Methods

Generated using TypeDoc

\ No newline at end of file +

Constructors

Properties

multiaddr: Multiaddr
netmask: IpNet

Methods

Generated using TypeDoc

\ No newline at end of file diff --git a/functions/convert.convert.html b/functions/convert.convert.html index d0d132bc..bdfed000 100644 --- a/functions/convert.convert.html +++ b/functions/convert.convert.html @@ -1,2 +1,2 @@ convert | @multiformats/multiaddr

Generated using TypeDoc

\ No newline at end of file +

Parameters

  • proto: string
  • a: string

Returns Uint8Array

  • Parameters

    Returns string

  • Generated using TypeDoc

    \ No newline at end of file diff --git a/functions/convert.convertToBytes.html b/functions/convert.convertToBytes.html index 48c49524..be0e5f11 100644 --- a/functions/convert.convertToBytes.html +++ b/functions/convert.convertToBytes.html @@ -1 +1 @@ -convertToBytes | @multiformats/multiaddr

    Generated using TypeDoc

    \ No newline at end of file +convertToBytes | @multiformats/multiaddr

    Generated using TypeDoc

    \ No newline at end of file diff --git a/functions/convert.convertToIpNet.html b/functions/convert.convertToIpNet.html index 6b95a01f..29b74a90 100644 --- a/functions/convert.convertToIpNet.html +++ b/functions/convert.convertToIpNet.html @@ -1 +1 @@ -convertToIpNet | @multiformats/multiaddr

    Generated using TypeDoc

    \ No newline at end of file +convertToIpNet | @multiformats/multiaddr

    Generated using TypeDoc

    \ No newline at end of file diff --git a/functions/convert.convertToString.html b/functions/convert.convertToString.html index 6790857e..b18c6c2f 100644 --- a/functions/convert.convertToString.html +++ b/functions/convert.convertToString.html @@ -1,2 +1,2 @@ convertToString | @multiformats/multiaddr
    • Convert [code,Uint8Array] to string

      -

      Parameters

      Returns string

    Generated using TypeDoc

    \ No newline at end of file +

    Parameters

    Returns string

    Generated using TypeDoc

    \ No newline at end of file diff --git a/functions/index.fromNodeAddress.html b/functions/index.fromNodeAddress.html index df3500d7..6818042a 100644 --- a/functions/index.fromNodeAddress.html +++ b/functions/index.fromNodeAddress.html @@ -1,4 +1,4 @@ fromNodeAddress | @multiformats/multiaddr
    • Creates a Multiaddr from a node-friendly address object

      -

      Parameters

      Returns Multiaddr

      Example

      import { fromNodeAddress } from '@multiformats/multiaddr'

      fromNodeAddress({address: '127.0.0.1', port: '4001'}, 'tcp')
      // Multiaddr(/ip4/127.0.0.1/tcp/4001) +

      Parameters

      Returns Multiaddr

      Example

      import { fromNodeAddress } from '@multiformats/multiaddr'

      fromNodeAddress({address: '127.0.0.1', port: '4001'}, 'tcp')
      // Multiaddr(/ip4/127.0.0.1/tcp/4001)
      -

    Generated using TypeDoc

    \ No newline at end of file +

    Generated using TypeDoc

    \ No newline at end of file diff --git a/functions/index.isMultiaddr.html b/functions/index.isMultiaddr.html index 5c89b066..5493c0c9 100644 --- a/functions/index.isMultiaddr.html +++ b/functions/index.isMultiaddr.html @@ -1,4 +1,4 @@ isMultiaddr | @multiformats/multiaddr
    • Check if object is a Multiaddr instance

      -

      Parameters

      • value: any

      Returns value is Multiaddr

      Example

      import { isMultiaddr, multiaddr } from '@multiformats/multiaddr'

      isMultiaddr(5)
      // false
      isMultiaddr(multiaddr('/ip4/127.0.0.1'))
      // true +

      Parameters

      • value: any

      Returns value is Multiaddr

      Example

      import { isMultiaddr, multiaddr } from '@multiformats/multiaddr'

      isMultiaddr(5)
      // false
      isMultiaddr(multiaddr('/ip4/127.0.0.1'))
      // true
      -

    Generated using TypeDoc

    \ No newline at end of file +

    Generated using TypeDoc

    \ No newline at end of file diff --git a/functions/index.isName.html b/functions/index.isName.html index 4bd20804..921f5960 100644 --- a/functions/index.isName.html +++ b/functions/index.isName.html @@ -1,4 +1,4 @@ isName | @multiformats/multiaddr
    • Returns if something is a Multiaddr that is a resolvable name

      -

      Parameters

      Returns boolean

      Example

      import { isName, multiaddr } from '@multiformats/multiaddr'

      isName(multiaddr('/ip4/127.0.0.1'))
      // false
      isName(multiaddr('/dns/ipfs.io'))
      // true +

      Parameters

      Returns boolean

      Example

      import { isName, multiaddr } from '@multiformats/multiaddr'

      isName(multiaddr('/ip4/127.0.0.1'))
      // false
      isName(multiaddr('/dns/ipfs.io'))
      // true
      -

    Generated using TypeDoc

    \ No newline at end of file +

    Generated using TypeDoc

    \ No newline at end of file diff --git a/functions/index.multiaddr-1.html b/functions/index.multiaddr-1.html index 3e424153..618b6523 100644 --- a/functions/index.multiaddr-1.html +++ b/functions/index.multiaddr-1.html @@ -1,5 +1,5 @@ multiaddr | @multiformats/multiaddr
    • A function that takes a MultiaddrInput and returns a Multiaddr

      -

      Parameters

      • Optional addr: MultiaddrInput

        If String or Uint8Array, needs to adhere to the address format of a multiaddr

        +

        Parameters

        Returns Multiaddr

        Example

        import { multiaddr } from '@libp2p/multiaddr'

        multiaddr('/ip4/127.0.0.1/tcp/4001')
        // Multiaddr(/ip4/127.0.0.1/tcp/4001)
        -

    Generated using TypeDoc

    \ No newline at end of file +

    Generated using TypeDoc

    \ No newline at end of file diff --git a/functions/index.protocols.html b/functions/index.protocols.html index 0bb4b463..216cc0ed 100644 --- a/functions/index.protocols.html +++ b/functions/index.protocols.html @@ -1,4 +1,4 @@ protocols | @multiformats/multiaddr
    • For the passed proto string or number, return a Protocol

      -

      Parameters

      • proto: string | number

      Returns Protocol

      Example

      import { protocol } from '@multiformats/multiaddr'

      console.info(protocol(4))
      // { code: 4, size: 32, name: 'ip4', resolvable: false, path: false } +

      Parameters

      • proto: string | number

      Returns Protocol

      Example

      import { protocol } from '@multiformats/multiaddr'

      console.info(protocol(4))
      // { code: 4, size: 32, name: 'ip4', resolvable: false, path: false }
      -

    Generated using TypeDoc

    \ No newline at end of file +

    Generated using TypeDoc

    \ No newline at end of file diff --git a/functions/resolvers.dnsaddrResolver.html b/functions/resolvers.dnsaddrResolver.html index e6b4f312..39aa1168 100644 --- a/functions/resolvers.dnsaddrResolver.html +++ b/functions/resolvers.dnsaddrResolver.html @@ -1,4 +1,4 @@ dnsaddrResolver | @multiformats/multiaddr
    • Resolver for dnsaddr addresses.

      -

      Parameters

      Returns Promise<string[]>

      Example

      import { dnsaddrResolver } from '@multiformats/multiaddr/resolvers'
      import { multiaddr } from '@multiformats/multiaddr'

      const ma = multiaddr('/dnsaddr/bootstrap.libp2p.io')
      const addresses = await dnsaddrResolver(ma)

      console.info(addresses)
      //[
      // '/dnsaddr/am6.bootstrap.libp2p.io/p2p/QmbLHAnMoJPWSCR5Zhtx6BHJX9KiKNN6tpvbUcqanj75Nb',
      // '/dnsaddr/ny5.bootstrap.libp2p.io/p2p/QmQCU2EcMqAqQPR2i9bChDtGNJchTbq5TbXJJ16u19uLTa',
      // '/dnsaddr/sg1.bootstrap.libp2p.io/p2p/QmcZf59bWwK5XFi76CZX8cbJ4BhTzzA3gU1ZjYZcYW3dwt',
      // '/dnsaddr/sv15.bootstrap.libp2p.io/p2p/QmNnooDu7bfjPFoTZYxMNLWUQJyrVwtbZg5gBMjTezGAJN'
      //] +

      Parameters

      Returns Promise<string[]>

      Example

      import { dnsaddrResolver } from '@multiformats/multiaddr/resolvers'
      import { multiaddr } from '@multiformats/multiaddr'

      const ma = multiaddr('/dnsaddr/bootstrap.libp2p.io')
      const addresses = await dnsaddrResolver(ma)

      console.info(addresses)
      //[
      // '/dnsaddr/am6.bootstrap.libp2p.io/p2p/QmbLHAnMoJPWSCR5Zhtx6BHJX9KiKNN6tpvbUcqanj75Nb',
      // '/dnsaddr/ny5.bootstrap.libp2p.io/p2p/QmQCU2EcMqAqQPR2i9bChDtGNJchTbq5TbXJJ16u19uLTa',
      // '/dnsaddr/sg1.bootstrap.libp2p.io/p2p/QmcZf59bWwK5XFi76CZX8cbJ4BhTzzA3gU1ZjYZcYW3dwt',
      // '/dnsaddr/sv15.bootstrap.libp2p.io/p2p/QmNnooDu7bfjPFoTZYxMNLWUQJyrVwtbZg5gBMjTezGAJN'
      //]
      -

    Generated using TypeDoc

    \ No newline at end of file +

    Generated using TypeDoc

    \ No newline at end of file diff --git a/index.html b/index.html index 5630e8f7..8da91f0e 100644 --- a/index.html +++ b/index.html @@ -4,7 +4,22 @@

    multiaddr implementation (binary + string representation of network addresses)

    -

    About

    A standard way to represent addresses that

    +

    About

    + +

    A standard way to represent addresses that

    • support any standard network protocol
    • are self-describing
    • diff --git a/interfaces/index.AbortOptions.html b/interfaces/index.AbortOptions.html index a2e5d2dc..8f36f55b 100644 --- a/interfaces/index.AbortOptions.html +++ b/interfaces/index.AbortOptions.html @@ -1,3 +1,3 @@ AbortOptions | @multiformats/multiaddr

      Allows aborting long-lived operations

      -
      interface AbortOptions {
          signal?: AbortSignal;
      }

      Properties

      Properties

      signal?: AbortSignal

      Generated using TypeDoc

      \ No newline at end of file +
      interface AbortOptions {
          signal?: AbortSignal;
      }

      Properties

      Properties

      signal?: AbortSignal

      Generated using TypeDoc

      \ No newline at end of file diff --git a/interfaces/index.Multiaddr.html b/interfaces/index.Multiaddr.html index d93af1d7..13c5be7b 100644 --- a/interfaces/index.Multiaddr.html +++ b/interfaces/index.Multiaddr.html @@ -1,4 +1,4 @@ -Multiaddr | @multiformats/multiaddr
      interface Multiaddr {
          bytes: Uint8Array;
          decapsulate(addr): Multiaddr;
          decapsulateCode(code): Multiaddr;
          encapsulate(addr): Multiaddr;
          equals(addr): boolean;
          getPath(): null | string;
          getPeerId(): null | string;
          isThinWaistAddress(addr?): boolean;
          nodeAddress(): NodeAddress;
          protoCodes(): number[];
          protoNames(): string[];
          protos(): Protocol[];
          resolve(options?): Promise<Multiaddr[]>;
          stringTuples(): StringTuple[];
          toJSON(): string;
          toOptions(): MultiaddrObject;
          toString(): string;
          tuples(): Tuple[];
      }

      Properties

      bytes +Multiaddr | @multiformats/multiaddr
      interface Multiaddr {
          bytes: Uint8Array;
          decapsulate(addr): Multiaddr;
          decapsulateCode(code): Multiaddr;
          encapsulate(addr): Multiaddr;
          equals(addr): boolean;
          getPath(): null | string;
          getPeerId(): null | string;
          isThinWaistAddress(addr?): boolean;
          nodeAddress(): NodeAddress;
          protoCodes(): number[];
          protoNames(): string[];
          protos(): Protocol[];
          resolve(options?): Promise<Multiaddr[]>;
          stringTuples(): StringTuple[];
          toJSON(): string;
          toOptions(): MultiaddrObject;
          toString(): string;
          tuples(): Tuple[];
      }

      Properties

      Methods

      Properties

      bytes: Uint8Array

      Methods

      • Decapsulates a Multiaddr from another Multiaddr

        -

        Parameters

        • addr: string | Multiaddr

          Multiaddr to remove from this Multiaddr

          +

      Properties

      bytes: Uint8Array

      Methods

      • Decapsulates a Multiaddr from another Multiaddr

        +

        Parameters

        • addr: string | Multiaddr

          Multiaddr to remove from this Multiaddr

        Returns Multiaddr

        Example

        import { multiaddr } from '@multiformats/multiaddr'

        const mh1 = multiaddr('/ip4/8.8.8.8/tcp/1080')
        // Multiaddr(/ip4/8.8.8.8/tcp/1080)

        const mh2 = multiaddr('/ip4/127.0.0.1/tcp/4001')
        // Multiaddr(/ip4/127.0.0.1/tcp/4001)

        const mh3 = mh1.encapsulate(mh2)
        // Multiaddr(/ip4/8.8.8.8/tcp/1080/ip4/127.0.0.1/tcp/4001)

        mh3.decapsulate(mh2).toString()
        // '/ip4/8.8.8.8/tcp/1080'
        -
      • A more reliable version of decapsulate if you are targeting a +

      • A more reliable version of decapsulate if you are targeting a specific code, such as 421 (the p2p protocol code). The last index of the code will be removed from the Multiaddr, and a new instance will be returned. If the code is not present, the original Multiaddr is returned.

        -

        Parameters

        • code: number

        Returns Multiaddr

        Example

        import { multiaddr } from '@multiformats/multiaddr'

        const addr = multiaddr('/ip4/0.0.0.0/tcp/8080/p2p/QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSupNKC')
        // Multiaddr(/ip4/0.0.0.0/tcp/8080/p2p/QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSupNKC)

        addr.decapsulateCode(421).toString()
        // '/ip4/0.0.0.0/tcp/8080'

        multiaddr('/ip4/127.0.0.1/tcp/8080').decapsulateCode(421).toString()
        // '/ip4/127.0.0.1/tcp/8080' +

        Parameters

        • code: number

        Returns Multiaddr

        Example

        import { multiaddr } from '@multiformats/multiaddr'

        const addr = multiaddr('/ip4/0.0.0.0/tcp/8080/p2p/QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSupNKC')
        // Multiaddr(/ip4/0.0.0.0/tcp/8080/p2p/QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSupNKC)

        addr.decapsulateCode(421).toString()
        // '/ip4/0.0.0.0/tcp/8080'

        multiaddr('/ip4/127.0.0.1/tcp/8080').decapsulateCode(421).toString()
        // '/ip4/127.0.0.1/tcp/8080'
        -
      • Encapsulates a Multiaddr in another Multiaddr

        +

        Parameters

        Returns Multiaddr

        Example

        import { multiaddr } from '@multiformats/multiaddr'

        const mh1 = multiaddr('/ip4/8.8.8.8/tcp/1080')
        // Multiaddr(/ip4/8.8.8.8/tcp/1080)

        const mh2 = multiaddr('/ip4/127.0.0.1/tcp/4001')
        // Multiaddr(/ip4/127.0.0.1/tcp/4001)

        const mh3 = mh1.encapsulate(mh2)
        // Multiaddr(/ip4/8.8.8.8/tcp/1080/ip4/127.0.0.1/tcp/4001)

        mh3.toString()
        // '/ip4/8.8.8.8/tcp/1080/ip4/127.0.0.1/tcp/4001'
        -
      • Checks if two Multiaddrs are the same

        -

        Parameters

        Returns boolean

        Example

        import { multiaddr } from '@multiformats/multiaddr'

        const mh1 = multiaddr('/ip4/8.8.8.8/tcp/1080')
        // Multiaddr(/ip4/8.8.8.8/tcp/1080)

        const mh2 = multiaddr('/ip4/127.0.0.1/tcp/4001')
        // Multiaddr(/ip4/127.0.0.1/tcp/4001)

        mh1.equals(mh1)
        // true

        mh1.equals(mh2)
        // false +
      • Checks if two Multiaddrs are the same

        +

        Parameters

        Returns boolean

        Example

        import { multiaddr } from '@multiformats/multiaddr'

        const mh1 = multiaddr('/ip4/8.8.8.8/tcp/1080')
        // Multiaddr(/ip4/8.8.8.8/tcp/1080)

        const mh2 = multiaddr('/ip4/127.0.0.1/tcp/4001')
        // Multiaddr(/ip4/127.0.0.1/tcp/4001)

        mh1.equals(mh1)
        // true

        mh1.equals(mh2)
        // false
        -
      • Extract the path if the multiaddr contains one

        +
      • Extract the path if the multiaddr contains one

        Returns null | string

        Example

        import { multiaddr } from '@multiformats/multiaddr'

        const mh1 = multiaddr('/ip4/8.8.8.8/tcp/1080/unix/tmp/p2p.sock')
        // Multiaddr(/ip4/8.8.8.8/tcp/1080/unix/tmp/p2p.sock)

        // should return utf8 string or null if the id is missing or invalid
        const path = mh1.getPath()
        -
      • Extract the peerId if the multiaddr contains one

        +
      • Extract the peerId if the multiaddr contains one

        Returns null | string

        Example

        import { multiaddr } from '@multiformats/multiaddr'

        const mh1 = multiaddr('/ip4/8.8.8.8/tcp/1080/ipfs/QmValidBase58string')
        // Multiaddr(/ip4/8.8.8.8/tcp/1080/ipfs/QmValidBase58string)

        // should return QmValidBase58string or null if the id is missing or invalid
        const peerId = mh1.getPeerId()
        -
      • Returns if a Multiaddr is a Thin Waist address or not.

        +
      • Returns if a Multiaddr is a Thin Waist address or not.

        Thin Waist is if a Multiaddr adheres to the standard combination of:

        {IPv4, IPv6}/{TCP, UDP}

        -

        Parameters

        Returns boolean

        Example

        import { multiaddr } from '@multiformats/multiaddr'

        const mh1 = multiaddr('/ip4/127.0.0.1/tcp/4001')
        // Multiaddr(/ip4/127.0.0.1/tcp/4001)
        const mh2 = multiaddr('/ip4/192.168.2.1/tcp/5001')
        // Multiaddr(/ip4/192.168.2.1/tcp/5001)
        const mh3 = mh1.encapsulate(mh2)
        // Multiaddr(/ip4/127.0.0.1/tcp/4001/ip4/192.168.2.1/tcp/5001)
        const mh4 = multiaddr('/ip4/127.0.0.1/tcp/2000/wss/p2p-webrtc-star/p2p/QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSooo2a')
        // Multiaddr(/ip4/127.0.0.1/tcp/2000/wss/p2p-webrtc-star/p2p/QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSooo2a)
        mh1.isThinWaistAddress()
        // true
        mh2.isThinWaistAddress()
        // true
        mh3.isThinWaistAddress()
        // false
        mh4.isThinWaistAddress()
        // false +

        Parameters

        Returns boolean

        Example

        import { multiaddr } from '@multiformats/multiaddr'

        const mh1 = multiaddr('/ip4/127.0.0.1/tcp/4001')
        // Multiaddr(/ip4/127.0.0.1/tcp/4001)
        const mh2 = multiaddr('/ip4/192.168.2.1/tcp/5001')
        // Multiaddr(/ip4/192.168.2.1/tcp/5001)
        const mh3 = mh1.encapsulate(mh2)
        // Multiaddr(/ip4/127.0.0.1/tcp/4001/ip4/192.168.2.1/tcp/5001)
        const mh4 = multiaddr('/ip4/127.0.0.1/tcp/2000/wss/p2p-webrtc-star/p2p/QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSooo2a')
        // Multiaddr(/ip4/127.0.0.1/tcp/2000/wss/p2p-webrtc-star/p2p/QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSooo2a)
        mh1.isThinWaistAddress()
        // true
        mh2.isThinWaistAddress()
        // true
        mh3.isThinWaistAddress()
        // false
        mh4.isThinWaistAddress()
        // false
        -
      • Gets a Multiaddrs node-friendly address object. Note that protocol information +

      • Gets a Multiaddrs node-friendly address object. Note that protocol information is left out: in Node (and most network systems) the protocol is unknowable given only the address.

        Has to be a ThinWaist Address, otherwise throws error

        Returns NodeAddress

        Example

        import { multiaddr } from '@multiformats/multiaddr'

        multiaddr('/ip4/127.0.0.1/tcp/4001').nodeAddress()
        // {family: 4, address: '127.0.0.1', port: 4001}
        -
      • Returns the codes of the protocols in left-to-right order. +

      • Returns the codes of the protocols in left-to-right order. See list of protocols

        Returns number[]

        Example

        import { multiaddr } from '@multiformats/multiaddr'

        multiaddr('/ip4/127.0.0.1/tcp/4001').protoCodes()
        // [ 4, 6 ]
        -
      • Returns the names of the protocols in left-to-right order. +

      • Returns the names of the protocols in left-to-right order. See list of protocols

        Returns string[]

        Example

        import { multiaddr } from '@multiformats/multiaddr'

        multiaddr('/ip4/127.0.0.1/tcp/4001').protoNames()
        // [ 'ip4', 'tcp' ]
        -
      • Returns the protocols the Multiaddr is defined with, as an array of objects, in +

      • Returns the protocols the Multiaddr is defined with, as an array of objects, in left-to-right order. Each object contains the protocol code, protocol name, and the size of its address space in bits. See list of protocols

        Returns Protocol[]

        Example

        import { multiaddr } from '@multiformats/multiaddr'

        multiaddr('/ip4/127.0.0.1/tcp/4001').protos()
        // [ { code: 4, size: 32, name: 'ip4' },
        // { code: 6, size: 16, name: 'tcp' } ]
        -
      • Resolve multiaddr if containing resolvable hostname.

        -

        Parameters

        Returns Promise<Multiaddr[]>

        Example

        import { multiaddr, resolvers } from '@multiformats/multiaddr'

        resolvers.set('dnsaddr', resolverFunction)
        const mh1 = multiaddr('/dnsaddr/bootstrap.libp2p.io/p2p/QmbLHAnMoJPWSCR5Zhtx6BHJX9KiKNN6tpvbUcqanj75Nb')
        const resolvedMultiaddrs = await mh1.resolve()
        // [
        // Multiaddr(/ip4/147.75.83.83/tcp/4001/p2p/QmbLHAnMoJPWSCR5Zhtx6BHJX9KiKNN6tpvbUcqanj75Nb),
        // Multiaddr(/ip4/147.75.83.83/tcp/443/wss/p2p/QmbLHAnMoJPWSCR5Zhtx6BHJX9KiKNN6tpvbUcqanj75Nb),
        // Multiaddr(/ip4/147.75.83.83/udp/4001/quic/p2p/QmbLHAnMoJPWSCR5Zhtx6BHJX9KiKNN6tpvbUcqanj75Nb)
        // ] +
      • Resolve multiaddr if containing resolvable hostname.

        +

        Parameters

        Returns Promise<Multiaddr[]>

        Example

        import { multiaddr, resolvers } from '@multiformats/multiaddr'

        resolvers.set('dnsaddr', resolverFunction)
        const mh1 = multiaddr('/dnsaddr/bootstrap.libp2p.io/p2p/QmbLHAnMoJPWSCR5Zhtx6BHJX9KiKNN6tpvbUcqanj75Nb')
        const resolvedMultiaddrs = await mh1.resolve()
        // [
        // Multiaddr(/ip4/147.75.83.83/tcp/4001/p2p/QmbLHAnMoJPWSCR5Zhtx6BHJX9KiKNN6tpvbUcqanj75Nb),
        // Multiaddr(/ip4/147.75.83.83/tcp/443/wss/p2p/QmbLHAnMoJPWSCR5Zhtx6BHJX9KiKNN6tpvbUcqanj75Nb),
        // Multiaddr(/ip4/147.75.83.83/udp/4001/quic/p2p/QmbLHAnMoJPWSCR5Zhtx6BHJX9KiKNN6tpvbUcqanj75Nb)
        // ]
        -
      • Returns a tuple of string/number parts

        • tuples[][0] = code of protocol
        • tuples[][1] = contents of address

        Returns StringTuple[]

        Example

        import { multiaddr } from '@multiformats/multiaddr'

        multiaddr('/ip4/127.0.0.1/tcp/4001').stringTuples()
        // [ [ 4, '127.0.0.1' ], [ 6, '4001' ] ]
        -
      • Returns Multiaddr as a JSON encoded object

        +
      • Returns Multiaddr as a JSON encoded object

        Returns string

        Example

        import { multiaddr } from '@multiformats/multiaddr'

        JSON.stringify(multiaddr('/ip4/127.0.0.1/tcp/4001'))
        // '/ip4/127.0.0.1/tcp/4001'
        -
      • Returns Multiaddr as a convinient options object to be used with net.createConnection

        +
      • Returns Multiaddr as a convinient options object to be used with net.createConnection

        Returns MultiaddrObject

        Example

        import { multiaddr } from '@multiformats/multiaddr'

        multiaddr('/ip4/127.0.0.1/tcp/4001').toOptions()
        // { family: 4, host: '127.0.0.1', transport: 'tcp', port: 4001 }
        -
      • Returns Multiaddr as a String

        +
      • Returns Multiaddr as a String

        Returns string

        Example

        import { multiaddr } from '@multiformats/multiaddr'

        multiaddr('/ip4/127.0.0.1/tcp/4001').toString()
        // '/ip4/127.0.0.1/tcp/4001'
        -
      • Returns a tuple of parts

        Returns Tuple[]

        Example

        import { multiaddr } from '@multiformats/multiaddr'

        multiaddr('/ip4/127.0.0.1/tcp/4001').tuples()
        // [ [ 4, <Buffer 7f 00 00 01> ], [ 6, <Buffer 0f a1> ] ]
        -

      Generated using TypeDoc

      \ No newline at end of file +

    Generated using TypeDoc

    \ No newline at end of file diff --git a/interfaces/index.MultiaddrObject.html b/interfaces/index.MultiaddrObject.html index 0092d65c..bcf80989 100644 --- a/interfaces/index.MultiaddrObject.html +++ b/interfaces/index.MultiaddrObject.html @@ -1,6 +1,6 @@ MultiaddrObject | @multiformats/multiaddr

    A plain JavaScript object representation of a Multiaddr

    -
    interface MultiaddrObject {
        family: 4 | 6;
        host: string;
        port: number;
        transport: string;
    }

    Properties

    interface MultiaddrObject {
        family: 4 | 6;
        host: string;
        port: number;
        transport: string;
    }

    Properties

    family: 4 | 6
    host: string
    port: number
    transport: string

    Generated using TypeDoc

    \ No newline at end of file +

    Properties

    family: 4 | 6
    host: string
    port: number
    transport: string

    Generated using TypeDoc

    \ No newline at end of file diff --git a/interfaces/index.NodeAddress.html b/interfaces/index.NodeAddress.html index 0ba62481..9fb5f669 100644 --- a/interfaces/index.NodeAddress.html +++ b/interfaces/index.NodeAddress.html @@ -1,5 +1,5 @@ NodeAddress | @multiformats/multiaddr

    A NodeAddress is an IPv4/IPv6 address/TCP port combination

    -
    interface NodeAddress {
        address: string;
        family: 4 | 6;
        port: number;
    }

    Properties

    interface NodeAddress {
        address: string;
        family: 4 | 6;
        port: number;
    }

    Properties

    Properties

    address: string
    family: 4 | 6
    port: number

    Generated using TypeDoc

    \ No newline at end of file +

    Properties

    address: string
    family: 4 | 6
    port: number

    Generated using TypeDoc

    \ No newline at end of file diff --git a/interfaces/index.Protocol.html b/interfaces/index.Protocol.html index e7cfdd02..75ef7ed4 100644 --- a/interfaces/index.Protocol.html +++ b/interfaces/index.Protocol.html @@ -1,7 +1,7 @@ Protocol | @multiformats/multiaddr

    Protocols are present in the protocol table

    -
    interface Protocol {
        code: number;
        name: string;
        path?: boolean;
        resolvable?: boolean;
        size: number;
    }

    Properties

    interface Protocol {
        code: number;
        name: string;
        path?: boolean;
        resolvable?: boolean;
        size: number;
    }

    Properties

    code: number
    name: string
    path?: boolean
    resolvable?: boolean
    size: number

    Generated using TypeDoc

    \ No newline at end of file +

    Properties

    code: number
    name: string
    path?: boolean
    resolvable?: boolean
    size: number

    Generated using TypeDoc

    \ No newline at end of file diff --git a/interfaces/index.Resolver.html b/interfaces/index.Resolver.html index 7bba62f9..78ac04db 100644 --- a/interfaces/index.Resolver.html +++ b/interfaces/index.Resolver.html @@ -1,3 +1,3 @@ Resolver | @multiformats/multiaddr

    A Resolver is a function that takes a Multiaddr and resolves it into one or more string representations of that Multiaddr.

    -
    interface Resolver ((addr, options?) => Promise<string[]>)

    Generated using TypeDoc

    \ No newline at end of file +
    interface Resolver ((addr, options?) => Promise<string[]>)

    Generated using TypeDoc

    \ No newline at end of file diff --git a/modules/convert.html b/modules/convert.html index 031d912d..31f3c8ee 100644 --- a/modules/convert.html +++ b/modules/convert.html @@ -1,5 +1,5 @@ convert | @multiformats/multiaddr

    Provides methods for converting

    -

    Index

    Functions

    Index

    Functions

    convert convertToBytes convertToIpNet convertToString diff --git a/modules/index.html b/modules/index.html index 46f06957..0c2e4040 100644 --- a/modules/index.html +++ b/modules/index.html @@ -28,7 +28,7 @@

    A resolver receives a Multiaddr as a parameter and returns a Promise<Array<string>>.

    -

    Index

    Classes

    Index

    Classes

    Interfaces

    AbortOptions Multiaddr MultiaddrObject diff --git a/modules/resolvers.html b/modules/resolvers.html index b0e99d82..4f8ca0f8 100644 --- a/modules/resolvers.html +++ b/modules/resolvers.html @@ -1,3 +1,3 @@ resolvers | @multiformats/multiaddr

    Provides strategies for resolving multiaddrs.

    -

    Index

    Functions

    Index

    Functions

    Generated using TypeDoc

    \ No newline at end of file diff --git a/types/index.MultiaddrInput.html b/types/index.MultiaddrInput.html index 4371627f..007dc4f9 100644 --- a/types/index.MultiaddrInput.html +++ b/types/index.MultiaddrInput.html @@ -1,2 +1,2 @@ MultiaddrInput | @multiformats/multiaddr
    MultiaddrInput: string | Multiaddr | Uint8Array | null

    These types can be parsed into a Multiaddr object

    -

    Generated using TypeDoc

    \ No newline at end of file +

    Generated using TypeDoc

    \ No newline at end of file diff --git a/types/index.StringTuple.html b/types/index.StringTuple.html index b3dc21ec..ad1fd984 100644 --- a/types/index.StringTuple.html +++ b/types/index.StringTuple.html @@ -1,2 +1,2 @@ StringTuple | @multiformats/multiaddr
    StringTuple: [number, string?]

    A code/value pair with the value as a string

    -

    Generated using TypeDoc

    \ No newline at end of file +

    Generated using TypeDoc

    \ No newline at end of file diff --git a/types/index.Tuple.html b/types/index.Tuple.html index cfe419b3..ac042106 100644 --- a/types/index.Tuple.html +++ b/types/index.Tuple.html @@ -1,2 +1,2 @@ Tuple | @multiformats/multiaddr
    Tuple: [number, Uint8Array?]

    A code/value pair

    -

    Generated using TypeDoc

    \ No newline at end of file +

    Generated using TypeDoc

    \ No newline at end of file diff --git a/variables/index.resolvers.html b/variables/index.resolvers.html index a1ccfb7c..d3e28947 100644 --- a/variables/index.resolvers.html +++ b/variables/index.resolvers.html @@ -1,2 +1,2 @@ resolvers | @multiformats/multiaddr
    resolvers: Map<string, Resolver> = ...

    All configured Resolvers

    -

    Generated using TypeDoc

    \ No newline at end of file +

    Generated using TypeDoc

    \ No newline at end of file