diff --git a/docs/v0.12.1/.nojekyll b/docs/v0.12.1/.nojekyll new file mode 100644 index 0000000..e2ac661 --- /dev/null +++ b/docs/v0.12.1/.nojekyll @@ -0,0 +1 @@ +TypeDoc added this file to prevent GitHub Pages from using Jekyll. You can turn off this behavior by setting the `githubPages` option to false. \ No newline at end of file diff --git a/docs/v0.12.1/assets/highlight.css b/docs/v0.12.1/assets/highlight.css new file mode 100644 index 0000000..2a3e49d --- /dev/null +++ b/docs/v0.12.1/assets/highlight.css @@ -0,0 +1,127 @@ +:root { + --light-hl-0: #001080; + --dark-hl-0: #9CDCFE; + --light-hl-1: #000000; + --dark-hl-1: #D4D4D4; + --light-hl-2: #AF00DB; + --dark-hl-2: #C586C0; + --light-hl-3: #A31515; + --dark-hl-3: #CE9178; + --light-hl-4: #0000FF; + --dark-hl-4: #569CD6; + --light-hl-5: #795E26; + --dark-hl-5: #DCDCAA; + --light-hl-6: #267F99; + --dark-hl-6: #4EC9B0; + --light-hl-7: #0070C1; + --dark-hl-7: #4FC1FF; + --light-hl-8: #811F3F; + --dark-hl-8: #D16969; + --light-hl-9: #000000; + --dark-hl-9: #D7BA7D; + --light-hl-10: #008000; + --dark-hl-10: #6A9955; + --light-hl-11: #D16969; + --dark-hl-11: #CE9178; + --light-hl-12: #EE0000; + --dark-hl-12: #DCDCAA; + --light-hl-13: #EE0000; + --dark-hl-13: #D7BA7D; + --light-hl-14: #098658; + --dark-hl-14: #B5CEA8; + --light-code-background: #FFFFFF; + --dark-code-background: #1E1E1E; +} + +@media (prefers-color-scheme: light) { :root { + --hl-0: var(--light-hl-0); + --hl-1: var(--light-hl-1); + --hl-2: var(--light-hl-2); + --hl-3: var(--light-hl-3); + --hl-4: var(--light-hl-4); + --hl-5: var(--light-hl-5); + --hl-6: var(--light-hl-6); + --hl-7: var(--light-hl-7); + --hl-8: var(--light-hl-8); + --hl-9: var(--light-hl-9); + --hl-10: var(--light-hl-10); + --hl-11: var(--light-hl-11); + --hl-12: var(--light-hl-12); + --hl-13: var(--light-hl-13); + --hl-14: var(--light-hl-14); + --code-background: var(--light-code-background); +} } + +@media (prefers-color-scheme: dark) { :root { + --hl-0: var(--dark-hl-0); + --hl-1: var(--dark-hl-1); + --hl-2: var(--dark-hl-2); + --hl-3: var(--dark-hl-3); + --hl-4: var(--dark-hl-4); + --hl-5: var(--dark-hl-5); + --hl-6: var(--dark-hl-6); + --hl-7: var(--dark-hl-7); + --hl-8: var(--dark-hl-8); + --hl-9: var(--dark-hl-9); + --hl-10: var(--dark-hl-10); + --hl-11: var(--dark-hl-11); + --hl-12: var(--dark-hl-12); + --hl-13: var(--dark-hl-13); + --hl-14: var(--dark-hl-14); + --code-background: var(--dark-code-background); +} } + +:root[data-theme='light'] { + --hl-0: var(--light-hl-0); + --hl-1: var(--light-hl-1); + --hl-2: var(--light-hl-2); + --hl-3: var(--light-hl-3); + --hl-4: var(--light-hl-4); + --hl-5: var(--light-hl-5); + --hl-6: var(--light-hl-6); + --hl-7: var(--light-hl-7); + --hl-8: var(--light-hl-8); + --hl-9: var(--light-hl-9); + --hl-10: var(--light-hl-10); + --hl-11: var(--light-hl-11); + --hl-12: var(--light-hl-12); + --hl-13: var(--light-hl-13); + --hl-14: var(--light-hl-14); + --code-background: var(--light-code-background); +} + +:root[data-theme='dark'] { + --hl-0: var(--dark-hl-0); + --hl-1: var(--dark-hl-1); + --hl-2: var(--dark-hl-2); + --hl-3: var(--dark-hl-3); + --hl-4: var(--dark-hl-4); + --hl-5: var(--dark-hl-5); + --hl-6: var(--dark-hl-6); + --hl-7: var(--dark-hl-7); + --hl-8: var(--dark-hl-8); + --hl-9: var(--dark-hl-9); + --hl-10: var(--dark-hl-10); + --hl-11: var(--dark-hl-11); + --hl-12: var(--dark-hl-12); + --hl-13: var(--dark-hl-13); + --hl-14: var(--dark-hl-14); + --code-background: var(--dark-code-background); +} + +.hl-0 { color: var(--hl-0); } +.hl-1 { color: var(--hl-1); } +.hl-2 { color: var(--hl-2); } +.hl-3 { color: var(--hl-3); } +.hl-4 { color: var(--hl-4); } +.hl-5 { color: var(--hl-5); } +.hl-6 { color: var(--hl-6); } +.hl-7 { color: var(--hl-7); } +.hl-8 { color: var(--hl-8); } +.hl-9 { color: var(--hl-9); } +.hl-10 { color: var(--hl-10); } +.hl-11 { color: var(--hl-11); } +.hl-12 { color: var(--hl-12); } +.hl-13 { color: var(--hl-13); } +.hl-14 { color: var(--hl-14); } +pre, code { background: var(--code-background); } diff --git a/docs/v0.12.1/assets/main.js b/docs/v0.12.1/assets/main.js new file mode 100644 index 0000000..4c8fa61 --- /dev/null +++ b/docs/v0.12.1/assets/main.js @@ -0,0 +1,58 @@ +"use strict"; +"use strict";(()=>{var Se=Object.create;var re=Object.defineProperty;var we=Object.getOwnPropertyDescriptor;var Te=Object.getOwnPropertyNames;var ke=Object.getPrototypeOf,Qe=Object.prototype.hasOwnProperty;var Pe=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Ie=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Te(e))!Qe.call(t,i)&&i!==r&&re(t,i,{get:()=>e[i],enumerable:!(n=we(e,i))||n.enumerable});return t};var Ce=(t,e,r)=>(r=t!=null?Se(ke(t)):{},Ie(e||!t||!t.__esModule?re(r,"default",{value:t,enumerable:!0}):r,t));var ae=Pe((se,oe)=>{(function(){var t=function(e){var r=new t.Builder;return r.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),r.searchPipeline.add(t.stemmer),e.call(r,r),r.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(r){e.console&&console.warn&&console.warn(r)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var r=Object.create(null),n=Object.keys(e),i=0;i0){var d=t.utils.clone(r)||{};d.position=[a,u],d.index=s.length,s.push(new t.Token(n.slice(a,o),d))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,r){r in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+r),e.label=r,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var r=e.label&&e.label in this.registeredFunctions;r||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. +`,e)},t.Pipeline.load=function(e){var r=new t.Pipeline;return e.forEach(function(n){var i=t.Pipeline.registeredFunctions[n];if(i)r.add(i);else throw new Error("Cannot load unregistered function: "+n)}),r},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(r){t.Pipeline.warnIfFunctionNotRegistered(r),this._stack.push(r)},this)},t.Pipeline.prototype.after=function(e,r){t.Pipeline.warnIfFunctionNotRegistered(r);var n=this._stack.indexOf(e);if(n==-1)throw new Error("Cannot find existingFn");n=n+1,this._stack.splice(n,0,r)},t.Pipeline.prototype.before=function(e,r){t.Pipeline.warnIfFunctionNotRegistered(r);var n=this._stack.indexOf(e);if(n==-1)throw new Error("Cannot find existingFn");this._stack.splice(n,0,r)},t.Pipeline.prototype.remove=function(e){var r=this._stack.indexOf(e);r!=-1&&this._stack.splice(r,1)},t.Pipeline.prototype.run=function(e){for(var r=this._stack.length,n=0;n1&&(oe&&(n=s),o!=e);)i=n-r,s=r+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(ol?d+=2:a==l&&(r+=n[u+1]*i[d+1],u+=2,d+=2);return r},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),r=1,n=0;r0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}if(s.str.length==0&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new t.TokenSet;s.node.edges["*"]=u}s.str.length==1&&(u.final=!0),i.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var d=s.str.charAt(0),m=s.str.charAt(1),y;m in s.node.edges?y=s.node.edges[m]:(y=new t.TokenSet,s.node.edges[m]=y),s.str.length==1&&(y.final=!0),i.push({node:y,editsRemaining:s.editsRemaining-1,str:d+s.str.slice(2)})}}}return n},t.TokenSet.fromString=function(e){for(var r=new t.TokenSet,n=r,i=0,s=e.length;i=e;r--){var n=this.uncheckedNodes[r],i=n.child.toString();i in this.minimizedNodes?n.parent.edges[n.char]=this.minimizedNodes[i]:(n.child._str=i,this.minimizedNodes[i]=n.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(r){var n=new t.QueryParser(e,r);n.parse()})},t.Index.prototype.query=function(e){for(var r=new t.Query(this.fields),n=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),l=0;l1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,r){var n=e[this._ref],i=Object.keys(this._fields);this._documents[n]=r||{},this.documentCount+=1;for(var s=0;s=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,r;do e=this.next(),r=e.charCodeAt(0);while(r>47&&r<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var r=e.next();if(r==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(r.charCodeAt(0)==92){e.escapeCharacter();continue}if(r==":")return t.QueryLexer.lexField;if(r=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(r=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(r=="+"&&e.width()===1||r=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(r.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,r){this.lexer=new t.QueryLexer(e),this.query=r,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var r=e.peekLexeme();if(r!=null)switch(r.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var n="expected either a field or a term, found "+r.type;throw r.str.length>=1&&(n+=" with value '"+r.str+"'"),new t.QueryParseError(n,r.start,r.end)}},t.QueryParser.parsePresence=function(e){var r=e.consumeLexeme();if(r!=null){switch(r.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var n="unrecognised presence operator'"+r.str+"'";throw new t.QueryParseError(n,r.start,r.end)}var i=e.peekLexeme();if(i==null){var n="expecting term or field, found nothing";throw new t.QueryParseError(n,r.start,r.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var n="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(n,i.start,i.end)}}},t.QueryParser.parseField=function(e){var r=e.consumeLexeme();if(r!=null){if(e.query.allFields.indexOf(r.str)==-1){var n=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+r.str+"', possible fields: "+n;throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.fields=[r.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,r.start,r.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var r=e.consumeLexeme();if(r!=null){e.currentClause.term=r.str.toLowerCase(),r.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var n=e.peekLexeme();if(n==null){e.nextClause();return}switch(n.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+n.type+"'";throw new t.QueryParseError(i,n.start,n.end)}}},t.QueryParser.parseEditDistance=function(e){var r=e.consumeLexeme();if(r!=null){var n=parseInt(r.str,10);if(isNaN(n)){var i="edit distance must be numeric";throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.editDistance=n;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var r=e.consumeLexeme();if(r!=null){var n=parseInt(r.str,10);if(isNaN(n)){var i="boost must be numeric";throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.boost=n;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,r){typeof define=="function"&&define.amd?define(r):typeof se=="object"?oe.exports=r():e.lunr=r()}(this,function(){return t})})()});var ne=[];function G(t,e){ne.push({selector:e,constructor:t})}var U=class{constructor(){this.alwaysVisibleMember=null;this.createComponents(document.body),this.ensureActivePageVisible(),this.ensureFocusedElementVisible(),this.listenForCodeCopies(),window.addEventListener("hashchange",()=>this.ensureFocusedElementVisible())}createComponents(e){ne.forEach(r=>{e.querySelectorAll(r.selector).forEach(n=>{n.dataset.hasInstance||(new r.constructor({el:n,app:this}),n.dataset.hasInstance=String(!0))})})}filterChanged(){this.ensureFocusedElementVisible()}ensureActivePageVisible(){let e=document.querySelector(".tsd-navigation .current"),r=e?.parentElement;for(;r&&!r.classList.contains(".tsd-navigation");)r instanceof HTMLDetailsElement&&(r.open=!0),r=r.parentElement;if(e){let n=e.getBoundingClientRect().top-document.documentElement.clientHeight/4;document.querySelector(".site-menu").scrollTop=n}}ensureFocusedElementVisible(){if(this.alwaysVisibleMember&&(this.alwaysVisibleMember.classList.remove("always-visible"),this.alwaysVisibleMember.firstElementChild.remove(),this.alwaysVisibleMember=null),!location.hash)return;let e=document.getElementById(location.hash.substring(1));if(!e)return;let r=e.parentElement;for(;r&&r.tagName!=="SECTION";)r=r.parentElement;if(r&&r.offsetParent==null){this.alwaysVisibleMember=r,r.classList.add("always-visible");let n=document.createElement("p");n.classList.add("warning"),n.textContent="This member is normally hidden due to your filter settings.",r.prepend(n)}}listenForCodeCopies(){document.querySelectorAll("pre > button").forEach(e=>{let r;e.addEventListener("click",()=>{e.previousElementSibling instanceof HTMLElement&&navigator.clipboard.writeText(e.previousElementSibling.innerText.trim()),e.textContent="Copied!",e.classList.add("visible"),clearTimeout(r),r=setTimeout(()=>{e.classList.remove("visible"),r=setTimeout(()=>{e.textContent="Copy"},100)},1e3)})})}};var ie=(t,e=100)=>{let r;return()=>{clearTimeout(r),r=setTimeout(()=>t(),e)}};var ce=Ce(ae());function de(){let t=document.getElementById("tsd-search");if(!t)return;let e=document.getElementById("tsd-search-script");t.classList.add("loading"),e&&(e.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),e.addEventListener("load",()=>{t.classList.remove("loading"),t.classList.add("ready")}),window.searchData&&t.classList.remove("loading"));let r=document.querySelector("#tsd-search input"),n=document.querySelector("#tsd-search .results");if(!r||!n)throw new Error("The input field or the result list wrapper was not found");let i=!1;n.addEventListener("mousedown",()=>i=!0),n.addEventListener("mouseup",()=>{i=!1,t.classList.remove("has-focus")}),r.addEventListener("focus",()=>t.classList.add("has-focus")),r.addEventListener("blur",()=>{i||(i=!1,t.classList.remove("has-focus"))});let s={base:t.dataset.base+"/"};Oe(t,n,r,s)}function Oe(t,e,r,n){r.addEventListener("input",ie(()=>{Re(t,e,r,n)},200));let i=!1;r.addEventListener("keydown",s=>{i=!0,s.key=="Enter"?Fe(e,r):s.key=="Escape"?r.blur():s.key=="ArrowUp"?ue(e,-1):s.key==="ArrowDown"?ue(e,1):i=!1}),r.addEventListener("keypress",s=>{i&&s.preventDefault()}),document.body.addEventListener("keydown",s=>{s.altKey||s.ctrlKey||s.metaKey||!r.matches(":focus")&&s.key==="/"&&(r.focus(),s.preventDefault())})}function _e(t,e){t.index||window.searchData&&(e.classList.remove("loading"),e.classList.add("ready"),t.data=window.searchData,t.index=ce.Index.load(window.searchData.index))}function Re(t,e,r,n){if(_e(n,t),!n.index||!n.data)return;e.textContent="";let i=r.value.trim(),s=i?n.index.search(`*${i}*`):[];for(let o=0;oa.score-o.score);for(let o=0,a=Math.min(10,s.length);o${le(l.parent,i)}.${u}`);let d=document.createElement("li");d.classList.value=l.classes??"";let m=document.createElement("a");m.href=n.base+l.url,m.innerHTML=u,d.append(m),e.appendChild(d)}}function ue(t,e){let r=t.querySelector(".current");if(!r)r=t.querySelector(e==1?"li:first-child":"li:last-child"),r&&r.classList.add("current");else{let n=r;if(e===1)do n=n.nextElementSibling??void 0;while(n instanceof HTMLElement&&n.offsetParent==null);else do n=n.previousElementSibling??void 0;while(n instanceof HTMLElement&&n.offsetParent==null);n&&(r.classList.remove("current"),n.classList.add("current"))}}function Fe(t,e){let r=t.querySelector(".current");if(r||(r=t.querySelector("li:first-child")),r){let n=r.querySelector("a");n&&(window.location.href=n.href),e.blur()}}function le(t,e){if(e==="")return t;let r=t.toLocaleLowerCase(),n=e.toLocaleLowerCase(),i=[],s=0,o=r.indexOf(n);for(;o!=-1;)i.push(K(t.substring(s,o)),`${K(t.substring(o,o+n.length))}`),s=o+n.length,o=r.indexOf(n,s);return i.push(K(t.substring(s))),i.join("")}var Me={"&":"&","<":"<",">":">","'":"'",'"':"""};function K(t){return t.replace(/[&<>"'"]/g,e=>Me[e])}var P=class{constructor(e){this.el=e.el,this.app=e.app}};var M="mousedown",fe="mousemove",N="mouseup",J={x:0,y:0},he=!1,ee=!1,De=!1,D=!1,pe=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(pe?"is-mobile":"not-mobile");pe&&"ontouchstart"in document.documentElement&&(De=!0,M="touchstart",fe="touchmove",N="touchend");document.addEventListener(M,t=>{ee=!0,D=!1;let e=M=="touchstart"?t.targetTouches[0]:t;J.y=e.pageY||0,J.x=e.pageX||0});document.addEventListener(fe,t=>{if(ee&&!D){let e=M=="touchstart"?t.targetTouches[0]:t,r=J.x-(e.pageX||0),n=J.y-(e.pageY||0);D=Math.sqrt(r*r+n*n)>10}});document.addEventListener(N,()=>{ee=!1});document.addEventListener("click",t=>{he&&(t.preventDefault(),t.stopImmediatePropagation(),he=!1)});var X=class extends P{constructor(r){super(r);this.className=this.el.dataset.toggle||"",this.el.addEventListener(N,n=>this.onPointerUp(n)),this.el.addEventListener("click",n=>n.preventDefault()),document.addEventListener(M,n=>this.onDocumentPointerDown(n)),document.addEventListener(N,n=>this.onDocumentPointerUp(n))}setActive(r){if(this.active==r)return;this.active=r,document.documentElement.classList.toggle("has-"+this.className,r),this.el.classList.toggle("active",r);let n=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(n),setTimeout(()=>document.documentElement.classList.remove(n),500)}onPointerUp(r){D||(this.setActive(!0),r.preventDefault())}onDocumentPointerDown(r){if(this.active){if(r.target.closest(".col-sidebar, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(r){if(!D&&this.active&&r.target.closest(".col-sidebar")){let n=r.target.closest("a");if(n){let i=window.location.href;i.indexOf("#")!=-1&&(i=i.substring(0,i.indexOf("#"))),n.href.substring(0,i.length)==i&&setTimeout(()=>this.setActive(!1),250)}}}};var te;try{te=localStorage}catch{te={getItem(){return null},setItem(){}}}var Q=te;var me=document.head.appendChild(document.createElement("style"));me.dataset.for="filters";var Y=class extends P{constructor(r){super(r);this.key=`filter-${this.el.name}`,this.value=this.el.checked,this.el.addEventListener("change",()=>{this.setLocalStorage(this.el.checked)}),this.setLocalStorage(this.fromLocalStorage()),me.innerHTML+=`html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; } +`}fromLocalStorage(){let r=Q.getItem(this.key);return r?r==="true":this.el.checked}setLocalStorage(r){Q.setItem(this.key,r.toString()),this.value=r,this.handleValueChange()}handleValueChange(){this.el.checked=this.value,document.documentElement.classList.toggle(this.key,this.value),this.app.filterChanged(),document.querySelectorAll(".tsd-index-section").forEach(r=>{r.style.display="block";let n=Array.from(r.querySelectorAll(".tsd-index-link")).every(i=>i.offsetParent==null);r.style.display=n?"none":"block"})}};var Z=class extends P{constructor(r){super(r);this.summary=this.el.querySelector(".tsd-accordion-summary"),this.icon=this.summary.querySelector("svg"),this.key=`tsd-accordion-${this.summary.dataset.key??this.summary.textContent.trim().replace(/\s+/g,"-").toLowerCase()}`;let n=Q.getItem(this.key);this.el.open=n?n==="true":this.el.open,this.el.addEventListener("toggle",()=>this.update()),this.update()}update(){this.icon.style.transform=`rotate(${this.el.open?0:-90}deg)`,Q.setItem(this.key,this.el.open.toString())}};function ve(t){let e=Q.getItem("tsd-theme")||"os";t.value=e,ye(e),t.addEventListener("change",()=>{Q.setItem("tsd-theme",t.value),ye(t.value)})}function ye(t){document.documentElement.dataset.theme=t}de();G(X,"a[data-toggle]");G(Z,".tsd-index-accordion");G(Y,".tsd-filter-item input[type=checkbox]");var ge=document.getElementById("tsd-theme");ge&&ve(ge);var Ae=new U;Object.defineProperty(window,"app",{value:Ae});document.querySelectorAll("summary a").forEach(t=>{t.addEventListener("click",()=>{location.assign(t.href)})});})(); +/*! Bundled license information: + +lunr/lunr.js: + (** + * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9 + * Copyright (C) 2020 Oliver Nightingale + * @license MIT + *) + (*! + * lunr.utils + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Set + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.tokenizer + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Pipeline + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Vector + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.stemmer + * Copyright (C) 2020 Oliver Nightingale + * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt + *) + (*! + * lunr.stopWordFilter + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.trimmer + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.TokenSet + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Index + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Builder + * Copyright (C) 2020 Oliver Nightingale + *) +*/ diff --git a/docs/v0.12.1/assets/search.js b/docs/v0.12.1/assets/search.js new file mode 100644 index 0000000..af6b872 --- /dev/null +++ b/docs/v0.12.1/assets/search.js @@ -0,0 +1 @@ +window.searchData = JSON.parse("{\"rows\":[{\"kind\":4,\"name\":\"Transformers\",\"url\":\"modules/Transformers.html\",\"classes\":\"\"},{\"kind\":256,\"name\":\"CreationOptions\",\"url\":\"interfaces/Transformers.CreationOptions.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":1024,\"name\":\"ignoreOrder\",\"url\":\"interfaces/Transformers.CreationOptions.html#ignoreOrder\",\"classes\":\"\",\"parent\":\"Transformers.CreationOptions\"},{\"kind\":1024,\"name\":\"ignoreAmbiguity\",\"url\":\"interfaces/Transformers.CreationOptions.html#ignoreAmbiguity\",\"classes\":\"\",\"parent\":\"Transformers.CreationOptions\"},{\"kind\":64,\"name\":\"applyAssertions\",\"url\":\"functions/Transformers.applyAssertions.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":64,\"name\":\"factorOut\",\"url\":\"functions/Transformers.factorOut.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":64,\"name\":\"inline\",\"url\":\"functions/Transformers.inline.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":64,\"name\":\"makeGreedy\",\"url\":\"functions/Transformers.makeGreedy.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":64,\"name\":\"mergeWithQuantifier\",\"url\":\"functions/Transformers.mergeWithQuantifier.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":64,\"name\":\"moveUpEmpty\",\"url\":\"functions/Transformers.moveUpEmpty.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":64,\"name\":\"nestedQuantifiers\",\"url\":\"functions/Transformers.nestedQuantifiers.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":64,\"name\":\"patternEdgeAssertions\",\"url\":\"functions/Transformers.patternEdgeAssertions.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":256,\"name\":\"PatternEdgeAssertionsCreationOptions\",\"url\":\"interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":1024,\"name\":\"inline\",\"url\":\"interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html#inline\",\"classes\":\"\",\"parent\":\"Transformers.PatternEdgeAssertionsCreationOptions\"},{\"kind\":1024,\"name\":\"remove\",\"url\":\"interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html#remove\",\"classes\":\"\",\"parent\":\"Transformers.PatternEdgeAssertionsCreationOptions\"},{\"kind\":1024,\"name\":\"ignoreOrder\",\"url\":\"interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html#ignoreOrder\",\"classes\":\"tsd-is-inherited\",\"parent\":\"Transformers.PatternEdgeAssertionsCreationOptions\"},{\"kind\":1024,\"name\":\"ignoreAmbiguity\",\"url\":\"interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html#ignoreAmbiguity\",\"classes\":\"tsd-is-inherited\",\"parent\":\"Transformers.PatternEdgeAssertionsCreationOptions\"},{\"kind\":64,\"name\":\"removeDeadBranches\",\"url\":\"functions/Transformers.removeDeadBranches.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":64,\"name\":\"removeUnnecessaryAssertions\",\"url\":\"functions/Transformers.removeUnnecessaryAssertions.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":64,\"name\":\"replaceAssertions\",\"url\":\"functions/Transformers.replaceAssertions.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":256,\"name\":\"RemoveAssertionsCreationOptions\",\"url\":\"interfaces/Transformers.RemoveAssertionsCreationOptions.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":1024,\"name\":\"replacement\",\"url\":\"interfaces/Transformers.RemoveAssertionsCreationOptions.html#replacement\",\"classes\":\"\",\"parent\":\"Transformers.RemoveAssertionsCreationOptions\"},{\"kind\":1024,\"name\":\"ignoreOrder\",\"url\":\"interfaces/Transformers.RemoveAssertionsCreationOptions.html#ignoreOrder\",\"classes\":\"tsd-is-inherited\",\"parent\":\"Transformers.RemoveAssertionsCreationOptions\"},{\"kind\":1024,\"name\":\"ignoreAmbiguity\",\"url\":\"interfaces/Transformers.RemoveAssertionsCreationOptions.html#ignoreAmbiguity\",\"classes\":\"tsd-is-inherited\",\"parent\":\"Transformers.RemoveAssertionsCreationOptions\"},{\"kind\":64,\"name\":\"sortAssertions\",\"url\":\"functions/Transformers.sortAssertions.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":64,\"name\":\"unionCharacters\",\"url\":\"functions/Transformers.unionCharacters.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":64,\"name\":\"simplify\",\"url\":\"functions/Transformers.simplify.html\",\"classes\":\"\",\"parent\":\"Transformers\"},{\"kind\":4,\"name\":\"FAIterators\",\"url\":\"modules/FAIterators.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"fromWords\",\"url\":\"functions/FAIterators.fromWords.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"fromWordSets\",\"url\":\"functions/FAIterators.fromWordSets.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"intersection\",\"url\":\"functions/FAIterators.intersection.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"withInitial\",\"url\":\"functions/FAIterators.withInitial.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"withGetOut\",\"url\":\"functions/FAIterators.withGetOut.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"withIsFinal\",\"url\":\"functions/FAIterators.withIsFinal.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"mapOut\",\"url\":\"functions/FAIterators.mapOut.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"mapOutIter\",\"url\":\"functions/FAIterators.mapOutIter.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"filterOutIter\",\"url\":\"functions/FAIterators.filterOutIter.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"forEach\",\"url\":\"functions/FAIterators.forEach.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"count\",\"url\":\"functions/FAIterators.count.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"ensureStableOut\",\"url\":\"functions/FAIterators.ensureStableOut.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"iterateStates\",\"url\":\"functions/FAIterators.iterateStates.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"canReachFinal\",\"url\":\"functions/FAIterators.canReachFinal.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"hasCycle\",\"url\":\"functions/FAIterators.hasCycle.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"languageIsFinite\",\"url\":\"functions/FAIterators.languageIsFinite.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"makeInitialFinal\",\"url\":\"functions/FAIterators.makeInitialFinal.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"makeInitialNonFinal\",\"url\":\"functions/FAIterators.makeInitialNonFinal.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"shortestAcceptingPath\",\"url\":\"functions/FAIterators.shortestAcceptingPath.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"makeDeterministic\",\"url\":\"functions/FAIterators.makeDeterministic.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":128,\"name\":\"MapFABuilder\",\"url\":\"classes/FAIterators.MapFABuilder.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/FAIterators.MapFABuilder.html#constructor\",\"classes\":\"\",\"parent\":\"FAIterators.MapFABuilder\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"classes/FAIterators.MapFABuilder.html#initial\",\"classes\":\"\",\"parent\":\"FAIterators.MapFABuilder\"},{\"kind\":1024,\"name\":\"finals\",\"url\":\"classes/FAIterators.MapFABuilder.html#finals\",\"classes\":\"\",\"parent\":\"FAIterators.MapFABuilder\"},{\"kind\":2048,\"name\":\"makeFinal\",\"url\":\"classes/FAIterators.MapFABuilder.html#makeFinal\",\"classes\":\"\",\"parent\":\"FAIterators.MapFABuilder\"},{\"kind\":2048,\"name\":\"isFinal\",\"url\":\"classes/FAIterators.MapFABuilder.html#isFinal\",\"classes\":\"\",\"parent\":\"FAIterators.MapFABuilder\"},{\"kind\":2048,\"name\":\"createNode\",\"url\":\"classes/FAIterators.MapFABuilder.html#createNode\",\"classes\":\"\",\"parent\":\"FAIterators.MapFABuilder\"},{\"kind\":2048,\"name\":\"linkNodes\",\"url\":\"classes/FAIterators.MapFABuilder.html#linkNodes\",\"classes\":\"\",\"parent\":\"FAIterators.MapFABuilder\"},{\"kind\":4194304,\"name\":\"MapFABuilderNode\",\"url\":\"types/FAIterators.MapFABuilderNode.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"removeDeadStates\",\"url\":\"functions/FAIterators.removeDeadStates.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"toDot\",\"url\":\"functions/FAIterators.toDot.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":4194304,\"name\":\"ToDotAttrs\",\"url\":\"types/FAIterators.ToDotAttrs.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":256,\"name\":\"ToDotOptions\",\"url\":\"interfaces/FAIterators.ToDotOptions.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":1024,\"name\":\"getEdgeAttributes\",\"url\":\"interfaces/FAIterators.ToDotOptions.html#getEdgeAttributes\",\"classes\":\"\",\"parent\":\"FAIterators.ToDotOptions\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FAIterators.ToDotOptions.html#getEdgeAttributes.__type\",\"classes\":\"\",\"parent\":\"FAIterators.ToDotOptions.getEdgeAttributes\"},{\"kind\":1024,\"name\":\"getGraphAttributes\",\"url\":\"interfaces/FAIterators.ToDotOptions.html#getGraphAttributes\",\"classes\":\"\",\"parent\":\"FAIterators.ToDotOptions\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FAIterators.ToDotOptions.html#getGraphAttributes.__type-2\",\"classes\":\"\",\"parent\":\"FAIterators.ToDotOptions.getGraphAttributes\"},{\"kind\":1024,\"name\":\"getNodeAttributes\",\"url\":\"interfaces/FAIterators.ToDotOptions.html#getNodeAttributes\",\"classes\":\"\",\"parent\":\"FAIterators.ToDotOptions\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FAIterators.ToDotOptions.html#getNodeAttributes.__type-4\",\"classes\":\"\",\"parent\":\"FAIterators.ToDotOptions.getNodeAttributes\"},{\"kind\":64,\"name\":\"toMermaid\",\"url\":\"functions/FAIterators.toMermaid.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":256,\"name\":\"ToMermaidOptions\",\"url\":\"interfaces/FAIterators.ToMermaidOptions.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":1024,\"name\":\"getNodeAttributes\",\"url\":\"interfaces/FAIterators.ToMermaidOptions.html#getNodeAttributes\",\"classes\":\"\",\"parent\":\"FAIterators.ToMermaidOptions\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FAIterators.ToMermaidOptions.html#getNodeAttributes.__type-2\",\"classes\":\"\",\"parent\":\"FAIterators.ToMermaidOptions.getNodeAttributes\"},{\"kind\":1024,\"name\":\"getEdgeAttributes\",\"url\":\"interfaces/FAIterators.ToMermaidOptions.html#getEdgeAttributes\",\"classes\":\"\",\"parent\":\"FAIterators.ToMermaidOptions\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FAIterators.ToMermaidOptions.html#getEdgeAttributes.__type\",\"classes\":\"\",\"parent\":\"FAIterators.ToMermaidOptions.getEdgeAttributes\"},{\"kind\":256,\"name\":\"MermaidNode\",\"url\":\"interfaces/FAIterators.MermaidNode.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":1024,\"name\":\"label\",\"url\":\"interfaces/FAIterators.MermaidNode.html#label\",\"classes\":\"\",\"parent\":\"FAIterators.MermaidNode\"},{\"kind\":1024,\"name\":\"shape\",\"url\":\"interfaces/FAIterators.MermaidNode.html#shape\",\"classes\":\"\",\"parent\":\"FAIterators.MermaidNode\"},{\"kind\":256,\"name\":\"MermaidEdge\",\"url\":\"interfaces/FAIterators.MermaidEdge.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":1024,\"name\":\"label\",\"url\":\"interfaces/FAIterators.MermaidEdge.html#label\",\"classes\":\"\",\"parent\":\"FAIterators.MermaidEdge\"},{\"kind\":1024,\"name\":\"length\",\"url\":\"interfaces/FAIterators.MermaidEdge.html#length\",\"classes\":\"\",\"parent\":\"FAIterators.MermaidEdge\"},{\"kind\":256,\"name\":\"NodeInfo\",\"url\":\"interfaces/FAIterators.NodeInfo.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":2048,\"name\":\"isInitial\",\"url\":\"interfaces/FAIterators.NodeInfo.html#isInitial\",\"classes\":\"\",\"parent\":\"FAIterators.NodeInfo\"},{\"kind\":2048,\"name\":\"isFinal\",\"url\":\"interfaces/FAIterators.NodeInfo.html#isFinal\",\"classes\":\"\",\"parent\":\"FAIterators.NodeInfo\"},{\"kind\":2048,\"name\":\"getId\",\"url\":\"interfaces/FAIterators.NodeInfo.html#getId\",\"classes\":\"\",\"parent\":\"FAIterators.NodeInfo\"},{\"kind\":2048,\"name\":\"getNumberOfOutgoingEdges\",\"url\":\"interfaces/FAIterators.NodeInfo.html#getNumberOfOutgoingEdges\",\"classes\":\"\",\"parent\":\"FAIterators.NodeInfo\"},{\"kind\":256,\"name\":\"SimplePrintOptions\",\"url\":\"interfaces/FAIterators.SimplePrintOptions.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":1024,\"name\":\"transitionToString\",\"url\":\"interfaces/FAIterators.SimplePrintOptions.html#transitionToString\",\"classes\":\"\",\"parent\":\"FAIterators.SimplePrintOptions\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FAIterators.SimplePrintOptions.html#transitionToString.__type\",\"classes\":\"\",\"parent\":\"FAIterators.SimplePrintOptions.transitionToString\"},{\"kind\":1024,\"name\":\"ordered\",\"url\":\"interfaces/FAIterators.SimplePrintOptions.html#ordered\",\"classes\":\"\",\"parent\":\"FAIterators.SimplePrintOptions\"},{\"kind\":64,\"name\":\"toRegex\",\"url\":\"functions/FAIterators.toRegex.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"toString\",\"url\":\"functions/FAIterators.toString.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"iterateWordSets\",\"url\":\"functions/FAIterators.iterateWordSets.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"shortestWordSet\",\"url\":\"functions/FAIterators.shortestWordSet.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":64,\"name\":\"approximateRejectingWordSet\",\"url\":\"functions/FAIterators.approximateRejectingWordSet.html\",\"classes\":\"\",\"parent\":\"FAIterators\"},{\"kind\":4,\"name\":\"JS\",\"url\":\"modules/JS.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"createAssertion\",\"url\":\"functions/JS.createAssertion.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":4194304,\"name\":\"BoundaryAssertion\",\"url\":\"types/JS.BoundaryAssertion.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":256,\"name\":\"WordBoundaryAssertion\",\"url\":\"interfaces/JS.WordBoundaryAssertion.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"kind\",\"url\":\"interfaces/JS.WordBoundaryAssertion.html#kind\",\"classes\":\"\",\"parent\":\"JS.WordBoundaryAssertion\"},{\"kind\":1024,\"name\":\"negate\",\"url\":\"interfaces/JS.WordBoundaryAssertion.html#negate\",\"classes\":\"\",\"parent\":\"JS.WordBoundaryAssertion\"},{\"kind\":256,\"name\":\"TextBoundaryAssertion\",\"url\":\"interfaces/JS.TextBoundaryAssertion.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"kind\",\"url\":\"interfaces/JS.TextBoundaryAssertion.html#kind\",\"classes\":\"\",\"parent\":\"JS.TextBoundaryAssertion\"},{\"kind\":64,\"name\":\"createCharSet\",\"url\":\"functions/JS.createCharSet.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":4194304,\"name\":\"PredefinedCharacterSet\",\"url\":\"types/JS.PredefinedCharacterSet.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":256,\"name\":\"AnyCharacterSet\",\"url\":\"interfaces/JS.AnyCharacterSet.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"kind\",\"url\":\"interfaces/JS.AnyCharacterSet.html#kind\",\"classes\":\"\",\"parent\":\"JS.AnyCharacterSet\"},{\"kind\":256,\"name\":\"DigitCharacterSet\",\"url\":\"interfaces/JS.DigitCharacterSet.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"kind\",\"url\":\"interfaces/JS.DigitCharacterSet.html#kind\",\"classes\":\"\",\"parent\":\"JS.DigitCharacterSet\"},{\"kind\":1024,\"name\":\"negate\",\"url\":\"interfaces/JS.DigitCharacterSet.html#negate\",\"classes\":\"\",\"parent\":\"JS.DigitCharacterSet\"},{\"kind\":4194304,\"name\":\"PropertyCharacterSet\",\"url\":\"types/JS.PropertyCharacterSet.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":256,\"name\":\"CharacterPropertyCharacterSet\",\"url\":\"interfaces/JS.CharacterPropertyCharacterSet.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"kind\",\"url\":\"interfaces/JS.CharacterPropertyCharacterSet.html#kind\",\"classes\":\"\",\"parent\":\"JS.CharacterPropertyCharacterSet\"},{\"kind\":1024,\"name\":\"key\",\"url\":\"interfaces/JS.CharacterPropertyCharacterSet.html#key\",\"classes\":\"\",\"parent\":\"JS.CharacterPropertyCharacterSet\"},{\"kind\":1024,\"name\":\"value\",\"url\":\"interfaces/JS.CharacterPropertyCharacterSet.html#value\",\"classes\":\"\",\"parent\":\"JS.CharacterPropertyCharacterSet\"},{\"kind\":1024,\"name\":\"strings\",\"url\":\"interfaces/JS.CharacterPropertyCharacterSet.html#strings\",\"classes\":\"\",\"parent\":\"JS.CharacterPropertyCharacterSet\"},{\"kind\":1024,\"name\":\"negate\",\"url\":\"interfaces/JS.CharacterPropertyCharacterSet.html#negate\",\"classes\":\"\",\"parent\":\"JS.CharacterPropertyCharacterSet\"},{\"kind\":256,\"name\":\"StringPropertyCharacterSet\",\"url\":\"interfaces/JS.StringPropertyCharacterSet.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"kind\",\"url\":\"interfaces/JS.StringPropertyCharacterSet.html#kind\",\"classes\":\"\",\"parent\":\"JS.StringPropertyCharacterSet\"},{\"kind\":1024,\"name\":\"key\",\"url\":\"interfaces/JS.StringPropertyCharacterSet.html#key\",\"classes\":\"\",\"parent\":\"JS.StringPropertyCharacterSet\"},{\"kind\":1024,\"name\":\"value\",\"url\":\"interfaces/JS.StringPropertyCharacterSet.html#value\",\"classes\":\"\",\"parent\":\"JS.StringPropertyCharacterSet\"},{\"kind\":1024,\"name\":\"strings\",\"url\":\"interfaces/JS.StringPropertyCharacterSet.html#strings\",\"classes\":\"\",\"parent\":\"JS.StringPropertyCharacterSet\"},{\"kind\":1024,\"name\":\"negate\",\"url\":\"interfaces/JS.StringPropertyCharacterSet.html#negate\",\"classes\":\"\",\"parent\":\"JS.StringPropertyCharacterSet\"},{\"kind\":256,\"name\":\"SpaceCharacterSet\",\"url\":\"interfaces/JS.SpaceCharacterSet.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"kind\",\"url\":\"interfaces/JS.SpaceCharacterSet.html#kind\",\"classes\":\"\",\"parent\":\"JS.SpaceCharacterSet\"},{\"kind\":1024,\"name\":\"negate\",\"url\":\"interfaces/JS.SpaceCharacterSet.html#negate\",\"classes\":\"\",\"parent\":\"JS.SpaceCharacterSet\"},{\"kind\":256,\"name\":\"WordCharacterSet\",\"url\":\"interfaces/JS.WordCharacterSet.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"kind\",\"url\":\"interfaces/JS.WordCharacterSet.html#kind\",\"classes\":\"\",\"parent\":\"JS.WordCharacterSet\"},{\"kind\":1024,\"name\":\"negate\",\"url\":\"interfaces/JS.WordCharacterSet.html#negate\",\"classes\":\"\",\"parent\":\"JS.WordCharacterSet\"},{\"kind\":64,\"name\":\"toLiteral\",\"url\":\"functions/JS.toLiteral.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":256,\"name\":\"ToLiteralOptions\",\"url\":\"interfaces/JS.ToLiteralOptions.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"flags\",\"url\":\"interfaces/JS.ToLiteralOptions.html#flags\",\"classes\":\"\",\"parent\":\"JS.ToLiteralOptions\"},{\"kind\":1024,\"name\":\"fastCharacters\",\"url\":\"interfaces/JS.ToLiteralOptions.html#fastCharacters\",\"classes\":\"\",\"parent\":\"JS.ToLiteralOptions\"},{\"kind\":64,\"name\":\"isFlags\",\"url\":\"functions/JS.isFlags.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":256,\"name\":\"UncheckedFlags\",\"url\":\"interfaces/JS.UncheckedFlags.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"dotAll\",\"url\":\"interfaces/JS.UncheckedFlags.html#dotAll\",\"classes\":\"\",\"parent\":\"JS.UncheckedFlags\"},{\"kind\":1024,\"name\":\"global\",\"url\":\"interfaces/JS.UncheckedFlags.html#global\",\"classes\":\"\",\"parent\":\"JS.UncheckedFlags\"},{\"kind\":1024,\"name\":\"hasIndices\",\"url\":\"interfaces/JS.UncheckedFlags.html#hasIndices\",\"classes\":\"\",\"parent\":\"JS.UncheckedFlags\"},{\"kind\":1024,\"name\":\"ignoreCase\",\"url\":\"interfaces/JS.UncheckedFlags.html#ignoreCase\",\"classes\":\"\",\"parent\":\"JS.UncheckedFlags\"},{\"kind\":1024,\"name\":\"multiline\",\"url\":\"interfaces/JS.UncheckedFlags.html#multiline\",\"classes\":\"\",\"parent\":\"JS.UncheckedFlags\"},{\"kind\":1024,\"name\":\"sticky\",\"url\":\"interfaces/JS.UncheckedFlags.html#sticky\",\"classes\":\"\",\"parent\":\"JS.UncheckedFlags\"},{\"kind\":1024,\"name\":\"unicode\",\"url\":\"interfaces/JS.UncheckedFlags.html#unicode\",\"classes\":\"\",\"parent\":\"JS.UncheckedFlags\"},{\"kind\":1024,\"name\":\"unicodeSets\",\"url\":\"interfaces/JS.UncheckedFlags.html#unicodeSets\",\"classes\":\"\",\"parent\":\"JS.UncheckedFlags\"},{\"kind\":256,\"name\":\"NonUnicodeSetsFlags\",\"url\":\"interfaces/JS.NonUnicodeSetsFlags.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"unicode\",\"url\":\"interfaces/JS.NonUnicodeSetsFlags.html#unicode\",\"classes\":\"\",\"parent\":\"JS.NonUnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"unicodeSets\",\"url\":\"interfaces/JS.NonUnicodeSetsFlags.html#unicodeSets\",\"classes\":\"\",\"parent\":\"JS.NonUnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"dotAll\",\"url\":\"interfaces/JS.NonUnicodeSetsFlags.html#dotAll\",\"classes\":\"tsd-is-inherited\",\"parent\":\"JS.NonUnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"global\",\"url\":\"interfaces/JS.NonUnicodeSetsFlags.html#global\",\"classes\":\"tsd-is-inherited\",\"parent\":\"JS.NonUnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"hasIndices\",\"url\":\"interfaces/JS.NonUnicodeSetsFlags.html#hasIndices\",\"classes\":\"tsd-is-inherited\",\"parent\":\"JS.NonUnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"ignoreCase\",\"url\":\"interfaces/JS.NonUnicodeSetsFlags.html#ignoreCase\",\"classes\":\"tsd-is-inherited\",\"parent\":\"JS.NonUnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"multiline\",\"url\":\"interfaces/JS.NonUnicodeSetsFlags.html#multiline\",\"classes\":\"tsd-is-inherited\",\"parent\":\"JS.NonUnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"sticky\",\"url\":\"interfaces/JS.NonUnicodeSetsFlags.html#sticky\",\"classes\":\"tsd-is-inherited\",\"parent\":\"JS.NonUnicodeSetsFlags\"},{\"kind\":256,\"name\":\"UnicodeSetsFlags\",\"url\":\"interfaces/JS.UnicodeSetsFlags.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"unicode\",\"url\":\"interfaces/JS.UnicodeSetsFlags.html#unicode\",\"classes\":\"\",\"parent\":\"JS.UnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"unicodeSets\",\"url\":\"interfaces/JS.UnicodeSetsFlags.html#unicodeSets\",\"classes\":\"\",\"parent\":\"JS.UnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"dotAll\",\"url\":\"interfaces/JS.UnicodeSetsFlags.html#dotAll\",\"classes\":\"tsd-is-inherited\",\"parent\":\"JS.UnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"global\",\"url\":\"interfaces/JS.UnicodeSetsFlags.html#global\",\"classes\":\"tsd-is-inherited\",\"parent\":\"JS.UnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"hasIndices\",\"url\":\"interfaces/JS.UnicodeSetsFlags.html#hasIndices\",\"classes\":\"tsd-is-inherited\",\"parent\":\"JS.UnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"ignoreCase\",\"url\":\"interfaces/JS.UnicodeSetsFlags.html#ignoreCase\",\"classes\":\"tsd-is-inherited\",\"parent\":\"JS.UnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"multiline\",\"url\":\"interfaces/JS.UnicodeSetsFlags.html#multiline\",\"classes\":\"tsd-is-inherited\",\"parent\":\"JS.UnicodeSetsFlags\"},{\"kind\":1024,\"name\":\"sticky\",\"url\":\"interfaces/JS.UnicodeSetsFlags.html#sticky\",\"classes\":\"tsd-is-inherited\",\"parent\":\"JS.UnicodeSetsFlags\"},{\"kind\":4194304,\"name\":\"Flags\",\"url\":\"types/JS.Flags.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":256,\"name\":\"Literal\",\"url\":\"interfaces/JS.Literal.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"source\",\"url\":\"interfaces/JS.Literal.html#source\",\"classes\":\"\",\"parent\":\"JS.Literal\"},{\"kind\":1024,\"name\":\"flags\",\"url\":\"interfaces/JS.Literal.html#flags\",\"classes\":\"\",\"parent\":\"JS.Literal\"},{\"kind\":256,\"name\":\"ParseOptions\",\"url\":\"interfaces/JS.ParseOptions.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"maxBackreferenceWords\",\"url\":\"interfaces/JS.ParseOptions.html#maxBackreferenceWords\",\"classes\":\"\",\"parent\":\"JS.ParseOptions\"},{\"kind\":1024,\"name\":\"backreferences\",\"url\":\"interfaces/JS.ParseOptions.html#backreferences\",\"classes\":\"\",\"parent\":\"JS.ParseOptions\"},{\"kind\":1024,\"name\":\"assertions\",\"url\":\"interfaces/JS.ParseOptions.html#assertions\",\"classes\":\"\",\"parent\":\"JS.ParseOptions\"},{\"kind\":1024,\"name\":\"simplify\",\"url\":\"interfaces/JS.ParseOptions.html#simplify\",\"classes\":\"\",\"parent\":\"JS.ParseOptions\"},{\"kind\":1024,\"name\":\"maxNodes\",\"url\":\"interfaces/JS.ParseOptions.html#maxNodes\",\"classes\":\"\",\"parent\":\"JS.ParseOptions\"},{\"kind\":1024,\"name\":\"getUnknownId\",\"url\":\"interfaces/JS.ParseOptions.html#getUnknownId\",\"classes\":\"\",\"parent\":\"JS.ParseOptions\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/JS.ParseOptions.html#getUnknownId.__type\",\"classes\":\"\",\"parent\":\"JS.ParseOptions.getUnknownId\"},{\"kind\":256,\"name\":\"RegexppAst\",\"url\":\"interfaces/JS.RegexppAst.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"pattern\",\"url\":\"interfaces/JS.RegexppAst.html#pattern\",\"classes\":\"\",\"parent\":\"JS.RegexppAst\"},{\"kind\":1024,\"name\":\"flags\",\"url\":\"interfaces/JS.RegexppAst.html#flags\",\"classes\":\"\",\"parent\":\"JS.RegexppAst\"},{\"kind\":4194304,\"name\":\"ParsableElement\",\"url\":\"types/JS.ParsableElement.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":256,\"name\":\"ParseResult\",\"url\":\"interfaces/JS.ParseResult.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"expression\",\"url\":\"interfaces/JS.ParseResult.html#expression\",\"classes\":\"\",\"parent\":\"JS.ParseResult\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"interfaces/JS.ParseResult.html#maxCharacter\",\"classes\":\"\",\"parent\":\"JS.ParseResult\"},{\"kind\":128,\"name\":\"Parser\",\"url\":\"classes/JS.Parser.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":2048,\"name\":\"fromLiteral\",\"url\":\"classes/JS.Parser.html#fromLiteral\",\"classes\":\"\",\"parent\":\"JS.Parser\"},{\"kind\":2048,\"name\":\"fromAst\",\"url\":\"classes/JS.Parser.html#fromAst\",\"classes\":\"\",\"parent\":\"JS.Parser\"},{\"kind\":1024,\"name\":\"literal\",\"url\":\"classes/JS.Parser.html#literal\",\"classes\":\"\",\"parent\":\"JS.Parser\"},{\"kind\":1024,\"name\":\"ast\",\"url\":\"classes/JS.Parser.html#ast\",\"classes\":\"\",\"parent\":\"JS.Parser\"},{\"kind\":1024,\"name\":\"flags\",\"url\":\"classes/JS.Parser.html#flags\",\"classes\":\"\",\"parent\":\"JS.Parser\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"classes/JS.Parser.html#maxCharacter\",\"classes\":\"\",\"parent\":\"JS.Parser\"},{\"kind\":2048,\"name\":\"parse\",\"url\":\"classes/JS.Parser.html#parse\",\"classes\":\"\",\"parent\":\"JS.Parser\"},{\"kind\":2048,\"name\":\"parseElement\",\"url\":\"classes/JS.Parser.html#parseElement\",\"classes\":\"\",\"parent\":\"JS.Parser\"},{\"kind\":64,\"name\":\"parseUnicodeSet\",\"url\":\"functions/JS.parseUnicodeSet.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":64,\"name\":\"parseCharSet\",\"url\":\"functions/JS.parseCharSet.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":4194304,\"name\":\"CharacterElement\",\"url\":\"types/JS.CharacterElement.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":128,\"name\":\"StringSet\",\"url\":\"classes/JS.StringSet.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"empty\",\"url\":\"classes/JS.StringSet.html#empty\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"from\",\"url\":\"classes/JS.StringSet.html#from\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"fromWord\",\"url\":\"classes/JS.StringSet.html#fromWord\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":262144,\"name\":\"isEmpty\",\"url\":\"classes/JS.StringSet.html#isEmpty\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":262144,\"name\":\"hasEmptyWord\",\"url\":\"classes/JS.StringSet.html#hasEmptyWord\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":262144,\"name\":\"hasSingleCharacter\",\"url\":\"classes/JS.StringSet.html#hasSingleCharacter\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":262144,\"name\":\"wordSets\",\"url\":\"classes/JS.StringSet.html#wordSets\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"isCompatibleWith\",\"url\":\"classes/JS.StringSet.html#isCompatibleWith\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"equals\",\"url\":\"classes/JS.StringSet.html#equals\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"union\",\"url\":\"classes/JS.StringSet.html#union\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"intersect\",\"url\":\"classes/JS.StringSet.html#intersect\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"without\",\"url\":\"classes/JS.StringSet.html#without\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"isSupersetOf\",\"url\":\"classes/JS.StringSet.html#isSupersetOf\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"isSubsetOf\",\"url\":\"classes/JS.StringSet.html#isSubsetOf\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"isProperSupersetOf\",\"url\":\"classes/JS.StringSet.html#isProperSupersetOf\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"isProperSubsetOf\",\"url\":\"classes/JS.StringSet.html#isProperSubsetOf\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"isDisjointWith\",\"url\":\"classes/JS.StringSet.html#isDisjointWith\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"getSingleCharacters\",\"url\":\"classes/JS.StringSet.html#getSingleCharacters\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"withoutSingleCharacters\",\"url\":\"classes/JS.StringSet.html#withoutSingleCharacters\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"withoutEmptyWord\",\"url\":\"classes/JS.StringSet.html#withoutEmptyWord\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":2048,\"name\":\"getLengthRange\",\"url\":\"classes/JS.StringSet.html#getLengthRange\",\"classes\":\"\",\"parent\":\"JS.StringSet\"},{\"kind\":128,\"name\":\"UnicodeSet\",\"url\":\"classes/JS.UnicodeSet.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":2048,\"name\":\"empty\",\"url\":\"classes/JS.UnicodeSet.html#empty\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":2048,\"name\":\"fromChars\",\"url\":\"classes/JS.UnicodeSet.html#fromChars\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":2048,\"name\":\"from\",\"url\":\"classes/JS.UnicodeSet.html#from\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":1024,\"name\":\"chars\",\"url\":\"classes/JS.UnicodeSet.html#chars\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":1024,\"name\":\"accept\",\"url\":\"classes/JS.UnicodeSet.html#accept\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":262144,\"name\":\"maximum\",\"url\":\"classes/JS.UnicodeSet.html#maximum\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":262144,\"name\":\"isEmpty\",\"url\":\"classes/JS.UnicodeSet.html#isEmpty\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":262144,\"name\":\"hasEmptyWord\",\"url\":\"classes/JS.UnicodeSet.html#hasEmptyWord\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":262144,\"name\":\"wordSets\",\"url\":\"classes/JS.UnicodeSet.html#wordSets\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":2048,\"name\":\"equals\",\"url\":\"classes/JS.UnicodeSet.html#equals\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":2048,\"name\":\"isCompatibleWith\",\"url\":\"classes/JS.UnicodeSet.html#isCompatibleWith\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":2048,\"name\":\"union\",\"url\":\"classes/JS.UnicodeSet.html#union\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":2048,\"name\":\"intersect\",\"url\":\"classes/JS.UnicodeSet.html#intersect\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":2048,\"name\":\"without\",\"url\":\"classes/JS.UnicodeSet.html#without\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":2048,\"name\":\"isSupersetOf\",\"url\":\"classes/JS.UnicodeSet.html#isSupersetOf\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":2048,\"name\":\"isSubsetOf\",\"url\":\"classes/JS.UnicodeSet.html#isSubsetOf\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":2048,\"name\":\"isProperSupersetOf\",\"url\":\"classes/JS.UnicodeSet.html#isProperSupersetOf\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":2048,\"name\":\"isProperSubsetOf\",\"url\":\"classes/JS.UnicodeSet.html#isProperSubsetOf\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":2048,\"name\":\"isDisjointWith\",\"url\":\"classes/JS.UnicodeSet.html#isDisjointWith\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":2048,\"name\":\"getLengthRange\",\"url\":\"classes/JS.UnicodeSet.html#getLengthRange\",\"classes\":\"\",\"parent\":\"JS.UnicodeSet\"},{\"kind\":64,\"name\":\"getCharCaseFolding\",\"url\":\"functions/JS.getCharCaseFolding.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":256,\"name\":\"CharCaseFolding\",\"url\":\"interfaces/JS.CharCaseFolding.html\",\"classes\":\"\",\"parent\":\"JS\"},{\"kind\":1024,\"name\":\"canonicalize\",\"url\":\"interfaces/JS.CharCaseFolding.html#canonicalize\",\"classes\":\"\",\"parent\":\"JS.CharCaseFolding\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/JS.CharCaseFolding.html#canonicalize.__type\",\"classes\":\"\",\"parent\":\"JS.CharCaseFolding.canonicalize\"},{\"kind\":1024,\"name\":\"toCharSet\",\"url\":\"interfaces/JS.CharCaseFolding.html#toCharSet\",\"classes\":\"\",\"parent\":\"JS.CharCaseFolding\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/JS.CharCaseFolding.html#toCharSet.__type-2\",\"classes\":\"\",\"parent\":\"JS.CharCaseFolding.toCharSet\"},{\"kind\":4,\"name\":\"Words\",\"url\":\"modules/Words.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"fromUTF16ToString\",\"url\":\"functions/Words.fromUTF16ToString.html\",\"classes\":\"\",\"parent\":\"Words\"},{\"kind\":64,\"name\":\"fromUnicodeToString\",\"url\":\"functions/Words.fromUnicodeToString.html\",\"classes\":\"\",\"parent\":\"Words\"},{\"kind\":64,\"name\":\"fromStringToUTF16\",\"url\":\"functions/Words.fromStringToUTF16.html\",\"classes\":\"\",\"parent\":\"Words\"},{\"kind\":64,\"name\":\"fromStringToUnicode\",\"url\":\"functions/Words.fromStringToUnicode.html\",\"classes\":\"\",\"parent\":\"Words\"},{\"kind\":64,\"name\":\"pickMostReadableCharacter\",\"url\":\"functions/Words.pickMostReadableCharacter.html\",\"classes\":\"\",\"parent\":\"Words\"},{\"kind\":64,\"name\":\"pickMostReadableWord\",\"url\":\"functions/Words.pickMostReadableWord.html\",\"classes\":\"\",\"parent\":\"Words\"},{\"kind\":64,\"name\":\"wordSetsToWords\",\"url\":\"functions/Words.wordSetsToWords.html\",\"classes\":\"\",\"parent\":\"Words\"},{\"kind\":64,\"name\":\"wordSetToWords\",\"url\":\"functions/Words.wordSetToWords.html\",\"classes\":\"\",\"parent\":\"Words\"},{\"kind\":256,\"name\":\"SourceLocation\",\"url\":\"interfaces/SourceLocation.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"start\",\"url\":\"interfaces/SourceLocation.html#start\",\"classes\":\"\",\"parent\":\"SourceLocation\"},{\"kind\":1024,\"name\":\"end\",\"url\":\"interfaces/SourceLocation.html#end\",\"classes\":\"\",\"parent\":\"SourceLocation\"},{\"kind\":4194304,\"name\":\"Element\",\"url\":\"types/Element.html\",\"classes\":\"\"},{\"kind\":4194304,\"name\":\"Parent\",\"url\":\"types/Parent.html\",\"classes\":\"\"},{\"kind\":4194304,\"name\":\"Node\",\"url\":\"types/Node.html\",\"classes\":\"\"},{\"kind\":256,\"name\":\"Alternation\",\"url\":\"interfaces/Alternation.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"type\",\"url\":\"interfaces/Alternation.html#type\",\"classes\":\"\",\"parent\":\"Alternation\"},{\"kind\":1024,\"name\":\"parent\",\"url\":\"interfaces/Alternation.html#parent\",\"classes\":\"\",\"parent\":\"Alternation\"},{\"kind\":1024,\"name\":\"alternatives\",\"url\":\"interfaces/Alternation.html#alternatives\",\"classes\":\"\",\"parent\":\"Alternation\"},{\"kind\":1024,\"name\":\"source\",\"url\":\"interfaces/Alternation.html#source\",\"classes\":\"tsd-is-inherited\",\"parent\":\"Alternation\"},{\"kind\":256,\"name\":\"Assertion\",\"url\":\"interfaces/Assertion.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"type\",\"url\":\"interfaces/Assertion.html#type\",\"classes\":\"\",\"parent\":\"Assertion\"},{\"kind\":1024,\"name\":\"parent\",\"url\":\"interfaces/Assertion.html#parent\",\"classes\":\"\",\"parent\":\"Assertion\"},{\"kind\":1024,\"name\":\"alternatives\",\"url\":\"interfaces/Assertion.html#alternatives\",\"classes\":\"\",\"parent\":\"Assertion\"},{\"kind\":1024,\"name\":\"kind\",\"url\":\"interfaces/Assertion.html#kind\",\"classes\":\"\",\"parent\":\"Assertion\"},{\"kind\":1024,\"name\":\"negate\",\"url\":\"interfaces/Assertion.html#negate\",\"classes\":\"\",\"parent\":\"Assertion\"},{\"kind\":1024,\"name\":\"source\",\"url\":\"interfaces/Assertion.html#source\",\"classes\":\"tsd-is-inherited\",\"parent\":\"Assertion\"},{\"kind\":256,\"name\":\"Quantifier\",\"url\":\"interfaces/Quantifier.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"type\",\"url\":\"interfaces/Quantifier.html#type\",\"classes\":\"\",\"parent\":\"Quantifier\"},{\"kind\":1024,\"name\":\"parent\",\"url\":\"interfaces/Quantifier.html#parent\",\"classes\":\"\",\"parent\":\"Quantifier\"},{\"kind\":1024,\"name\":\"alternatives\",\"url\":\"interfaces/Quantifier.html#alternatives\",\"classes\":\"\",\"parent\":\"Quantifier\"},{\"kind\":1024,\"name\":\"lazy\",\"url\":\"interfaces/Quantifier.html#lazy\",\"classes\":\"\",\"parent\":\"Quantifier\"},{\"kind\":1024,\"name\":\"min\",\"url\":\"interfaces/Quantifier.html#min\",\"classes\":\"\",\"parent\":\"Quantifier\"},{\"kind\":1024,\"name\":\"max\",\"url\":\"interfaces/Quantifier.html#max\",\"classes\":\"\",\"parent\":\"Quantifier\"},{\"kind\":1024,\"name\":\"source\",\"url\":\"interfaces/Quantifier.html#source\",\"classes\":\"tsd-is-inherited\",\"parent\":\"Quantifier\"},{\"kind\":256,\"name\":\"CharacterClass\",\"url\":\"interfaces/CharacterClass.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"type\",\"url\":\"interfaces/CharacterClass.html#type\",\"classes\":\"\",\"parent\":\"CharacterClass\"},{\"kind\":1024,\"name\":\"parent\",\"url\":\"interfaces/CharacterClass.html#parent\",\"classes\":\"\",\"parent\":\"CharacterClass\"},{\"kind\":1024,\"name\":\"characters\",\"url\":\"interfaces/CharacterClass.html#characters\",\"classes\":\"\",\"parent\":\"CharacterClass\"},{\"kind\":1024,\"name\":\"source\",\"url\":\"interfaces/CharacterClass.html#source\",\"classes\":\"tsd-is-inherited\",\"parent\":\"CharacterClass\"},{\"kind\":256,\"name\":\"Unknown\",\"url\":\"interfaces/Unknown.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"type\",\"url\":\"interfaces/Unknown.html#type\",\"classes\":\"\",\"parent\":\"Unknown\"},{\"kind\":1024,\"name\":\"parent\",\"url\":\"interfaces/Unknown.html#parent\",\"classes\":\"\",\"parent\":\"Unknown\"},{\"kind\":1024,\"name\":\"id\",\"url\":\"interfaces/Unknown.html#id\",\"classes\":\"\",\"parent\":\"Unknown\"},{\"kind\":1024,\"name\":\"source\",\"url\":\"interfaces/Unknown.html#source\",\"classes\":\"tsd-is-inherited\",\"parent\":\"Unknown\"},{\"kind\":256,\"name\":\"Expression\",\"url\":\"interfaces/Expression.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"type\",\"url\":\"interfaces/Expression.html#type\",\"classes\":\"\",\"parent\":\"Expression\"},{\"kind\":1024,\"name\":\"parent\",\"url\":\"interfaces/Expression.html#parent\",\"classes\":\"\",\"parent\":\"Expression\"},{\"kind\":1024,\"name\":\"alternatives\",\"url\":\"interfaces/Expression.html#alternatives\",\"classes\":\"\",\"parent\":\"Expression\"},{\"kind\":1024,\"name\":\"source\",\"url\":\"interfaces/Expression.html#source\",\"classes\":\"tsd-is-inherited\",\"parent\":\"Expression\"},{\"kind\":256,\"name\":\"Concatenation\",\"url\":\"interfaces/Concatenation.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"type\",\"url\":\"interfaces/Concatenation.html#type\",\"classes\":\"\",\"parent\":\"Concatenation\"},{\"kind\":1024,\"name\":\"parent\",\"url\":\"interfaces/Concatenation.html#parent\",\"classes\":\"\",\"parent\":\"Concatenation\"},{\"kind\":1024,\"name\":\"elements\",\"url\":\"interfaces/Concatenation.html#elements\",\"classes\":\"\",\"parent\":\"Concatenation\"},{\"kind\":1024,\"name\":\"source\",\"url\":\"interfaces/Concatenation.html#source\",\"classes\":\"tsd-is-inherited\",\"parent\":\"Concatenation\"},{\"kind\":4194304,\"name\":\"NoParent\",\"url\":\"types/NoParent.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"setParent\",\"url\":\"functions/setParent.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"setSource\",\"url\":\"functions/setSource.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"visitAst\",\"url\":\"functions/visitAst.html\",\"classes\":\"\"},{\"kind\":256,\"name\":\"VisitAstHandler\",\"url\":\"interfaces/VisitAstHandler.html\",\"classes\":\"\"},{\"kind\":2048,\"name\":\"onAlternationEnter\",\"url\":\"interfaces/VisitAstHandler.html#onAlternationEnter\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onAlternationLeave\",\"url\":\"interfaces/VisitAstHandler.html#onAlternationLeave\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onAssertionEnter\",\"url\":\"interfaces/VisitAstHandler.html#onAssertionEnter\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onAssertionLeave\",\"url\":\"interfaces/VisitAstHandler.html#onAssertionLeave\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onCharacterClassEnter\",\"url\":\"interfaces/VisitAstHandler.html#onCharacterClassEnter\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onCharacterClassLeave\",\"url\":\"interfaces/VisitAstHandler.html#onCharacterClassLeave\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onConcatenationEnter\",\"url\":\"interfaces/VisitAstHandler.html#onConcatenationEnter\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onConcatenationLeave\",\"url\":\"interfaces/VisitAstHandler.html#onConcatenationLeave\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onExpressionEnter\",\"url\":\"interfaces/VisitAstHandler.html#onExpressionEnter\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onExpressionLeave\",\"url\":\"interfaces/VisitAstHandler.html#onExpressionLeave\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onQuantifierEnter\",\"url\":\"interfaces/VisitAstHandler.html#onQuantifierEnter\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onQuantifierLeave\",\"url\":\"interfaces/VisitAstHandler.html#onQuantifierLeave\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onUnknownEnter\",\"url\":\"interfaces/VisitAstHandler.html#onUnknownEnter\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":2048,\"name\":\"onUnknownLeave\",\"url\":\"interfaces/VisitAstHandler.html#onUnknownLeave\",\"classes\":\"\",\"parent\":\"VisitAstHandler\"},{\"kind\":256,\"name\":\"VisitNoParentAstHandler\",\"url\":\"interfaces/VisitNoParentAstHandler.html\",\"classes\":\"\"},{\"kind\":2048,\"name\":\"onAlternationEnter\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onAlternationEnter\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onAlternationLeave\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onAlternationLeave\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onAssertionEnter\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onAssertionEnter\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onAssertionLeave\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onAssertionLeave\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onCharacterClassEnter\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onCharacterClassEnter\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onCharacterClassLeave\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onCharacterClassLeave\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onConcatenationEnter\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onConcatenationEnter\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onConcatenationLeave\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onConcatenationLeave\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onExpressionEnter\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onExpressionEnter\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onExpressionLeave\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onExpressionLeave\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onQuantifierEnter\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onQuantifierEnter\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onQuantifierLeave\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onQuantifierLeave\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onUnknownEnter\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onUnknownEnter\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":2048,\"name\":\"onUnknownLeave\",\"url\":\"interfaces/VisitNoParentAstHandler.html#onUnknownLeave\",\"classes\":\"\",\"parent\":\"VisitNoParentAstHandler\"},{\"kind\":64,\"name\":\"combineTransformers\",\"url\":\"functions/combineTransformers.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"transform\",\"url\":\"functions/transform.html\",\"classes\":\"\"},{\"kind\":256,\"name\":\"Transformer\",\"url\":\"interfaces/Transformer.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"name\",\"url\":\"interfaces/Transformer.html#name\",\"classes\":\"\",\"parent\":\"Transformer\"},{\"kind\":2048,\"name\":\"onAlternation\",\"url\":\"interfaces/Transformer.html#onAlternation\",\"classes\":\"\",\"parent\":\"Transformer\"},{\"kind\":2048,\"name\":\"onAssertion\",\"url\":\"interfaces/Transformer.html#onAssertion\",\"classes\":\"\",\"parent\":\"Transformer\"},{\"kind\":2048,\"name\":\"onCharacterClass\",\"url\":\"interfaces/Transformer.html#onCharacterClass\",\"classes\":\"\",\"parent\":\"Transformer\"},{\"kind\":2048,\"name\":\"onConcatenation\",\"url\":\"interfaces/Transformer.html#onConcatenation\",\"classes\":\"\",\"parent\":\"Transformer\"},{\"kind\":2048,\"name\":\"onExpression\",\"url\":\"interfaces/Transformer.html#onExpression\",\"classes\":\"\",\"parent\":\"Transformer\"},{\"kind\":2048,\"name\":\"onQuantifier\",\"url\":\"interfaces/Transformer.html#onQuantifier\",\"classes\":\"\",\"parent\":\"Transformer\"},{\"kind\":2048,\"name\":\"onUnknown\",\"url\":\"interfaces/Transformer.html#onUnknown\",\"classes\":\"\",\"parent\":\"Transformer\"},{\"kind\":256,\"name\":\"TransformContext\",\"url\":\"interfaces/TransformContext.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"interfaces/TransformContext.html#maxCharacter\",\"classes\":\"\",\"parent\":\"TransformContext\"},{\"kind\":1024,\"name\":\"signalMutation\",\"url\":\"interfaces/TransformContext.html#signalMutation\",\"classes\":\"\",\"parent\":\"TransformContext\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/TransformContext.html#signalMutation.__type\",\"classes\":\"\",\"parent\":\"TransformContext.signalMutation\"},{\"kind\":128,\"name\":\"CombinedTransformer\",\"url\":\"classes/CombinedTransformer.html\",\"classes\":\"\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/CombinedTransformer.html#constructor\",\"classes\":\"\",\"parent\":\"CombinedTransformer\"},{\"kind\":1024,\"name\":\"name\",\"url\":\"classes/CombinedTransformer.html#name\",\"classes\":\"\",\"parent\":\"CombinedTransformer\"},{\"kind\":1024,\"name\":\"transformers\",\"url\":\"classes/CombinedTransformer.html#transformers\",\"classes\":\"\",\"parent\":\"CombinedTransformer\"},{\"kind\":2048,\"name\":\"onAlternation\",\"url\":\"classes/CombinedTransformer.html#onAlternation\",\"classes\":\"\",\"parent\":\"CombinedTransformer\"},{\"kind\":2048,\"name\":\"onAssertion\",\"url\":\"classes/CombinedTransformer.html#onAssertion\",\"classes\":\"\",\"parent\":\"CombinedTransformer\"},{\"kind\":2048,\"name\":\"onCharacterClass\",\"url\":\"classes/CombinedTransformer.html#onCharacterClass\",\"classes\":\"\",\"parent\":\"CombinedTransformer\"},{\"kind\":2048,\"name\":\"onConcatenation\",\"url\":\"classes/CombinedTransformer.html#onConcatenation\",\"classes\":\"\",\"parent\":\"CombinedTransformer\"},{\"kind\":2048,\"name\":\"onExpression\",\"url\":\"classes/CombinedTransformer.html#onExpression\",\"classes\":\"\",\"parent\":\"CombinedTransformer\"},{\"kind\":2048,\"name\":\"onQuantifier\",\"url\":\"classes/CombinedTransformer.html#onQuantifier\",\"classes\":\"\",\"parent\":\"CombinedTransformer\"},{\"kind\":2048,\"name\":\"onUnknown\",\"url\":\"classes/CombinedTransformer.html#onUnknown\",\"classes\":\"\",\"parent\":\"CombinedTransformer\"},{\"kind\":256,\"name\":\"TransformEvents\",\"url\":\"interfaces/TransformEvents.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"onPassStart\",\"url\":\"interfaces/TransformEvents.html#onPassStart\",\"classes\":\"\",\"parent\":\"TransformEvents\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/TransformEvents.html#onPassStart.__type-2\",\"classes\":\"\",\"parent\":\"TransformEvents.onPassStart\"},{\"kind\":1024,\"name\":\"onChange\",\"url\":\"interfaces/TransformEvents.html#onChange\",\"classes\":\"\",\"parent\":\"TransformEvents\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/TransformEvents.html#onChange.__type\",\"classes\":\"\",\"parent\":\"TransformEvents.onChange\"},{\"kind\":256,\"name\":\"TransformOptions\",\"url\":\"interfaces/TransformOptions.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"maxPasses\",\"url\":\"interfaces/TransformOptions.html#maxPasses\",\"classes\":\"\",\"parent\":\"TransformOptions\"},{\"kind\":1024,\"name\":\"events\",\"url\":\"interfaces/TransformOptions.html#events\",\"classes\":\"\",\"parent\":\"TransformOptions\"},{\"kind\":128,\"name\":\"CharBase\",\"url\":\"classes/CharBase.html\",\"classes\":\"\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/CharBase.html#constructor\",\"classes\":\"\",\"parent\":\"CharBase\"},{\"kind\":1024,\"name\":\"sets\",\"url\":\"classes/CharBase.html#sets\",\"classes\":\"\",\"parent\":\"CharBase\"},{\"kind\":2048,\"name\":\"split\",\"url\":\"classes/CharBase.html#split\",\"classes\":\"\",\"parent\":\"CharBase\"},{\"kind\":256,\"name\":\"ReadonlyCharMap\",\"url\":\"interfaces/ReadonlyCharMap.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"isEmpty\",\"url\":\"interfaces/ReadonlyCharMap.html#isEmpty\",\"classes\":\"\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":1024,\"name\":\"size\",\"url\":\"interfaces/ReadonlyCharMap.html#size\",\"classes\":\"\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":1024,\"name\":\"entryCount\",\"url\":\"interfaces/ReadonlyCharMap.html#entryCount\",\"classes\":\"\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":2048,\"name\":\"has\",\"url\":\"interfaces/ReadonlyCharMap.html#has\",\"classes\":\"\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":2048,\"name\":\"hasEvery\",\"url\":\"interfaces/ReadonlyCharMap.html#hasEvery\",\"classes\":\"\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":2048,\"name\":\"hasSome\",\"url\":\"interfaces/ReadonlyCharMap.html#hasSome\",\"classes\":\"\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":2048,\"name\":\"get\",\"url\":\"interfaces/ReadonlyCharMap.html#get\",\"classes\":\"\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":2048,\"name\":\"forEach\",\"url\":\"interfaces/ReadonlyCharMap.html#forEach\",\"classes\":\"\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":2048,\"name\":\"keys\",\"url\":\"interfaces/ReadonlyCharMap.html#keys\",\"classes\":\"\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":2048,\"name\":\"values\",\"url\":\"interfaces/ReadonlyCharMap.html#values\",\"classes\":\"\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":2048,\"name\":\"entries\",\"url\":\"interfaces/ReadonlyCharMap.html#entries\",\"classes\":\"\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":2048,\"name\":\"invert\",\"url\":\"interfaces/ReadonlyCharMap.html#invert\",\"classes\":\"\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":2048,\"name\":\"copy\",\"url\":\"interfaces/ReadonlyCharMap.html#copy\",\"classes\":\"\",\"parent\":\"ReadonlyCharMap\"},{\"kind\":128,\"name\":\"CharMap\",\"url\":\"classes/CharMap.html\",\"classes\":\"\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/CharMap.html#constructor\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":262144,\"name\":\"isEmpty\",\"url\":\"classes/CharMap.html#isEmpty\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":262144,\"name\":\"size\",\"url\":\"classes/CharMap.html#size\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":262144,\"name\":\"entryCount\",\"url\":\"classes/CharMap.html#entryCount\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"has\",\"url\":\"classes/CharMap.html#has\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"hasEvery\",\"url\":\"classes/CharMap.html#hasEvery\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"hasSome\",\"url\":\"classes/CharMap.html#hasSome\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"get\",\"url\":\"classes/CharMap.html#get\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"set\",\"url\":\"classes/CharMap.html#set\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"setRange\",\"url\":\"classes/CharMap.html#setRange\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"setCharSet\",\"url\":\"classes/CharMap.html#setCharSet\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"delete\",\"url\":\"classes/CharMap.html#delete\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"deleteRange\",\"url\":\"classes/CharMap.html#deleteRange\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"clear\",\"url\":\"classes/CharMap.html#clear\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"copy\",\"url\":\"classes/CharMap.html#copy\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"map\",\"url\":\"classes/CharMap.html#map\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"mapRange\",\"url\":\"classes/CharMap.html#mapRange\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"filter\",\"url\":\"classes/CharMap.html#filter\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"invert\",\"url\":\"classes/CharMap.html#invert\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"forEach\",\"url\":\"classes/CharMap.html#forEach\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"keys\",\"url\":\"classes/CharMap.html#keys\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"values\",\"url\":\"classes/CharMap.html#values\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"entries\",\"url\":\"classes/CharMap.html#entries\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":2048,\"name\":\"[iterator]\",\"url\":\"classes/CharMap.html#_iterator_\",\"classes\":\"\",\"parent\":\"CharMap\"},{\"kind\":256,\"name\":\"CharRange\",\"url\":\"interfaces/CharRange.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"min\",\"url\":\"interfaces/CharRange.html#min\",\"classes\":\"\",\"parent\":\"CharRange\"},{\"kind\":1024,\"name\":\"max\",\"url\":\"interfaces/CharRange.html#max\",\"classes\":\"\",\"parent\":\"CharRange\"},{\"kind\":128,\"name\":\"CharSet\",\"url\":\"classes/CharSet.html\",\"classes\":\"\"},{\"kind\":2048,\"name\":\"empty\",\"url\":\"classes/CharSet.html#empty\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"all\",\"url\":\"classes/CharSet.html#all\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"fromCharacters\",\"url\":\"classes/CharSet.html#fromCharacters\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"fromRange\",\"url\":\"classes/CharSet.html#fromRange\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"fromCharacter\",\"url\":\"classes/CharSet.html#fromCharacter\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":1024,\"name\":\"maximum\",\"url\":\"classes/CharSet.html#maximum\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":1024,\"name\":\"ranges\",\"url\":\"classes/CharSet.html#ranges\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":262144,\"name\":\"isEmpty\",\"url\":\"classes/CharSet.html#isEmpty\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":262144,\"name\":\"isAll\",\"url\":\"classes/CharSet.html#isAll\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":262144,\"name\":\"size\",\"url\":\"classes/CharSet.html#size\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"characters\",\"url\":\"classes/CharSet.html#characters\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"toString\",\"url\":\"classes/CharSet.html#toString\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"toRangesString\",\"url\":\"classes/CharSet.html#toRangesString\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"toUnicodeString\",\"url\":\"classes/CharSet.html#toUnicodeString\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"equals\",\"url\":\"classes/CharSet.html#equals\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"compare\",\"url\":\"classes/CharSet.html#compare\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"resize\",\"url\":\"classes/CharSet.html#resize\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"negate\",\"url\":\"classes/CharSet.html#negate\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"union\",\"url\":\"classes/CharSet.html#union\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"intersect\",\"url\":\"classes/CharSet.html#intersect\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"without\",\"url\":\"classes/CharSet.html#without\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"has\",\"url\":\"classes/CharSet.html#has\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"isSupersetOf\",\"url\":\"classes/CharSet.html#isSupersetOf\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"isSubsetOf\",\"url\":\"classes/CharSet.html#isSubsetOf\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"isProperSupersetOf\",\"url\":\"classes/CharSet.html#isProperSupersetOf\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"isProperSubsetOf\",\"url\":\"classes/CharSet.html#isProperSubsetOf\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"isDisjointWith\",\"url\":\"classes/CharSet.html#isDisjointWith\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":2048,\"name\":\"commonCharacter\",\"url\":\"classes/CharSet.html#commonCharacter\",\"classes\":\"\",\"parent\":\"CharSet\"},{\"kind\":4194304,\"name\":\"Char\",\"url\":\"types/Char.html\",\"classes\":\"\"},{\"kind\":4194304,\"name\":\"Word\",\"url\":\"types/Word.html\",\"classes\":\"\"},{\"kind\":4194304,\"name\":\"ReadonlyWord\",\"url\":\"types/ReadonlyWord.html\",\"classes\":\"\"},{\"kind\":256,\"name\":\"FiniteAutomaton\",\"url\":\"interfaces/FiniteAutomaton.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"isEmpty\",\"url\":\"interfaces/FiniteAutomaton.html#isEmpty\",\"classes\":\"\",\"parent\":\"FiniteAutomaton\"},{\"kind\":1024,\"name\":\"isFinite\",\"url\":\"interfaces/FiniteAutomaton.html#isFinite\",\"classes\":\"\",\"parent\":\"FiniteAutomaton\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"interfaces/FiniteAutomaton.html#maxCharacter\",\"classes\":\"\",\"parent\":\"FiniteAutomaton\"},{\"kind\":2048,\"name\":\"test\",\"url\":\"interfaces/FiniteAutomaton.html#test\",\"classes\":\"\",\"parent\":\"FiniteAutomaton\"},{\"kind\":2048,\"name\":\"words\",\"url\":\"interfaces/FiniteAutomaton.html#words\",\"classes\":\"\",\"parent\":\"FiniteAutomaton\"},{\"kind\":2048,\"name\":\"wordSets\",\"url\":\"interfaces/FiniteAutomaton.html#wordSets\",\"classes\":\"\",\"parent\":\"FiniteAutomaton\"},{\"kind\":2048,\"name\":\"toString\",\"url\":\"interfaces/FiniteAutomaton.html#toString\",\"classes\":\"\",\"parent\":\"FiniteAutomaton\"},{\"kind\":2048,\"name\":\"toRegex\",\"url\":\"interfaces/FiniteAutomaton.html#toRegex\",\"classes\":\"\",\"parent\":\"FiniteAutomaton\"},{\"kind\":2048,\"name\":\"toDot\",\"url\":\"interfaces/FiniteAutomaton.html#toDot\",\"classes\":\"\",\"parent\":\"FiniteAutomaton\"},{\"kind\":2048,\"name\":\"toMermaid\",\"url\":\"interfaces/FiniteAutomaton.html#toMermaid\",\"classes\":\"\",\"parent\":\"FiniteAutomaton\"},{\"kind\":256,\"name\":\"FAIterator\",\"url\":\"interfaces/FAIterator.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"interfaces/FAIterator.html#initial\",\"classes\":\"\",\"parent\":\"FAIterator\"},{\"kind\":1024,\"name\":\"getOut\",\"url\":\"interfaces/FAIterator.html#getOut\",\"classes\":\"\",\"parent\":\"FAIterator\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FAIterator.html#getOut.__type\",\"classes\":\"\",\"parent\":\"FAIterator.getOut\"},{\"kind\":1024,\"name\":\"stableOut\",\"url\":\"interfaces/FAIterator.html#stableOut\",\"classes\":\"\",\"parent\":\"FAIterator\"},{\"kind\":1024,\"name\":\"isFinal\",\"url\":\"interfaces/FAIterator.html#isFinal\",\"classes\":\"\",\"parent\":\"FAIterator\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FAIterator.html#isFinal.__type-2\",\"classes\":\"\",\"parent\":\"FAIterator.isFinal\"},{\"kind\":256,\"name\":\"NodeFactory\",\"url\":\"interfaces/NodeFactory.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"createNode\",\"url\":\"interfaces/NodeFactory.html#createNode\",\"classes\":\"\",\"parent\":\"NodeFactory\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/NodeFactory.html#createNode.__type\",\"classes\":\"\",\"parent\":\"NodeFactory.createNode\"},{\"kind\":256,\"name\":\"FABuilder\",\"url\":\"interfaces/FABuilder.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"interfaces/FABuilder.html#initial\",\"classes\":\"\",\"parent\":\"FABuilder\"},{\"kind\":1024,\"name\":\"makeFinal\",\"url\":\"interfaces/FABuilder.html#makeFinal\",\"classes\":\"\",\"parent\":\"FABuilder\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FABuilder.html#makeFinal.__type-6\",\"classes\":\"\",\"parent\":\"FABuilder.makeFinal\"},{\"kind\":1024,\"name\":\"isFinal\",\"url\":\"interfaces/FABuilder.html#isFinal\",\"classes\":\"\",\"parent\":\"FABuilder\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FABuilder.html#isFinal.__type-2\",\"classes\":\"\",\"parent\":\"FABuilder.isFinal\"},{\"kind\":1024,\"name\":\"linkNodes\",\"url\":\"interfaces/FABuilder.html#linkNodes\",\"classes\":\"\",\"parent\":\"FABuilder\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FABuilder.html#linkNodes.__type-4\",\"classes\":\"\",\"parent\":\"FABuilder.linkNodes\"},{\"kind\":1024,\"name\":\"createNode\",\"url\":\"interfaces/FABuilder.html#createNode\",\"classes\":\"tsd-is-inherited\",\"parent\":\"FABuilder\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/FABuilder.html#createNode.__type\",\"classes\":\"\",\"parent\":\"FABuilder.createNode\"},{\"kind\":4194304,\"name\":\"TransitionIterator\",\"url\":\"types/TransitionIterator.html\",\"classes\":\"\"},{\"kind\":256,\"name\":\"TransitionIterable\",\"url\":\"interfaces/TransitionIterable.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"interfaces/TransitionIterable.html#maxCharacter\",\"classes\":\"\",\"parent\":\"TransitionIterable\"},{\"kind\":1024,\"name\":\"transitionIterator\",\"url\":\"interfaces/TransitionIterable.html#transitionIterator\",\"classes\":\"\",\"parent\":\"TransitionIterable\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/TransitionIterable.html#transitionIterator.__type\",\"classes\":\"\",\"parent\":\"TransitionIterable.transitionIterator\"},{\"kind\":256,\"name\":\"ToRegexOptions\",\"url\":\"interfaces/ToRegexOptions.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"maxNodes\",\"url\":\"interfaces/ToRegexOptions.html#maxNodes\",\"classes\":\"\",\"parent\":\"ToRegexOptions\"},{\"kind\":1024,\"name\":\"maxOptimizationPasses\",\"url\":\"interfaces/ToRegexOptions.html#maxOptimizationPasses\",\"classes\":\"\",\"parent\":\"ToRegexOptions\"},{\"kind\":256,\"name\":\"ReadonlyDFA\",\"url\":\"interfaces/ReadonlyDFA.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"interfaces/ReadonlyDFA.html#initial\",\"classes\":\"\",\"parent\":\"ReadonlyDFA\"},{\"kind\":1024,\"name\":\"finals\",\"url\":\"interfaces/ReadonlyDFA.html#finals\",\"classes\":\"\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"stateIterator\",\"url\":\"interfaces/ReadonlyDFA.html#stateIterator\",\"classes\":\"\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"nodes\",\"url\":\"interfaces/ReadonlyDFA.html#nodes\",\"classes\":\"\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"countNodes\",\"url\":\"interfaces/ReadonlyDFA.html#countNodes\",\"classes\":\"\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"copy\",\"url\":\"interfaces/ReadonlyDFA.html#copy\",\"classes\":\"\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"structurallyEqual\",\"url\":\"interfaces/ReadonlyDFA.html#structurallyEqual\",\"classes\":\"\",\"parent\":\"ReadonlyDFA\"},{\"kind\":1024,\"name\":\"isEmpty\",\"url\":\"interfaces/ReadonlyDFA.html#isEmpty\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyDFA\"},{\"kind\":1024,\"name\":\"isFinite\",\"url\":\"interfaces/ReadonlyDFA.html#isFinite\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyDFA\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"interfaces/ReadonlyDFA.html#maxCharacter\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"test\",\"url\":\"interfaces/ReadonlyDFA.html#test\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"words\",\"url\":\"interfaces/ReadonlyDFA.html#words\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"wordSets\",\"url\":\"interfaces/ReadonlyDFA.html#wordSets\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"toString\",\"url\":\"interfaces/ReadonlyDFA.html#toString\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"toRegex\",\"url\":\"interfaces/ReadonlyDFA.html#toRegex\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"toDot\",\"url\":\"interfaces/ReadonlyDFA.html#toDot\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyDFA\"},{\"kind\":2048,\"name\":\"toMermaid\",\"url\":\"interfaces/ReadonlyDFA.html#toMermaid\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyDFA\"},{\"kind\":1024,\"name\":\"transitionIterator\",\"url\":\"interfaces/ReadonlyDFA.html#transitionIterator\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyDFA\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/ReadonlyDFA.html#transitionIterator.__type\",\"classes\":\"\",\"parent\":\"ReadonlyDFA.transitionIterator\"},{\"kind\":128,\"name\":\"DFA\",\"url\":\"classes/DFA-1.html\",\"classes\":\"\"},{\"kind\":2048,\"name\":\"empty\",\"url\":\"classes/DFA-1.html#empty\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"emptyWord\",\"url\":\"classes/DFA-1.html#emptyWord\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"all\",\"url\":\"classes/DFA-1.html#all\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"fromCharSet\",\"url\":\"classes/DFA-1.html#fromCharSet\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"fromIntersection\",\"url\":\"classes/DFA-1.html#fromIntersection\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"fromWords\",\"url\":\"classes/DFA-1.html#fromWords\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"fromWordSets\",\"url\":\"classes/DFA-1.html#fromWordSets\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"fromFA\",\"url\":\"classes/DFA-1.html#fromFA\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"fromTransitionIterator\",\"url\":\"classes/DFA-1.html#fromTransitionIterator\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"fromBuilder\",\"url\":\"classes/DFA-1.html#fromBuilder\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"classes/DFA-1.html#initial\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":1024,\"name\":\"finals\",\"url\":\"classes/DFA-1.html#finals\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"classes/DFA-1.html#maxCharacter\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":262144,\"name\":\"isEmpty\",\"url\":\"classes/DFA-1.html#isEmpty\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":262144,\"name\":\"isFinite\",\"url\":\"classes/DFA-1.html#isFinite\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"stateIterator\",\"url\":\"classes/DFA-1.html#stateIterator\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"transitionIterator\",\"url\":\"classes/DFA-1.html#transitionIterator\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"nodes\",\"url\":\"classes/DFA-1.html#nodes\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"countNodes\",\"url\":\"classes/DFA-1.html#countNodes\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"test\",\"url\":\"classes/DFA-1.html#test\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"wordSets\",\"url\":\"classes/DFA-1.html#wordSets\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"words\",\"url\":\"classes/DFA-1.html#words\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"toString\",\"url\":\"classes/DFA-1.html#toString\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"toRegex\",\"url\":\"classes/DFA-1.html#toRegex\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"toDot\",\"url\":\"classes/DFA-1.html#toDot\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"toMermaid\",\"url\":\"classes/DFA-1.html#toMermaid\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"copy\",\"url\":\"classes/DFA-1.html#copy\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"structurallyEqual\",\"url\":\"classes/DFA-1.html#structurallyEqual\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"removeUnreachable\",\"url\":\"classes/DFA-1.html#removeUnreachable\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"minimize\",\"url\":\"classes/DFA-1.html#minimize\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"complement\",\"url\":\"classes/DFA-1.html#complement\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":2048,\"name\":\"prefixes\",\"url\":\"classes/DFA-1.html#prefixes\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":4,\"name\":\"DFA\",\"url\":\"modules/DFA.html\",\"classes\":\"\"},{\"kind\":256,\"name\":\"ReadonlyNode\",\"url\":\"interfaces/DFA.ReadonlyNode.html\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":1024,\"name\":\"out\",\"url\":\"interfaces/DFA.ReadonlyNode.html#out\",\"classes\":\"\",\"parent\":\"DFA.ReadonlyNode\"},{\"kind\":128,\"name\":\"Node\",\"url\":\"classes/DFA.Node.html\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/DFA.Node.html#constructor\",\"classes\":\"\",\"parent\":\"DFA.Node\"},{\"kind\":1024,\"name\":\"out\",\"url\":\"classes/DFA.Node.html#out\",\"classes\":\"\",\"parent\":\"DFA.Node\"},{\"kind\":2048,\"name\":\"link\",\"url\":\"classes/DFA.Node.html#link\",\"classes\":\"\",\"parent\":\"DFA.Node\"},{\"kind\":2048,\"name\":\"unlink\",\"url\":\"classes/DFA.Node.html#unlink\",\"classes\":\"\",\"parent\":\"DFA.Node\"},{\"kind\":2048,\"name\":\"unlinkAll\",\"url\":\"classes/DFA.Node.html#unlinkAll\",\"classes\":\"\",\"parent\":\"DFA.Node\"},{\"kind\":32,\"name\":\"nodeFactory\",\"url\":\"variables/DFA.nodeFactory.html\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":128,\"name\":\"LimitedNodeFactory\",\"url\":\"classes/DFA.LimitedNodeFactory.html\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/DFA.LimitedNodeFactory.html#constructor\",\"classes\":\"\",\"parent\":\"DFA.LimitedNodeFactory\"},{\"kind\":1024,\"name\":\"limit\",\"url\":\"classes/DFA.LimitedNodeFactory.html#limit\",\"classes\":\"\",\"parent\":\"DFA.LimitedNodeFactory\"},{\"kind\":2048,\"name\":\"createNode\",\"url\":\"classes/DFA.LimitedNodeFactory.html#createNode\",\"classes\":\"\",\"parent\":\"DFA.LimitedNodeFactory\"},{\"kind\":128,\"name\":\"Builder\",\"url\":\"classes/DFA.Builder.html\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/DFA.Builder.html#constructor\",\"classes\":\"\",\"parent\":\"DFA.Builder\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"classes/DFA.Builder.html#initial\",\"classes\":\"\",\"parent\":\"DFA.Builder\"},{\"kind\":1024,\"name\":\"finals\",\"url\":\"classes/DFA.Builder.html#finals\",\"classes\":\"\",\"parent\":\"DFA.Builder\"},{\"kind\":1024,\"name\":\"factory\",\"url\":\"classes/DFA.Builder.html#factory\",\"classes\":\"\",\"parent\":\"DFA.Builder\"},{\"kind\":2048,\"name\":\"makeFinal\",\"url\":\"classes/DFA.Builder.html#makeFinal\",\"classes\":\"\",\"parent\":\"DFA.Builder\"},{\"kind\":2048,\"name\":\"isFinal\",\"url\":\"classes/DFA.Builder.html#isFinal\",\"classes\":\"\",\"parent\":\"DFA.Builder\"},{\"kind\":2048,\"name\":\"linkNodes\",\"url\":\"classes/DFA.Builder.html#linkNodes\",\"classes\":\"\",\"parent\":\"DFA.Builder\"},{\"kind\":2048,\"name\":\"createNode\",\"url\":\"classes/DFA.Builder.html#createNode\",\"classes\":\"\",\"parent\":\"DFA.Builder\"},{\"kind\":256,\"name\":\"Options\",\"url\":\"interfaces/DFA.Options.html\",\"classes\":\"\",\"parent\":\"DFA\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"interfaces/DFA.Options.html#maxCharacter\",\"classes\":\"\",\"parent\":\"DFA.Options\"},{\"kind\":256,\"name\":\"ReadonlyENFA\",\"url\":\"interfaces/ReadonlyENFA.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"interfaces/ReadonlyENFA.html#initial\",\"classes\":\"\",\"parent\":\"ReadonlyENFA\"},{\"kind\":1024,\"name\":\"final\",\"url\":\"interfaces/ReadonlyENFA.html#final\",\"classes\":\"\",\"parent\":\"ReadonlyENFA\"},{\"kind\":1024,\"name\":\"isNormalized\",\"url\":\"interfaces/ReadonlyENFA.html#isNormalized\",\"classes\":\"\",\"parent\":\"ReadonlyENFA\"},{\"kind\":2048,\"name\":\"stateIterator\",\"url\":\"interfaces/ReadonlyENFA.html#stateIterator\",\"classes\":\"\",\"parent\":\"ReadonlyENFA\"},{\"kind\":2048,\"name\":\"nodes\",\"url\":\"interfaces/ReadonlyENFA.html#nodes\",\"classes\":\"\",\"parent\":\"ReadonlyENFA\"},{\"kind\":2048,\"name\":\"countNodes\",\"url\":\"interfaces/ReadonlyENFA.html#countNodes\",\"classes\":\"\",\"parent\":\"ReadonlyENFA\"},{\"kind\":2048,\"name\":\"copy\",\"url\":\"interfaces/ReadonlyENFA.html#copy\",\"classes\":\"\",\"parent\":\"ReadonlyENFA\"},{\"kind\":1024,\"name\":\"isEmpty\",\"url\":\"interfaces/ReadonlyENFA.html#isEmpty\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyENFA\"},{\"kind\":1024,\"name\":\"isFinite\",\"url\":\"interfaces/ReadonlyENFA.html#isFinite\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyENFA\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"interfaces/ReadonlyENFA.html#maxCharacter\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyENFA\"},{\"kind\":2048,\"name\":\"test\",\"url\":\"interfaces/ReadonlyENFA.html#test\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyENFA\"},{\"kind\":2048,\"name\":\"words\",\"url\":\"interfaces/ReadonlyENFA.html#words\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyENFA\"},{\"kind\":2048,\"name\":\"wordSets\",\"url\":\"interfaces/ReadonlyENFA.html#wordSets\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyENFA\"},{\"kind\":2048,\"name\":\"toString\",\"url\":\"interfaces/ReadonlyENFA.html#toString\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyENFA\"},{\"kind\":2048,\"name\":\"toRegex\",\"url\":\"interfaces/ReadonlyENFA.html#toRegex\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyENFA\"},{\"kind\":2048,\"name\":\"toDot\",\"url\":\"interfaces/ReadonlyENFA.html#toDot\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyENFA\"},{\"kind\":2048,\"name\":\"toMermaid\",\"url\":\"interfaces/ReadonlyENFA.html#toMermaid\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyENFA\"},{\"kind\":1024,\"name\":\"transitionIterator\",\"url\":\"interfaces/ReadonlyENFA.html#transitionIterator\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyENFA\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/ReadonlyENFA.html#transitionIterator.__type\",\"classes\":\"\",\"parent\":\"ReadonlyENFA.transitionIterator\"},{\"kind\":128,\"name\":\"ENFA\",\"url\":\"classes/ENFA-1.html\",\"classes\":\"\"},{\"kind\":2048,\"name\":\"empty\",\"url\":\"classes/ENFA-1.html#empty\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"emptyWord\",\"url\":\"classes/ENFA-1.html#emptyWord\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"all\",\"url\":\"classes/ENFA-1.html#all\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"fromCharSet\",\"url\":\"classes/ENFA-1.html#fromCharSet\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"fromRegex\",\"url\":\"classes/ENFA-1.html#fromRegex\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"fromWords\",\"url\":\"classes/ENFA-1.html#fromWords\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"fromWordSets\",\"url\":\"classes/ENFA-1.html#fromWordSets\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"fromFA\",\"url\":\"classes/ENFA-1.html#fromFA\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"fromTransitionIterator\",\"url\":\"classes/ENFA-1.html#fromTransitionIterator\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"fromBuilder\",\"url\":\"classes/ENFA-1.html#fromBuilder\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"classes/ENFA-1.html#initial\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":1024,\"name\":\"final\",\"url\":\"classes/ENFA-1.html#final\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"classes/ENFA-1.html#maxCharacter\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":262144,\"name\":\"isEmpty\",\"url\":\"classes/ENFA-1.html#isEmpty\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":262144,\"name\":\"isFinite\",\"url\":\"classes/ENFA-1.html#isFinite\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":262144,\"name\":\"isNormalized\",\"url\":\"classes/ENFA-1.html#isNormalized\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"normalize\",\"url\":\"classes/ENFA-1.html#normalize\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"stateIterator\",\"url\":\"classes/ENFA-1.html#stateIterator\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"transitionIterator\",\"url\":\"classes/ENFA-1.html#transitionIterator\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"nodes\",\"url\":\"classes/ENFA-1.html#nodes\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"countNodes\",\"url\":\"classes/ENFA-1.html#countNodes\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"copy\",\"url\":\"classes/ENFA-1.html#copy\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"test\",\"url\":\"classes/ENFA-1.html#test\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"wordSets\",\"url\":\"classes/ENFA-1.html#wordSets\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"words\",\"url\":\"classes/ENFA-1.html#words\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"toString\",\"url\":\"classes/ENFA-1.html#toString\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"toRegex\",\"url\":\"classes/ENFA-1.html#toRegex\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"toDot\",\"url\":\"classes/ENFA-1.html#toDot\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"toMermaid\",\"url\":\"classes/ENFA-1.html#toMermaid\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"append\",\"url\":\"classes/ENFA-1.html#append\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"appendInto\",\"url\":\"classes/ENFA-1.html#appendInto\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"prepend\",\"url\":\"classes/ENFA-1.html#prepend\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"prependInto\",\"url\":\"classes/ENFA-1.html#prependInto\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"union\",\"url\":\"classes/ENFA-1.html#union\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"unionInto\",\"url\":\"classes/ENFA-1.html#unionInto\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"quantify\",\"url\":\"classes/ENFA-1.html#quantify\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"withoutEmptyWord\",\"url\":\"classes/ENFA-1.html#withoutEmptyWord\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"removeUnreachable\",\"url\":\"classes/ENFA-1.html#removeUnreachable\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"prefixes\",\"url\":\"classes/ENFA-1.html#prefixes\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":2048,\"name\":\"suffixes\",\"url\":\"classes/ENFA-1.html#suffixes\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":4,\"name\":\"ENFA\",\"url\":\"modules/ENFA.html\",\"classes\":\"\"},{\"kind\":256,\"name\":\"ReadonlyNode\",\"url\":\"interfaces/ENFA.ReadonlyNode.html\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":1024,\"name\":\"out\",\"url\":\"interfaces/ENFA.ReadonlyNode.html#out\",\"classes\":\"\",\"parent\":\"ENFA.ReadonlyNode\"},{\"kind\":1024,\"name\":\"in\",\"url\":\"interfaces/ENFA.ReadonlyNode.html#in\",\"classes\":\"\",\"parent\":\"ENFA.ReadonlyNode\"},{\"kind\":2048,\"name\":\"resolveEpsilon\",\"url\":\"interfaces/ENFA.ReadonlyNode.html#resolveEpsilon\",\"classes\":\"\",\"parent\":\"ENFA.ReadonlyNode\"},{\"kind\":2048,\"name\":\"reachableViaEpsilon\",\"url\":\"interfaces/ENFA.ReadonlyNode.html#reachableViaEpsilon\",\"classes\":\"\",\"parent\":\"ENFA.ReadonlyNode\"},{\"kind\":128,\"name\":\"Node\",\"url\":\"classes/ENFA.Node.html\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/ENFA.Node.html#constructor\",\"classes\":\"\",\"parent\":\"ENFA.Node\"},{\"kind\":1024,\"name\":\"out\",\"url\":\"classes/ENFA.Node.html#out\",\"classes\":\"\",\"parent\":\"ENFA.Node\"},{\"kind\":1024,\"name\":\"in\",\"url\":\"classes/ENFA.Node.html#in\",\"classes\":\"\",\"parent\":\"ENFA.Node\"},{\"kind\":2048,\"name\":\"link\",\"url\":\"classes/ENFA.Node.html#link\",\"classes\":\"\",\"parent\":\"ENFA.Node\"},{\"kind\":2048,\"name\":\"unlink\",\"url\":\"classes/ENFA.Node.html#unlink\",\"classes\":\"\",\"parent\":\"ENFA.Node\"},{\"kind\":2048,\"name\":\"unlinkAll\",\"url\":\"classes/ENFA.Node.html#unlinkAll\",\"classes\":\"\",\"parent\":\"ENFA.Node\"},{\"kind\":2048,\"name\":\"unlinkAllOut\",\"url\":\"classes/ENFA.Node.html#unlinkAllOut\",\"classes\":\"\",\"parent\":\"ENFA.Node\"},{\"kind\":2048,\"name\":\"unlinkAllIn\",\"url\":\"classes/ENFA.Node.html#unlinkAllIn\",\"classes\":\"\",\"parent\":\"ENFA.Node\"},{\"kind\":2048,\"name\":\"resolveEpsilon\",\"url\":\"classes/ENFA.Node.html#resolveEpsilon\",\"classes\":\"\",\"parent\":\"ENFA.Node\"},{\"kind\":2048,\"name\":\"reachableViaEpsilon\",\"url\":\"classes/ENFA.Node.html#reachableViaEpsilon\",\"classes\":\"\",\"parent\":\"ENFA.Node\"},{\"kind\":32,\"name\":\"nodeFactory\",\"url\":\"variables/ENFA.nodeFactory.html\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":128,\"name\":\"LimitedNodeFactory\",\"url\":\"classes/ENFA.LimitedNodeFactory.html\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/ENFA.LimitedNodeFactory.html#constructor\",\"classes\":\"\",\"parent\":\"ENFA.LimitedNodeFactory\"},{\"kind\":1024,\"name\":\"limit\",\"url\":\"classes/ENFA.LimitedNodeFactory.html#limit\",\"classes\":\"\",\"parent\":\"ENFA.LimitedNodeFactory\"},{\"kind\":2048,\"name\":\"createNode\",\"url\":\"classes/ENFA.LimitedNodeFactory.html#createNode\",\"classes\":\"\",\"parent\":\"ENFA.LimitedNodeFactory\"},{\"kind\":128,\"name\":\"Builder\",\"url\":\"classes/ENFA.Builder.html\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/ENFA.Builder.html#constructor\",\"classes\":\"\",\"parent\":\"ENFA.Builder\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"classes/ENFA.Builder.html#initial\",\"classes\":\"\",\"parent\":\"ENFA.Builder\"},{\"kind\":1024,\"name\":\"final\",\"url\":\"classes/ENFA.Builder.html#final\",\"classes\":\"\",\"parent\":\"ENFA.Builder\"},{\"kind\":1024,\"name\":\"factory\",\"url\":\"classes/ENFA.Builder.html#factory\",\"classes\":\"\",\"parent\":\"ENFA.Builder\"},{\"kind\":2048,\"name\":\"makeFinal\",\"url\":\"classes/ENFA.Builder.html#makeFinal\",\"classes\":\"\",\"parent\":\"ENFA.Builder\"},{\"kind\":2048,\"name\":\"isFinal\",\"url\":\"classes/ENFA.Builder.html#isFinal\",\"classes\":\"\",\"parent\":\"ENFA.Builder\"},{\"kind\":2048,\"name\":\"linkNodes\",\"url\":\"classes/ENFA.Builder.html#linkNodes\",\"classes\":\"\",\"parent\":\"ENFA.Builder\"},{\"kind\":2048,\"name\":\"createNode\",\"url\":\"classes/ENFA.Builder.html#createNode\",\"classes\":\"\",\"parent\":\"ENFA.Builder\"},{\"kind\":256,\"name\":\"Options\",\"url\":\"interfaces/ENFA.Options.html\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"interfaces/ENFA.Options.html#maxCharacter\",\"classes\":\"\",\"parent\":\"ENFA.Options\"},{\"kind\":256,\"name\":\"FromRegexOptions\",\"url\":\"interfaces/ENFA.FromRegexOptions.html\",\"classes\":\"\",\"parent\":\"ENFA\"},{\"kind\":1024,\"name\":\"assertions\",\"url\":\"interfaces/ENFA.FromRegexOptions.html#assertions\",\"classes\":\"\",\"parent\":\"ENFA.FromRegexOptions\"},{\"kind\":1024,\"name\":\"unknowns\",\"url\":\"interfaces/ENFA.FromRegexOptions.html#unknowns\",\"classes\":\"\",\"parent\":\"ENFA.FromRegexOptions\"},{\"kind\":1024,\"name\":\"infinityThreshold\",\"url\":\"interfaces/ENFA.FromRegexOptions.html#infinityThreshold\",\"classes\":\"\",\"parent\":\"ENFA.FromRegexOptions\"},{\"kind\":128,\"name\":\"MaxCharacterError\",\"url\":\"classes/MaxCharacterError.html\",\"classes\":\"\"},{\"kind\":2048,\"name\":\"assert\",\"url\":\"classes/MaxCharacterError.html#assert\",\"classes\":\"\",\"parent\":\"MaxCharacterError\"},{\"kind\":128,\"name\":\"TooManyNodesError\",\"url\":\"classes/TooManyNodesError.html\",\"classes\":\"\"},{\"kind\":2048,\"name\":\"assert\",\"url\":\"classes/TooManyNodesError.html#assert\",\"classes\":\"\",\"parent\":\"TooManyNodesError\"},{\"kind\":64,\"name\":\"getIntersectionIterator\",\"url\":\"functions/getIntersectionIterator.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"isDisjointWith\",\"url\":\"functions/isDisjointWith.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"getIntersectionWordSets\",\"url\":\"functions/getIntersectionWordSets.html\",\"classes\":\"\"},{\"kind\":64,\"name\":\"getIntersectionWords\",\"url\":\"functions/getIntersectionWords.html\",\"classes\":\"\"},{\"kind\":256,\"name\":\"ReadonlyNFA\",\"url\":\"interfaces/ReadonlyNFA.html\",\"classes\":\"\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"interfaces/ReadonlyNFA.html#initial\",\"classes\":\"\",\"parent\":\"ReadonlyNFA\"},{\"kind\":1024,\"name\":\"finals\",\"url\":\"interfaces/ReadonlyNFA.html#finals\",\"classes\":\"\",\"parent\":\"ReadonlyNFA\"},{\"kind\":1024,\"name\":\"isNormalized\",\"url\":\"interfaces/ReadonlyNFA.html#isNormalized\",\"classes\":\"\",\"parent\":\"ReadonlyNFA\"},{\"kind\":2048,\"name\":\"stateIterator\",\"url\":\"interfaces/ReadonlyNFA.html#stateIterator\",\"classes\":\"\",\"parent\":\"ReadonlyNFA\"},{\"kind\":2048,\"name\":\"nodes\",\"url\":\"interfaces/ReadonlyNFA.html#nodes\",\"classes\":\"\",\"parent\":\"ReadonlyNFA\"},{\"kind\":2048,\"name\":\"countNodes\",\"url\":\"interfaces/ReadonlyNFA.html#countNodes\",\"classes\":\"\",\"parent\":\"ReadonlyNFA\"},{\"kind\":2048,\"name\":\"copy\",\"url\":\"interfaces/ReadonlyNFA.html#copy\",\"classes\":\"\",\"parent\":\"ReadonlyNFA\"},{\"kind\":1024,\"name\":\"isEmpty\",\"url\":\"interfaces/ReadonlyNFA.html#isEmpty\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyNFA\"},{\"kind\":1024,\"name\":\"isFinite\",\"url\":\"interfaces/ReadonlyNFA.html#isFinite\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyNFA\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"interfaces/ReadonlyNFA.html#maxCharacter\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyNFA\"},{\"kind\":2048,\"name\":\"test\",\"url\":\"interfaces/ReadonlyNFA.html#test\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyNFA\"},{\"kind\":2048,\"name\":\"words\",\"url\":\"interfaces/ReadonlyNFA.html#words\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyNFA\"},{\"kind\":2048,\"name\":\"wordSets\",\"url\":\"interfaces/ReadonlyNFA.html#wordSets\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyNFA\"},{\"kind\":2048,\"name\":\"toString\",\"url\":\"interfaces/ReadonlyNFA.html#toString\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyNFA\"},{\"kind\":2048,\"name\":\"toRegex\",\"url\":\"interfaces/ReadonlyNFA.html#toRegex\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyNFA\"},{\"kind\":2048,\"name\":\"toDot\",\"url\":\"interfaces/ReadonlyNFA.html#toDot\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyNFA\"},{\"kind\":2048,\"name\":\"toMermaid\",\"url\":\"interfaces/ReadonlyNFA.html#toMermaid\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyNFA\"},{\"kind\":1024,\"name\":\"transitionIterator\",\"url\":\"interfaces/ReadonlyNFA.html#transitionIterator\",\"classes\":\"tsd-is-inherited\",\"parent\":\"ReadonlyNFA\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/ReadonlyNFA.html#transitionIterator.__type\",\"classes\":\"\",\"parent\":\"ReadonlyNFA.transitionIterator\"},{\"kind\":128,\"name\":\"NFA\",\"url\":\"classes/NFA-1.html\",\"classes\":\"\"},{\"kind\":2048,\"name\":\"empty\",\"url\":\"classes/NFA-1.html#empty\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"emptyWord\",\"url\":\"classes/NFA-1.html#emptyWord\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"all\",\"url\":\"classes/NFA-1.html#all\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"fromCharSet\",\"url\":\"classes/NFA-1.html#fromCharSet\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"fromIntersection\",\"url\":\"classes/NFA-1.html#fromIntersection\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"fromRegex\",\"url\":\"classes/NFA-1.html#fromRegex\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"fromWords\",\"url\":\"classes/NFA-1.html#fromWords\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"fromWordSets\",\"url\":\"classes/NFA-1.html#fromWordSets\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"fromFA\",\"url\":\"classes/NFA-1.html#fromFA\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"fromTransitionIterator\",\"url\":\"classes/NFA-1.html#fromTransitionIterator\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"fromBuilder\",\"url\":\"classes/NFA-1.html#fromBuilder\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"classes/NFA-1.html#initial\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":1024,\"name\":\"finals\",\"url\":\"classes/NFA-1.html#finals\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"classes/NFA-1.html#maxCharacter\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":262144,\"name\":\"isEmpty\",\"url\":\"classes/NFA-1.html#isEmpty\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":262144,\"name\":\"isFinite\",\"url\":\"classes/NFA-1.html#isFinite\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":262144,\"name\":\"isNormalized\",\"url\":\"classes/NFA-1.html#isNormalized\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"normalize\",\"url\":\"classes/NFA-1.html#normalize\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"stateIterator\",\"url\":\"classes/NFA-1.html#stateIterator\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"transitionIterator\",\"url\":\"classes/NFA-1.html#transitionIterator\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"nodes\",\"url\":\"classes/NFA-1.html#nodes\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"countNodes\",\"url\":\"classes/NFA-1.html#countNodes\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"copy\",\"url\":\"classes/NFA-1.html#copy\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"test\",\"url\":\"classes/NFA-1.html#test\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"wordSets\",\"url\":\"classes/NFA-1.html#wordSets\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"words\",\"url\":\"classes/NFA-1.html#words\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"toString\",\"url\":\"classes/NFA-1.html#toString\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"toRegex\",\"url\":\"classes/NFA-1.html#toRegex\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"toDot\",\"url\":\"classes/NFA-1.html#toDot\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"toMermaid\",\"url\":\"classes/NFA-1.html#toMermaid\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"union\",\"url\":\"classes/NFA-1.html#union\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"unionInto\",\"url\":\"classes/NFA-1.html#unionInto\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"append\",\"url\":\"classes/NFA-1.html#append\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"appendInto\",\"url\":\"classes/NFA-1.html#appendInto\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"prepend\",\"url\":\"classes/NFA-1.html#prepend\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"prependInto\",\"url\":\"classes/NFA-1.html#prependInto\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"quantify\",\"url\":\"classes/NFA-1.html#quantify\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"withoutEmptyWord\",\"url\":\"classes/NFA-1.html#withoutEmptyWord\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"removeUnreachable\",\"url\":\"classes/NFA-1.html#removeUnreachable\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"prefixes\",\"url\":\"classes/NFA-1.html#prefixes\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"suffixes\",\"url\":\"classes/NFA-1.html#suffixes\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":2048,\"name\":\"reverse\",\"url\":\"classes/NFA-1.html#reverse\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":4,\"name\":\"NFA\",\"url\":\"modules/NFA.html\",\"classes\":\"\"},{\"kind\":256,\"name\":\"ReadonlyNode\",\"url\":\"interfaces/NFA.ReadonlyNode.html\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":1024,\"name\":\"out\",\"url\":\"interfaces/NFA.ReadonlyNode.html#out\",\"classes\":\"\",\"parent\":\"NFA.ReadonlyNode\"},{\"kind\":1024,\"name\":\"in\",\"url\":\"interfaces/NFA.ReadonlyNode.html#in\",\"classes\":\"\",\"parent\":\"NFA.ReadonlyNode\"},{\"kind\":128,\"name\":\"Node\",\"url\":\"classes/NFA.Node.html\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/NFA.Node.html#constructor\",\"classes\":\"\",\"parent\":\"NFA.Node\"},{\"kind\":1024,\"name\":\"out\",\"url\":\"classes/NFA.Node.html#out\",\"classes\":\"\",\"parent\":\"NFA.Node\"},{\"kind\":1024,\"name\":\"in\",\"url\":\"classes/NFA.Node.html#in\",\"classes\":\"\",\"parent\":\"NFA.Node\"},{\"kind\":2048,\"name\":\"link\",\"url\":\"classes/NFA.Node.html#link\",\"classes\":\"\",\"parent\":\"NFA.Node\"},{\"kind\":2048,\"name\":\"unlink\",\"url\":\"classes/NFA.Node.html#unlink\",\"classes\":\"\",\"parent\":\"NFA.Node\"},{\"kind\":2048,\"name\":\"unlinkAll\",\"url\":\"classes/NFA.Node.html#unlinkAll\",\"classes\":\"\",\"parent\":\"NFA.Node\"},{\"kind\":2048,\"name\":\"unlinkAllOut\",\"url\":\"classes/NFA.Node.html#unlinkAllOut\",\"classes\":\"\",\"parent\":\"NFA.Node\"},{\"kind\":2048,\"name\":\"unlinkAllIn\",\"url\":\"classes/NFA.Node.html#unlinkAllIn\",\"classes\":\"\",\"parent\":\"NFA.Node\"},{\"kind\":32,\"name\":\"nodeFactory\",\"url\":\"variables/NFA.nodeFactory.html\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":128,\"name\":\"LimitedNodeFactory\",\"url\":\"classes/NFA.LimitedNodeFactory.html\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/NFA.LimitedNodeFactory.html#constructor\",\"classes\":\"\",\"parent\":\"NFA.LimitedNodeFactory\"},{\"kind\":1024,\"name\":\"limit\",\"url\":\"classes/NFA.LimitedNodeFactory.html#limit\",\"classes\":\"\",\"parent\":\"NFA.LimitedNodeFactory\"},{\"kind\":2048,\"name\":\"createNode\",\"url\":\"classes/NFA.LimitedNodeFactory.html#createNode\",\"classes\":\"\",\"parent\":\"NFA.LimitedNodeFactory\"},{\"kind\":128,\"name\":\"Builder\",\"url\":\"classes/NFA.Builder.html\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/NFA.Builder.html#constructor\",\"classes\":\"\",\"parent\":\"NFA.Builder\"},{\"kind\":1024,\"name\":\"initial\",\"url\":\"classes/NFA.Builder.html#initial\",\"classes\":\"\",\"parent\":\"NFA.Builder\"},{\"kind\":1024,\"name\":\"finals\",\"url\":\"classes/NFA.Builder.html#finals\",\"classes\":\"\",\"parent\":\"NFA.Builder\"},{\"kind\":1024,\"name\":\"factory\",\"url\":\"classes/NFA.Builder.html#factory\",\"classes\":\"\",\"parent\":\"NFA.Builder\"},{\"kind\":2048,\"name\":\"makeFinal\",\"url\":\"classes/NFA.Builder.html#makeFinal\",\"classes\":\"\",\"parent\":\"NFA.Builder\"},{\"kind\":2048,\"name\":\"isFinal\",\"url\":\"classes/NFA.Builder.html#isFinal\",\"classes\":\"\",\"parent\":\"NFA.Builder\"},{\"kind\":2048,\"name\":\"linkNodes\",\"url\":\"classes/NFA.Builder.html#linkNodes\",\"classes\":\"\",\"parent\":\"NFA.Builder\"},{\"kind\":2048,\"name\":\"createNode\",\"url\":\"classes/NFA.Builder.html#createNode\",\"classes\":\"\",\"parent\":\"NFA.Builder\"},{\"kind\":256,\"name\":\"Options\",\"url\":\"interfaces/NFA.Options.html\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":1024,\"name\":\"maxCharacter\",\"url\":\"interfaces/NFA.Options.html#maxCharacter\",\"classes\":\"\",\"parent\":\"NFA.Options\"},{\"kind\":256,\"name\":\"FromRegexOptions\",\"url\":\"interfaces/NFA.FromRegexOptions.html\",\"classes\":\"\",\"parent\":\"NFA\"},{\"kind\":1024,\"name\":\"assertions\",\"url\":\"interfaces/NFA.FromRegexOptions.html#assertions\",\"classes\":\"\",\"parent\":\"NFA.FromRegexOptions\"},{\"kind\":1024,\"name\":\"unknowns\",\"url\":\"interfaces/NFA.FromRegexOptions.html#unknowns\",\"classes\":\"\",\"parent\":\"NFA.FromRegexOptions\"},{\"kind\":1024,\"name\":\"infinityThreshold\",\"url\":\"interfaces/NFA.FromRegexOptions.html#infinityThreshold\",\"classes\":\"\",\"parent\":\"NFA.FromRegexOptions\"},{\"kind\":4194304,\"name\":\"WordSet\",\"url\":\"types/WordSet.html\",\"classes\":\"\"},{\"kind\":4194304,\"name\":\"ReadonlyWordSet\",\"url\":\"types/ReadonlyWordSet.html\",\"classes\":\"\"}],\"index\":{\"version\":\"2.3.9\",\"fields\":[\"name\",\"comment\"],\"fieldVectors\":[[\"name/0\",[0,57.197]],[\"comment/0\",[]],[\"name/1\",[1,62.305]],[\"comment/1\",[]],[\"name/2\",[2,53.832]],[\"comment/2\",[]],[\"name/3\",[3,53.832]],[\"comment/3\",[]],[\"name/4\",[4,62.305]],[\"comment/4\",[]],[\"name/5\",[5,62.305]],[\"comment/5\",[]],[\"name/6\",[6,57.197]],[\"comment/6\",[]],[\"name/7\",[7,62.305]],[\"comment/7\",[]],[\"name/8\",[8,62.305]],[\"comment/8\",[]],[\"name/9\",[9,62.305]],[\"comment/9\",[]],[\"name/10\",[10,62.305]],[\"comment/10\",[]],[\"name/11\",[11,62.305]],[\"comment/11\",[]],[\"name/12\",[12,62.305]],[\"comment/12\",[]],[\"name/13\",[6,57.197]],[\"comment/13\",[]],[\"name/14\",[13,62.305]],[\"comment/14\",[]],[\"name/15\",[2,53.832]],[\"comment/15\",[]],[\"name/16\",[3,53.832]],[\"comment/16\",[]],[\"name/17\",[14,62.305]],[\"comment/17\",[]],[\"name/18\",[15,62.305]],[\"comment/18\",[]],[\"name/19\",[16,62.305]],[\"comment/19\",[]],[\"name/20\",[17,62.305]],[\"comment/20\",[]],[\"name/21\",[18,62.305]],[\"comment/21\",[]],[\"name/22\",[2,53.832]],[\"comment/22\",[]],[\"name/23\",[3,53.832]],[\"comment/23\",[]],[\"name/24\",[19,62.305]],[\"comment/24\",[]],[\"name/25\",[20,62.305]],[\"comment/25\",[]],[\"name/26\",[21,57.197]],[\"comment/26\",[]],[\"name/27\",[22,62.305]],[\"comment/27\",[]],[\"name/28\",[23,51.319]],[\"comment/28\",[]],[\"name/29\",[24,51.319]],[\"comment/29\",[]],[\"name/30\",[25,62.305]],[\"comment/30\",[]],[\"name/31\",[26,62.305]],[\"comment/31\",[]],[\"name/32\",[27,62.305]],[\"comment/32\",[]],[\"name/33\",[28,62.305]],[\"comment/33\",[]],[\"name/34\",[29,62.305]],[\"comment/34\",[]],[\"name/35\",[30,62.305]],[\"comment/35\",[]],[\"name/36\",[31,62.305]],[\"comment/36\",[]],[\"name/37\",[32,53.832]],[\"comment/37\",[]],[\"name/38\",[33,62.305]],[\"comment/38\",[]],[\"name/39\",[34,62.305]],[\"comment/39\",[]],[\"name/40\",[35,62.305]],[\"comment/40\",[]],[\"name/41\",[36,62.305]],[\"comment/41\",[]],[\"name/42\",[37,62.305]],[\"comment/42\",[]],[\"name/43\",[38,62.305]],[\"comment/43\",[]],[\"name/44\",[39,62.305]],[\"comment/44\",[]],[\"name/45\",[40,62.305]],[\"comment/45\",[]],[\"name/46\",[41,62.305]],[\"comment/46\",[]],[\"name/47\",[42,62.305]],[\"comment/47\",[]],[\"name/48\",[43,62.305]],[\"comment/48\",[]],[\"name/49\",[44,40.333]],[\"comment/49\",[]],[\"name/50\",[45,41.102]],[\"comment/50\",[]],[\"name/51\",[46,46.21]],[\"comment/51\",[]],[\"name/52\",[47,49.312]],[\"comment/52\",[]],[\"name/53\",[48,46.21]],[\"comment/53\",[]],[\"name/54\",[49,43.847]],[\"comment/54\",[]],[\"name/55\",[50,49.312]],[\"comment/55\",[]],[\"name/56\",[51,62.305]],[\"comment/56\",[]],[\"name/57\",[52,62.305]],[\"comment/57\",[]],[\"name/58\",[53,44.959]],[\"comment/58\",[]],[\"name/59\",[54,62.305]],[\"comment/59\",[]],[\"name/60\",[55,62.305]],[\"comment/60\",[]],[\"name/61\",[56,57.197]],[\"comment/61\",[]],[\"name/62\",[57,34.789]],[\"comment/62\",[]],[\"name/63\",[58,62.305]],[\"comment/63\",[]],[\"name/64\",[57,34.789]],[\"comment/64\",[]],[\"name/65\",[59,57.197]],[\"comment/65\",[]],[\"name/66\",[57,34.789]],[\"comment/66\",[]],[\"name/67\",[60,44.959]],[\"comment/67\",[]],[\"name/68\",[61,62.305]],[\"comment/68\",[]],[\"name/69\",[59,57.197]],[\"comment/69\",[]],[\"name/70\",[57,34.789]],[\"comment/70\",[]],[\"name/71\",[56,57.197]],[\"comment/71\",[]],[\"name/72\",[57,34.789]],[\"comment/72\",[]],[\"name/73\",[62,62.305]],[\"comment/73\",[]],[\"name/74\",[63,57.197]],[\"comment/74\",[]],[\"name/75\",[64,62.305]],[\"comment/75\",[]],[\"name/76\",[65,62.305]],[\"comment/76\",[]],[\"name/77\",[63,57.197]],[\"comment/77\",[]],[\"name/78\",[66,62.305]],[\"comment/78\",[]],[\"name/79\",[67,62.305]],[\"comment/79\",[]],[\"name/80\",[68,62.305]],[\"comment/80\",[]],[\"name/81\",[48,46.21]],[\"comment/81\",[]],[\"name/82\",[69,62.305]],[\"comment/82\",[]],[\"name/83\",[70,62.305]],[\"comment/83\",[]],[\"name/84\",[71,62.305]],[\"comment/84\",[]],[\"name/85\",[72,62.305]],[\"comment/85\",[]],[\"name/86\",[57,34.789]],[\"comment/86\",[]],[\"name/87\",[73,62.305]],[\"comment/87\",[]],[\"name/88\",[74,44.959]],[\"comment/88\",[]],[\"name/89\",[75,43.847]],[\"comment/89\",[]],[\"name/90\",[76,62.305]],[\"comment/90\",[]],[\"name/91\",[77,62.305]],[\"comment/91\",[]],[\"name/92\",[78,62.305]],[\"comment/92\",[]],[\"name/93\",[79,62.305]],[\"comment/93\",[]],[\"name/94\",[80,62.305]],[\"comment/94\",[]],[\"name/95\",[81,62.305]],[\"comment/95\",[]],[\"name/96\",[82,62.305]],[\"comment/96\",[]],[\"name/97\",[83,43.847]],[\"comment/97\",[]],[\"name/98\",[84,44.959]],[\"comment/98\",[]],[\"name/99\",[85,62.305]],[\"comment/99\",[]],[\"name/100\",[83,43.847]],[\"comment/100\",[]],[\"name/101\",[86,62.305]],[\"comment/101\",[]],[\"name/102\",[87,62.305]],[\"comment/102\",[]],[\"name/103\",[88,62.305]],[\"comment/103\",[]],[\"name/104\",[83,43.847]],[\"comment/104\",[]],[\"name/105\",[89,62.305]],[\"comment/105\",[]],[\"name/106\",[83,43.847]],[\"comment/106\",[]],[\"name/107\",[84,44.959]],[\"comment/107\",[]],[\"name/108\",[90,62.305]],[\"comment/108\",[]],[\"name/109\",[91,62.305]],[\"comment/109\",[]],[\"name/110\",[83,43.847]],[\"comment/110\",[]],[\"name/111\",[92,57.197]],[\"comment/111\",[]],[\"name/112\",[93,57.197]],[\"comment/112\",[]],[\"name/113\",[94,57.197]],[\"comment/113\",[]],[\"name/114\",[84,44.959]],[\"comment/114\",[]],[\"name/115\",[95,62.305]],[\"comment/115\",[]],[\"name/116\",[83,43.847]],[\"comment/116\",[]],[\"name/117\",[92,57.197]],[\"comment/117\",[]],[\"name/118\",[93,57.197]],[\"comment/118\",[]],[\"name/119\",[94,57.197]],[\"comment/119\",[]],[\"name/120\",[84,44.959]],[\"comment/120\",[]],[\"name/121\",[96,62.305]],[\"comment/121\",[]],[\"name/122\",[83,43.847]],[\"comment/122\",[]],[\"name/123\",[84,44.959]],[\"comment/123\",[]],[\"name/124\",[97,62.305]],[\"comment/124\",[]],[\"name/125\",[83,43.847]],[\"comment/125\",[]],[\"name/126\",[84,44.959]],[\"comment/126\",[]],[\"name/127\",[98,62.305]],[\"comment/127\",[]],[\"name/128\",[99,62.305]],[\"comment/128\",[]],[\"name/129\",[100,49.312]],[\"comment/129\",[]],[\"name/130\",[101,62.305]],[\"comment/130\",[]],[\"name/131\",[102,62.305]],[\"comment/131\",[]],[\"name/132\",[103,62.305]],[\"comment/132\",[]],[\"name/133\",[104,53.832]],[\"comment/133\",[]],[\"name/134\",[105,53.832]],[\"comment/134\",[]],[\"name/135\",[106,53.832]],[\"comment/135\",[]],[\"name/136\",[107,53.832]],[\"comment/136\",[]],[\"name/137\",[108,53.832]],[\"comment/137\",[]],[\"name/138\",[109,53.832]],[\"comment/138\",[]],[\"name/139\",[110,53.832]],[\"comment/139\",[]],[\"name/140\",[111,53.832]],[\"comment/140\",[]],[\"name/141\",[112,62.305]],[\"comment/141\",[]],[\"name/142\",[110,53.832]],[\"comment/142\",[]],[\"name/143\",[111,53.832]],[\"comment/143\",[]],[\"name/144\",[104,53.832]],[\"comment/144\",[]],[\"name/145\",[105,53.832]],[\"comment/145\",[]],[\"name/146\",[106,53.832]],[\"comment/146\",[]],[\"name/147\",[107,53.832]],[\"comment/147\",[]],[\"name/148\",[108,53.832]],[\"comment/148\",[]],[\"name/149\",[109,53.832]],[\"comment/149\",[]],[\"name/150\",[113,62.305]],[\"comment/150\",[]],[\"name/151\",[110,53.832]],[\"comment/151\",[]],[\"name/152\",[111,53.832]],[\"comment/152\",[]],[\"name/153\",[104,53.832]],[\"comment/153\",[]],[\"name/154\",[105,53.832]],[\"comment/154\",[]],[\"name/155\",[106,53.832]],[\"comment/155\",[]],[\"name/156\",[107,53.832]],[\"comment/156\",[]],[\"name/157\",[108,53.832]],[\"comment/157\",[]],[\"name/158\",[109,53.832]],[\"comment/158\",[]],[\"name/159\",[100,49.312]],[\"comment/159\",[]],[\"name/160\",[114,57.197]],[\"comment/160\",[]],[\"name/161\",[115,44.959]],[\"comment/161\",[]],[\"name/162\",[100,49.312]],[\"comment/162\",[]],[\"name/163\",[116,62.305]],[\"comment/163\",[]],[\"name/164\",[117,62.305]],[\"comment/164\",[]],[\"name/165\",[118,62.305]],[\"comment/165\",[]],[\"name/166\",[119,53.832]],[\"comment/166\",[]],[\"name/167\",[21,57.197]],[\"comment/167\",[]],[\"name/168\",[120,57.197]],[\"comment/168\",[]],[\"name/169\",[121,62.305]],[\"comment/169\",[]],[\"name/170\",[57,34.789]],[\"comment/170\",[]],[\"name/171\",[122,62.305]],[\"comment/171\",[]],[\"name/172\",[123,62.305]],[\"comment/172\",[]],[\"name/173\",[100,49.312]],[\"comment/173\",[]],[\"name/174\",[124,62.305]],[\"comment/174\",[]],[\"name/175\",[125,62.305]],[\"comment/175\",[]],[\"name/176\",[126,57.197]],[\"comment/176\",[]],[\"name/177\",[127,39.618]],[\"comment/177\",[]],[\"name/178\",[128,62.305]],[\"comment/178\",[]],[\"name/179\",[129,62.305]],[\"comment/179\",[]],[\"name/180\",[130,62.305]],[\"comment/180\",[]],[\"name/181\",[114,57.197]],[\"comment/181\",[]],[\"name/182\",[131,62.305]],[\"comment/182\",[]],[\"name/183\",[100,49.312]],[\"comment/183\",[]],[\"name/184\",[127,39.618]],[\"comment/184\",[]],[\"name/185\",[132,62.305]],[\"comment/185\",[]],[\"name/186\",[133,62.305]],[\"comment/186\",[]],[\"name/187\",[134,62.305]],[\"comment/187\",[]],[\"name/188\",[135,62.305]],[\"comment/188\",[]],[\"name/189\",[136,62.305]],[\"comment/189\",[]],[\"name/190\",[137,62.305]],[\"comment/190\",[]],[\"name/191\",[138,47.641]],[\"comment/191\",[]],[\"name/192\",[139,57.197]],[\"comment/192\",[]],[\"name/193\",[140,62.305]],[\"comment/193\",[]],[\"name/194\",[141,41.102]],[\"comment/194\",[]],[\"name/195\",[142,57.197]],[\"comment/195\",[]],[\"name/196\",[143,62.305]],[\"comment/196\",[]],[\"name/197\",[144,43.847]],[\"comment/197\",[]],[\"name/198\",[145,57.197]],[\"comment/198\",[]],[\"name/199\",[146,53.832]],[\"comment/199\",[]],[\"name/200\",[147,49.312]],[\"comment/200\",[]],[\"name/201\",[148,53.832]],[\"comment/201\",[]],[\"name/202\",[149,53.832]],[\"comment/202\",[]],[\"name/203\",[150,53.832]],[\"comment/203\",[]],[\"name/204\",[151,53.832]],[\"comment/204\",[]],[\"name/205\",[152,53.832]],[\"comment/205\",[]],[\"name/206\",[153,53.832]],[\"comment/206\",[]],[\"name/207\",[154,51.319]],[\"comment/207\",[]],[\"name/208\",[155,62.305]],[\"comment/208\",[]],[\"name/209\",[156,62.305]],[\"comment/209\",[]],[\"name/210\",[157,53.832]],[\"comment/210\",[]],[\"name/211\",[158,57.197]],[\"comment/211\",[]],[\"name/212\",[159,62.305]],[\"comment/212\",[]],[\"name/213\",[138,47.641]],[\"comment/213\",[]],[\"name/214\",[160,62.305]],[\"comment/214\",[]],[\"name/215\",[139,57.197]],[\"comment/215\",[]],[\"name/216\",[161,62.305]],[\"comment/216\",[]],[\"name/217\",[162,62.305]],[\"comment/217\",[]],[\"name/218\",[163,57.197]],[\"comment/218\",[]],[\"name/219\",[141,41.102]],[\"comment/219\",[]],[\"name/220\",[142,57.197]],[\"comment/220\",[]],[\"name/221\",[144,43.847]],[\"comment/221\",[]],[\"name/222\",[146,53.832]],[\"comment/222\",[]],[\"name/223\",[145,57.197]],[\"comment/223\",[]],[\"name/224\",[147,49.312]],[\"comment/224\",[]],[\"name/225\",[148,53.832]],[\"comment/225\",[]],[\"name/226\",[149,53.832]],[\"comment/226\",[]],[\"name/227\",[150,53.832]],[\"comment/227\",[]],[\"name/228\",[151,53.832]],[\"comment/228\",[]],[\"name/229\",[152,53.832]],[\"comment/229\",[]],[\"name/230\",[153,53.832]],[\"comment/230\",[]],[\"name/231\",[154,51.319]],[\"comment/231\",[]],[\"name/232\",[158,57.197]],[\"comment/232\",[]],[\"name/233\",[164,62.305]],[\"comment/233\",[]],[\"name/234\",[165,62.305]],[\"comment/234\",[]],[\"name/235\",[166,62.305]],[\"comment/235\",[]],[\"name/236\",[57,34.789]],[\"comment/236\",[]],[\"name/237\",[167,62.305]],[\"comment/237\",[]],[\"name/238\",[57,34.789]],[\"comment/238\",[]],[\"name/239\",[168,44.959]],[\"comment/239\",[]],[\"name/240\",[169,62.305]],[\"comment/240\",[]],[\"name/241\",[170,62.305]],[\"comment/241\",[]],[\"name/242\",[171,62.305]],[\"comment/242\",[]],[\"name/243\",[172,62.305]],[\"comment/243\",[]],[\"name/244\",[173,62.305]],[\"comment/244\",[]],[\"name/245\",[174,62.305]],[\"comment/245\",[]],[\"name/246\",[175,62.305]],[\"comment/246\",[]],[\"name/247\",[176,62.305]],[\"comment/247\",[]],[\"name/248\",[177,62.305]],[\"comment/248\",[]],[\"name/249\",[178,62.305]],[\"comment/249\",[]],[\"name/250\",[179,62.305]],[\"comment/250\",[]],[\"name/251\",[180,62.305]],[\"comment/251\",[]],[\"name/252\",[181,44.959]],[\"comment/252\",[]],[\"name/253\",[182,51.319]],[\"comment/253\",[]],[\"name/254\",[183,62.305]],[\"comment/254\",[]],[\"name/255\",[184,46.21]],[\"comment/255\",[]],[\"name/256\",[181,44.959]],[\"comment/256\",[]],[\"name/257\",[185,51.319]],[\"comment/257\",[]],[\"name/258\",[115,44.959]],[\"comment/258\",[]],[\"name/259\",[186,62.305]],[\"comment/259\",[]],[\"name/260\",[184,46.21]],[\"comment/260\",[]],[\"name/261\",[181,44.959]],[\"comment/261\",[]],[\"name/262\",[185,51.319]],[\"comment/262\",[]],[\"name/263\",[83,43.847]],[\"comment/263\",[]],[\"name/264\",[84,44.959]],[\"comment/264\",[]],[\"name/265\",[115,44.959]],[\"comment/265\",[]],[\"name/266\",[187,62.305]],[\"comment/266\",[]],[\"name/267\",[184,46.21]],[\"comment/267\",[]],[\"name/268\",[181,44.959]],[\"comment/268\",[]],[\"name/269\",[185,51.319]],[\"comment/269\",[]],[\"name/270\",[188,62.305]],[\"comment/270\",[]],[\"name/271\",[189,57.197]],[\"comment/271\",[]],[\"name/272\",[190,57.197]],[\"comment/272\",[]],[\"name/273\",[115,44.959]],[\"comment/273\",[]],[\"name/274\",[191,62.305]],[\"comment/274\",[]],[\"name/275\",[184,46.21]],[\"comment/275\",[]],[\"name/276\",[181,44.959]],[\"comment/276\",[]],[\"name/277\",[192,57.197]],[\"comment/277\",[]],[\"name/278\",[115,44.959]],[\"comment/278\",[]],[\"name/279\",[193,62.305]],[\"comment/279\",[]],[\"name/280\",[184,46.21]],[\"comment/280\",[]],[\"name/281\",[181,44.959]],[\"comment/281\",[]],[\"name/282\",[194,62.305]],[\"comment/282\",[]],[\"name/283\",[115,44.959]],[\"comment/283\",[]],[\"name/284\",[126,57.197]],[\"comment/284\",[]],[\"name/285\",[184,46.21]],[\"comment/285\",[]],[\"name/286\",[181,44.959]],[\"comment/286\",[]],[\"name/287\",[185,51.319]],[\"comment/287\",[]],[\"name/288\",[115,44.959]],[\"comment/288\",[]],[\"name/289\",[195,62.305]],[\"comment/289\",[]],[\"name/290\",[184,46.21]],[\"comment/290\",[]],[\"name/291\",[181,44.959]],[\"comment/291\",[]],[\"name/292\",[196,62.305]],[\"comment/292\",[]],[\"name/293\",[115,44.959]],[\"comment/293\",[]],[\"name/294\",[197,62.305]],[\"comment/294\",[]],[\"name/295\",[198,62.305]],[\"comment/295\",[]],[\"name/296\",[199,62.305]],[\"comment/296\",[]],[\"name/297\",[200,62.305]],[\"comment/297\",[]],[\"name/298\",[201,62.305]],[\"comment/298\",[]],[\"name/299\",[202,57.197]],[\"comment/299\",[]],[\"name/300\",[203,57.197]],[\"comment/300\",[]],[\"name/301\",[204,57.197]],[\"comment/301\",[]],[\"name/302\",[205,57.197]],[\"comment/302\",[]],[\"name/303\",[206,57.197]],[\"comment/303\",[]],[\"name/304\",[207,57.197]],[\"comment/304\",[]],[\"name/305\",[208,57.197]],[\"comment/305\",[]],[\"name/306\",[209,57.197]],[\"comment/306\",[]],[\"name/307\",[210,57.197]],[\"comment/307\",[]],[\"name/308\",[211,57.197]],[\"comment/308\",[]],[\"name/309\",[212,57.197]],[\"comment/309\",[]],[\"name/310\",[213,57.197]],[\"comment/310\",[]],[\"name/311\",[214,57.197]],[\"comment/311\",[]],[\"name/312\",[215,57.197]],[\"comment/312\",[]],[\"name/313\",[216,62.305]],[\"comment/313\",[]],[\"name/314\",[202,57.197]],[\"comment/314\",[]],[\"name/315\",[203,57.197]],[\"comment/315\",[]],[\"name/316\",[204,57.197]],[\"comment/316\",[]],[\"name/317\",[205,57.197]],[\"comment/317\",[]],[\"name/318\",[206,57.197]],[\"comment/318\",[]],[\"name/319\",[207,57.197]],[\"comment/319\",[]],[\"name/320\",[208,57.197]],[\"comment/320\",[]],[\"name/321\",[209,57.197]],[\"comment/321\",[]],[\"name/322\",[210,57.197]],[\"comment/322\",[]],[\"name/323\",[211,57.197]],[\"comment/323\",[]],[\"name/324\",[212,57.197]],[\"comment/324\",[]],[\"name/325\",[213,57.197]],[\"comment/325\",[]],[\"name/326\",[214,57.197]],[\"comment/326\",[]],[\"name/327\",[215,57.197]],[\"comment/327\",[]],[\"name/328\",[217,62.305]],[\"comment/328\",[]],[\"name/329\",[218,62.305]],[\"comment/329\",[]],[\"name/330\",[219,62.305]],[\"comment/330\",[]],[\"name/331\",[220,57.197]],[\"comment/331\",[]],[\"name/332\",[221,57.197]],[\"comment/332\",[]],[\"name/333\",[222,57.197]],[\"comment/333\",[]],[\"name/334\",[223,57.197]],[\"comment/334\",[]],[\"name/335\",[224,57.197]],[\"comment/335\",[]],[\"name/336\",[225,57.197]],[\"comment/336\",[]],[\"name/337\",[226,57.197]],[\"comment/337\",[]],[\"name/338\",[227,57.197]],[\"comment/338\",[]],[\"name/339\",[228,62.305]],[\"comment/339\",[]],[\"name/340\",[127,39.618]],[\"comment/340\",[]],[\"name/341\",[229,62.305]],[\"comment/341\",[]],[\"name/342\",[57,34.789]],[\"comment/342\",[]],[\"name/343\",[230,62.305]],[\"comment/343\",[]],[\"name/344\",[44,40.333]],[\"comment/344\",[]],[\"name/345\",[220,57.197]],[\"comment/345\",[]],[\"name/346\",[0,57.197]],[\"comment/346\",[]],[\"name/347\",[221,57.197]],[\"comment/347\",[]],[\"name/348\",[222,57.197]],[\"comment/348\",[]],[\"name/349\",[223,57.197]],[\"comment/349\",[]],[\"name/350\",[224,57.197]],[\"comment/350\",[]],[\"name/351\",[225,57.197]],[\"comment/351\",[]],[\"name/352\",[226,57.197]],[\"comment/352\",[]],[\"name/353\",[227,57.197]],[\"comment/353\",[]],[\"name/354\",[231,62.305]],[\"comment/354\",[]],[\"name/355\",[232,62.305]],[\"comment/355\",[]],[\"name/356\",[57,34.789]],[\"comment/356\",[]],[\"name/357\",[233,62.305]],[\"comment/357\",[]],[\"name/358\",[57,34.789]],[\"comment/358\",[]],[\"name/359\",[234,62.305]],[\"comment/359\",[]],[\"name/360\",[235,62.305]],[\"comment/360\",[]],[\"name/361\",[236,62.305]],[\"comment/361\",[]],[\"name/362\",[237,62.305]],[\"comment/362\",[]],[\"name/363\",[44,40.333]],[\"comment/363\",[]],[\"name/364\",[238,62.305]],[\"comment/364\",[]],[\"name/365\",[239,62.305]],[\"comment/365\",[]],[\"name/366\",[240,62.305]],[\"comment/366\",[]],[\"name/367\",[141,41.102]],[\"comment/367\",[]],[\"name/368\",[241,53.832]],[\"comment/368\",[]],[\"name/369\",[242,57.197]],[\"comment/369\",[]],[\"name/370\",[243,53.832]],[\"comment/370\",[]],[\"name/371\",[244,57.197]],[\"comment/371\",[]],[\"name/372\",[245,57.197]],[\"comment/372\",[]],[\"name/373\",[246,57.197]],[\"comment/373\",[]],[\"name/374\",[32,53.832]],[\"comment/374\",[]],[\"name/375\",[247,57.197]],[\"comment/375\",[]],[\"name/376\",[248,57.197]],[\"comment/376\",[]],[\"name/377\",[249,57.197]],[\"comment/377\",[]],[\"name/378\",[250,57.197]],[\"comment/378\",[]],[\"name/379\",[251,44.959]],[\"comment/379\",[]],[\"name/380\",[252,62.305]],[\"comment/380\",[]],[\"name/381\",[44,40.333]],[\"comment/381\",[]],[\"name/382\",[141,41.102]],[\"comment/382\",[]],[\"name/383\",[241,53.832]],[\"comment/383\",[]],[\"name/384\",[242,57.197]],[\"comment/384\",[]],[\"name/385\",[243,53.832]],[\"comment/385\",[]],[\"name/386\",[244,57.197]],[\"comment/386\",[]],[\"name/387\",[245,57.197]],[\"comment/387\",[]],[\"name/388\",[246,57.197]],[\"comment/388\",[]],[\"name/389\",[253,62.305]],[\"comment/389\",[]],[\"name/390\",[254,62.305]],[\"comment/390\",[]],[\"name/391\",[255,62.305]],[\"comment/391\",[]],[\"name/392\",[256,62.305]],[\"comment/392\",[]],[\"name/393\",[257,62.305]],[\"comment/393\",[]],[\"name/394\",[258,62.305]],[\"comment/394\",[]],[\"name/395\",[251,44.959]],[\"comment/395\",[]],[\"name/396\",[259,62.305]],[\"comment/396\",[]],[\"name/397\",[260,62.305]],[\"comment/397\",[]],[\"name/398\",[261,62.305]],[\"comment/398\",[]],[\"name/399\",[250,57.197]],[\"comment/399\",[]],[\"name/400\",[32,53.832]],[\"comment/400\",[]],[\"name/401\",[247,57.197]],[\"comment/401\",[]],[\"name/402\",[248,57.197]],[\"comment/402\",[]],[\"name/403\",[249,57.197]],[\"comment/403\",[]],[\"name/404\",[262,62.305]],[\"comment/404\",[]],[\"name/405\",[263,62.305]],[\"comment/405\",[]],[\"name/406\",[189,57.197]],[\"comment/406\",[]],[\"name/407\",[190,57.197]],[\"comment/407\",[]],[\"name/408\",[264,62.305]],[\"comment/408\",[]],[\"name/409\",[138,47.641]],[\"comment/409\",[]],[\"name/410\",[265,51.319]],[\"comment/410\",[]],[\"name/411\",[266,62.305]],[\"comment/411\",[]],[\"name/412\",[267,62.305]],[\"comment/412\",[]],[\"name/413\",[268,62.305]],[\"comment/413\",[]],[\"name/414\",[163,57.197]],[\"comment/414\",[]],[\"name/415\",[269,62.305]],[\"comment/415\",[]],[\"name/416\",[141,41.102]],[\"comment/416\",[]],[\"name/417\",[270,62.305]],[\"comment/417\",[]],[\"name/418\",[241,53.832]],[\"comment/418\",[]],[\"name/419\",[192,57.197]],[\"comment/419\",[]],[\"name/420\",[75,43.847]],[\"comment/420\",[]],[\"name/421\",[271,62.305]],[\"comment/421\",[]],[\"name/422\",[272,62.305]],[\"comment/422\",[]],[\"name/423\",[146,53.832]],[\"comment/423\",[]],[\"name/424\",[273,62.305]],[\"comment/424\",[]],[\"name/425\",[274,62.305]],[\"comment/425\",[]],[\"name/426\",[84,44.959]],[\"comment/426\",[]],[\"name/427\",[147,49.312]],[\"comment/427\",[]],[\"name/428\",[148,53.832]],[\"comment/428\",[]],[\"name/429\",[149,53.832]],[\"comment/429\",[]],[\"name/430\",[243,53.832]],[\"comment/430\",[]],[\"name/431\",[150,53.832]],[\"comment/431\",[]],[\"name/432\",[151,53.832]],[\"comment/432\",[]],[\"name/433\",[152,53.832]],[\"comment/433\",[]],[\"name/434\",[153,53.832]],[\"comment/434\",[]],[\"name/435\",[154,51.319]],[\"comment/435\",[]],[\"name/436\",[275,62.305]],[\"comment/436\",[]],[\"name/437\",[276,62.305]],[\"comment/437\",[]],[\"name/438\",[277,62.305]],[\"comment/438\",[]],[\"name/439\",[278,62.305]],[\"comment/439\",[]],[\"name/440\",[279,62.305]],[\"comment/440\",[]],[\"name/441\",[141,41.102]],[\"comment/441\",[]],[\"name/442\",[280,46.21]],[\"comment/442\",[]],[\"name/443\",[127,39.618]],[\"comment/443\",[]],[\"name/444\",[281,46.21]],[\"comment/444\",[]],[\"name/445\",[168,44.959]],[\"comment/445\",[]],[\"name/446\",[144,43.847]],[\"comment/446\",[]],[\"name/447\",[75,43.847]],[\"comment/447\",[]],[\"name/448\",[74,44.959]],[\"comment/448\",[]],[\"name/449\",[53,44.959]],[\"comment/449\",[]],[\"name/450\",[60,44.959]],[\"comment/450\",[]],[\"name/451\",[282,62.305]],[\"comment/451\",[]],[\"name/452\",[45,41.102]],[\"comment/452\",[]],[\"name/453\",[283,62.305]],[\"comment/453\",[]],[\"name/454\",[57,34.789]],[\"comment/454\",[]],[\"name/455\",[284,62.305]],[\"comment/455\",[]],[\"name/456\",[48,46.21]],[\"comment/456\",[]],[\"name/457\",[57,34.789]],[\"comment/457\",[]],[\"name/458\",[285,51.319]],[\"comment/458\",[]],[\"name/459\",[49,43.847]],[\"comment/459\",[]],[\"name/460\",[57,34.789]],[\"comment/460\",[]],[\"name/461\",[286,62.305]],[\"comment/461\",[]],[\"name/462\",[45,41.102]],[\"comment/462\",[]],[\"name/463\",[47,49.312]],[\"comment/463\",[]],[\"name/464\",[57,34.789]],[\"comment/464\",[]],[\"name/465\",[48,46.21]],[\"comment/465\",[]],[\"name/466\",[57,34.789]],[\"comment/466\",[]],[\"name/467\",[50,49.312]],[\"comment/467\",[]],[\"name/468\",[57,34.789]],[\"comment/468\",[]],[\"name/469\",[49,43.847]],[\"comment/469\",[]],[\"name/470\",[57,34.789]],[\"comment/470\",[]],[\"name/471\",[287,44.959]],[\"comment/471\",[]],[\"name/472\",[288,62.305]],[\"comment/472\",[]],[\"name/473\",[127,39.618]],[\"comment/473\",[]],[\"name/474\",[287,44.959]],[\"comment/474\",[]],[\"name/475\",[57,34.789]],[\"comment/475\",[]],[\"name/476\",[289,62.305]],[\"comment/476\",[]],[\"name/477\",[120,57.197]],[\"comment/477\",[]],[\"name/478\",[290,62.305]],[\"comment/478\",[]],[\"name/479\",[291,62.305]],[\"comment/479\",[]],[\"name/480\",[45,41.102]],[\"comment/480\",[]],[\"name/481\",[46,46.21]],[\"comment/481\",[]],[\"name/482\",[292,47.641]],[\"comment/482\",[]],[\"name/483\",[293,47.641]],[\"comment/483\",[]],[\"name/484\",[294,47.641]],[\"comment/484\",[]],[\"name/485\",[251,44.959]],[\"comment/485\",[]],[\"name/486\",[295,57.197]],[\"comment/486\",[]],[\"name/487\",[141,41.102]],[\"comment/487\",[]],[\"name/488\",[280,46.21]],[\"comment/488\",[]],[\"name/489\",[127,39.618]],[\"comment/489\",[]],[\"name/490\",[281,46.21]],[\"comment/490\",[]],[\"name/491\",[168,44.959]],[\"comment/491\",[]],[\"name/492\",[144,43.847]],[\"comment/492\",[]],[\"name/493\",[75,43.847]],[\"comment/493\",[]],[\"name/494\",[74,44.959]],[\"comment/494\",[]],[\"name/495\",[53,44.959]],[\"comment/495\",[]],[\"name/496\",[60,44.959]],[\"comment/496\",[]],[\"name/497\",[287,44.959]],[\"comment/497\",[]],[\"name/498\",[57,34.789]],[\"comment/498\",[]],[\"name/499\",[296,57.197]],[\"comment/499\",[]],[\"name/500\",[138,47.641]],[\"comment/500\",[]],[\"name/501\",[297,53.832]],[\"comment/501\",[]],[\"name/502\",[265,51.319]],[\"comment/502\",[]],[\"name/503\",[298,53.832]],[\"comment/503\",[]],[\"name/504\",[299,57.197]],[\"comment/504\",[]],[\"name/505\",[23,51.319]],[\"comment/505\",[]],[\"name/506\",[24,51.319]],[\"comment/506\",[]],[\"name/507\",[300,53.832]],[\"comment/507\",[]],[\"name/508\",[301,53.832]],[\"comment/508\",[]],[\"name/509\",[302,53.832]],[\"comment/509\",[]],[\"name/510\",[45,41.102]],[\"comment/510\",[]],[\"name/511\",[46,46.21]],[\"comment/511\",[]],[\"name/512\",[127,39.618]],[\"comment/512\",[]],[\"name/513\",[141,41.102]],[\"comment/513\",[]],[\"name/514\",[280,46.21]],[\"comment/514\",[]],[\"name/515\",[292,47.641]],[\"comment/515\",[]],[\"name/516\",[287,44.959]],[\"comment/516\",[]],[\"name/517\",[293,47.641]],[\"comment/517\",[]],[\"name/518\",[294,47.641]],[\"comment/518\",[]],[\"name/519\",[281,46.21]],[\"comment/519\",[]],[\"name/520\",[144,43.847]],[\"comment/520\",[]],[\"name/521\",[168,44.959]],[\"comment/521\",[]],[\"name/522\",[75,43.847]],[\"comment/522\",[]],[\"name/523\",[74,44.959]],[\"comment/523\",[]],[\"name/524\",[53,44.959]],[\"comment/524\",[]],[\"name/525\",[60,44.959]],[\"comment/525\",[]],[\"name/526\",[251,44.959]],[\"comment/526\",[]],[\"name/527\",[295,57.197]],[\"comment/527\",[]],[\"name/528\",[303,53.832]],[\"comment/528\",[]],[\"name/529\",[304,62.305]],[\"comment/529\",[]],[\"name/530\",[305,62.305]],[\"comment/530\",[]],[\"name/531\",[306,53.832]],[\"comment/531\",[]],[\"name/532\",[296,57.197]],[\"comment/532\",[]],[\"name/533\",[307,53.832]],[\"comment/533\",[]],[\"name/534\",[308,47.641]],[\"comment/534\",[]],[\"name/535\",[182,51.319]],[\"comment/535\",[]],[\"name/536\",[44,40.333]],[\"comment/536\",[]],[\"name/537\",[308,47.641]],[\"comment/537\",[]],[\"name/538\",[309,53.832]],[\"comment/538\",[]],[\"name/539\",[310,53.832]],[\"comment/539\",[]],[\"name/540\",[311,53.832]],[\"comment/540\",[]],[\"name/541\",[285,51.319]],[\"comment/541\",[]],[\"name/542\",[312,53.832]],[\"comment/542\",[]],[\"name/543\",[44,40.333]],[\"comment/543\",[]],[\"name/544\",[313,53.832]],[\"comment/544\",[]],[\"name/545\",[49,43.847]],[\"comment/545\",[]],[\"name/546\",[314,53.832]],[\"comment/546\",[]],[\"name/547\",[44,40.333]],[\"comment/547\",[]],[\"name/548\",[45,41.102]],[\"comment/548\",[]],[\"name/549\",[46,46.21]],[\"comment/549\",[]],[\"name/550\",[315,53.832]],[\"comment/550\",[]],[\"name/551\",[47,49.312]],[\"comment/551\",[]],[\"name/552\",[48,46.21]],[\"comment/552\",[]],[\"name/553\",[50,49.312]],[\"comment/553\",[]],[\"name/554\",[49,43.847]],[\"comment/554\",[]],[\"name/555\",[316,53.832]],[\"comment/555\",[]],[\"name/556\",[127,39.618]],[\"comment/556\",[]],[\"name/557\",[317,62.305]],[\"comment/557\",[]],[\"name/558\",[45,41.102]],[\"comment/558\",[]],[\"name/559\",[318,53.832]],[\"comment/559\",[]],[\"name/560\",[319,51.319]],[\"comment/560\",[]],[\"name/561\",[292,47.641]],[\"comment/561\",[]],[\"name/562\",[293,47.641]],[\"comment/562\",[]],[\"name/563\",[294,47.641]],[\"comment/563\",[]],[\"name/564\",[251,44.959]],[\"comment/564\",[]],[\"name/565\",[141,41.102]],[\"comment/565\",[]],[\"name/566\",[280,46.21]],[\"comment/566\",[]],[\"name/567\",[127,39.618]],[\"comment/567\",[]],[\"name/568\",[281,46.21]],[\"comment/568\",[]],[\"name/569\",[168,44.959]],[\"comment/569\",[]],[\"name/570\",[144,43.847]],[\"comment/570\",[]],[\"name/571\",[75,43.847]],[\"comment/571\",[]],[\"name/572\",[74,44.959]],[\"comment/572\",[]],[\"name/573\",[53,44.959]],[\"comment/573\",[]],[\"name/574\",[60,44.959]],[\"comment/574\",[]],[\"name/575\",[287,44.959]],[\"comment/575\",[]],[\"name/576\",[57,34.789]],[\"comment/576\",[]],[\"name/577\",[320,57.197]],[\"comment/577\",[]],[\"name/578\",[138,47.641]],[\"comment/578\",[]],[\"name/579\",[297,53.832]],[\"comment/579\",[]],[\"name/580\",[265,51.319]],[\"comment/580\",[]],[\"name/581\",[298,53.832]],[\"comment/581\",[]],[\"name/582\",[321,57.197]],[\"comment/582\",[]],[\"name/583\",[23,51.319]],[\"comment/583\",[]],[\"name/584\",[24,51.319]],[\"comment/584\",[]],[\"name/585\",[300,53.832]],[\"comment/585\",[]],[\"name/586\",[301,53.832]],[\"comment/586\",[]],[\"name/587\",[302,53.832]],[\"comment/587\",[]],[\"name/588\",[45,41.102]],[\"comment/588\",[]],[\"name/589\",[318,53.832]],[\"comment/589\",[]],[\"name/590\",[127,39.618]],[\"comment/590\",[]],[\"name/591\",[141,41.102]],[\"comment/591\",[]],[\"name/592\",[280,46.21]],[\"comment/592\",[]],[\"name/593\",[319,51.319]],[\"comment/593\",[]],[\"name/594\",[322,57.197]],[\"comment/594\",[]],[\"name/595\",[292,47.641]],[\"comment/595\",[]],[\"name/596\",[287,44.959]],[\"comment/596\",[]],[\"name/597\",[293,47.641]],[\"comment/597\",[]],[\"name/598\",[294,47.641]],[\"comment/598\",[]],[\"name/599\",[251,44.959]],[\"comment/599\",[]],[\"name/600\",[281,46.21]],[\"comment/600\",[]],[\"name/601\",[144,43.847]],[\"comment/601\",[]],[\"name/602\",[168,44.959]],[\"comment/602\",[]],[\"name/603\",[75,43.847]],[\"comment/603\",[]],[\"name/604\",[74,44.959]],[\"comment/604\",[]],[\"name/605\",[53,44.959]],[\"comment/605\",[]],[\"name/606\",[60,44.959]],[\"comment/606\",[]],[\"name/607\",[323,57.197]],[\"comment/607\",[]],[\"name/608\",[324,57.197]],[\"comment/608\",[]],[\"name/609\",[325,57.197]],[\"comment/609\",[]],[\"name/610\",[326,57.197]],[\"comment/610\",[]],[\"name/611\",[147,49.312]],[\"comment/611\",[]],[\"name/612\",[327,57.197]],[\"comment/612\",[]],[\"name/613\",[328,57.197]],[\"comment/613\",[]],[\"name/614\",[157,53.832]],[\"comment/614\",[]],[\"name/615\",[303,53.832]],[\"comment/615\",[]],[\"name/616\",[306,53.832]],[\"comment/616\",[]],[\"name/617\",[329,57.197]],[\"comment/617\",[]],[\"name/618\",[320,57.197]],[\"comment/618\",[]],[\"name/619\",[307,53.832]],[\"comment/619\",[]],[\"name/620\",[308,47.641]],[\"comment/620\",[]],[\"name/621\",[330,51.319]],[\"comment/621\",[]],[\"name/622\",[331,57.197]],[\"comment/622\",[]],[\"name/623\",[332,57.197]],[\"comment/623\",[]],[\"name/624\",[182,51.319]],[\"comment/624\",[]],[\"name/625\",[44,40.333]],[\"comment/625\",[]],[\"name/626\",[308,47.641]],[\"comment/626\",[]],[\"name/627\",[330,51.319]],[\"comment/627\",[]],[\"name/628\",[309,53.832]],[\"comment/628\",[]],[\"name/629\",[310,53.832]],[\"comment/629\",[]],[\"name/630\",[311,53.832]],[\"comment/630\",[]],[\"name/631\",[333,57.197]],[\"comment/631\",[]],[\"name/632\",[334,57.197]],[\"comment/632\",[]],[\"name/633\",[331,57.197]],[\"comment/633\",[]],[\"name/634\",[332,57.197]],[\"comment/634\",[]],[\"name/635\",[285,51.319]],[\"comment/635\",[]],[\"name/636\",[312,53.832]],[\"comment/636\",[]],[\"name/637\",[44,40.333]],[\"comment/637\",[]],[\"name/638\",[313,53.832]],[\"comment/638\",[]],[\"name/639\",[49,43.847]],[\"comment/639\",[]],[\"name/640\",[314,53.832]],[\"comment/640\",[]],[\"name/641\",[44,40.333]],[\"comment/641\",[]],[\"name/642\",[45,41.102]],[\"comment/642\",[]],[\"name/643\",[318,53.832]],[\"comment/643\",[]],[\"name/644\",[315,53.832]],[\"comment/644\",[]],[\"name/645\",[47,49.312]],[\"comment/645\",[]],[\"name/646\",[48,46.21]],[\"comment/646\",[]],[\"name/647\",[50,49.312]],[\"comment/647\",[]],[\"name/648\",[49,43.847]],[\"comment/648\",[]],[\"name/649\",[316,53.832]],[\"comment/649\",[]],[\"name/650\",[127,39.618]],[\"comment/650\",[]],[\"name/651\",[335,57.197]],[\"comment/651\",[]],[\"name/652\",[119,53.832]],[\"comment/652\",[]],[\"name/653\",[336,57.197]],[\"comment/653\",[]],[\"name/654\",[337,57.197]],[\"comment/654\",[]],[\"name/655\",[338,62.305]],[\"comment/655\",[]],[\"name/656\",[339,57.197]],[\"comment/656\",[]],[\"name/657\",[340,62.305]],[\"comment/657\",[]],[\"name/658\",[339,57.197]],[\"comment/658\",[]],[\"name/659\",[341,62.305]],[\"comment/659\",[]],[\"name/660\",[154,51.319]],[\"comment/660\",[]],[\"name/661\",[342,62.305]],[\"comment/661\",[]],[\"name/662\",[343,62.305]],[\"comment/662\",[]],[\"name/663\",[344,62.305]],[\"comment/663\",[]],[\"name/664\",[45,41.102]],[\"comment/664\",[]],[\"name/665\",[46,46.21]],[\"comment/665\",[]],[\"name/666\",[319,51.319]],[\"comment/666\",[]],[\"name/667\",[292,47.641]],[\"comment/667\",[]],[\"name/668\",[293,47.641]],[\"comment/668\",[]],[\"name/669\",[294,47.641]],[\"comment/669\",[]],[\"name/670\",[251,44.959]],[\"comment/670\",[]],[\"name/671\",[141,41.102]],[\"comment/671\",[]],[\"name/672\",[280,46.21]],[\"comment/672\",[]],[\"name/673\",[127,39.618]],[\"comment/673\",[]],[\"name/674\",[281,46.21]],[\"comment/674\",[]],[\"name/675\",[168,44.959]],[\"comment/675\",[]],[\"name/676\",[144,43.847]],[\"comment/676\",[]],[\"name/677\",[75,43.847]],[\"comment/677\",[]],[\"name/678\",[74,44.959]],[\"comment/678\",[]],[\"name/679\",[53,44.959]],[\"comment/679\",[]],[\"name/680\",[60,44.959]],[\"comment/680\",[]],[\"name/681\",[287,44.959]],[\"comment/681\",[]],[\"name/682\",[57,34.789]],[\"comment/682\",[]],[\"name/683\",[345,57.197]],[\"comment/683\",[]],[\"name/684\",[138,47.641]],[\"comment/684\",[]],[\"name/685\",[297,53.832]],[\"comment/685\",[]],[\"name/686\",[265,51.319]],[\"comment/686\",[]],[\"name/687\",[298,53.832]],[\"comment/687\",[]],[\"name/688\",[299,57.197]],[\"comment/688\",[]],[\"name/689\",[321,57.197]],[\"comment/689\",[]],[\"name/690\",[23,51.319]],[\"comment/690\",[]],[\"name/691\",[24,51.319]],[\"comment/691\",[]],[\"name/692\",[300,53.832]],[\"comment/692\",[]],[\"name/693\",[301,53.832]],[\"comment/693\",[]],[\"name/694\",[302,53.832]],[\"comment/694\",[]],[\"name/695\",[45,41.102]],[\"comment/695\",[]],[\"name/696\",[46,46.21]],[\"comment/696\",[]],[\"name/697\",[127,39.618]],[\"comment/697\",[]],[\"name/698\",[141,41.102]],[\"comment/698\",[]],[\"name/699\",[280,46.21]],[\"comment/699\",[]],[\"name/700\",[319,51.319]],[\"comment/700\",[]],[\"name/701\",[322,57.197]],[\"comment/701\",[]],[\"name/702\",[292,47.641]],[\"comment/702\",[]],[\"name/703\",[287,44.959]],[\"comment/703\",[]],[\"name/704\",[293,47.641]],[\"comment/704\",[]],[\"name/705\",[294,47.641]],[\"comment/705\",[]],[\"name/706\",[251,44.959]],[\"comment/706\",[]],[\"name/707\",[281,46.21]],[\"comment/707\",[]],[\"name/708\",[144,43.847]],[\"comment/708\",[]],[\"name/709\",[168,44.959]],[\"comment/709\",[]],[\"name/710\",[75,43.847]],[\"comment/710\",[]],[\"name/711\",[74,44.959]],[\"comment/711\",[]],[\"name/712\",[53,44.959]],[\"comment/712\",[]],[\"name/713\",[60,44.959]],[\"comment/713\",[]],[\"name/714\",[147,49.312]],[\"comment/714\",[]],[\"name/715\",[327,57.197]],[\"comment/715\",[]],[\"name/716\",[323,57.197]],[\"comment/716\",[]],[\"name/717\",[324,57.197]],[\"comment/717\",[]],[\"name/718\",[325,57.197]],[\"comment/718\",[]],[\"name/719\",[326,57.197]],[\"comment/719\",[]],[\"name/720\",[328,57.197]],[\"comment/720\",[]],[\"name/721\",[157,53.832]],[\"comment/721\",[]],[\"name/722\",[303,53.832]],[\"comment/722\",[]],[\"name/723\",[306,53.832]],[\"comment/723\",[]],[\"name/724\",[329,57.197]],[\"comment/724\",[]],[\"name/725\",[346,62.305]],[\"comment/725\",[]],[\"name/726\",[345,57.197]],[\"comment/726\",[]],[\"name/727\",[307,53.832]],[\"comment/727\",[]],[\"name/728\",[308,47.641]],[\"comment/728\",[]],[\"name/729\",[330,51.319]],[\"comment/729\",[]],[\"name/730\",[182,51.319]],[\"comment/730\",[]],[\"name/731\",[44,40.333]],[\"comment/731\",[]],[\"name/732\",[308,47.641]],[\"comment/732\",[]],[\"name/733\",[330,51.319]],[\"comment/733\",[]],[\"name/734\",[309,53.832]],[\"comment/734\",[]],[\"name/735\",[310,53.832]],[\"comment/735\",[]],[\"name/736\",[311,53.832]],[\"comment/736\",[]],[\"name/737\",[333,57.197]],[\"comment/737\",[]],[\"name/738\",[334,57.197]],[\"comment/738\",[]],[\"name/739\",[285,51.319]],[\"comment/739\",[]],[\"name/740\",[312,53.832]],[\"comment/740\",[]],[\"name/741\",[44,40.333]],[\"comment/741\",[]],[\"name/742\",[313,53.832]],[\"comment/742\",[]],[\"name/743\",[49,43.847]],[\"comment/743\",[]],[\"name/744\",[314,53.832]],[\"comment/744\",[]],[\"name/745\",[44,40.333]],[\"comment/745\",[]],[\"name/746\",[45,41.102]],[\"comment/746\",[]],[\"name/747\",[46,46.21]],[\"comment/747\",[]],[\"name/748\",[315,53.832]],[\"comment/748\",[]],[\"name/749\",[47,49.312]],[\"comment/749\",[]],[\"name/750\",[48,46.21]],[\"comment/750\",[]],[\"name/751\",[50,49.312]],[\"comment/751\",[]],[\"name/752\",[49,43.847]],[\"comment/752\",[]],[\"name/753\",[316,53.832]],[\"comment/753\",[]],[\"name/754\",[127,39.618]],[\"comment/754\",[]],[\"name/755\",[335,57.197]],[\"comment/755\",[]],[\"name/756\",[119,53.832]],[\"comment/756\",[]],[\"name/757\",[336,57.197]],[\"comment/757\",[]],[\"name/758\",[337,57.197]],[\"comment/758\",[]],[\"name/759\",[347,62.305]],[\"comment/759\",[]],[\"name/760\",[348,62.305]],[\"comment/760\",[]]],\"invertedIndex\":[[\"__type\",{\"_index\":57,\"name\":{\"62\":{},\"64\":{},\"66\":{},\"70\":{},\"72\":{},\"86\":{},\"170\":{},\"236\":{},\"238\":{},\"342\":{},\"356\":{},\"358\":{},\"454\":{},\"457\":{},\"460\":{},\"464\":{},\"466\":{},\"468\":{},\"470\":{},\"475\":{},\"498\":{},\"576\":{},\"682\":{}},\"comment\":{}}],[\"accept\",{\"_index\":162,\"name\":{\"217\":{}},\"comment\":{}}],[\"all\",{\"_index\":265,\"name\":{\"410\":{},\"502\":{},\"580\":{},\"686\":{}},\"comment\":{}}],[\"alternation\",{\"_index\":183,\"name\":{\"254\":{}},\"comment\":{}}],[\"alternatives\",{\"_index\":185,\"name\":{\"257\":{},\"262\":{},\"269\":{},\"287\":{}},\"comment\":{}}],[\"anycharacterset\",{\"_index\":88,\"name\":{\"103\":{}},\"comment\":{}}],[\"append\",{\"_index\":323,\"name\":{\"607\":{},\"716\":{}},\"comment\":{}}],[\"appendinto\",{\"_index\":324,\"name\":{\"608\":{},\"717\":{}},\"comment\":{}}],[\"applyassertions\",{\"_index\":4,\"name\":{\"4\":{}},\"comment\":{}}],[\"approximaterejectingwordset\",{\"_index\":78,\"name\":{\"92\":{}},\"comment\":{}}],[\"assert\",{\"_index\":339,\"name\":{\"656\":{},\"658\":{}},\"comment\":{}}],[\"assertion\",{\"_index\":186,\"name\":{\"259\":{}},\"comment\":{}}],[\"assertions\",{\"_index\":119,\"name\":{\"166\":{},\"652\":{},\"756\":{}},\"comment\":{}}],[\"ast\",{\"_index\":131,\"name\":{\"182\":{}},\"comment\":{}}],[\"backreferences\",{\"_index\":118,\"name\":{\"165\":{}},\"comment\":{}}],[\"boundaryassertion\",{\"_index\":81,\"name\":{\"95\":{}},\"comment\":{}}],[\"builder\",{\"_index\":314,\"name\":{\"546\":{},\"640\":{},\"744\":{}},\"comment\":{}}],[\"canonicalize\",{\"_index\":166,\"name\":{\"235\":{}},\"comment\":{}}],[\"canreachfinal\",{\"_index\":36,\"name\":{\"41\":{}},\"comment\":{}}],[\"char\",{\"_index\":276,\"name\":{\"437\":{}},\"comment\":{}}],[\"characterclass\",{\"_index\":191,\"name\":{\"274\":{}},\"comment\":{}}],[\"characterelement\",{\"_index\":136,\"name\":{\"189\":{}},\"comment\":{}}],[\"characterpropertycharacterset\",{\"_index\":91,\"name\":{\"109\":{}},\"comment\":{}}],[\"characters\",{\"_index\":192,\"name\":{\"277\":{},\"419\":{}},\"comment\":{}}],[\"charbase\",{\"_index\":237,\"name\":{\"362\":{}},\"comment\":{}}],[\"charcasefolding\",{\"_index\":165,\"name\":{\"234\":{}},\"comment\":{}}],[\"charmap\",{\"_index\":252,\"name\":{\"380\":{}},\"comment\":{}}],[\"charrange\",{\"_index\":263,\"name\":{\"405\":{}},\"comment\":{}}],[\"chars\",{\"_index\":161,\"name\":{\"216\":{}},\"comment\":{}}],[\"charset\",{\"_index\":264,\"name\":{\"408\":{}},\"comment\":{}}],[\"clear\",{\"_index\":258,\"name\":{\"394\":{}},\"comment\":{}}],[\"combinedtransformer\",{\"_index\":230,\"name\":{\"343\":{}},\"comment\":{}}],[\"combinetransformers\",{\"_index\":217,\"name\":{\"328\":{}},\"comment\":{}}],[\"commoncharacter\",{\"_index\":275,\"name\":{\"436\":{}},\"comment\":{}}],[\"compare\",{\"_index\":273,\"name\":{\"424\":{}},\"comment\":{}}],[\"complement\",{\"_index\":305,\"name\":{\"530\":{}},\"comment\":{}}],[\"concatenation\",{\"_index\":195,\"name\":{\"289\":{}},\"comment\":{}}],[\"constructor\",{\"_index\":44,\"name\":{\"49\":{},\"344\":{},\"363\":{},\"381\":{},\"536\":{},\"543\":{},\"547\":{},\"625\":{},\"637\":{},\"641\":{},\"731\":{},\"741\":{},\"745\":{}},\"comment\":{}}],[\"copy\",{\"_index\":251,\"name\":{\"379\":{},\"395\":{},\"485\":{},\"526\":{},\"564\":{},\"599\":{},\"670\":{},\"706\":{}},\"comment\":{}}],[\"count\",{\"_index\":33,\"name\":{\"38\":{}},\"comment\":{}}],[\"countnodes\",{\"_index\":294,\"name\":{\"484\":{},\"518\":{},\"563\":{},\"598\":{},\"669\":{},\"705\":{}},\"comment\":{}}],[\"createassertion\",{\"_index\":80,\"name\":{\"94\":{}},\"comment\":{}}],[\"createcharset\",{\"_index\":86,\"name\":{\"101\":{}},\"comment\":{}}],[\"createnode\",{\"_index\":49,\"name\":{\"54\":{},\"459\":{},\"469\":{},\"545\":{},\"554\":{},\"639\":{},\"648\":{},\"743\":{},\"752\":{}},\"comment\":{}}],[\"creationoptions\",{\"_index\":1,\"name\":{\"1\":{}},\"comment\":{}}],[\"delete\",{\"_index\":256,\"name\":{\"392\":{}},\"comment\":{}}],[\"deleterange\",{\"_index\":257,\"name\":{\"393\":{}},\"comment\":{}}],[\"dfa\",{\"_index\":296,\"name\":{\"499\":{},\"532\":{}},\"comment\":{}}],[\"digitcharacterset\",{\"_index\":89,\"name\":{\"105\":{}},\"comment\":{}}],[\"dotall\",{\"_index\":104,\"name\":{\"133\":{},\"144\":{},\"153\":{}},\"comment\":{}}],[\"element\",{\"_index\":180,\"name\":{\"251\":{}},\"comment\":{}}],[\"elements\",{\"_index\":196,\"name\":{\"292\":{}},\"comment\":{}}],[\"empty\",{\"_index\":138,\"name\":{\"191\":{},\"213\":{},\"409\":{},\"500\":{},\"578\":{},\"684\":{}},\"comment\":{}}],[\"emptyword\",{\"_index\":297,\"name\":{\"501\":{},\"579\":{},\"685\":{}},\"comment\":{}}],[\"end\",{\"_index\":179,\"name\":{\"250\":{}},\"comment\":{}}],[\"enfa\",{\"_index\":320,\"name\":{\"577\":{},\"618\":{}},\"comment\":{}}],[\"ensurestableout\",{\"_index\":34,\"name\":{\"39\":{}},\"comment\":{}}],[\"entries\",{\"_index\":249,\"name\":{\"377\":{},\"403\":{}},\"comment\":{}}],[\"entrycount\",{\"_index\":242,\"name\":{\"369\":{},\"384\":{}},\"comment\":{}}],[\"equals\",{\"_index\":146,\"name\":{\"199\":{},\"222\":{},\"423\":{}},\"comment\":{}}],[\"events\",{\"_index\":236,\"name\":{\"361\":{}},\"comment\":{}}],[\"expression\",{\"_index\":126,\"name\":{\"176\":{},\"284\":{}},\"comment\":{}}],[\"fabuilder\",{\"_index\":286,\"name\":{\"461\":{}},\"comment\":{}}],[\"factorout\",{\"_index\":5,\"name\":{\"5\":{}},\"comment\":{}}],[\"factory\",{\"_index\":315,\"name\":{\"550\":{},\"644\":{},\"748\":{}},\"comment\":{}}],[\"faiterator\",{\"_index\":282,\"name\":{\"451\":{}},\"comment\":{}}],[\"faiterators\",{\"_index\":22,\"name\":{\"27\":{}},\"comment\":{}}],[\"fastcharacters\",{\"_index\":101,\"name\":{\"130\":{}},\"comment\":{}}],[\"filter\",{\"_index\":261,\"name\":{\"398\":{}},\"comment\":{}}],[\"filteroutiter\",{\"_index\":31,\"name\":{\"36\":{}},\"comment\":{}}],[\"final\",{\"_index\":318,\"name\":{\"559\":{},\"589\":{},\"643\":{}},\"comment\":{}}],[\"finals\",{\"_index\":46,\"name\":{\"51\":{},\"481\":{},\"511\":{},\"549\":{},\"665\":{},\"696\":{},\"747\":{}},\"comment\":{}}],[\"finiteautomaton\",{\"_index\":279,\"name\":{\"440\":{}},\"comment\":{}}],[\"flags\",{\"_index\":100,\"name\":{\"129\":{},\"159\":{},\"162\":{},\"173\":{},\"183\":{}},\"comment\":{}}],[\"foreach\",{\"_index\":32,\"name\":{\"37\":{},\"374\":{},\"400\":{}},\"comment\":{}}],[\"from\",{\"_index\":139,\"name\":{\"192\":{},\"215\":{}},\"comment\":{}}],[\"fromast\",{\"_index\":130,\"name\":{\"180\":{}},\"comment\":{}}],[\"frombuilder\",{\"_index\":302,\"name\":{\"509\":{},\"587\":{},\"694\":{}},\"comment\":{}}],[\"fromcharacter\",{\"_index\":268,\"name\":{\"413\":{}},\"comment\":{}}],[\"fromcharacters\",{\"_index\":266,\"name\":{\"411\":{}},\"comment\":{}}],[\"fromchars\",{\"_index\":160,\"name\":{\"214\":{}},\"comment\":{}}],[\"fromcharset\",{\"_index\":298,\"name\":{\"503\":{},\"581\":{},\"687\":{}},\"comment\":{}}],[\"fromfa\",{\"_index\":300,\"name\":{\"507\":{},\"585\":{},\"692\":{}},\"comment\":{}}],[\"fromintersection\",{\"_index\":299,\"name\":{\"504\":{},\"688\":{}},\"comment\":{}}],[\"fromliteral\",{\"_index\":129,\"name\":{\"179\":{}},\"comment\":{}}],[\"fromrange\",{\"_index\":267,\"name\":{\"412\":{}},\"comment\":{}}],[\"fromregex\",{\"_index\":321,\"name\":{\"582\":{},\"689\":{}},\"comment\":{}}],[\"fromregexoptions\",{\"_index\":335,\"name\":{\"651\":{},\"755\":{}},\"comment\":{}}],[\"fromstringtounicode\",{\"_index\":172,\"name\":{\"243\":{}},\"comment\":{}}],[\"fromstringtoutf16\",{\"_index\":171,\"name\":{\"242\":{}},\"comment\":{}}],[\"fromtransitioniterator\",{\"_index\":301,\"name\":{\"508\":{},\"586\":{},\"693\":{}},\"comment\":{}}],[\"fromunicodetostring\",{\"_index\":170,\"name\":{\"241\":{}},\"comment\":{}}],[\"fromutf16tostring\",{\"_index\":169,\"name\":{\"240\":{}},\"comment\":{}}],[\"fromword\",{\"_index\":140,\"name\":{\"193\":{}},\"comment\":{}}],[\"fromwords\",{\"_index\":23,\"name\":{\"28\":{},\"505\":{},\"583\":{},\"690\":{}},\"comment\":{}}],[\"fromwordsets\",{\"_index\":24,\"name\":{\"29\":{},\"506\":{},\"584\":{},\"691\":{}},\"comment\":{}}],[\"get\",{\"_index\":246,\"name\":{\"373\":{},\"388\":{}},\"comment\":{}}],[\"getcharcasefolding\",{\"_index\":164,\"name\":{\"233\":{}},\"comment\":{}}],[\"getedgeattributes\",{\"_index\":56,\"name\":{\"61\":{},\"71\":{}},\"comment\":{}}],[\"getgraphattributes\",{\"_index\":58,\"name\":{\"63\":{}},\"comment\":{}}],[\"getid\",{\"_index\":69,\"name\":{\"82\":{}},\"comment\":{}}],[\"getintersectioniterator\",{\"_index\":341,\"name\":{\"659\":{}},\"comment\":{}}],[\"getintersectionwords\",{\"_index\":343,\"name\":{\"662\":{}},\"comment\":{}}],[\"getintersectionwordsets\",{\"_index\":342,\"name\":{\"661\":{}},\"comment\":{}}],[\"getlengthrange\",{\"_index\":158,\"name\":{\"211\":{},\"232\":{}},\"comment\":{}}],[\"getnodeattributes\",{\"_index\":59,\"name\":{\"65\":{},\"69\":{}},\"comment\":{}}],[\"getnumberofoutgoingedges\",{\"_index\":70,\"name\":{\"83\":{}},\"comment\":{}}],[\"getout\",{\"_index\":283,\"name\":{\"453\":{}},\"comment\":{}}],[\"getsinglecharacters\",{\"_index\":155,\"name\":{\"208\":{}},\"comment\":{}}],[\"getunknownid\",{\"_index\":121,\"name\":{\"169\":{}},\"comment\":{}}],[\"global\",{\"_index\":105,\"name\":{\"134\":{},\"145\":{},\"154\":{}},\"comment\":{}}],[\"has\",{\"_index\":243,\"name\":{\"370\":{},\"385\":{},\"430\":{}},\"comment\":{}}],[\"hascycle\",{\"_index\":37,\"name\":{\"42\":{}},\"comment\":{}}],[\"hasemptyword\",{\"_index\":142,\"name\":{\"195\":{},\"220\":{}},\"comment\":{}}],[\"hasevery\",{\"_index\":244,\"name\":{\"371\":{},\"386\":{}},\"comment\":{}}],[\"hasindices\",{\"_index\":106,\"name\":{\"135\":{},\"146\":{},\"155\":{}},\"comment\":{}}],[\"hassinglecharacter\",{\"_index\":143,\"name\":{\"196\":{}},\"comment\":{}}],[\"hassome\",{\"_index\":245,\"name\":{\"372\":{},\"387\":{}},\"comment\":{}}],[\"id\",{\"_index\":194,\"name\":{\"282\":{}},\"comment\":{}}],[\"ignoreambiguity\",{\"_index\":3,\"name\":{\"3\":{},\"16\":{},\"23\":{}},\"comment\":{}}],[\"ignorecase\",{\"_index\":107,\"name\":{\"136\":{},\"147\":{},\"156\":{}},\"comment\":{}}],[\"ignoreorder\",{\"_index\":2,\"name\":{\"2\":{},\"15\":{},\"22\":{}},\"comment\":{}}],[\"in\",{\"_index\":330,\"name\":{\"621\":{},\"627\":{},\"729\":{},\"733\":{}},\"comment\":{}}],[\"infinitythreshold\",{\"_index\":337,\"name\":{\"654\":{},\"758\":{}},\"comment\":{}}],[\"initial\",{\"_index\":45,\"name\":{\"50\":{},\"452\":{},\"462\":{},\"480\":{},\"510\":{},\"548\":{},\"558\":{},\"588\":{},\"642\":{},\"664\":{},\"695\":{},\"746\":{}},\"comment\":{}}],[\"inline\",{\"_index\":6,\"name\":{\"6\":{},\"13\":{}},\"comment\":{}}],[\"intersect\",{\"_index\":148,\"name\":{\"201\":{},\"225\":{},\"428\":{}},\"comment\":{}}],[\"intersection\",{\"_index\":25,\"name\":{\"30\":{}},\"comment\":{}}],[\"invert\",{\"_index\":250,\"name\":{\"378\":{},\"399\":{}},\"comment\":{}}],[\"isall\",{\"_index\":270,\"name\":{\"417\":{}},\"comment\":{}}],[\"iscompatiblewith\",{\"_index\":145,\"name\":{\"198\":{},\"223\":{}},\"comment\":{}}],[\"isdisjointwith\",{\"_index\":154,\"name\":{\"207\":{},\"231\":{},\"435\":{},\"660\":{}},\"comment\":{}}],[\"isempty\",{\"_index\":141,\"name\":{\"194\":{},\"219\":{},\"367\":{},\"382\":{},\"416\":{},\"441\":{},\"487\":{},\"513\":{},\"565\":{},\"591\":{},\"671\":{},\"698\":{}},\"comment\":{}}],[\"isfinal\",{\"_index\":48,\"name\":{\"53\":{},\"81\":{},\"456\":{},\"465\":{},\"552\":{},\"646\":{},\"750\":{}},\"comment\":{}}],[\"isfinite\",{\"_index\":280,\"name\":{\"442\":{},\"488\":{},\"514\":{},\"566\":{},\"592\":{},\"672\":{},\"699\":{}},\"comment\":{}}],[\"isflags\",{\"_index\":102,\"name\":{\"131\":{}},\"comment\":{}}],[\"isinitial\",{\"_index\":68,\"name\":{\"80\":{}},\"comment\":{}}],[\"isnormalized\",{\"_index\":319,\"name\":{\"560\":{},\"593\":{},\"666\":{},\"700\":{}},\"comment\":{}}],[\"ispropersubsetof\",{\"_index\":153,\"name\":{\"206\":{},\"230\":{},\"434\":{}},\"comment\":{}}],[\"ispropersupersetof\",{\"_index\":152,\"name\":{\"205\":{},\"229\":{},\"433\":{}},\"comment\":{}}],[\"issubsetof\",{\"_index\":151,\"name\":{\"204\":{},\"228\":{},\"432\":{}},\"comment\":{}}],[\"issupersetof\",{\"_index\":150,\"name\":{\"203\":{},\"227\":{},\"431\":{}},\"comment\":{}}],[\"iteratestates\",{\"_index\":35,\"name\":{\"40\":{}},\"comment\":{}}],[\"iteratewordsets\",{\"_index\":76,\"name\":{\"90\":{}},\"comment\":{}}],[\"iterator\",{\"_index\":262,\"name\":{\"404\":{}},\"comment\":{}}],[\"js\",{\"_index\":79,\"name\":{\"93\":{}},\"comment\":{}}],[\"key\",{\"_index\":92,\"name\":{\"111\":{},\"117\":{}},\"comment\":{}}],[\"keys\",{\"_index\":247,\"name\":{\"375\":{},\"401\":{}},\"comment\":{}}],[\"kind\",{\"_index\":83,\"name\":{\"97\":{},\"100\":{},\"104\":{},\"106\":{},\"110\":{},\"116\":{},\"122\":{},\"125\":{},\"263\":{}},\"comment\":{}}],[\"label\",{\"_index\":63,\"name\":{\"74\":{},\"77\":{}},\"comment\":{}}],[\"languageisfinite\",{\"_index\":38,\"name\":{\"43\":{}},\"comment\":{}}],[\"lazy\",{\"_index\":188,\"name\":{\"270\":{}},\"comment\":{}}],[\"length\",{\"_index\":66,\"name\":{\"78\":{}},\"comment\":{}}],[\"limit\",{\"_index\":313,\"name\":{\"544\":{},\"638\":{},\"742\":{}},\"comment\":{}}],[\"limitednodefactory\",{\"_index\":312,\"name\":{\"542\":{},\"636\":{},\"740\":{}},\"comment\":{}}],[\"link\",{\"_index\":309,\"name\":{\"538\":{},\"628\":{},\"734\":{}},\"comment\":{}}],[\"linknodes\",{\"_index\":50,\"name\":{\"55\":{},\"467\":{},\"553\":{},\"647\":{},\"751\":{}},\"comment\":{}}],[\"literal\",{\"_index\":114,\"name\":{\"160\":{},\"181\":{}},\"comment\":{}}],[\"makedeterministic\",{\"_index\":42,\"name\":{\"47\":{}},\"comment\":{}}],[\"makefinal\",{\"_index\":47,\"name\":{\"52\":{},\"463\":{},\"551\":{},\"645\":{},\"749\":{}},\"comment\":{}}],[\"makegreedy\",{\"_index\":7,\"name\":{\"7\":{}},\"comment\":{}}],[\"makeinitialfinal\",{\"_index\":39,\"name\":{\"44\":{}},\"comment\":{}}],[\"makeinitialnonfinal\",{\"_index\":40,\"name\":{\"45\":{}},\"comment\":{}}],[\"map\",{\"_index\":259,\"name\":{\"396\":{}},\"comment\":{}}],[\"mapfabuilder\",{\"_index\":43,\"name\":{\"48\":{}},\"comment\":{}}],[\"mapfabuildernode\",{\"_index\":51,\"name\":{\"56\":{}},\"comment\":{}}],[\"mapout\",{\"_index\":29,\"name\":{\"34\":{}},\"comment\":{}}],[\"mapoutiter\",{\"_index\":30,\"name\":{\"35\":{}},\"comment\":{}}],[\"maprange\",{\"_index\":260,\"name\":{\"397\":{}},\"comment\":{}}],[\"max\",{\"_index\":190,\"name\":{\"272\":{},\"407\":{}},\"comment\":{}}],[\"maxbackreferencewords\",{\"_index\":117,\"name\":{\"164\":{}},\"comment\":{}}],[\"maxcharacter\",{\"_index\":127,\"name\":{\"177\":{},\"184\":{},\"340\":{},\"443\":{},\"473\":{},\"489\":{},\"512\":{},\"556\":{},\"567\":{},\"590\":{},\"650\":{},\"673\":{},\"697\":{},\"754\":{}},\"comment\":{}}],[\"maxcharactererror\",{\"_index\":338,\"name\":{\"655\":{}},\"comment\":{}}],[\"maximum\",{\"_index\":163,\"name\":{\"218\":{},\"414\":{}},\"comment\":{}}],[\"maxnodes\",{\"_index\":120,\"name\":{\"168\":{},\"477\":{}},\"comment\":{}}],[\"maxoptimizationpasses\",{\"_index\":290,\"name\":{\"478\":{}},\"comment\":{}}],[\"maxpasses\",{\"_index\":235,\"name\":{\"360\":{}},\"comment\":{}}],[\"mergewithquantifier\",{\"_index\":8,\"name\":{\"8\":{}},\"comment\":{}}],[\"mermaidedge\",{\"_index\":65,\"name\":{\"76\":{}},\"comment\":{}}],[\"mermaidnode\",{\"_index\":62,\"name\":{\"73\":{}},\"comment\":{}}],[\"min\",{\"_index\":189,\"name\":{\"271\":{},\"406\":{}},\"comment\":{}}],[\"minimize\",{\"_index\":304,\"name\":{\"529\":{}},\"comment\":{}}],[\"moveupempty\",{\"_index\":9,\"name\":{\"9\":{}},\"comment\":{}}],[\"multiline\",{\"_index\":108,\"name\":{\"137\":{},\"148\":{},\"157\":{}},\"comment\":{}}],[\"name\",{\"_index\":220,\"name\":{\"331\":{},\"345\":{}},\"comment\":{}}],[\"negate\",{\"_index\":84,\"name\":{\"98\":{},\"107\":{},\"114\":{},\"120\":{},\"123\":{},\"126\":{},\"264\":{},\"426\":{}},\"comment\":{}}],[\"nestedquantifiers\",{\"_index\":10,\"name\":{\"10\":{}},\"comment\":{}}],[\"nfa\",{\"_index\":345,\"name\":{\"683\":{},\"726\":{}},\"comment\":{}}],[\"node\",{\"_index\":182,\"name\":{\"253\":{},\"535\":{},\"624\":{},\"730\":{}},\"comment\":{}}],[\"nodefactory\",{\"_index\":285,\"name\":{\"458\":{},\"541\":{},\"635\":{},\"739\":{}},\"comment\":{}}],[\"nodeinfo\",{\"_index\":67,\"name\":{\"79\":{}},\"comment\":{}}],[\"nodes\",{\"_index\":293,\"name\":{\"483\":{},\"517\":{},\"562\":{},\"597\":{},\"668\":{},\"704\":{}},\"comment\":{}}],[\"nonunicodesetsflags\",{\"_index\":112,\"name\":{\"141\":{}},\"comment\":{}}],[\"noparent\",{\"_index\":197,\"name\":{\"294\":{}},\"comment\":{}}],[\"normalize\",{\"_index\":322,\"name\":{\"594\":{},\"701\":{}},\"comment\":{}}],[\"onalternation\",{\"_index\":221,\"name\":{\"332\":{},\"347\":{}},\"comment\":{}}],[\"onalternationenter\",{\"_index\":202,\"name\":{\"299\":{},\"314\":{}},\"comment\":{}}],[\"onalternationleave\",{\"_index\":203,\"name\":{\"300\":{},\"315\":{}},\"comment\":{}}],[\"onassertion\",{\"_index\":222,\"name\":{\"333\":{},\"348\":{}},\"comment\":{}}],[\"onassertionenter\",{\"_index\":204,\"name\":{\"301\":{},\"316\":{}},\"comment\":{}}],[\"onassertionleave\",{\"_index\":205,\"name\":{\"302\":{},\"317\":{}},\"comment\":{}}],[\"onchange\",{\"_index\":233,\"name\":{\"357\":{}},\"comment\":{}}],[\"oncharacterclass\",{\"_index\":223,\"name\":{\"334\":{},\"349\":{}},\"comment\":{}}],[\"oncharacterclassenter\",{\"_index\":206,\"name\":{\"303\":{},\"318\":{}},\"comment\":{}}],[\"oncharacterclassleave\",{\"_index\":207,\"name\":{\"304\":{},\"319\":{}},\"comment\":{}}],[\"onconcatenation\",{\"_index\":224,\"name\":{\"335\":{},\"350\":{}},\"comment\":{}}],[\"onconcatenationenter\",{\"_index\":208,\"name\":{\"305\":{},\"320\":{}},\"comment\":{}}],[\"onconcatenationleave\",{\"_index\":209,\"name\":{\"306\":{},\"321\":{}},\"comment\":{}}],[\"onexpression\",{\"_index\":225,\"name\":{\"336\":{},\"351\":{}},\"comment\":{}}],[\"onexpressionenter\",{\"_index\":210,\"name\":{\"307\":{},\"322\":{}},\"comment\":{}}],[\"onexpressionleave\",{\"_index\":211,\"name\":{\"308\":{},\"323\":{}},\"comment\":{}}],[\"onpassstart\",{\"_index\":232,\"name\":{\"355\":{}},\"comment\":{}}],[\"onquantifier\",{\"_index\":226,\"name\":{\"337\":{},\"352\":{}},\"comment\":{}}],[\"onquantifierenter\",{\"_index\":212,\"name\":{\"309\":{},\"324\":{}},\"comment\":{}}],[\"onquantifierleave\",{\"_index\":213,\"name\":{\"310\":{},\"325\":{}},\"comment\":{}}],[\"onunknown\",{\"_index\":227,\"name\":{\"338\":{},\"353\":{}},\"comment\":{}}],[\"onunknownenter\",{\"_index\":214,\"name\":{\"311\":{},\"326\":{}},\"comment\":{}}],[\"onunknownleave\",{\"_index\":215,\"name\":{\"312\":{},\"327\":{}},\"comment\":{}}],[\"options\",{\"_index\":316,\"name\":{\"555\":{},\"649\":{},\"753\":{}},\"comment\":{}}],[\"ordered\",{\"_index\":73,\"name\":{\"87\":{}},\"comment\":{}}],[\"out\",{\"_index\":308,\"name\":{\"534\":{},\"537\":{},\"620\":{},\"626\":{},\"728\":{},\"732\":{}},\"comment\":{}}],[\"parent\",{\"_index\":181,\"name\":{\"252\":{},\"256\":{},\"261\":{},\"268\":{},\"276\":{},\"281\":{},\"286\":{},\"291\":{}},\"comment\":{}}],[\"parsableelement\",{\"_index\":124,\"name\":{\"174\":{}},\"comment\":{}}],[\"parse\",{\"_index\":132,\"name\":{\"185\":{}},\"comment\":{}}],[\"parsecharset\",{\"_index\":135,\"name\":{\"188\":{}},\"comment\":{}}],[\"parseelement\",{\"_index\":133,\"name\":{\"186\":{}},\"comment\":{}}],[\"parseoptions\",{\"_index\":116,\"name\":{\"163\":{}},\"comment\":{}}],[\"parser\",{\"_index\":128,\"name\":{\"178\":{}},\"comment\":{}}],[\"parseresult\",{\"_index\":125,\"name\":{\"175\":{}},\"comment\":{}}],[\"parseunicodeset\",{\"_index\":134,\"name\":{\"187\":{}},\"comment\":{}}],[\"pattern\",{\"_index\":123,\"name\":{\"172\":{}},\"comment\":{}}],[\"patternedgeassertions\",{\"_index\":11,\"name\":{\"11\":{}},\"comment\":{}}],[\"patternedgeassertionscreationoptions\",{\"_index\":12,\"name\":{\"12\":{}},\"comment\":{}}],[\"pickmostreadablecharacter\",{\"_index\":173,\"name\":{\"244\":{}},\"comment\":{}}],[\"pickmostreadableword\",{\"_index\":174,\"name\":{\"245\":{}},\"comment\":{}}],[\"predefinedcharacterset\",{\"_index\":87,\"name\":{\"102\":{}},\"comment\":{}}],[\"prefixes\",{\"_index\":306,\"name\":{\"531\":{},\"616\":{},\"723\":{}},\"comment\":{}}],[\"prepend\",{\"_index\":325,\"name\":{\"609\":{},\"718\":{}},\"comment\":{}}],[\"prependinto\",{\"_index\":326,\"name\":{\"610\":{},\"719\":{}},\"comment\":{}}],[\"propertycharacterset\",{\"_index\":90,\"name\":{\"108\":{}},\"comment\":{}}],[\"quantifier\",{\"_index\":187,\"name\":{\"266\":{}},\"comment\":{}}],[\"quantify\",{\"_index\":328,\"name\":{\"613\":{},\"720\":{}},\"comment\":{}}],[\"ranges\",{\"_index\":269,\"name\":{\"415\":{}},\"comment\":{}}],[\"reachableviaepsilon\",{\"_index\":332,\"name\":{\"623\":{},\"634\":{}},\"comment\":{}}],[\"readonlycharmap\",{\"_index\":240,\"name\":{\"366\":{}},\"comment\":{}}],[\"readonlydfa\",{\"_index\":291,\"name\":{\"479\":{}},\"comment\":{}}],[\"readonlyenfa\",{\"_index\":317,\"name\":{\"557\":{}},\"comment\":{}}],[\"readonlynfa\",{\"_index\":344,\"name\":{\"663\":{}},\"comment\":{}}],[\"readonlynode\",{\"_index\":307,\"name\":{\"533\":{},\"619\":{},\"727\":{}},\"comment\":{}}],[\"readonlyword\",{\"_index\":278,\"name\":{\"439\":{}},\"comment\":{}}],[\"readonlywordset\",{\"_index\":348,\"name\":{\"760\":{}},\"comment\":{}}],[\"regexppast\",{\"_index\":122,\"name\":{\"171\":{}},\"comment\":{}}],[\"remove\",{\"_index\":13,\"name\":{\"14\":{}},\"comment\":{}}],[\"removeassertionscreationoptions\",{\"_index\":17,\"name\":{\"20\":{}},\"comment\":{}}],[\"removedeadbranches\",{\"_index\":14,\"name\":{\"17\":{}},\"comment\":{}}],[\"removedeadstates\",{\"_index\":52,\"name\":{\"57\":{}},\"comment\":{}}],[\"removeunnecessaryassertions\",{\"_index\":15,\"name\":{\"18\":{}},\"comment\":{}}],[\"removeunreachable\",{\"_index\":303,\"name\":{\"528\":{},\"615\":{},\"722\":{}},\"comment\":{}}],[\"replaceassertions\",{\"_index\":16,\"name\":{\"19\":{}},\"comment\":{}}],[\"replacement\",{\"_index\":18,\"name\":{\"21\":{}},\"comment\":{}}],[\"resize\",{\"_index\":274,\"name\":{\"425\":{}},\"comment\":{}}],[\"resolveepsilon\",{\"_index\":331,\"name\":{\"622\":{},\"633\":{}},\"comment\":{}}],[\"reverse\",{\"_index\":346,\"name\":{\"725\":{}},\"comment\":{}}],[\"set\",{\"_index\":253,\"name\":{\"389\":{}},\"comment\":{}}],[\"setcharset\",{\"_index\":255,\"name\":{\"391\":{}},\"comment\":{}}],[\"setparent\",{\"_index\":198,\"name\":{\"295\":{}},\"comment\":{}}],[\"setrange\",{\"_index\":254,\"name\":{\"390\":{}},\"comment\":{}}],[\"sets\",{\"_index\":238,\"name\":{\"364\":{}},\"comment\":{}}],[\"setsource\",{\"_index\":199,\"name\":{\"296\":{}},\"comment\":{}}],[\"shape\",{\"_index\":64,\"name\":{\"75\":{}},\"comment\":{}}],[\"shortestacceptingpath\",{\"_index\":41,\"name\":{\"46\":{}},\"comment\":{}}],[\"shortestwordset\",{\"_index\":77,\"name\":{\"91\":{}},\"comment\":{}}],[\"signalmutation\",{\"_index\":229,\"name\":{\"341\":{}},\"comment\":{}}],[\"simpleprintoptions\",{\"_index\":71,\"name\":{\"84\":{}},\"comment\":{}}],[\"simplify\",{\"_index\":21,\"name\":{\"26\":{},\"167\":{}},\"comment\":{}}],[\"size\",{\"_index\":241,\"name\":{\"368\":{},\"383\":{},\"418\":{}},\"comment\":{}}],[\"sortassertions\",{\"_index\":19,\"name\":{\"24\":{}},\"comment\":{}}],[\"source\",{\"_index\":115,\"name\":{\"161\":{},\"258\":{},\"265\":{},\"273\":{},\"278\":{},\"283\":{},\"288\":{},\"293\":{}},\"comment\":{}}],[\"sourcelocation\",{\"_index\":177,\"name\":{\"248\":{}},\"comment\":{}}],[\"spacecharacterset\",{\"_index\":96,\"name\":{\"121\":{}},\"comment\":{}}],[\"split\",{\"_index\":239,\"name\":{\"365\":{}},\"comment\":{}}],[\"stableout\",{\"_index\":284,\"name\":{\"455\":{}},\"comment\":{}}],[\"start\",{\"_index\":178,\"name\":{\"249\":{}},\"comment\":{}}],[\"stateiterator\",{\"_index\":292,\"name\":{\"482\":{},\"515\":{},\"561\":{},\"595\":{},\"667\":{},\"702\":{}},\"comment\":{}}],[\"sticky\",{\"_index\":109,\"name\":{\"138\":{},\"149\":{},\"158\":{}},\"comment\":{}}],[\"stringpropertycharacterset\",{\"_index\":95,\"name\":{\"115\":{}},\"comment\":{}}],[\"strings\",{\"_index\":94,\"name\":{\"113\":{},\"119\":{}},\"comment\":{}}],[\"stringset\",{\"_index\":137,\"name\":{\"190\":{}},\"comment\":{}}],[\"structurallyequal\",{\"_index\":295,\"name\":{\"486\":{},\"527\":{}},\"comment\":{}}],[\"suffixes\",{\"_index\":329,\"name\":{\"617\":{},\"724\":{}},\"comment\":{}}],[\"test\",{\"_index\":281,\"name\":{\"444\":{},\"490\":{},\"519\":{},\"568\":{},\"600\":{},\"674\":{},\"707\":{}},\"comment\":{}}],[\"textboundaryassertion\",{\"_index\":85,\"name\":{\"99\":{}},\"comment\":{}}],[\"tocharset\",{\"_index\":167,\"name\":{\"237\":{}},\"comment\":{}}],[\"todot\",{\"_index\":53,\"name\":{\"58\":{},\"449\":{},\"495\":{},\"524\":{},\"573\":{},\"605\":{},\"679\":{},\"712\":{}},\"comment\":{}}],[\"todotattrs\",{\"_index\":54,\"name\":{\"59\":{}},\"comment\":{}}],[\"todotoptions\",{\"_index\":55,\"name\":{\"60\":{}},\"comment\":{}}],[\"toliteral\",{\"_index\":98,\"name\":{\"127\":{}},\"comment\":{}}],[\"toliteraloptions\",{\"_index\":99,\"name\":{\"128\":{}},\"comment\":{}}],[\"tomermaid\",{\"_index\":60,\"name\":{\"67\":{},\"450\":{},\"496\":{},\"525\":{},\"574\":{},\"606\":{},\"680\":{},\"713\":{}},\"comment\":{}}],[\"tomermaidoptions\",{\"_index\":61,\"name\":{\"68\":{}},\"comment\":{}}],[\"toomanynodeserror\",{\"_index\":340,\"name\":{\"657\":{}},\"comment\":{}}],[\"torangesstring\",{\"_index\":271,\"name\":{\"421\":{}},\"comment\":{}}],[\"toregex\",{\"_index\":74,\"name\":{\"88\":{},\"448\":{},\"494\":{},\"523\":{},\"572\":{},\"604\":{},\"678\":{},\"711\":{}},\"comment\":{}}],[\"toregexoptions\",{\"_index\":289,\"name\":{\"476\":{}},\"comment\":{}}],[\"tostring\",{\"_index\":75,\"name\":{\"89\":{},\"420\":{},\"447\":{},\"493\":{},\"522\":{},\"571\":{},\"603\":{},\"677\":{},\"710\":{}},\"comment\":{}}],[\"tounicodestring\",{\"_index\":272,\"name\":{\"422\":{}},\"comment\":{}}],[\"transform\",{\"_index\":218,\"name\":{\"329\":{}},\"comment\":{}}],[\"transformcontext\",{\"_index\":228,\"name\":{\"339\":{}},\"comment\":{}}],[\"transformer\",{\"_index\":219,\"name\":{\"330\":{}},\"comment\":{}}],[\"transformers\",{\"_index\":0,\"name\":{\"0\":{},\"346\":{}},\"comment\":{}}],[\"transformevents\",{\"_index\":231,\"name\":{\"354\":{}},\"comment\":{}}],[\"transformoptions\",{\"_index\":234,\"name\":{\"359\":{}},\"comment\":{}}],[\"transitioniterable\",{\"_index\":288,\"name\":{\"472\":{}},\"comment\":{}}],[\"transitioniterator\",{\"_index\":287,\"name\":{\"471\":{},\"474\":{},\"497\":{},\"516\":{},\"575\":{},\"596\":{},\"681\":{},\"703\":{}},\"comment\":{}}],[\"transitiontostring\",{\"_index\":72,\"name\":{\"85\":{}},\"comment\":{}}],[\"type\",{\"_index\":184,\"name\":{\"255\":{},\"260\":{},\"267\":{},\"275\":{},\"280\":{},\"285\":{},\"290\":{}},\"comment\":{}}],[\"uncheckedflags\",{\"_index\":103,\"name\":{\"132\":{}},\"comment\":{}}],[\"unicode\",{\"_index\":110,\"name\":{\"139\":{},\"142\":{},\"151\":{}},\"comment\":{}}],[\"unicodeset\",{\"_index\":159,\"name\":{\"212\":{}},\"comment\":{}}],[\"unicodesets\",{\"_index\":111,\"name\":{\"140\":{},\"143\":{},\"152\":{}},\"comment\":{}}],[\"unicodesetsflags\",{\"_index\":113,\"name\":{\"150\":{}},\"comment\":{}}],[\"union\",{\"_index\":147,\"name\":{\"200\":{},\"224\":{},\"427\":{},\"611\":{},\"714\":{}},\"comment\":{}}],[\"unioncharacters\",{\"_index\":20,\"name\":{\"25\":{}},\"comment\":{}}],[\"unioninto\",{\"_index\":327,\"name\":{\"612\":{},\"715\":{}},\"comment\":{}}],[\"unknown\",{\"_index\":193,\"name\":{\"279\":{}},\"comment\":{}}],[\"unknowns\",{\"_index\":336,\"name\":{\"653\":{},\"757\":{}},\"comment\":{}}],[\"unlink\",{\"_index\":310,\"name\":{\"539\":{},\"629\":{},\"735\":{}},\"comment\":{}}],[\"unlinkall\",{\"_index\":311,\"name\":{\"540\":{},\"630\":{},\"736\":{}},\"comment\":{}}],[\"unlinkallin\",{\"_index\":334,\"name\":{\"632\":{},\"738\":{}},\"comment\":{}}],[\"unlinkallout\",{\"_index\":333,\"name\":{\"631\":{},\"737\":{}},\"comment\":{}}],[\"value\",{\"_index\":93,\"name\":{\"112\":{},\"118\":{}},\"comment\":{}}],[\"values\",{\"_index\":248,\"name\":{\"376\":{},\"402\":{}},\"comment\":{}}],[\"visitast\",{\"_index\":200,\"name\":{\"297\":{}},\"comment\":{}}],[\"visitasthandler\",{\"_index\":201,\"name\":{\"298\":{}},\"comment\":{}}],[\"visitnoparentasthandler\",{\"_index\":216,\"name\":{\"313\":{}},\"comment\":{}}],[\"withgetout\",{\"_index\":27,\"name\":{\"32\":{}},\"comment\":{}}],[\"withinitial\",{\"_index\":26,\"name\":{\"31\":{}},\"comment\":{}}],[\"withisfinal\",{\"_index\":28,\"name\":{\"33\":{}},\"comment\":{}}],[\"without\",{\"_index\":149,\"name\":{\"202\":{},\"226\":{},\"429\":{}},\"comment\":{}}],[\"withoutemptyword\",{\"_index\":157,\"name\":{\"210\":{},\"614\":{},\"721\":{}},\"comment\":{}}],[\"withoutsinglecharacters\",{\"_index\":156,\"name\":{\"209\":{}},\"comment\":{}}],[\"word\",{\"_index\":277,\"name\":{\"438\":{}},\"comment\":{}}],[\"wordboundaryassertion\",{\"_index\":82,\"name\":{\"96\":{}},\"comment\":{}}],[\"wordcharacterset\",{\"_index\":97,\"name\":{\"124\":{}},\"comment\":{}}],[\"words\",{\"_index\":168,\"name\":{\"239\":{},\"445\":{},\"491\":{},\"521\":{},\"569\":{},\"602\":{},\"675\":{},\"709\":{}},\"comment\":{}}],[\"wordset\",{\"_index\":347,\"name\":{\"759\":{}},\"comment\":{}}],[\"wordsets\",{\"_index\":144,\"name\":{\"197\":{},\"221\":{},\"446\":{},\"492\":{},\"520\":{},\"570\":{},\"601\":{},\"676\":{},\"708\":{}},\"comment\":{}}],[\"wordsetstowords\",{\"_index\":175,\"name\":{\"246\":{}},\"comment\":{}}],[\"wordsettowords\",{\"_index\":176,\"name\":{\"247\":{}},\"comment\":{}}]],\"pipeline\":[]}}"); \ No newline at end of file diff --git a/docs/v0.12.1/assets/style.css b/docs/v0.12.1/assets/style.css new file mode 100644 index 0000000..18b4f8f --- /dev/null +++ b/docs/v0.12.1/assets/style.css @@ -0,0 +1,1367 @@ +:root { + /* Light */ + --light-color-background: #f2f4f8; + --light-color-background-secondary: #eff0f1; + --light-color-warning-text: #222; + --light-color-background-warning: #e6e600; + --light-color-icon-background: var(--light-color-background); + --light-color-accent: #c5c7c9; + --light-color-active-menu-item: var(--light-color-accent); + --light-color-text: #222; + --light-color-text-aside: #6e6e6e; + --light-color-link: #1f70c2; + + --light-color-ts-project: #b111c9; + --light-color-ts-module: var(--light-color-ts-project); + --light-color-ts-namespace: var(--light-color-ts-project); + --light-color-ts-enum: #7e6f15; + --light-color-ts-enum-member: var(--light-color-ts-enum); + --light-color-ts-variable: #4760ec; + --light-color-ts-function: #572be7; + --light-color-ts-class: #1f70c2; + --light-color-ts-interface: #108024; + --light-color-ts-constructor: var(--light-color-ts-class); + --light-color-ts-property: var(--light-color-ts-variable); + --light-color-ts-method: var(--light-color-ts-function); + --light-color-ts-call-signature: var(--light-color-ts-method); + --light-color-ts-index-signature: var(--light-color-ts-property); + --light-color-ts-constructor-signature: var(--light-color-ts-constructor); + --light-color-ts-parameter: var(--light-color-ts-variable); + /* type literal not included as links will never be generated to it */ + --light-color-ts-type-parameter: var(--light-color-ts-type-alias); + --light-color-ts-accessor: var(--light-color-ts-property); + --light-color-ts-get-signature: var(--light-color-ts-accessor); + --light-color-ts-set-signature: var(--light-color-ts-accessor); + /* object literal not included as it is not used and will be removed in 0.25 */ + --light-color-ts-type-alias: #d51270; + /* reference not included as links will be colored with the kind that it points to */ + + --light-external-icon: url("data:image/svg+xml;utf8,"); + --light-color-scheme: light; + + /* Dark */ + --dark-color-background: #2b2e33; + --dark-color-background-secondary: #1e2024; + --dark-color-background-warning: #bebe00; + --dark-color-warning-text: #222; + --dark-color-icon-background: var(--dark-color-background-secondary); + --dark-color-accent: #9096a2; + --dark-color-active-menu-item: #5d5d6a; + --dark-color-text: #f5f5f5; + --dark-color-text-aside: #dddddd; + --dark-color-link: #00aff4; + + --dark-color-ts-project: #e358ff; + --dark-color-ts-module: var(--dark-color-ts-project); + --dark-color-ts-namespace: var(--dark-color-ts-project); + --dark-color-ts-enum: #f4d93e; + --dark-color-ts-enum-member: var(--dark-color-ts-enum); + --dark-color-ts-variable: #798dff; + --dark-color-ts-function: #a280ff; + --dark-color-ts-class: #8ac4ff; + --dark-color-ts-interface: #6cff87; + --dark-color-ts-constructor: var(--dark-color-ts-class); + --dark-color-ts-property: var(--dark-color-ts-variable); + --dark-color-ts-method: var(--dark-color-ts-function); + --dark-color-ts-call-signature: var(--dark-color-ts-method); + --dark-color-ts-index-signature: var(--dark-color-ts-property); + --dark-color-ts-constructor-signature: var(--dark-color-ts-constructor); + --dark-color-ts-parameter: var(--dark-color-ts-variable); + /* type literal not included as links will never be generated to it */ + --dark-color-ts-type-parameter: var(--dark-color-ts-type-alias); + --dark-color-ts-accessor: var(--dark-color-ts-property); + --dark-color-ts-get-signature: var(--dark-color-ts-accessor); + --dark-color-ts-set-signature: var(--dark-color-ts-accessor); + /* object literal not included as it is not used and will be removed in 0.25 */ + --dark-color-ts-type-alias: #ff6492; + /* reference not included as links will be colored with the kind that it points to */ + + --dark-external-icon: url("data:image/svg+xml;utf8,"); + --dark-color-scheme: dark; +} + +@media (prefers-color-scheme: light) { + :root { + --color-background: var(--light-color-background); + --color-background-secondary: var(--light-color-background-secondary); + --color-background-warning: var(--light-color-background-warning); + --color-warning-text: var(--light-color-warning-text); + --color-icon-background: var(--light-color-icon-background); + --color-accent: var(--light-color-accent); + --color-active-menu-item: var(--light-color-active-menu-item); + --color-text: var(--light-color-text); + --color-text-aside: var(--light-color-text-aside); + --color-link: var(--light-color-link); + + --color-ts-module: var(--light-color-ts-module); + --color-ts-namespace: var(--light-color-ts-namespace); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-enum-member: var(--light-color-ts-enum-member); + --color-ts-variable: var(--light-color-ts-variable); + --color-ts-function: var(--light-color-ts-function); + --color-ts-class: var(--light-color-ts-class); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-constructor: var(--light-color-ts-constructor); + --color-ts-property: var(--light-color-ts-property); + --color-ts-method: var(--light-color-ts-method); + --color-ts-call-signature: var(--light-color-ts-call-signature); + --color-ts-index-signature: var(--light-color-ts-index-signature); + --color-ts-constructor-signature: var( + --light-color-ts-constructor-signature + ); + --color-ts-parameter: var(--light-color-ts-parameter); + --color-ts-type-parameter: var(--light-color-ts-type-parameter); + --color-ts-accessor: var(--light-color-ts-accessor); + --color-ts-get-signature: var(--light-color-ts-get-signature); + --color-ts-set-signature: var(--light-color-ts-set-signature); + --color-ts-type-alias: var(--light-color-ts-type-alias); + + --external-icon: var(--light-external-icon); + --color-scheme: var(--light-color-scheme); + } +} + +@media (prefers-color-scheme: dark) { + :root { + --color-background: var(--dark-color-background); + --color-background-secondary: var(--dark-color-background-secondary); + --color-background-warning: var(--dark-color-background-warning); + --color-warning-text: var(--dark-color-warning-text); + --color-icon-background: var(--dark-color-icon-background); + --color-accent: var(--dark-color-accent); + --color-active-menu-item: var(--dark-color-active-menu-item); + --color-text: var(--dark-color-text); + --color-text-aside: var(--dark-color-text-aside); + --color-link: var(--dark-color-link); + + --color-ts-module: var(--dark-color-ts-module); + --color-ts-namespace: var(--dark-color-ts-namespace); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-enum-member: var(--dark-color-ts-enum-member); + --color-ts-variable: var(--dark-color-ts-variable); + --color-ts-function: var(--dark-color-ts-function); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-constructor: var(--dark-color-ts-constructor); + --color-ts-property: var(--dark-color-ts-property); + --color-ts-method: var(--dark-color-ts-method); + --color-ts-call-signature: var(--dark-color-ts-call-signature); + --color-ts-index-signature: var(--dark-color-ts-index-signature); + --color-ts-constructor-signature: var( + --dark-color-ts-constructor-signature + ); + --color-ts-parameter: var(--dark-color-ts-parameter); + --color-ts-type-parameter: var(--dark-color-ts-type-parameter); + --color-ts-accessor: var(--dark-color-ts-accessor); + --color-ts-get-signature: var(--dark-color-ts-get-signature); + --color-ts-set-signature: var(--dark-color-ts-set-signature); + --color-ts-type-alias: var(--dark-color-ts-type-alias); + + --external-icon: var(--dark-external-icon); + --color-scheme: var(--dark-color-scheme); + } +} + +html { + color-scheme: var(--color-scheme); +} + +body { + margin: 0; +} + +:root[data-theme="light"] { + --color-background: var(--light-color-background); + --color-background-secondary: var(--light-color-background-secondary); + --color-background-warning: var(--light-color-background-warning); + --color-warning-text: var(--light-color-warning-text); + --color-icon-background: var(--light-color-icon-background); + --color-accent: var(--light-color-accent); + --color-active-menu-item: var(--light-color-active-menu-item); + --color-text: var(--light-color-text); + --color-text-aside: var(--light-color-text-aside); + --color-link: var(--light-color-link); + + --color-ts-module: var(--light-color-ts-module); + --color-ts-namespace: var(--light-color-ts-namespace); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-enum-member: var(--light-color-ts-enum-member); + --color-ts-variable: var(--light-color-ts-variable); + --color-ts-function: var(--light-color-ts-function); + --color-ts-class: var(--light-color-ts-class); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-constructor: var(--light-color-ts-constructor); + --color-ts-property: var(--light-color-ts-property); + --color-ts-method: var(--light-color-ts-method); + --color-ts-call-signature: var(--light-color-ts-call-signature); + --color-ts-index-signature: var(--light-color-ts-index-signature); + --color-ts-constructor-signature: var( + --light-color-ts-constructor-signature + ); + --color-ts-parameter: var(--light-color-ts-parameter); + --color-ts-type-parameter: var(--light-color-ts-type-parameter); + --color-ts-accessor: var(--light-color-ts-accessor); + --color-ts-get-signature: var(--light-color-ts-get-signature); + --color-ts-set-signature: var(--light-color-ts-set-signature); + --color-ts-type-alias: var(--light-color-ts-type-alias); + + --external-icon: var(--light-external-icon); + --color-scheme: var(--light-color-scheme); +} + +:root[data-theme="dark"] { + --color-background: var(--dark-color-background); + --color-background-secondary: var(--dark-color-background-secondary); + --color-background-warning: var(--dark-color-background-warning); + --color-warning-text: var(--dark-color-warning-text); + --color-icon-background: var(--dark-color-icon-background); + --color-accent: var(--dark-color-accent); + --color-active-menu-item: var(--dark-color-active-menu-item); + --color-text: var(--dark-color-text); + --color-text-aside: var(--dark-color-text-aside); + --color-link: var(--dark-color-link); + + --color-ts-module: var(--dark-color-ts-module); + --color-ts-namespace: var(--dark-color-ts-namespace); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-enum-member: var(--dark-color-ts-enum-member); + --color-ts-variable: var(--dark-color-ts-variable); + --color-ts-function: var(--dark-color-ts-function); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-constructor: var(--dark-color-ts-constructor); + --color-ts-property: var(--dark-color-ts-property); + --color-ts-method: var(--dark-color-ts-method); + --color-ts-call-signature: var(--dark-color-ts-call-signature); + --color-ts-index-signature: var(--dark-color-ts-index-signature); + --color-ts-constructor-signature: var( + --dark-color-ts-constructor-signature + ); + --color-ts-parameter: var(--dark-color-ts-parameter); + --color-ts-type-parameter: var(--dark-color-ts-type-parameter); + --color-ts-accessor: var(--dark-color-ts-accessor); + --color-ts-get-signature: var(--dark-color-ts-get-signature); + --color-ts-set-signature: var(--dark-color-ts-set-signature); + --color-ts-type-alias: var(--dark-color-ts-type-alias); + + --external-icon: var(--dark-external-icon); + --color-scheme: var(--dark-color-scheme); +} + +.always-visible, +.always-visible .tsd-signatures { + display: inherit !important; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + line-height: 1.2; +} + +h1 > a, +h2 > a, +h3 > a, +h4 > a, +h5 > a, +h6 > a { + text-decoration: none; + color: var(--color-text); +} + +h1 { + font-size: 1.875rem; + margin: 0.67rem 0; +} + +h2 { + font-size: 1.5rem; + margin: 0.83rem 0; +} + +h3 { + font-size: 1.25rem; + margin: 1rem 0; +} + +h4 { + font-size: 1.05rem; + margin: 1.33rem 0; +} + +h5 { + font-size: 1rem; + margin: 1.5rem 0; +} + +h6 { + font-size: 0.875rem; + margin: 2.33rem 0; +} + +.uppercase { + text-transform: uppercase; +} + +dl, +menu, +ol, +ul { + margin: 1em 0; +} + +dd { + margin: 0 0 0 40px; +} + +.container { + max-width: 1700px; + padding: 0 2rem; +} + +/* Footer */ +.tsd-generator { + border-top: 1px solid var(--color-accent); + padding-top: 1rem; + padding-bottom: 1rem; + max-height: 3.5rem; +} + +.tsd-generator > p { + margin-top: 0; + margin-bottom: 0; + padding: 0 1rem; +} + +.container-main { + margin: 0 auto; + /* toolbar, footer, margin */ + min-height: calc(100vh - 41px - 56px - 4rem); +} + +@keyframes fade-in { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +@keyframes fade-out { + from { + opacity: 1; + visibility: visible; + } + to { + opacity: 0; + } +} +@keyframes fade-in-delayed { + 0% { + opacity: 0; + } + 33% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +@keyframes fade-out-delayed { + 0% { + opacity: 1; + visibility: visible; + } + 66% { + opacity: 0; + } + 100% { + opacity: 0; + } +} +@keyframes pop-in-from-right { + from { + transform: translate(100%, 0); + } + to { + transform: translate(0, 0); + } +} +@keyframes pop-out-to-right { + from { + transform: translate(0, 0); + visibility: visible; + } + to { + transform: translate(100%, 0); + } +} +body { + background: var(--color-background); + font-family: "Segoe UI", sans-serif; + font-size: 16px; + color: var(--color-text); +} + +a { + color: var(--color-link); + text-decoration: none; +} +a:hover { + text-decoration: underline; +} +a.external[target="_blank"] { + background-image: var(--external-icon); + background-position: top 3px right; + background-repeat: no-repeat; + padding-right: 13px; +} + +code, +pre { + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + padding: 0.2em; + margin: 0; + font-size: 0.875rem; + border-radius: 0.8em; +} + +pre { + position: relative; + white-space: pre; + white-space: pre-wrap; + word-wrap: break-word; + padding: 10px; + border: 1px solid var(--color-accent); +} +pre code { + padding: 0; + font-size: 100%; +} +pre > button { + position: absolute; + top: 10px; + right: 10px; + opacity: 0; + transition: opacity 0.1s; + box-sizing: border-box; +} +pre:hover > button, +pre > button.visible { + opacity: 1; +} + +blockquote { + margin: 1em 0; + padding-left: 1em; + border-left: 4px solid gray; +} + +.tsd-typography { + line-height: 1.333em; +} +.tsd-typography ul { + list-style: square; + padding: 0 0 0 20px; + margin: 0; +} +.tsd-typography h4, +.tsd-typography .tsd-index-panel h3, +.tsd-index-panel .tsd-typography h3, +.tsd-typography h5, +.tsd-typography h6 { + font-size: 1em; + margin: 0; +} +.tsd-typography h5, +.tsd-typography h6 { + font-weight: normal; +} +.tsd-typography p, +.tsd-typography ul, +.tsd-typography ol { + margin: 1em 0; +} + +.tsd-breadcrumb { + margin: 0; + padding: 0; + color: var(--color-text-aside); +} +.tsd-breadcrumb a { + color: var(--color-text-aside); + text-decoration: none; +} +.tsd-breadcrumb a:hover { + text-decoration: underline; +} +.tsd-breadcrumb li { + display: inline; +} +.tsd-breadcrumb li:after { + content: " / "; +} + +.tsd-comment-tags { + display: flex; + flex-direction: column; +} +dl.tsd-comment-tag-group { + display: flex; + align-items: center; + overflow: hidden; + margin: 0.5em 0; +} +dl.tsd-comment-tag-group dt { + display: flex; + margin-right: 0.5em; + font-size: 0.875em; + font-weight: normal; +} +dl.tsd-comment-tag-group dd { + margin: 0; +} +code.tsd-tag { + padding: 0.25em 0.4em; + border: 0.1em solid var(--color-accent); + margin-right: 0.25em; + font-size: 70%; +} +h1 code.tsd-tag:first-of-type { + margin-left: 0.25em; +} + +dl.tsd-comment-tag-group dd:before, +dl.tsd-comment-tag-group dd:after { + content: " "; +} +dl.tsd-comment-tag-group dd pre, +dl.tsd-comment-tag-group dd:after { + clear: both; +} +dl.tsd-comment-tag-group p { + margin: 0; +} + +.tsd-panel.tsd-comment .lead { + font-size: 1.1em; + line-height: 1.333em; + margin-bottom: 2em; +} +.tsd-panel.tsd-comment .lead:last-child { + margin-bottom: 0; +} + +.tsd-filter-visibility h4 { + font-size: 1rem; + padding-top: 0.75rem; + padding-bottom: 0.5rem; + margin: 0; +} +.tsd-filter-item:not(:last-child) { + margin-bottom: 0.5rem; +} +.tsd-filter-input { + display: flex; + width: fit-content; + width: -moz-fit-content; + align-items: center; + user-select: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + cursor: pointer; +} +.tsd-filter-input input[type="checkbox"] { + cursor: pointer; + position: absolute; + width: 1.5em; + height: 1.5em; + opacity: 0; +} +.tsd-filter-input input[type="checkbox"]:disabled { + pointer-events: none; +} +.tsd-filter-input svg { + cursor: pointer; + width: 1.5em; + height: 1.5em; + margin-right: 0.5em; + border-radius: 0.33em; + /* Leaving this at full opacity breaks event listeners on Firefox. + Don't remove unless you know what you're doing. */ + opacity: 0.99; +} +.tsd-filter-input input[type="checkbox"]:focus + svg { + transform: scale(0.95); +} +.tsd-filter-input input[type="checkbox"]:focus:not(:focus-visible) + svg { + transform: scale(1); +} +.tsd-checkbox-background { + fill: var(--color-accent); +} +input[type="checkbox"]:checked ~ svg .tsd-checkbox-checkmark { + stroke: var(--color-text); +} +.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-background { + fill: var(--color-background); + stroke: var(--color-accent); + stroke-width: 0.25rem; +} +.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-checkmark { + stroke: var(--color-accent); +} + +.tsd-theme-toggle { + padding-top: 0.75rem; +} +.tsd-theme-toggle > h4 { + display: inline; + vertical-align: middle; + margin-right: 0.75rem; +} + +.tsd-hierarchy { + list-style: square; + margin: 0; +} +.tsd-hierarchy .target { + font-weight: bold; +} + +.tsd-panel-group.tsd-index-group { + margin-bottom: 0; +} +.tsd-index-panel .tsd-index-list { + list-style: none; + line-height: 1.333em; + margin: 0; + padding: 0.25rem 0 0 0; + overflow: hidden; + display: grid; + grid-template-columns: repeat(3, 1fr); + column-gap: 1rem; + grid-template-rows: auto; +} +@media (max-width: 1024px) { + .tsd-index-panel .tsd-index-list { + grid-template-columns: repeat(2, 1fr); + } +} +@media (max-width: 768px) { + .tsd-index-panel .tsd-index-list { + grid-template-columns: repeat(1, 1fr); + } +} +.tsd-index-panel .tsd-index-list li { + -webkit-page-break-inside: avoid; + -moz-page-break-inside: avoid; + -ms-page-break-inside: avoid; + -o-page-break-inside: avoid; + page-break-inside: avoid; +} + +.tsd-flag { + display: inline-block; + padding: 0.25em 0.4em; + border-radius: 4px; + color: var(--color-comment-tag-text); + background-color: var(--color-comment-tag); + text-indent: 0; + font-size: 75%; + line-height: 1; + font-weight: normal; +} + +.tsd-anchor { + position: relative; + top: -100px; +} + +.tsd-member { + position: relative; +} +.tsd-member .tsd-anchor + h3 { + display: flex; + align-items: center; + margin-top: 0; + margin-bottom: 0; + border-bottom: none; +} + +.tsd-navigation.settings { + margin: 1rem 0; +} +.tsd-navigation > a, +.tsd-navigation .tsd-accordion-summary { + width: calc(100% - 0.5rem); +} +.tsd-navigation a, +.tsd-navigation summary > span, +.tsd-page-navigation a { + display: inline-flex; + align-items: center; + padding: 0.25rem; + color: var(--color-text); + text-decoration: none; + box-sizing: border-box; +} +.tsd-navigation a.current, +.tsd-page-navigation a.current { + background: var(--color-active-menu-item); +} +.tsd-navigation a:hover, +.tsd-page-navigation a:hover { + text-decoration: underline; +} +.tsd-navigation ul, +.tsd-page-navigation ul { + margin-top: 0; + margin-bottom: 0; + padding: 0; + list-style: none; +} +.tsd-navigation li, +.tsd-page-navigation li { + padding: 0; + max-width: 100%; +} +.tsd-nested-navigation { + margin-left: 3rem; +} +.tsd-nested-navigation > li > details { + margin-left: -1.5rem; +} +.tsd-small-nested-navigation { + margin-left: 1.5rem; +} +.tsd-small-nested-navigation > li > details { + margin-left: -1.5rem; +} + +.tsd-nested-navigation > li > a, +.tsd-nested-navigation > li > span { + width: calc(100% - 1.75rem - 0.5rem); +} + +.tsd-page-navigation ul { + padding-left: 1.75rem; +} + +#tsd-sidebar-links a { + margin-top: 0; + margin-bottom: 0.5rem; + line-height: 1.25rem; +} +#tsd-sidebar-links a:last-of-type { + margin-bottom: 0; +} + +a.tsd-index-link { + padding: 0.25rem 0 !important; + font-size: 1rem; + line-height: 1.25rem; + display: inline-flex; + align-items: center; + color: var(--color-text); +} +.tsd-accordion-summary { + list-style-type: none; /* hide marker on non-safari */ + outline: none; /* broken on safari, so just hide it */ +} +.tsd-accordion-summary::-webkit-details-marker { + display: none; /* hide marker on safari */ +} +.tsd-accordion-summary, +.tsd-accordion-summary a { + user-select: none; + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + + cursor: pointer; +} +.tsd-accordion-summary a { + width: calc(100% - 1.5rem); +} +.tsd-accordion-summary > * { + margin-top: 0; + margin-bottom: 0; + padding-top: 0; + padding-bottom: 0; +} +.tsd-index-accordion .tsd-accordion-summary > svg { + margin-left: 0.25rem; +} +.tsd-index-content > :not(:first-child) { + margin-top: 0.75rem; +} +.tsd-index-heading { + margin-top: 1.5rem; + margin-bottom: 0.75rem; +} + +.tsd-kind-icon { + margin-right: 0.5rem; + width: 1.25rem; + height: 1.25rem; + min-width: 1.25rem; + min-height: 1.25rem; +} +.tsd-kind-icon path { + transform-origin: center; + transform: scale(1.1); +} +.tsd-signature > .tsd-kind-icon { + margin-right: 0.8rem; +} + +.tsd-panel { + margin-bottom: 2.5rem; +} +.tsd-panel.tsd-member { + margin-bottom: 4rem; +} +.tsd-panel:empty { + display: none; +} +.tsd-panel > h1, +.tsd-panel > h2, +.tsd-panel > h3 { + margin: 1.5rem -1.5rem 0.75rem -1.5rem; + padding: 0 1.5rem 0.75rem 1.5rem; +} +.tsd-panel > h1.tsd-before-signature, +.tsd-panel > h2.tsd-before-signature, +.tsd-panel > h3.tsd-before-signature { + margin-bottom: 0; + border-bottom: none; +} + +.tsd-panel-group { + margin: 4rem 0; +} +.tsd-panel-group.tsd-index-group { + margin: 2rem 0; +} +.tsd-panel-group.tsd-index-group details { + margin: 2rem 0; +} + +#tsd-search { + transition: background-color 0.2s; +} +#tsd-search .title { + position: relative; + z-index: 2; +} +#tsd-search .field { + position: absolute; + left: 0; + top: 0; + right: 2.5rem; + height: 100%; +} +#tsd-search .field input { + box-sizing: border-box; + position: relative; + top: -50px; + z-index: 1; + width: 100%; + padding: 0 10px; + opacity: 0; + outline: 0; + border: 0; + background: transparent; + color: var(--color-text); +} +#tsd-search .field label { + position: absolute; + overflow: hidden; + right: -40px; +} +#tsd-search .field input, +#tsd-search .title, +#tsd-toolbar-links a { + transition: opacity 0.2s; +} +#tsd-search .results { + position: absolute; + visibility: hidden; + top: 40px; + width: 100%; + margin: 0; + padding: 0; + list-style: none; + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); +} +#tsd-search .results li { + padding: 0 10px; + background-color: var(--color-background); +} +#tsd-search .results li:nth-child(even) { + background-color: var(--color-background-secondary); +} +#tsd-search .results li.state { + display: none; +} +#tsd-search .results li.current, +#tsd-search .results li:hover { + background-color: var(--color-accent); +} +#tsd-search .results a { + display: block; +} +#tsd-search .results a:before { + top: 10px; +} +#tsd-search .results span.parent { + color: var(--color-text-aside); + font-weight: normal; +} +#tsd-search.has-focus { + background-color: var(--color-accent); +} +#tsd-search.has-focus .field input { + top: 0; + opacity: 1; +} +#tsd-search.has-focus .title, +#tsd-search.has-focus #tsd-toolbar-links a { + z-index: 0; + opacity: 0; +} +#tsd-search.has-focus .results { + visibility: visible; +} +#tsd-search.loading .results li.state.loading { + display: block; +} +#tsd-search.failure .results li.state.failure { + display: block; +} + +#tsd-toolbar-links { + position: absolute; + top: 0; + right: 2rem; + height: 100%; + display: flex; + align-items: center; + justify-content: flex-end; +} +#tsd-toolbar-links a { + margin-left: 1.5rem; +} +#tsd-toolbar-links a:hover { + text-decoration: underline; +} + +.tsd-signature { + margin: 0 0 1rem 0; + padding: 1rem 0.5rem; + border: 1px solid var(--color-accent); + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + font-size: 14px; + overflow-x: auto; +} + +.tsd-signature-symbol { + color: var(--color-text-aside); + font-weight: normal; +} + +.tsd-signature-type { + font-style: italic; + font-weight: normal; +} + +.tsd-signatures { + padding: 0; + margin: 0 0 1em 0; + list-style-type: none; +} +.tsd-signatures .tsd-signature { + margin: 0; + border-color: var(--color-accent); + border-width: 1px 0; + transition: background-color 0.1s; +} +.tsd-description .tsd-signatures .tsd-signature { + border-width: 1px; +} + +ul.tsd-parameter-list, +ul.tsd-type-parameter-list { + list-style: square; + margin: 0; + padding-left: 20px; +} +ul.tsd-parameter-list > li.tsd-parameter-signature, +ul.tsd-type-parameter-list > li.tsd-parameter-signature { + list-style: none; + margin-left: -20px; +} +ul.tsd-parameter-list h5, +ul.tsd-type-parameter-list h5 { + font-size: 16px; + margin: 1em 0 0.5em 0; +} +.tsd-sources { + margin-top: 1rem; + font-size: 0.875em; +} +.tsd-sources a { + color: var(--color-text-aside); + text-decoration: underline; +} +.tsd-sources ul { + list-style: none; + padding: 0; +} + +.tsd-page-toolbar { + position: sticky; + z-index: 1; + top: 0; + left: 0; + width: 100%; + color: var(--color-text); + background: var(--color-background-secondary); + border-bottom: 1px var(--color-accent) solid; + transition: transform 0.3s ease-in-out; +} +.tsd-page-toolbar a { + color: var(--color-text); + text-decoration: none; +} +.tsd-page-toolbar a.title { + font-weight: bold; +} +.tsd-page-toolbar a.title:hover { + text-decoration: underline; +} +.tsd-page-toolbar .tsd-toolbar-contents { + display: flex; + justify-content: space-between; + height: 2.5rem; + margin: 0 auto; +} +.tsd-page-toolbar .table-cell { + position: relative; + white-space: nowrap; + line-height: 40px; +} +.tsd-page-toolbar .table-cell:first-child { + width: 100%; +} +.tsd-page-toolbar .tsd-toolbar-icon { + box-sizing: border-box; + line-height: 0; + padding: 12px 0; +} + +.tsd-widget { + display: inline-block; + overflow: hidden; + opacity: 0.8; + height: 40px; + transition: opacity 0.1s, background-color 0.2s; + vertical-align: bottom; + cursor: pointer; +} +.tsd-widget:hover { + opacity: 0.9; +} +.tsd-widget.active { + opacity: 1; + background-color: var(--color-accent); +} +.tsd-widget.no-caption { + width: 40px; +} +.tsd-widget.no-caption:before { + margin: 0; +} + +.tsd-widget.options, +.tsd-widget.menu { + display: none; +} +input[type="checkbox"] + .tsd-widget:before { + background-position: -120px 0; +} +input[type="checkbox"]:checked + .tsd-widget:before { + background-position: -160px 0; +} + +img { + max-width: 100%; +} + +.tsd-anchor-icon { + display: inline-flex; + align-items: center; + margin-left: 0.5rem; + vertical-align: middle; + color: var(--color-text); +} + +.tsd-anchor-icon svg { + width: 1em; + height: 1em; + visibility: hidden; +} + +.tsd-anchor-link:hover > .tsd-anchor-icon svg { + visibility: visible; +} + +.deprecated { + text-decoration: line-through; +} + +.warning { + padding: 1rem; + color: var(--color-warning-text); + background: var(--color-background-warning); +} + +.tsd-kind-project { + color: var(--color-ts-project); +} +.tsd-kind-module { + color: var(--color-ts-module); +} +.tsd-kind-namespace { + color: var(--color-ts-namespace); +} +.tsd-kind-enum { + color: var(--color-ts-enum); +} +.tsd-kind-enum-member { + color: var(--color-ts-enum-member); +} +.tsd-kind-variable { + color: var(--color-ts-variable); +} +.tsd-kind-function { + color: var(--color-ts-function); +} +.tsd-kind-class { + color: var(--color-ts-class); +} +.tsd-kind-interface { + color: var(--color-ts-interface); +} +.tsd-kind-constructor { + color: var(--color-ts-constructor); +} +.tsd-kind-property { + color: var(--color-ts-property); +} +.tsd-kind-method { + color: var(--color-ts-method); +} +.tsd-kind-call-signature { + color: var(--color-ts-call-signature); +} +.tsd-kind-index-signature { + color: var(--color-ts-index-signature); +} +.tsd-kind-constructor-signature { + color: var(--color-ts-constructor-signature); +} +.tsd-kind-parameter { + color: var(--color-ts-parameter); +} +.tsd-kind-type-literal { + color: var(--color-ts-type-literal); +} +.tsd-kind-type-parameter { + color: var(--color-ts-type-parameter); +} +.tsd-kind-accessor { + color: var(--color-ts-accessor); +} +.tsd-kind-get-signature { + color: var(--color-ts-get-signature); +} +.tsd-kind-set-signature { + color: var(--color-ts-set-signature); +} +.tsd-kind-type-alias { + color: var(--color-ts-type-alias); +} + +/* if we have a kind icon, don't color the text by kind */ +.tsd-kind-icon ~ span { + color: var(--color-text); +} + +* { + scrollbar-width: thin; + scrollbar-color: var(--color-accent) var(--color-icon-background); +} + +*::-webkit-scrollbar { + width: 0.75rem; +} + +*::-webkit-scrollbar-track { + background: var(--color-icon-background); +} + +*::-webkit-scrollbar-thumb { + background-color: var(--color-accent); + border-radius: 999rem; + border: 0.25rem solid var(--color-icon-background); +} + +/* mobile */ +@media (max-width: 769px) { + .tsd-widget.options, + .tsd-widget.menu { + display: inline-block; + } + + .container-main { + display: flex; + } + html .col-content { + float: none; + max-width: 100%; + width: 100%; + } + html .col-sidebar { + position: fixed !important; + overflow-y: auto; + -webkit-overflow-scrolling: touch; + z-index: 1024; + top: 0 !important; + bottom: 0 !important; + left: auto !important; + right: 0 !important; + padding: 1.5rem 1.5rem 0 0; + width: 75vw; + visibility: hidden; + background-color: var(--color-background); + transform: translate(100%, 0); + } + html .col-sidebar > *:last-child { + padding-bottom: 20px; + } + html .overlay { + content: ""; + display: block; + position: fixed; + z-index: 1023; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: rgba(0, 0, 0, 0.75); + visibility: hidden; + } + + .to-has-menu .overlay { + animation: fade-in 0.4s; + } + + .to-has-menu .col-sidebar { + animation: pop-in-from-right 0.4s; + } + + .from-has-menu .overlay { + animation: fade-out 0.4s; + } + + .from-has-menu .col-sidebar { + animation: pop-out-to-right 0.4s; + } + + .has-menu body { + overflow: hidden; + } + .has-menu .overlay { + visibility: visible; + } + .has-menu .col-sidebar { + visibility: visible; + transform: translate(0, 0); + display: flex; + flex-direction: column; + gap: 1.5rem; + max-height: 100vh; + padding: 1rem 2rem; + } + .has-menu .tsd-navigation { + max-height: 100%; + } +} + +/* one sidebar */ +@media (min-width: 770px) { + .container-main { + display: grid; + grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); + grid-template-areas: "sidebar content"; + margin: 2rem auto; + } + + .col-sidebar { + grid-area: sidebar; + } + .col-content { + grid-area: content; + padding: 0 1rem; + } +} +@media (min-width: 770px) and (max-width: 1399px) { + .col-sidebar { + max-height: calc(100vh - 2rem - 42px); + overflow: auto; + position: sticky; + top: 42px; + padding-top: 1rem; + } + .site-menu { + margin-top: 1rem; + } +} + +/* two sidebars */ +@media (min-width: 1200px) { + .container-main { + grid-template-columns: minmax(0, 1fr) minmax(0, 2.5fr) minmax(0, 20rem); + grid-template-areas: "sidebar content toc"; + } + + .col-sidebar { + display: contents; + } + + .page-menu { + grid-area: toc; + padding-left: 1rem; + } + .site-menu { + grid-area: sidebar; + } + + .site-menu { + margin-top: 1rem 0; + } + + .page-menu, + .site-menu { + max-height: calc(100vh - 2rem - 42px); + overflow: auto; + position: sticky; + top: 42px; + } +} diff --git a/docs/v0.12.1/classes/CharBase.html b/docs/v0.12.1/classes/CharBase.html new file mode 100644 index 0000000..d109234 --- /dev/null +++ b/docs/v0.12.1/classes/CharBase.html @@ -0,0 +1,206 @@ +CharBase | refa - v0.12.1
+
+ +
+
+
+
+ +

Class CharBase

+
+

A character base is constructed from a collection of character sets. It holds a list of disjoint, non-empty +character sets - the base sets - that can be used to construct every character set in the collection it was +constructed from.

+

Guarantees

    +
  • The base sets are guaranteed to be mutually disjoint and non-empty.

    +
  • +
  • Every character set in the collection can be constructed by combining (union) a unique set of base sets.

    +
  • +
  • The list of base sets is guaranteed to be as small as possible. There are at most min(n^2, o) base sets where n +is the number of unique, non-empty character sets in the collection, and o is the number of characters in the +union of all character sets in the collection.

    +
  • +
+

Use case

The primary purpose of base sets is to remap alphabets. Some FA operations scale with the number of characters in the +alphabet of the FA (e.g. DFA minimization).

+

Base sets can be used to determine which characters in an FA's alphabet Σ cannot be distinguished by the FA A. +Two characters a,b in Σ are indistinguishable if for all inputs w the following hold true:

+
    +
  1. w is accepted by A iff w with all occurrences of a replaced with b is accepted by A.
  2. +
  3. w is accepted by A iff w with all occurrences of b replaced with a is accepted by A.
  4. +
+

Two indistinguishable characters are guaranteed to be in the same base set.

+

By treating each base set as a character, it is possible to create a new (smaller) alphabet Γ (|Γ| <= |Σ|) such +that the FA A still behaves the same.

+

Since Γ is typically (several orders of magnitude) smaller, operations that scale with the size of the alphabet +can be done more quickly.

+
+
+
+

Hierarchy

+
    +
  • CharBase
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
+
+

Methods

+
+
+

Constructors

+
+ +
    + +
  • +

    Create the base sets of the given collection of character sets.

    +

    See CharBase to learn more.

    +
    +
    +

    Parameters

    +
    +

    Returns CharBase

    +
    +

    Throws

    RangeError if the collection contains two character sets with different maximums.

    +
+
+

Properties

+
+ +
sets: readonly CharSet[]
+

A list of disjoint, non-empty character sets.

+

See CharBase to learn more.

+
+
+
+

Methods

+
+ +
    + +
  • +

    Splits the given character set into its base sets.

    +

    The returned array will be a list of indexes of base sets necessary to construct the given character sets. The +indexes will be sorted and occur at most once.

    +

    Note: This assumes that charSet is either empty or can be constructed from the base sets. If the +assumption is not met, the output of this function will be undefined.

    +
    +
    +

    Parameters

    +
    +

    Returns number[]

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/classes/CharMap.html b/docs/v0.12.1/classes/CharMap.html new file mode 100644 index 0000000..7966eea --- /dev/null +++ b/docs/v0.12.1/classes/CharMap.html @@ -0,0 +1,587 @@ +CharMap | refa - v0.12.1
+
+ +
+
+
+
+ +

Class CharMap<T>

+
+

A map from characters to generic values.

+

The map guarantees that there are no adjacent character ranges that map to the equal values, will always be iterated +as one character range. The equality of values is given by JavaScript's strict equality operator (===).

+
+
+
+

Type Parameters

+
    +
  • +

    T

+
+

Hierarchy

+
    +
  • CharMap
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+ +
    + +
  • +
    +

    Type Parameters

    +
      +
    • +

      T

    +

    Returns CharMap<T>

+
+

Accessors

+
+ +
    +
  • get entryCount(): number
  • +
  • +

    The number of entires in this map.

    +

    This is different from size. In general, you should use size, because it has the same semantics +as Set#size and Map#size.

    +

    This is equivalent to [...this.entries()].length.

    +
    +

    Returns number

    +
+
+ +
    +
  • get isEmpty(): boolean
  • +
  • +

    Returns whether this map is empty.

    +

    This is equivalent to this.size === 0 and this.entryCount === 0.

    +
    +

    Returns boolean

    +
+
+ +
    +
  • get size(): number
  • +
  • +

    The number of characters in this map. This is different from entryCount.

    +

    This is equivalent to [...this.keys()].reduce((count, range) => count + range.max - range.min + 1, 0).

    +
    +

    Returns number

    +
+
+

Methods

+
+ +
    + +
  • +

    Returns IterableIterator<[CharRange, T]>

+
+ +
    + +
  • +

    Deletes all entries in the map.

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Returns a new map with all values mapped by the given function.

    +

    If no function is given, the identity function is used.

    +
    +

    Returns CharMap<T>

    +
  • + +
  • +
    +

    Type Parameters

    +
      +
    • +

      U

    +
    +

    Parameters

    +
      +
    • +
      mapFn: ((value: T) => U)
      +
        +
      • +
          +
        • (value: T): U
        • +
        • +
          +

          Parameters

          +
            +
          • +
            value: T
          +

          Returns U

    +

    Returns CharMap<U>

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns boolean

+
+ +
    + +
  • +

    Deletes all characters in the given range.

    +

    This is equivalent to [...range].forEach(char => this.delete(char)).

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Returns all key-value pairs in the map.

    +

    Entries will be returned in the order of ascending ranges.

    +
    +

    Returns IterableIterator<[CharRange, T]>

    +
+
+ +
+
+ +
    + +
  • +

    Invokes the given callback for every item of the character map.

    +

    This method is implemented more efficiently than other iterator based methods, so chose forEach where every +possible.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Returns the value associated with the given character of undefined if the character is not key in the map.

    +
    +
    +

    Parameters

    +
    +

    Returns undefined | T

    +
+
+ +
    + +
  • +

    Returns whether the given character is a key in the map.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns whether every character in the given range is a key in the map.

    +

    This is equivalent to: [...chars].every(char => this.has(char)).

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns whether some character in the given range is a key in the map.

    +

    This is equivalent to: [...chars].some(char => this.has(char)).

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns a mapping from the values of this map to its keys.

    +
    +
    +

    Parameters

    +
      +
    • +
      maxCharacter: Char
    +

    Returns Map<T, CharSet>

    +
+
+ +
    + +
  • +

    Returns all ranges of characters that are keys in the map.

    +

    Keys will be returned in the same order as this.entries().

    +
    +

    Returns IterableIterator<CharRange>

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

    Parameters

    +
      +
    • +
      char: Char
    • +
    • +
      value: T
    +

    Returns void

+
+ +
    + +
  • +

    Sets the value for all characters in the given character set.

    +

    This is equivalent to [...charSet.characters()].forEach(char => this.set(char, value)).

    +
    +
    +

    Parameters

    +
      +
    • +
      charSet: CharSet
      +
    • +
    • +
      value: T
      +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Sets the value for all characters in the given range.

    +

    This is equivalent to [...chars].forEach(char => this.set(char, value)).

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Returns all values in the map. Values might not be unique if more than one range maps to the same value.

    +

    Values will be returned in the same order as this.entries().

    +
    +

    Returns IterableIterator<T>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/classes/CharSet.html b/docs/v0.12.1/classes/CharSet.html new file mode 100644 index 0000000..f671822 --- /dev/null +++ b/docs/v0.12.1/classes/CharSet.html @@ -0,0 +1,630 @@ +CharSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Class CharSet

+
+

An immutable set of Chars represented as a sorted set of disjoint non-adjacent intervals (CharRange).

+

All characters in the set have to be between 0 (inclusive) and the maximum of the set (inclusive).

+
+
+
+

Hierarchy

+
    +
  • CharSet
+
+
+
+ +
+
+

Properties

+
+ +
maximum: Char
+

The greatest character which can be element of the set.

+
+
+
+ +
ranges: readonly CharRange[]
+

An array of ranges representing this character set.

+

The array must be guaranteed to have the following properties at all times:

+
    +
  1. Any two ranges are disjoint.
  2. +
  3. Any two ranges are non-adjacent.
  4. +
  5. 0 <= min <= max <= this.maximum for all ranges.
  6. +
  7. All ranges are sorted by ascending min.
  8. +
+
+
+
+

Accessors

+
+ +
    +
  • get isAll(): boolean
  • +
  • +

    Returns true if all characters in the range from 0 to this.maximum, including 0 and this.maximum, are in +the set.

    +
    +

    Returns boolean

    +
+
+ +
    +
  • get isEmpty(): boolean
  • +
  • +

    Returns true if this set doesn't contain any characters.

    +
    +

    Returns boolean

    +
+
+ +
    +
  • get size(): number
  • +
  • +

    Returns the number of unique characters in the set.

    +

    The returned number will be at least 0 and at most this.maximum + 1.

    +
    +

    Returns number

    +
+
+

Methods

+
+ +
    + +
  • +

    Returns an iterable of all characters in this set.

    +

    Characters are sorted by ascending order and each character is yielded exactly once.

    +

    Note: The iterable is stable. It can be iterated multiple times.

    +
    +

    Returns Iterable<Char>

    +
+
+ +
    + +
  • +

    Returns any one of the common characters of this set and the given set or range.

    +

    If this character set is disjoint with the given character set/range, then undefined will be returned.

    +
    +
    +

    Parameters

    +
    +

    Returns undefined | Char

    +
+
+ +
    + +
  • +

    Compares this set with given set and returns an integer value describing their relation. Two equivalent set are +always guaranteed to return 0.

    +

    The order defined by this function is guaranteed to be a +total order. Apart from this, no other guarantees are given.

    +
    +
    +

    Parameters

    +
    +

    Returns number

    +
+
+ +
    + +
  • +

    Returns whether this and the given character set are equivalent.

    +

    Two CharSets are equal if and only if:

    +
      +
    1. They have the same maximum.
    2. +
    3. They contain the same characters.
    4. +
    +

    Since each set of characters has a unique range representation, 2 equal CharSets are guaranteed to have equal +ranges.

    +

    A CharSet and a CharRange are equal if and only if they contain the same characters.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns whether this set contains the given character.

    +
    +
    +

    Parameters

    +
      +
    • +
      character: Char
      +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns the intersection of this set and the given +set/ranges of characters.

    +

    The returned set will have the same maximum as this set.

    +
    +
    +

    Parameters

    +
    +

    Returns CharSet

    +
    +

    Throws

    RangeError If the maximum of the given set differs from the maximum of this set.

    +
+
+ +
    + +
  • +

    Returns whether this set and the given set (or range) are disjoint.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns whether this ⊂ other.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns whether this ⊃ other.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

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

    Returns a character set with the given maximum.

    +

    The ranges of the returned character set are equivalent to the ranges of +this.intersect({ min: 0, max: newMaximum }).

    +
    +
    +

    Parameters

    +
      +
    • +
      newMaximum: Char
      +
    +

    Returns CharSet

    +
+
+ +
    + +
  • +

    Returns a string representation of the ranges of this character set.

    +

    The string representation has the following rules:

    +
      +
    1. Each character is represented as a hexadecimal number.
    2. +
    3. Each range where min == max will be represented by the min character.
    4. +
    5. Each range where min != max will be represented by min followed by ".." followed by max.
    6. +
    7. The sequence of ranges will be joined together using ", ".
    8. +
    +

    The returned string representation will have the following format:

    +
    string = [ ranges ]
    ranges = range *( ", " range )
    range = +hex [ ".." +hex ]
    hex = "a" | "b" | "c" | "d" | "e" | "f" | digit
    digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" +
    +
    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns a string representation of the character set.

    +
    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns a string representation of the Unicode ranges of this character set.

    +

    The primary purpose of this function is provide an easy way to get a readable representation of a Unicode or +Unicode-like character set. The format is optimized for ease of reading for humans.

    +

    The format follows these rules:

    +
      +
    • If the character set is empty, empty will be returned.
    • +
    • If the character set contains all characters, all will be returned.
    • +
    • Ranges may be negated, which is indicated with not. E.g. not a b is the character set that contains all +characters except for a and b.
    • +
    • A contiguous range of characters is represented using min-max where min and max are formatted characters.
    • +
    • Single characters are formatted as either:
        +
      • a Unicode character (e.g. a),
      • +
      • a quoted Unicode character (e.g. '-'), or
      • +
      • a Unicode escape (e.g. U+FF).
      • +
      +
    • +
    +

    The returned string representation will have the following format:

    +
    string  = "all" | "empty" | ranges | "not " ranges
    ranges = range *( " " range )
    range = char [ "-" char ]
    char = literal | quoted | escape
    literal = ?Printable Unicode characters?
    literal = "'" ?any character? "'"
    escape = "U+" +hex
    hex = "A" | "B" | "C" | "D" | "E" | "F" | digit
    digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" +
    +
    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns the union of this set and all given sets and +character ranges.

    +

    The returned set will have the same maximum as this set.

    +
    +
    +

    Parameters

    +
    +

    Returns CharSet

    +
    +

    Throws

    RangeError If the maximum of one of the given sets differs from the maximum of this set or if the +maximum of one of the given ranges is greater than the maximum of this set.

    +
+
+ +
    + +
  • +

    Returns a set that contains all characters of this set that are not in the given set/range.

    +

    The returned set will have the same maximum as this set.

    +
    +
    +

    Parameters

    +
    +

    Returns CharSet

    +
    +

    Throws

    RangeError If the maximum of the given set differs from the maximum of this set.

    +
+
+ +
    + +
  • +

    Returns a complete character set with the given maximum.

    +
    +
    +

    Parameters

    +
      +
    • +
      maximum: Char
      +

      The greatest character which will be element of the set.

      +
      +
    +

    Returns CharSet

    +
+
+ +
    + +
  • +

    Returns an empty character set with the given maximum.

    +
    +
    +

    Parameters

    +
      +
    • +
      maximum: Char
      +

      The greatest character which can be element of the set.

      +
      +
    +

    Returns CharSet

    +
+
+ +
    + +
  • +

    Returns a character set which contains the given character.

    +
    +
    +

    Parameters

    +
      +
    • +
      maximum: Char
      +

      The greatest character which will be element of the set.

      +
      +
    • +
    • +
      char: Char
      +
    +

    Returns CharSet

    +
    +

    Throws

    RangeError if the maximum of the given range is greater than maximum.

    +
+
+ +
    + +
  • +

    Returns a character set which contains the given characters.

    +
    +
    +

    Parameters

    +
      +
    • +
      maximum: Char
      +

      The greatest character which will be element of the set.

      +
      +
    • +
    • +
      characters: Iterable<Char>
      +

      A sorted collection of characters.

      +
      +
    +

    Returns CharSet

    +
    +

    Throws

    RangeError if the given collection is not sorted or contains characters greater than maximum.

    +
+
+ +
    + +
  • +

    Returns a character set which contains the given range.

    +
    +
    +

    Parameters

    +
      +
    • +
      maximum: Char
      +

      The greatest character which will be element of the set.

      +
      +
    • +
    • +
      range: CharRange
      +
    +

    Returns CharSet

    +
    +

    Throws

    RangeError if the maximum of the given range is greater than maximum.

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/classes/CombinedTransformer.html b/docs/v0.12.1/classes/CombinedTransformer.html new file mode 100644 index 0000000..b8b5190 --- /dev/null +++ b/docs/v0.12.1/classes/CombinedTransformer.html @@ -0,0 +1,275 @@ +CombinedTransformer | refa - v0.12.1
+
+ +
+
+
+
+ +

Class CombinedTransformer

+
+

A transformer that runs all given transformers in sequentially order.

+

The combined transformer is a special transformer in that the transform function knows about it.

+
+
+
+

Hierarchy

+
    +
  • CombinedTransformer
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
name: "CombinedTransformer" = "CombinedTransformer"
+

An optional name useful for diagnostics.

+
+
+
+ +
transformers: readonly Transformer[]
+

The transformers that will be applied in order.

+

Note: These transformers are not necessarily the ones given to the constructor. If a transformer is a +CombinedTransformer, then its transformers will be used instead (think of it as flattening combined +transformers).

+
+
+
+

Methods

+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/classes/DFA-1.html b/docs/v0.12.1/classes/DFA-1.html new file mode 100644 index 0000000..204d401 --- /dev/null +++ b/docs/v0.12.1/classes/DFA-1.html @@ -0,0 +1,701 @@ +DFA | refa - v0.12.1
+
+ +
+
+
+
+ +

Class DFA

+
+

A deterministic finite automaton.

+

This class implements DFAs with the following properties:

+
    +
  • There is exactly one initial state.

    +
  • +
  • There may be any number of final states.

    +

    This is implemented using a Set of states.

    +
  • +
  • No epsilon transitions.

    +
  • +
  • A transitions always consumes a character.

    +

    (All character sets are guaranteed to be non-empty.)

    +
  • +
  • Transitions are unordered.

    +

    As a consequence, /aa|bb/ and /bb|aa/ have the same state machine.

    +
  • +
  • Between any two states, there can at most be one transition.

    +
  • +
+
+
+
+

Hierarchy

+
    +
  • DFA
+
+

Implements

+
+
+
+
+ +
+
+

Properties

+
+ +
finals: Set<DFA.Node> = ...
+

The set of final states of the DFA.

+

This set may be empty or contain nodes not reachable from the initial state.

+
+
+
+ +
initial: DFA.Node
+

The initial state of the DFA.

+
+
+
+ +
maxCharacter: Char
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+

Accessors

+
+ +
    +
  • get isEmpty(): boolean
  • +
  • +

    Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

    +
    +

    Returns boolean

    +
+
+ +
    +
  • get isFinite(): boolean
  • +
  • +

    Returns whether the formal language accepted by this FA contains finitely many words.

    +

    Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with +10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

    +
    +

    Returns boolean

    +
+
+

Methods

+
+ +
    + +
  • +

    Complements this DFA.

    +

    This DFA after calling this function will accept all words that are not accepted by this DFA before calling this +function.

    +

    This operation will create at most 1 node with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
+
+ +
    + +
  • +

    Returns the number of nodes reachable from the initial state including the initial state.

    +

    This returns the number of nodes returned by nodes.

    +
    +

    Returns number

    +
+
+ +
    + +
  • +

    Minimizes this DFA.

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Yields all nodes reachable from the initial state including the initial state.

    +

    This may include trap states, but it will not include unreachable final states.

    +

    The order in which nodes will be returned is implementation defined and may change after any operation that +modifies the DFA.

    +

    Modifying the DFA while iterating will result in implementation-defined behavior. The implementation may stop the +iteration or yield an nodes.

    +

    This operation runs in O(E + V) where E is the number of nodes reachable from the initial state and V is +the number of transitions.

    +
    +

    Returns Iterable<DFA.Node>

    +
+
+ +
    + +
  • +

    Modifies this DFA such that all prefixes of all accepted words are also accepted.

    +

    If the language of this DFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Returns void

+
+ +
+
+ +
    + +
  • +

    Returns whether this and the given DFA are structurally equal meaning that all nodes and all transitions are +equal.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    +
      +
    • +
      word: ReadonlyWord
      +

      The characters of the word to test.

      +
      +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the +DOT format.

    +

    The output of this function can passed to any graph visualization program. This can be a +local installation or an online editor.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the Mermaid format.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
+
+ +
    + +
  • +

    Returns a string representation of this FA.

    +
    +

    Returns string

    +
+
+ +
+
+ +
    + +
  • +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end. If this FA is finite, the iterable will +end after at most 2^O(n) word sets (n = number of states).

    +

    If you analyse the words of an FA, consider using this method instead of words. If this method yields k word +sets, then words will yield up to O(k * m ^ l) words (m = number of possible characters, l = the maximum +length of any of the k word sets).

    +
    +

    Returns Iterable<WordSet>

    +
+
+ +
    + +
  • +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
+
+ +
    + +
  • +

    Creates a new DFA which matches all words.

    +

    This operation will create exactly 1 node with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns DFA

    +
+
+ +
    + +
  • +

    Creates a new DFA which matches no words. The language of the returned DFA is empty.

    +

    This operation will create exactly 1 node with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns DFA

    +
+
+ +
    + +
  • +

    Creates a new DFA which matches only the empty word.

    +

    This operation will create exactly 1 node with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns DFA

    +
+
+ +
+
+ +
    + +
  • +

    Creates a new DFA which matches the given characters.

    +

    This operation will create at most 2 nodes with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns DFA

    +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/classes/DFA.Builder.html b/docs/v0.12.1/classes/DFA.Builder.html new file mode 100644 index 0000000..fbb6274 --- /dev/null +++ b/docs/v0.12.1/classes/DFA.Builder.html @@ -0,0 +1,247 @@ +Builder | refa - v0.12.1
+
+ +
+
+
+
+ +

Class Builder

+
+

An FA builder has the responsibility of constructing a finite automaton.

+

The constructed FA is always owned by the builder.

+
+
+
+

Hierarchy

+
    +
  • Builder
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
factory: NodeFactory<DFA.Node>
+
+ +
finals: Set<DFA.Node> = ...
+
+ +
initial: DFA.Node
+

The initial state of the FA.

+
+
+
+

Methods

+
+ +
+
+ +
    + +
  • +

    Returns whether the given state is a final state.

    +

    This operation is assumed to be semantically equivalent to isFinal.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Links to the two given states using the given transition.

    +

    Calling this operations more than once for the given from and to states is not guaranteed to succeed.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Makes the given state behave like a final state of this FA.

    +

    This does not necessarily mean that the given state will be a final state. I.e. calling makeFinal(s) does not +necessitate that isFinal(s) is true.

    +

    The implementation has to guarantee that calling this method for the same state more than once is allowed.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/classes/DFA.LimitedNodeFactory.html b/docs/v0.12.1/classes/DFA.LimitedNodeFactory.html new file mode 100644 index 0000000..66d404f --- /dev/null +++ b/docs/v0.12.1/classes/DFA.LimitedNodeFactory.html @@ -0,0 +1,172 @@ +LimitedNodeFactory | refa - v0.12.1
+
+ +
+
+
+
+ +

Class LimitedNodeFactory

+
+

A factory for the nodes of finite automata.

+
+
+
+

Hierarchy

+
    +
  • LimitedNodeFactory
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
limit: number
+
+

Methods

+
+ +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/classes/DFA.Node.html b/docs/v0.12.1/classes/DFA.Node.html new file mode 100644 index 0000000..145bb3c --- /dev/null +++ b/docs/v0.12.1/classes/DFA.Node.html @@ -0,0 +1,188 @@ +Node | refa - v0.12.1
+
+ +
+
+
+
+ +

Class Node

+
+

Hierarchy

+
    +
  • Node
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
out +
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
out: CharMap<DFA.Node> = ...
+
+

Methods

+
+ +
+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +

    Unlinks all outgoing and incoming transitions of this node.

    +
    +

    Returns void

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/classes/ENFA-1.html b/docs/v0.12.1/classes/ENFA-1.html new file mode 100644 index 0000000..63f1d41 --- /dev/null +++ b/docs/v0.12.1/classes/ENFA-1.html @@ -0,0 +1,940 @@ +ENFA | refa - v0.12.1
+
+ +
+
+
+
+ +

Class ENFA

+
+

A nondeterministic finite automaton with epsilon +transitions.

+

This class implements NFAs with the following properties:

+
    +
  • There is exactly one initial state.

    +
  • +
  • There is exactly one final state.

    +
  • +
  • There are epsilon transitions.

    +
  • +
  • A transitions either an epsilon transition or consumes a character.

    +

    Epsilon transition are represented using null and characters are represented using non-empty CharSets.

    +
  • +
  • Transitions are ordered.

    +

    As a consequence, /aa|bb/ and /bb|aa/ have different state machines in this NFA implementation.

    +

    Order is only guaranteed as long as no transitions are removed. Order is defined by the key order of the JavaScript +Map class.

    +
  • +
  • Between any two states, there can at most be one transition.

    +

    Unlike the NFA class, transition cannot be merged. As a consequence, /a|a/ and /a/ have different +state machines in this NFA implementation.

    +
  • +
+

Normal form

The normal form of this ENFA implementation has the following restriction:

+
    +
  • The initial state must not have incoming transitions.
  • +
  • The final state must not have outgoing transitions.
  • +
  • The initial state and final state are different states.
  • +
+

Non-normalized ENFAs will either be tolerated or normalized by operations.

+
+
+
+

Hierarchy

+
    +
  • ENFA
+
+

Implements

+
+
+
+
+ +
+
+

Properties

+
+ +
final: ENFA.Node
+

The final state of the ENFA.

+

This state may not be reachable from the initial state.

+
+
+
+ +
initial: ENFA.Node
+

The initial state of the ENFA.

+
+
+
+ +
maxCharacter: Char
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+

Accessors

+
+ +
    +
  • get isEmpty(): boolean
  • +
  • +

    Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

    +
    +

    Returns boolean

    +
+
+ +
    +
  • get isFinite(): boolean
  • +
  • +

    Returns whether the formal language accepted by this FA contains finitely many words.

    +

    Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with +10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

    +
    +

    Returns boolean

    +
+
+ +
    +
  • get isNormalized(): boolean
  • +
  • +

    Whether this ENFA is in its normal form.

    +
    +

    Returns boolean

    +
    +

    See

    ENFA

    +
+
+

Methods

+
+ +
+
+ +
    + +
  • +

    Modifies this ENFA to accept the concatenation of this ENFA and the other ENFA.

    +

    This operation is implemented by moving (not copying) the states from the other ENFA into this ENFA. The other +ENFA will be in an invalid state after this operation completes. The initial and final states of the other +ENFA will be random nodes of this ENFA. Makes sure that you never use the other ENFA again.

    +

    This operation will create at most 4 nodes with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
+
+ +
    + +
  • +

    Returns the number of nodes reachable from the initial state including the initial state.

    +

    This returns the number of nodes returned by nodes.

    +
    +

    Returns number

    +
+
+ +
    + +
  • +

    Yields all nodes reachable from the initial state including the initial state.

    +

    This may include trap states, but it will not include the final states if it is unreachable from the initial +state.

    +

    The order in which nodes will be returned is implementation defined and may change after any operation that +modifies the ENFA.

    +

    Modifying the ENFA while iterating will result in implementation-defined behavior. The implementation may stop +the iteration or yield an nodes.

    +

    This operation runs in O(E + V) where E is the number of nodes reachable from the initial state and V is +the number of transitions.

    +
    +

    Returns Iterable<ENFA.Node>

    +
+
+ +
    + +
  • +

    Brings this ENFA is in its normal form.

    +

    This operation will create at most 2 nodes with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
    +

    See

    ENFA

    +
+
+ +
    + +
  • +

    Modifies this ENFA such that all prefixes of all accepted words are also accepted.

    +

    If the language of this ENFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
+
+ +
    + +
  • +

    Modifies this ENFA to accept the concatenation of the other ENFA and this ENFA.

    +

    This operation is implemented by moving (not copying) the states from the other ENFA into this ENFA. The other +ENFA will be in an invalid state after this operation completes. The initial and final states of the other +ENFA will be random nodes of this ENFA. Makes sure that you never use the other ENFA again.

    +

    This operation will create at most 4 nodes with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Modifies this ENFA to accept at least min and at most max concatenations of itself.

    +

    Both min and max both have to be non-negative integers with min <= max. +max is also allowed to be Infinity.

    +
    +
    +

    Parameters

    +
      +
    • +
      min: number
      +
    • +
    • +
      max: number
      +
    • +
    • +
      lazy: boolean = false
      +
    • +
    • +
      factory: NodeFactory<ENFA.Node> = ...
      +
    +

    Returns void

    +
+
+ +
    + +
  • +

    All states which cannot be reached from the initial state or cannot reach (or are) a final state, will be +removed.

    +
    +

    Returns void

    +
+
+ +
+
+ +
    + +
  • +

    Modifies this ENFA such that all suffixes of all accepted words are also accepted.

    +

    If the language of this ENFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    +
      +
    • +
      word: ReadonlyWord
      +

      The characters of the word to test.

      +
      +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the +DOT format.

    +

    The output of this function can passed to any graph visualization program. This can be a +local installation or an online editor.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the Mermaid format.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
+
+ +
    + +
  • +

    Returns a string representation of this FA.

    +
    +

    Returns string

    +
+
+ +
+
+ +
    + +
  • +

    Modifies this ENFA to accept the language of this ENFA and the language of the given FA.

    +

    If the union kind is left, then this ENFA will be modified to accept <other>|<this>. Otherwise, it will be +modified to accept <this>|<other>.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      O

    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Modifies this ENFA to accept the language of this ENFA and the language of the other ENFA.

    +

    If the union kind is left, then this ENFA will be modified to accept <other>|<this>. Otherwise, it will be +modified to accept <this>|<other>.

    +

    This operation is implemented by moving (not copying) the states from the other ENFA into this ENFA. The other +ENFA will be in an invalid state after this operation completes. The initial and final states of the other +ENFA will be random nodes of this ENFA. Makes sure that you never use the other ENFA again.

    +

    This operation will create at most 6 nodes with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Removes the empty word from the accepted languages of this ENFA.

    +

    Unreachable states will be removed by this operation.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end. If this FA is finite, the iterable will +end after at most 2^O(n) word sets (n = number of states).

    +

    If you analyse the words of an FA, consider using this method instead of words. If this method yields k word +sets, then words will yield up to O(k * m ^ l) words (m = number of possible characters, l = the maximum +length of any of the k word sets).

    +
    +

    Returns Iterable<WordSet>

    +
+
+ +
    + +
  • +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
+
+ +
+
+ +
    + +
  • +

    Creates a new ENFA which matches no words. The language of the returned ENFA is empty.

    +

    This operation will create exactly 2 nodes with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns ENFA

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

    Creates a new ENFA which matches the given characters.

    +

    This operation will create exactly 2 nodes with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns ENFA

    +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/classes/ENFA.Builder.html b/docs/v0.12.1/classes/ENFA.Builder.html new file mode 100644 index 0000000..b31d424 --- /dev/null +++ b/docs/v0.12.1/classes/ENFA.Builder.html @@ -0,0 +1,248 @@ +Builder | refa - v0.12.1
+
+ +
+
+
+
+ +

Class Builder

+
+

An FA builder has the responsibility of constructing a finite automaton.

+

The constructed FA is always owned by the builder.

+
+
+
+

Hierarchy

+
    +
  • Builder
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
+
+ +
final: ENFA.Node
+
+ +
initial: ENFA.Node
+

The initial state of the FA.

+
+
+
+

Methods

+
+ +
+
+ +
    + +
  • +

    Returns whether the given state is a final state.

    +

    This operation is assumed to be semantically equivalent to isFinal.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Links to the two given states using the given transition.

    +

    Calling this operations more than once for the given from and to states is not guaranteed to succeed.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Makes the given state behave like a final state of this FA.

    +

    This does not necessarily mean that the given state will be a final state. I.e. calling makeFinal(s) does not +necessitate that isFinal(s) is true.

    +

    The implementation has to guarantee that calling this method for the same state more than once is allowed.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/classes/ENFA.LimitedNodeFactory.html b/docs/v0.12.1/classes/ENFA.LimitedNodeFactory.html new file mode 100644 index 0000000..9f8bc0d --- /dev/null +++ b/docs/v0.12.1/classes/ENFA.LimitedNodeFactory.html @@ -0,0 +1,173 @@ +LimitedNodeFactory | refa - v0.12.1
+
+ +
+
+
+
+ +

Class LimitedNodeFactory

+
+

A factory for the nodes of finite automata.

+
+
+
+

Hierarchy

+
    +
  • LimitedNodeFactory
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
limit: number
+
+

Methods

+
+ +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/classes/ENFA.Node.html b/docs/v0.12.1/classes/ENFA.Node.html new file mode 100644 index 0000000..f0fd055 --- /dev/null +++ b/docs/v0.12.1/classes/ENFA.Node.html @@ -0,0 +1,304 @@ +Node | refa - v0.12.1
+
+ +
+
+
+
+ +

Class Node

+
+

Hierarchy

+
    +
  • Node
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
in +out +
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
in: Map<ENFA.Node, null | CharSet> = ...
+
+ +
out: Map<ENFA.Node, null | CharSet> = ...
+
+

Methods

+
+ +
    + +
  • +

    Adds a transition from this to to using the given non-empty set of characters.

    +

    If two nodes are already linked, an error will be thrown.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Returns a set of all nodes that are reachable from the given node by only following epsilon transitions in +the given direction. The returned set is guaranteed to always contain the given node.

    +

    The order of the nodes in the returned set in implementation-defined and cannot be relied upon.

    +
    +

    This method can be used to determine the set of all effectively final states.

    +
    const effectivelyFinal = final.reachableViaEpsilon("in");
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      direction: "in" | "out"
    +

    Returns Set<ENFA.Node>

    +
+
+ +
    + +
  • +

    Calls the given consumer function on every non-epsilon transition directly reachable from the given node.

    +

    Epsilon transitions will be resolved using a DFS algorithm. This means that for the following graph:

    +
    (0) -> (1) : "a"
    +    -> (2) : epsilon
    +    -> (3) : "b"
    +
    +(1) -> (3) : "c"
    +
    +(2) -> (4) : "d"
    +    -> (1) : "e"
    +    -> (2) : epsilon
    +
    +(3) -> (1) : epsilon
    +
    +(4) -> empty
    +
    +

    The node (0) will return the resolved list:

    +
    [(1), "a"]
    +[(4), "d"]
    +[(1), "e"]
    +[(3), "b"]
    +
    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Removes the transition from this to to.

    +

    This will do nothing if this isn't linked to to.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Unlinks all outgoing and incoming transitions of this node.

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Unlinks all incoming transitions of this node.

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Unlinks all outgoing transitions of this node.

    +
    +

    Returns void

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/classes/FAIterators.MapFABuilder.html b/docs/v0.12.1/classes/FAIterators.MapFABuilder.html new file mode 100644 index 0000000..899fb8c --- /dev/null +++ b/docs/v0.12.1/classes/FAIterators.MapFABuilder.html @@ -0,0 +1,272 @@ +MapFABuilder | refa - v0.12.1
+
+ +
+
+
+
+ +

Class MapFABuilder

+
+

An FA builder that uses Map objects as nodes. Each node is the map of its outgoing transitions.

+
+
+
+

Hierarchy

+
    +
  • MapFABuilder
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
+
+

Methods

+
+
+

Constructors

+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      maxNodes: number = Infinity
    +

    Returns MapFABuilder

+
+

Properties

+
+ +
finals: Set<MapFABuilderNode> = ...
+
+ +
initial: MapFABuilderNode = ...
+

The initial state of the FA.

+
+
+
+

Methods

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

    Makes the given state behave like a final state of this FA.

    +

    This does not necessarily mean that the given state will be a final state. I.e. calling makeFinal(s) does not +necessitate that isFinal(s) is true.

    +

    The implementation has to guarantee that calling this method for the same state more than once is allowed.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
+
\ No newline at end of file diff --git a/docs/v0.12.1/classes/JS.Parser.html b/docs/v0.12.1/classes/JS.Parser.html new file mode 100644 index 0000000..eec9f2d --- /dev/null +++ b/docs/v0.12.1/classes/JS.Parser.html @@ -0,0 +1,275 @@ +Parser | refa - v0.12.1
+
+ +
+
+
+
+ +

Class Parser

+
+

Converts JS RegExp to refa's RE AST format.

+
+
+
+

Hierarchy

+
    +
  • Parser
+
+
+
+ +
+
+

Properties

+
+
+

Methods

+
+
+

Properties

+
+ + +

The parsed AST of the literal this parser works on.

+

While not explicitly typed that way, the parser will assume that the AST is readonly and makes optimizations +based on that assumption. It is not safe to change the AST in any way.

+
+
+
+ +
flags: Required<Flags>
+

This contains the same flags as ast.flags but with a better type.

+
+
+
+ +
literal: Literal
+

The literal of the parser instance.

+
+
+
+ +
maxCharacter: Char
+

The maximum character of all character sets in the parsed AST.

+

This value will also be returned as part of the ParseResult.

+
+
+
+

Methods

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

    Creates a new parser from the given regexpp AST.

    +

    When the JS RegExp has already been parsed using regexpp, this method can be used to avoid parsing the regex +again.

    +

    The given AST is not allowed to be changed during the lifetime of the returned parser.

    +
    +
    +

    Parameters

    +
    +

    Returns Parser

    +
+
+ +
    + +
  • +

    Creates a new parser from the given literal.

    +

    This function will throw a SyntaxError if the given literal is not a valid RegExp literal according to the +given RegExp parser options.

    +

    If a string is given as the literal, it must be of the form /pattern/flags. If possible, use the +object form with Literal instead.

    +
    +
    +

    Parameters

    +
      +
    • +
      literal: string | Literal
      +
    • +
    • +
      Optional parserOptions: Options
      +
    +

    Returns Parser

    +
+
+ +
+
\ No newline at end of file diff --git a/docs/v0.12.1/classes/JS.StringSet.html b/docs/v0.12.1/classes/JS.StringSet.html new file mode 100644 index 0000000..3c127cc --- /dev/null +++ b/docs/v0.12.1/classes/JS.StringSet.html @@ -0,0 +1,465 @@ +StringSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Class StringSet

+
+

A set of words.

+

Words are stored as a sorted list of canonicalized words. The actual value of the set is wordSets.

+
+
+
+

Hierarchy

+
    +
  • StringSet
+
+
+
+ +
+
+

Properties

+
+ +
empty: StringSet = ...
+
+

Accessors

+
+ +
    +
  • get hasEmptyWord(): boolean
  • +
  • +

    true if this set contains the empty word.

    +
    +

    Returns boolean

    +
+
+ +
    +
  • get hasSingleCharacter(): boolean
  • +
  • +

    true if this set contains at least one single-character word.

    +

    This is equivalent to this.getSingleCharacter() !== undefined.

    +
    +

    Returns boolean

    +
+
+ +
    +
  • get isEmpty(): boolean
  • +
  • +

    true if this set is empty.

    +
    +

    Returns boolean

    +
+
+ +
    +
  • get wordSets(): readonly ReadonlyWordSet[]
  • +
  • +

    The words of this set with toCharSet applied to each character.

    +

    Word sets are guaranteed to be sorted by ascending length.

    +

    Note: This is a lazy getter. Try to avoid calling it for best performance.

    +
    +

    Returns readonly ReadonlyWordSet[]

    +
+
+

Methods

+
+ +
    + +
  • +

    Returns whether this set is equal to the given set.

    +

    Equality is defined as the wordSets of both sets being the same formal language.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns the minimum and maximum length of words in this set.

    +

    If this set is empty, undefined will be returned returned.

    +
    +

    Returns undefined | {
        max: number;
        min: number;
    }

    +
+
+ +
    + +
  • +

    Returns a set of all single-character words in this set or undefined if this set contains no single-character +words.

    +
    +

    Returns undefined | CharSet

    +
+
+ +
    + +
  • +

    Returns the intersection of this set and the given set.

    +

    Note: This operation is only allowed if all sets are compatible.

    +
    +
    +

    Parameters

    +
    +

    Returns StringSet

    +
+
+ +
    + +
  • +

    Returns whether this set is compatible with the given set. Compatibility is defined as follows:

    +
      +
    1. The empty set is compatible with all sets.
    2. +
    3. Sets with different case folding are incompatible.
    4. +
    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns boolean

+
+ +
    + +
  • +

    Returns whether this ⊂ other.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns whether this ⊃ other.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns whether this ⊆ other.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns whether this ⊇ other.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns the union of all given sets.

    +

    Note: This operation is only allowed if all sets are compatible.

    +
    +
    +

    Parameters

    +
    +

    Returns StringSet

    +
+
+ +
    + +
  • +

    Returns this set without the strings of the given set.

    +

    Note: This operation is only allowed if all sets are compatible.

    +
    +
    +

    Parameters

    +
    +

    Returns StringSet

    +
+
+ +
    + +
  • +

    Removes the empty word from this set.

    +
    +

    Returns StringSet

    +
+
+ +
    + +
  • +

    Removes all single-character words from this set.

    +
    +

    Returns StringSet

    +
+
+ +
+
+ +
+
+ +
+
\ No newline at end of file diff --git a/docs/v0.12.1/classes/JS.UnicodeSet.html b/docs/v0.12.1/classes/JS.UnicodeSet.html new file mode 100644 index 0000000..75d5209 --- /dev/null +++ b/docs/v0.12.1/classes/JS.UnicodeSet.html @@ -0,0 +1,435 @@ +UnicodeSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Class UnicodeSet

+
+

A mathematical set of characters and strings.

+

Despite the name, the characters in this set are not necessarily Unicode characters. +So chars.maximum is not necessarily 0x10FFFF.

+

The set is represented as a union of a CharSet and a StringSet.

+
+
+
+

Hierarchy

+
    +
  • UnicodeSet
+
+
+
+ +
+
+

Properties

+
+ +
accept: StringSet
+

A sorted set of words.

+

In addition to the usual guarantees of StringSet, this set is also guaranteed to not contain any +single-character words.

+
+
+
+ +
chars: CharSet
+

All single characters in the set.

+
+
+
+

Accessors

+
+ +
    +
  • get hasEmptyWord(): boolean
  • +
  • +

    true if the set contains the empty word.

    +

    This is equivalent to this.accept.hasEmptyWord.

    +
    +

    Returns boolean

    +
+
+ +
    +
  • get isEmpty(): boolean
  • +
  • +

    true if the set is empty (=accepts no words).

    +
    +

    Returns boolean

    +
+
+ +
    +
  • get maximum(): Char
  • +
  • +

    The maximum character in the set.

    +

    This is equivalent to this.chars.maximum.

    +
    +

    Returns Char

    +
+
+ +
    +
  • get wordSets(): readonly ReadonlyWordSet[]
  • +
  • +

    All word sets accepted by this set.

    +

    Word sets are guaranteed to be sorted by descending length and code points. This means that word sets are in +the order in which the ECMAScript RegExp engine would try matching them.

    +

    Note: This is a lazy getter. Try to avoid calling it for best performance.

    +
    +

    Returns readonly ReadonlyWordSet[]

    +
+
+

Methods

+
+ +
+
+ +
    + +
  • +

    Returns the minimum and maximum length of words in this set.

    +

    If this set is empty, undefined will be returned returned.

    +
    +

    Returns undefined | {
        max: number;
        min: number;
    }

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

    Parameters

    +
    +

    Returns boolean

+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
\ No newline at end of file diff --git a/docs/v0.12.1/classes/MaxCharacterError.html b/docs/v0.12.1/classes/MaxCharacterError.html new file mode 100644 index 0000000..2a21762 --- /dev/null +++ b/docs/v0.12.1/classes/MaxCharacterError.html @@ -0,0 +1,161 @@ +MaxCharacterError | refa - v0.12.1
+
+ +
+
+
+
+ +

Class MaxCharacterError

+
+

An error that is thrown when the max characters of two or more FA or transition iterables is not the same.

+

Operations on FA and transition iterables require the max characters of all given FA and transition iterables to be +the same and will throw this error if they are not.

+
+
+
+

Hierarchy

+
    +
  • Error +
      +
    • MaxCharacterError
+
+
+
+ +
+
+

Constructors

+
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Methods

+
+ +
    + +
  • +

    Asserts the two given max characters are the same.

    +
    +
    +

    Parameters

    +
      +
    • +
      a: Char | {
          maxCharacter: Char;
      }
      +
    • +
    • +
      b: Char | {
          maxCharacter: Char;
      }
      +
    • +
    • +
      Optional kind: string
      +
    +

    Returns void

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/classes/NFA-1.html b/docs/v0.12.1/classes/NFA-1.html new file mode 100644 index 0000000..537affc --- /dev/null +++ b/docs/v0.12.1/classes/NFA-1.html @@ -0,0 +1,941 @@ +NFA | refa - v0.12.1
+
+ +
+
+
+
+ +

Class NFA

+
+

A nondeterministic finite automaton.

+

This class implements NFAs with the following properties:

+
    +
  • There is exactly one initial state.

    +
  • +
  • There may be any number of final states.

    +

    This is implemented using a Set of states.

    +
  • +
  • No epsilon transitions.

    +
  • +
  • A transitions always consumes a character.

    +

    (All character sets are guaranteed to be non-empty.)

    +
  • +
  • Transitions are unordered.

    +

    As a consequence, /aa|bb/ and /bb|aa/ have the same state machine in this NFA implementation.

    +

    (The underlying data structure may be a JavaScript Map but the key order is ignored.)

    +
  • +
  • Between any two states, there can at most be one transition.

    +

    This means that all transitions between two nodes will be merged into one. This is implemented as a simple +union. As a consequence, /a|a/ and /a/ have the same state machine in this NFA implementation.

    +
  • +
+

Normal form

The normal form of this NFA implementation has the following restriction:

+
    +
  • The initial state must not have incoming transitions.
  • +
+

Non-normalized NFAs will either be tolerated or normalized by operations.

+
+
+
+

Hierarchy

+
    +
  • NFA
+
+

Implements

+
+
+
+
+ +
+
+

Properties

+
+ +
finals: Set<NFA.Node>
+

The set of final states of the NFA.

+

This set may be empty or contain nodes not reachable from the initial state.

+
+
+
+ +
initial: NFA.Node
+

The initial state of the NFA.

+
+
+
+ +
maxCharacter: Char
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+

Accessors

+
+ +
    +
  • get isEmpty(): boolean
  • +
  • +

    Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

    +
    +

    Returns boolean

    +
+
+ +
    +
  • get isFinite(): boolean
  • +
  • +

    Returns whether the formal language accepted by this FA contains finitely many words.

    +

    Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with +10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

    +
    +

    Returns boolean

    +
+
+ +
    +
  • get isNormalized(): boolean
  • +
  • +

    Whether this NFA is in its normal form.

    +
    +

    Returns boolean

    +
    +

    See

    NFA

    +
+
+

Methods

+
+ +
+
+ +
    + +
  • +

    Modifies this NFA to accept the concatenation of this NFA and the given FA.

    +

    This is implemented by simply moving the nodes from the given NFA into this NFA. The given NFA will be empty +after this operation as nodes are moved, not shared.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
+
+ +
    + +
  • +

    Returns the number of nodes reachable from the initial state including the initial state.

    +

    This returns the number of nodes returned by nodes.

    +
    +

    Returns number

    +
+
+ +
    + +
  • +

    Yields all nodes reachable from the initial state including the initial state.

    +

    This may include trap states, but it will not include unreachable final states.

    +

    The order in which nodes will be returned is implementation defined and may change after any operation that +modifies the NFA.

    +

    Modifying the NFA while iterating will result in implementation-defined behavior. The implementation may stop the +iteration or yield an nodes.

    +

    This operation runs in O(E + V) where E is the number of nodes reachable from the initial state and V is +the number of transitions.

    +
    +

    Returns Iterable<NFA.Node>

    +
+
+ +
    + +
  • +

    Brings this NFA is in its normal form.

    +

    This operation will create at most 1 node with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
    +

    See

    NFA

    +
+
+ +
    + +
  • +

    Modifies this NFA such that all prefixes of all accepted words are also accepted.

    +

    If the language of this NFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +
    +

    Returns void

    +
+
+ +
+
+ +
    + +
  • +

    Modifies this NFA to accept the concatenation of the given NFA and this FA.

    +

    This is implemented by simply moving the nodes from the given NFA into this NFA. The given NFA will be empty +after this operation as nodes are moved, not shared.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Modifies this NFA to accept at least min and at most max concatenations of itself.

    +

    Both min and max both have to be non-negative integers with min <= max. +max is also allowed to be Infinity.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Removes all states that are unreachable.

    +

    Only the following states will remain after this operation:

    +
      +
    1. The initial state.
    2. +
    3. All states that are reachable from the initial state and can reach one of the final states.
    4. +
    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Modifies this NFA such that it accepts the reverse of all words it currently accepts.

    +

    If the language of this NFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +
    +

    Returns void

    +
+
+ +
+
+ +
    + +
  • +

    Modifies this NFA such that all suffixes of all accepted words are also accepted.

    +

    If the language of this NFA is empty, then it will remain empty.

    +

    Unreachable states will be removed by this operation.

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    +
      +
    • +
      word: ReadonlyWord
      +

      The characters of the word to test.

      +
      +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the +DOT format.

    +

    The output of this function can passed to any graph visualization program. This can be a +local installation or an online editor.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the Mermaid format.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
+
+ +
    + +
  • +

    Returns a string representation of this FA.

    +
    +

    Returns string

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

    Modifies this NFA to accept all words from this NFA and the given NFA.

    +

    This is implemented by simply moving the nodes from the given NFA into this NFA. The given NFA will be empty +after this operation as nodes are moved, not shared.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Removes the empty word from the accepted languages of this NFA.

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end. If this FA is finite, the iterable will +end after at most 2^O(n) word sets (n = number of states).

    +

    If you analyse the words of an FA, consider using this method instead of words. If this method yields k word +sets, then words will yield up to O(k * m ^ l) words (m = number of possible characters, l = the maximum +length of any of the k word sets).

    +
    +

    Returns Iterable<WordSet>

    +
+
+ +
    + +
  • +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
+
+ +
    + +
  • +

    Creates a new NFA which matches all words.

    +

    This operation will create exactly 1 node with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns NFA

    +
+
+ +
    + +
  • +

    Creates a new NFA which matches no words. The language of the returned NFA is empty.

    +

    This operation will create exactly 1 node with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns NFA

    +
+
+ +
    + +
  • +

    Creates a new NFA which matches only the empty word.

    +

    This operation will create exactly 1 node with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns NFA

    +
+
+ +
+
+ +
    + +
  • +

    Creates a new NFA which matches the given characters.

    +

    This operation will create at most 2 nodes with the given factory.

    +
    +
    +

    Parameters

    +
    +

    Returns NFA

    +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/classes/NFA.Builder.html b/docs/v0.12.1/classes/NFA.Builder.html new file mode 100644 index 0000000..eda955c --- /dev/null +++ b/docs/v0.12.1/classes/NFA.Builder.html @@ -0,0 +1,248 @@ +Builder | refa - v0.12.1
+
+ +
+
+
+
+ +

Class Builder

+
+

An FA builder has the responsibility of constructing a finite automaton.

+

The constructed FA is always owned by the builder.

+
+
+
+

Hierarchy

+
    +
  • Builder
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
factory: NodeFactory<NFA.Node>
+
+ +
finals: Set<NFA.Node> = ...
+
+ +
initial: NFA.Node
+

The initial state of the FA.

+
+
+
+

Methods

+
+ +
+
+ +
    + +
  • +

    Returns whether the given state is a final state.

    +

    This operation is assumed to be semantically equivalent to isFinal.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Links to the two given states using the given transition.

    +

    Calling this operations more than once for the given from and to states is not guaranteed to succeed.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Makes the given state behave like a final state of this FA.

    +

    This does not necessarily mean that the given state will be a final state. I.e. calling makeFinal(s) does not +necessitate that isFinal(s) is true.

    +

    The implementation has to guarantee that calling this method for the same state more than once is allowed.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/classes/NFA.LimitedNodeFactory.html b/docs/v0.12.1/classes/NFA.LimitedNodeFactory.html new file mode 100644 index 0000000..32d9074 --- /dev/null +++ b/docs/v0.12.1/classes/NFA.LimitedNodeFactory.html @@ -0,0 +1,173 @@ +LimitedNodeFactory | refa - v0.12.1
+
+ +
+
+
+
+ +

Class LimitedNodeFactory

+
+

A factory for the nodes of finite automata.

+
+
+
+

Hierarchy

+
    +
  • LimitedNodeFactory
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
limit: number
+
+

Methods

+
+ +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/classes/NFA.Node.html b/docs/v0.12.1/classes/NFA.Node.html new file mode 100644 index 0000000..0624a8e --- /dev/null +++ b/docs/v0.12.1/classes/NFA.Node.html @@ -0,0 +1,217 @@ +Node | refa - v0.12.1
+
+ +
+
+
+
+ +

Class Node

+
+

Hierarchy

+
    +
  • Node
+
+

Implements

+
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
in +out +
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
in: Map<NFA.Node, CharSet> = ...
+
+ +
out: Map<NFA.Node, CharSet> = ...
+
+

Methods

+
+ +
+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +

    Unlinks all outgoing and incoming transitions of this node.

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Unlinks all incoming transitions of this node.

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Unlinks all outgoing transitions of this node.

    +
    +

    Returns void

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/classes/TooManyNodesError.html b/docs/v0.12.1/classes/TooManyNodesError.html new file mode 100644 index 0000000..5ec6ef9 --- /dev/null +++ b/docs/v0.12.1/classes/TooManyNodesError.html @@ -0,0 +1,162 @@ +TooManyNodesError | refa - v0.12.1
+
+ +
+
+
+
+ +

Class TooManyNodesError

+
+

An error that is thrown when an operation causes too many nodes to be created.

+

Many FA operation have the potential to create a huge number of nodes (thousands and millions) which may result in +the JavaScript runtime running out of memory and/or crashing. This error will thrown before that happens to safely +abort an otherwise resource-intensive operation.

+
+
+
+

Hierarchy

+
    +
  • Error +
      +
    • TooManyNodesError
+
+
+
+ +
+
+

Constructors

+
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Methods

+
+ +
    + +
  • +

    Asserts that the current number of created nodes does not exceed the limit.

    +
    +
    +

    Parameters

    +
      +
    • +
      current: number
      +
    • +
    • +
      limit: number
      +
    • +
    • +
      kind: string
      +
    +

    Returns void

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/FAIterators.approximateRejectingWordSet.html b/docs/v0.12.1/functions/FAIterators.approximateRejectingWordSet.html new file mode 100644 index 0000000..b333786 --- /dev/null +++ b/docs/v0.12.1/functions/FAIterators.approximateRejectingWordSet.html @@ -0,0 +1,164 @@ +approximateRejectingWordSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Function approximateRejectingWordSet

+
+
    + +
  • +

    Returns a set of inputs rejected by the given iterator using the given input character set.

    +

    If the iterator accepts all words, undefined is guaranteed to be returned.

    +

    This algorithm implements an approximation to determine rejecting inputs in order to guarantee non-exponential +worst-case execution time. Consequently, the algorithm can't find rejecting inputs for some iterators and returns +undefined instead.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, Iterable<[S, CharSet]>>
      +
    • +
    • +
      inputCharacters: CharSet
      +

      The set of input characters.

      +

      All character sets in the returned word set will be subsets of the set of input characters.

      +

      If all characters are allowed, use CharSet.all(maxCharacter).

      +
      +
    +

    Returns WordSet | undefined

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/FAIterators.canReachFinal.html b/docs/v0.12.1/functions/FAIterators.canReachFinal.html new file mode 100644 index 0000000..a86ece3 --- /dev/null +++ b/docs/v0.12.1/functions/FAIterators.canReachFinal.html @@ -0,0 +1,153 @@ +canReachFinal | refa - v0.12.1
+
+ +
+
+
+
+ +

Function canReachFinal

+
+
    + +
  • +

    Returns whether the initial state can reach (or is) a final state.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/FAIterators.count.html b/docs/v0.12.1/functions/FAIterators.count.html new file mode 100644 index 0000000..a5d0833 --- /dev/null +++ b/docs/v0.12.1/functions/FAIterators.count.html @@ -0,0 +1,153 @@ +count | refa - v0.12.1
+
+ +
+
+
+
+ +

Function count

+
+
    + +
  • +

    Returns the number of nodes reachable from the initial state (including the initial state itself).

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    +
    +

    Parameters

    +
    +

    Returns number

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/FAIterators.ensureStableOut.html b/docs/v0.12.1/functions/FAIterators.ensureStableOut.html new file mode 100644 index 0000000..a3d0c8a --- /dev/null +++ b/docs/v0.12.1/functions/FAIterators.ensureStableOut.html @@ -0,0 +1,155 @@ +ensureStableOut | refa - v0.12.1
+
+ +
+
+
+
+ +

Function ensureStableOut

+
+
    + +
  • +

    The returned iterator is guaranteed to be stable.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      O

    +
    +

    Parameters

    +
    +

    Returns FAIterator<S, O>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/FAIterators.filterOutIter.html b/docs/v0.12.1/functions/FAIterators.filterOutIter.html new file mode 100644 index 0000000..ea29781 --- /dev/null +++ b/docs/v0.12.1/functions/FAIterators.filterOutIter.html @@ -0,0 +1,169 @@ +filterOutIter | refa - v0.12.1
+
+ +
+
+
+
+ +

Function filterOutIter

+
+
    + +
  • +

    Maps the out type of the given iterator and returns a new iterator.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      O

    +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, Iterable<O>>
      +
    • +
    • +
      conditionFn: ((out: O) => boolean)
      +
      +
        +
      • +
          +
        • (out: O): boolean
        • +
        • +
          +

          Parameters

          +
            +
          • +
            out: O
          +

          Returns boolean

    +

    Returns FAIterator<S, Iterable<O>>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/FAIterators.forEach.html b/docs/v0.12.1/functions/FAIterators.forEach.html new file mode 100644 index 0000000..d57f26b --- /dev/null +++ b/docs/v0.12.1/functions/FAIterators.forEach.html @@ -0,0 +1,169 @@ +forEach | refa - v0.12.1
+
+ +
+
+
+
+ +

Function forEach

+
+
    + +
  • +

    This will traverse the whole iterator can call the given consumer function (optional) on each reachable state +exactly once.

    +

    The order in which states are traversed is implementation-defined.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, Iterable<S>>
      +
    • +
    • +
      Optional consumerFn: ((state: S) => void)
      +
      +
        +
      • +
          +
        • (state: S): void
        • +
        • +
          +

          Parameters

          +
            +
          • +
            state: S
          +

          Returns void

    +

    Returns void

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/FAIterators.fromWordSets.html b/docs/v0.12.1/functions/FAIterators.fromWordSets.html new file mode 100644 index 0000000..3459514 --- /dev/null +++ b/docs/v0.12.1/functions/FAIterators.fromWordSets.html @@ -0,0 +1,161 @@ +fromWordSets | refa - v0.12.1
+
+ +
+
+
+
+ +

Function fromWordSets

+
+
    + +
  • +

    This eagerly creates an FA that accepts exactly all the given word sets.

    +

    The construction is already finished when this method returns, so the returned FA iterator does not have to be used.

    +

    The construction will create a DFA by default.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    +
    +

    Parameters

    +
    +

    Returns FAIterator<S, S>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/FAIterators.fromWords.html b/docs/v0.12.1/functions/FAIterators.fromWords.html new file mode 100644 index 0000000..81f974c --- /dev/null +++ b/docs/v0.12.1/functions/FAIterators.fromWords.html @@ -0,0 +1,185 @@ +fromWords | refa - v0.12.1
+
+ +
+
+
+
+ +

Function fromWords

+
+
    + +
  • +

    This eagerly creates an FA that accepts exactly all the given words.

    +

    The construction is already finished when this method returns, so the returned FA iterator does not have to be used.

    +

    The construction will create a DFA by default. However, the FA builder implementation has to be carefully chosen to +preserve the determinism. In order for the determinism to be preserved, builder and getOutState have to fulfill +the following conditions:

    +
      +
    • Let x, y be any 2 states of builder and c be any valid character <= maxCharacter. Iff this function +called builder.linkNodes(x, y, c), then getOutState(builder, x, c) == y.
    • +
    • builder has to be an empty FA when given to this method.
    • +
    • builder.makeFinal(x) must have no effect on getOutState.
    • +
    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    +
    +

    Parameters

    +
      +
    • +
      builder: FABuilder<S, CharSet>
      +
    • +
    • +
      getOutState: ((state: S, char: Char) => undefined | S)
      +
      +
        +
      • +
          +
        • (state: S, char: Char): undefined | S
        • +
        • +
          +

          Parameters

          +
            +
          • +
            state: S
          • +
          • +
            char: Char
          +

          Returns undefined | S

    • +
    • +
      words: Iterable<ReadonlyWord>
      +
    • +
    • +
      maxCharacter: Char
      +
    +

    Returns FAIterator<S, S>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/FAIterators.hasCycle.html b/docs/v0.12.1/functions/FAIterators.hasCycle.html new file mode 100644 index 0000000..24c9d41 --- /dev/null +++ b/docs/v0.12.1/functions/FAIterators.hasCycle.html @@ -0,0 +1,153 @@ +hasCycle | refa - v0.12.1
+
+ +
+
+
+
+ +

Function hasCycle

+
+
    + +
  • +

    Returns whether the given graph contains a cycle reachable from the initial state.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/FAIterators.intersection.html b/docs/v0.12.1/functions/FAIterators.intersection.html new file mode 100644 index 0000000..b8f5258 --- /dev/null +++ b/docs/v0.12.1/functions/FAIterators.intersection.html @@ -0,0 +1,165 @@ +intersection | refa - v0.12.1
+
+ +
+
+
+
+ +

Function intersection

+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/FAIterators.iterateStates.html b/docs/v0.12.1/functions/FAIterators.iterateStates.html new file mode 100644 index 0000000..76d71a5 --- /dev/null +++ b/docs/v0.12.1/functions/FAIterators.iterateStates.html @@ -0,0 +1,154 @@ +iterateStates | refa - v0.12.1
+
+ +
+
+
+
+ +

Function iterateStates

+
+
    + +
  • +

    Iterates all states reachable from the initial state of the given iterator in BFS order.

    +

    The returned iterable cannot be empty and will always contain the initial state.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    +
    +

    Parameters

    +
    +

    Returns Iterable<S>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/FAIterators.iterateWordSets.html b/docs/v0.12.1/functions/FAIterators.iterateWordSets.html new file mode 100644 index 0000000..7c9e873 --- /dev/null +++ b/docs/v0.12.1/functions/FAIterators.iterateWordSets.html @@ -0,0 +1,155 @@ +iterateWordSets | refa - v0.12.1
+
+ +
+
+
+
+ +

Function iterateWordSets

+
+
    + +
  • +

    Iterates all word sets of the given FA.

    +

    Word sets are guaranteed to be iterated ordered by ascending length. Word sets might overlap.

    +

    This function assumes that all character sets in the given iterator are non-empty.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    +
    +

    Parameters

    +
    +

    Returns Iterable<WordSet>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/FAIterators.languageIsFinite.html b/docs/v0.12.1/functions/FAIterators.languageIsFinite.html new file mode 100644 index 0000000..4c9f583 --- /dev/null +++ b/docs/v0.12.1/functions/FAIterators.languageIsFinite.html @@ -0,0 +1,153 @@ +languageIsFinite | refa - v0.12.1
+
+ +
+
+
+
+ +

Function languageIsFinite

+
+
    + +
  • +

    Returns whether the given FA only has finitely many paths that lead to a final state.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/FAIterators.makeDeterministic.html b/docs/v0.12.1/functions/FAIterators.makeDeterministic.html new file mode 100644 index 0000000..d7a274c --- /dev/null +++ b/docs/v0.12.1/functions/FAIterators.makeDeterministic.html @@ -0,0 +1,159 @@ +makeDeterministic | refa - v0.12.1
+
+ +
+
+
+
+ +

Function makeDeterministic

+
+
    + +
  • +

    This will return an iterator that iteratively create a DFA using the given FABuilder.

    +

    This operation may produce up to 2^O(n) many states. The builder should limit the number of states created.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      B

    • +
    • +

      I

    +
    +

    Parameters

    +
    +

    Returns FAIterator<B, B>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/FAIterators.makeInitialFinal.html b/docs/v0.12.1/functions/FAIterators.makeInitialFinal.html new file mode 100644 index 0000000..991e756 --- /dev/null +++ b/docs/v0.12.1/functions/FAIterators.makeInitialFinal.html @@ -0,0 +1,156 @@ +makeInitialFinal | refa - v0.12.1
+
+ +
+
+
+
+ +

Function makeInitialFinal

+
+
    + +
  • +

    Creates a new iterator that is equivalent to the given iterator expect that the initial state is guaranteed to be +final.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      O

    +
    +

    Parameters

    +
    +

    Returns FAIterator<S, O>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/FAIterators.makeInitialNonFinal.html b/docs/v0.12.1/functions/FAIterators.makeInitialNonFinal.html new file mode 100644 index 0000000..426b49a --- /dev/null +++ b/docs/v0.12.1/functions/FAIterators.makeInitialNonFinal.html @@ -0,0 +1,156 @@ +makeInitialNonFinal | refa - v0.12.1
+
+ +
+
+
+
+ +

Function makeInitialNonFinal

+
+
    + +
  • +

    Creates a new iterator that is equivalent to the given iterator expect that the initial state is guaranteed to be +non-final.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      O

    +
    +

    Parameters

    +
    +

    Returns FAIterator<S, O>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/FAIterators.mapOut.html b/docs/v0.12.1/functions/FAIterators.mapOut.html new file mode 100644 index 0000000..687d072 --- /dev/null +++ b/docs/v0.12.1/functions/FAIterators.mapOut.html @@ -0,0 +1,171 @@ +mapOut | refa - v0.12.1
+
+ +
+
+
+
+ +

Function mapOut

+
+
    + +
  • +

    Maps the out type of the given iterator and returns a new iterator.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      O

    • +
    • +

      T

    +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, O>
      +
    • +
    • +
      mapFn: ((out: O) => T)
      +
      +
        +
      • +
          +
        • (out: O): T
        • +
        • +
          +

          Parameters

          +
            +
          • +
            out: O
          +

          Returns T

    +

    Returns FAIterator<S, T>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/FAIterators.mapOutIter.html b/docs/v0.12.1/functions/FAIterators.mapOutIter.html new file mode 100644 index 0000000..81ebc85 --- /dev/null +++ b/docs/v0.12.1/functions/FAIterators.mapOutIter.html @@ -0,0 +1,171 @@ +mapOutIter | refa - v0.12.1
+
+ +
+
+
+
+ +

Function mapOutIter

+
+
    + +
  • +

    Maps the out type of the given iterator and returns a new iterator.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      O

    • +
    • +

      T

    +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, Iterable<O>>
      +
    • +
    • +
      mapFn: ((out: O) => T)
      +
      +
        +
      • +
          +
        • (out: O): T
        • +
        • +
          +

          Parameters

          +
            +
          • +
            out: O
          +

          Returns T

    +

    Returns FAIterator<S, Iterable<T>>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/FAIterators.removeDeadStates.html b/docs/v0.12.1/functions/FAIterators.removeDeadStates.html new file mode 100644 index 0000000..acc5646 --- /dev/null +++ b/docs/v0.12.1/functions/FAIterators.removeDeadStates.html @@ -0,0 +1,170 @@ +removeDeadStates | refa - v0.12.1
+
+ +
+
+
+
+ +

Function removeDeadStates

+
+
    + +
  • +

    Removes all dead states (and trap states) from the given iterator.

    +

    Note: This will iteratively create a complete copy of the given FA. This method is an expensive operation.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      O

    +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, Iterable<O>>
      +
    • +
    • +
      select: ((item: O) => S)
      +
      +
        +
      • +
          +
        • (item: O): S
        • +
        • +
          +

          Parameters

          +
            +
          • +
            item: O
          +

          Returns S

    +

    Returns FAIterator<S, O[]>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/FAIterators.shortestAcceptingPath.html b/docs/v0.12.1/functions/FAIterators.shortestAcceptingPath.html new file mode 100644 index 0000000..e6431b6 --- /dev/null +++ b/docs/v0.12.1/functions/FAIterators.shortestAcceptingPath.html @@ -0,0 +1,171 @@ +shortestAcceptingPath | refa - v0.12.1
+
+ +
+
+
+
+ +

Function shortestAcceptingPath

+
+
    + +
  • +

    Returns any one of the shortest paths accepted by the given iterator.

    +

    E.g. for the regex a|b|cd, the returned path may be a or b but not cd,

    +

    If the iterator does not accept any path, undefined will be returned.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      T

    +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, Iterable<T>>
      +
    • +
    • +
      selectState: ((item: T) => S)
      +
      +
        +
      • +
          +
        • (item: T): S
        • +
        • +
          +

          Parameters

          +
            +
          • +
            item: T
          +

          Returns S

    +

    Returns T[] | undefined

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/FAIterators.shortestWordSet.html b/docs/v0.12.1/functions/FAIterators.shortestWordSet.html new file mode 100644 index 0000000..4efbc8e --- /dev/null +++ b/docs/v0.12.1/functions/FAIterators.shortestWordSet.html @@ -0,0 +1,157 @@ +shortestWordSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Function shortestWordSet

+
+
    + +
  • +

    Returns any one of the shortest word sets accepted by the given iterator.

    +

    If the iterator does not accept any words, undefined will be returned.

    +

    This function assumes that all character sets in the given iterator are non-empty.

    +
    +

    This operation is roughly equivalent to firstOf(iterateWordSets(iter)) but implemented much more efficiently.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    +
    +

    Parameters

    +
    +

    Returns WordSet | undefined

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/FAIterators.toDot.html b/docs/v0.12.1/functions/FAIterators.toDot.html new file mode 100644 index 0000000..4bf79d5 --- /dev/null +++ b/docs/v0.12.1/functions/FAIterators.toDot.html @@ -0,0 +1,153 @@ +toDot | refa - v0.12.1
+
+ +
+
+
+
+ +

Function toDot

+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/FAIterators.toMermaid.html b/docs/v0.12.1/functions/FAIterators.toMermaid.html new file mode 100644 index 0000000..167410f --- /dev/null +++ b/docs/v0.12.1/functions/FAIterators.toMermaid.html @@ -0,0 +1,153 @@ +toMermaid | refa - v0.12.1
+
+ +
+
+
+
+ +

Function toMermaid

+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/FAIterators.toRegex.html b/docs/v0.12.1/functions/FAIterators.toRegex.html new file mode 100644 index 0000000..4f9afbb --- /dev/null +++ b/docs/v0.12.1/functions/FAIterators.toRegex.html @@ -0,0 +1,157 @@ +toRegex | refa - v0.12.1
+
+ +
+
+
+
+ +

Function toRegex

+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/FAIterators.toString.html b/docs/v0.12.1/functions/FAIterators.toString.html new file mode 100644 index 0000000..ee8bf8a --- /dev/null +++ b/docs/v0.12.1/functions/FAIterators.toString.html @@ -0,0 +1,190 @@ +toString | refa - v0.12.1
+
+ +
+
+
+
+ +

Function toString

+
+
    + +
  • +

    Returns a human readable string representation of the given FA. The FA has to have exactly one initial state.

    +

    All states will be labeled with numbers. The initial state will always has the number 0. Each state will be +mapped to its outgoing states. The outgoing states may contain duplicates and are sorted alphabetically by their +transition string. The number of states will be surrounded by brackets - square brackets for final states and round +brackets for non-final states.

    +

    A conversion function for the transitions may optionally be given. If no transition function is given, the native +String function will be used.

    +
    +

    Example output for an NFA of a*d|bb*

    +
    (0) -> (1) : 'a'
    +    -> [2] : 'b'
    +    -> [3] : 'd'
    +
    +(1) -> [3] : 'd'
    +
    +[2] -> [2] : 'b'
    +
    +[3] -> none
    +
    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      T

    +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, Iterable<[S, T]>>
      +
    • +
    • +
      toString: ((value: T) => string) = String
      +
      +
        +
      • +
          +
        • (value: T): string
        • +
        • +
          +

          Parameters

          +
            +
          • +
            value: T
          +

          Returns string

    • +
    • +
      ordered: boolean = false
      +
    +

    Returns string

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/FAIterators.withGetOut.html b/docs/v0.12.1/functions/FAIterators.withGetOut.html new file mode 100644 index 0000000..5106078 --- /dev/null +++ b/docs/v0.12.1/functions/FAIterators.withGetOut.html @@ -0,0 +1,174 @@ +withGetOut | refa - v0.12.1
+
+ +
+
+
+
+ +

Function withGetOut

+
+
    + +
  • +

    Creates a new iterator that is equivalent to the given iterator with the given getOut function.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      O

    • +
    • +

      T

    +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, O>
      +
    • +
    • +
      getOut: ((state: S) => T)
      +
      +
        +
      • +
          +
        • (state: S): T
        • +
        • +
          +

          Parameters

          +
            +
          • +
            state: S
          +

          Returns T

    • +
    • +
      stableOut: boolean = false
      +
    +

    Returns FAIterator<S, T>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/FAIterators.withInitial.html b/docs/v0.12.1/functions/FAIterators.withInitial.html new file mode 100644 index 0000000..bd04fa7 --- /dev/null +++ b/docs/v0.12.1/functions/FAIterators.withInitial.html @@ -0,0 +1,158 @@ +withInitial | refa - v0.12.1
+
+ +
+
+
+
+ +

Function withInitial

+
+
    + +
  • +

    Creates a new iterator that is equivalent to the given iterator with the given initial state.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      O

    +
    +

    Parameters

    +
    +

    Returns FAIterator<S, O>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/FAIterators.withIsFinal.html b/docs/v0.12.1/functions/FAIterators.withIsFinal.html new file mode 100644 index 0000000..010a7f9 --- /dev/null +++ b/docs/v0.12.1/functions/FAIterators.withIsFinal.html @@ -0,0 +1,169 @@ +withIsFinal | refa - v0.12.1
+
+ +
+
+
+
+ +

Function withIsFinal

+
+
    + +
  • +

    Creates a new iterator that is equivalent to the given iterator with the given isFinal function.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      S

    • +
    • +

      O

    +
    +

    Parameters

    +
      +
    • +
      iter: FAIterator<S, O>
      +
    • +
    • +
      isFinal: ((state: S) => boolean)
      +
      +
        +
      • +
          +
        • (state: S): boolean
        • +
        • +
          +

          Parameters

          +
            +
          • +
            state: S
          +

          Returns boolean

    +

    Returns FAIterator<S, O>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/JS.createAssertion.html b/docs/v0.12.1/functions/JS.createAssertion.html new file mode 100644 index 0000000..d4a0535 --- /dev/null +++ b/docs/v0.12.1/functions/JS.createAssertion.html @@ -0,0 +1,142 @@ +createAssertion | refa - v0.12.1
+
+ +
+
+
+
+ +

Function createAssertion

+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/JS.createCharSet.html b/docs/v0.12.1/functions/JS.createCharSet.html new file mode 100644 index 0000000..f9d1d0a --- /dev/null +++ b/docs/v0.12.1/functions/JS.createCharSet.html @@ -0,0 +1,151 @@ +createCharSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Function createCharSet

+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/JS.getCharCaseFolding.html b/docs/v0.12.1/functions/JS.getCharCaseFolding.html new file mode 100644 index 0000000..820ecf0 --- /dev/null +++ b/docs/v0.12.1/functions/JS.getCharCaseFolding.html @@ -0,0 +1,150 @@ +getCharCaseFolding | refa - v0.12.1
+
+ +
+
+
+
+ +

Function getCharCaseFolding

+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/JS.isFlags.html b/docs/v0.12.1/functions/JS.isFlags.html new file mode 100644 index 0000000..5a459c4 --- /dev/null +++ b/docs/v0.12.1/functions/JS.isFlags.html @@ -0,0 +1,144 @@ +isFlags | refa - v0.12.1
+
+ +
+
+
+
+ +

Function isFlags

+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/JS.parseCharSet.html b/docs/v0.12.1/functions/JS.parseCharSet.html new file mode 100644 index 0000000..9212a19 --- /dev/null +++ b/docs/v0.12.1/functions/JS.parseCharSet.html @@ -0,0 +1,142 @@ +parseCharSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Function parseCharSet

+
+
    + +
  • +
    +

    Parameters

    +
      +
    • +
      element: ClassRangesCharacterClass | CharacterClassRange | Character | AnyCharacterSet | EscapeCharacterSet | CharacterUnicodePropertyCharacterSet
    • +
    • +
      flags: Readonly<Flags>
    +

    Returns CharSet

+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/JS.parseUnicodeSet.html b/docs/v0.12.1/functions/JS.parseUnicodeSet.html new file mode 100644 index 0000000..def39f6 --- /dev/null +++ b/docs/v0.12.1/functions/JS.parseUnicodeSet.html @@ -0,0 +1,142 @@ +parseUnicodeSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Function parseUnicodeSet

+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/JS.toLiteral.html b/docs/v0.12.1/functions/JS.toLiteral.html new file mode 100644 index 0000000..af44559 --- /dev/null +++ b/docs/v0.12.1/functions/JS.toLiteral.html @@ -0,0 +1,159 @@ +toLiteral | refa - v0.12.1
+
+ +
+
+
+
+ +

Function toLiteral

+
+
    + +
  • +

    Converts the given AST or AST subtree into a JS literal.

    +

    The returned literal will be a literal representation of the given AST. However, assertions maybe converted to +builtin JS RegExp assertions (e.g \b, $) instead of using the literal lookahead/lookbehind form.

    +
    +
    +

    Parameters

    +
    +

    Returns Literal

    +
  • + +
  • +
    +

    Parameters

    +
    +

    Returns Literal

+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/Transformers.applyAssertions.html b/docs/v0.12.1/functions/Transformers.applyAssertions.html new file mode 100644 index 0000000..000a52a --- /dev/null +++ b/docs/v0.12.1/functions/Transformers.applyAssertions.html @@ -0,0 +1,129 @@ +applyAssertions | refa - v0.12.1
+
+ +
+
+
+
+ +

Function applyAssertions

+
+
    + +
  • +

    This transformer will apply all trivial assertion (e.g. /(?!0)\d/ => /[1-9]/) and remove all branches in +assertions that are guaranteed to reject (e.g. (?=\d+=|-)\w => (?=\d+=)\w).

    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/Transformers.factorOut.html b/docs/v0.12.1/functions/Transformers.factorOut.html new file mode 100644 index 0000000..e8cdc94 --- /dev/null +++ b/docs/v0.12.1/functions/Transformers.factorOut.html @@ -0,0 +1,137 @@ +factorOut | refa - v0.12.1
+
+ +
+
+
+
+ +

Function factorOut

+
+
    + +
  • +

    This will factor out common prefixes and suffixes in parent nodes.

    +

    Examples:

    +
      +
    • (?:abc|aba) => (?:ab(?:c|a))
    • +
    • (?<!air|after) => (?<!a(?:i|fte)r)
    • +
    +

    The order of alternatives and the ambiguity of the regular expression are guaranteed to be preserved. One non-obvious +case where ambiguity is preserved is the case of duplicate alternatives. In this case, a group with multiple empty +alternatives will be left.

    +

    E.g. (?:abc|abc|abc) => (?:abc(?:||))

    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/Transformers.inline.html b/docs/v0.12.1/functions/Transformers.inline.html new file mode 100644 index 0000000..128b036 --- /dev/null +++ b/docs/v0.12.1/functions/Transformers.inline.html @@ -0,0 +1,139 @@ +inline | refa - v0.12.1
+
+ +
+
+
+
+ +

Function inline

+
+
    + +
  • +

    This transformer will simplify the AST by doing trivial inlining operations.

    +

    It will:

    +
      +
    1. Inline single-alternative alternations in concatenation (e.g. a(?:b)c => abc).
    2. +
    3. Inline single-alternation concatenations (e.g. (?:(?:a|b)|c) => (?:a|b|c)).
    4. +
    5. Inline constant-one quantifiers (e.g. ab{1}c => abc).
    6. +
    7. Remove constant-zero quantifiers (e.g. ab{0}c => ac).
    8. +
    9. Inline trivially nested assertions (e.g. (?!(?<!a)) => (?<=a)).
    10. +
    11. Inline nested assertions at the end of the expression tree (e.g. (?!a(?=b)) => (?!ab)).
    12. +
    +
    +

    This transformer should be used in combination with removeDeadBranches to handle trivial simplifications.

    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/Transformers.makeGreedy.html b/docs/v0.12.1/functions/Transformers.makeGreedy.html new file mode 100644 index 0000000..1587627 --- /dev/null +++ b/docs/v0.12.1/functions/Transformers.makeGreedy.html @@ -0,0 +1,129 @@ +makeGreedy | refa - v0.12.1
+
+ +
+
+
+
+ +

Function makeGreedy

+
+
    + +
  • +

    This transformer will try to make quantifiers greedy whenever possible.

    +

    Note: If ignoreOrder is true, then quantifiers will always be made greedy.

    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/Transformers.mergeWithQuantifier.html b/docs/v0.12.1/functions/Transformers.mergeWithQuantifier.html new file mode 100644 index 0000000..dd34cf4 --- /dev/null +++ b/docs/v0.12.1/functions/Transformers.mergeWithQuantifier.html @@ -0,0 +1,133 @@ +mergeWithQuantifier | refa - v0.12.1
+
+ +
+
+
+
+ +

Function mergeWithQuantifier

+
+
    + +
  • +

    This operation tries to merge as many elements as possible with existing quantifiers.

    +

    Examples:

    +
      +
    • /a*a/ => /a+/
    • +
    • /a*(?:a+|c)/ => /a*(?:a|c)/
    • +
    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/Transformers.moveUpEmpty.html b/docs/v0.12.1/functions/Transformers.moveUpEmpty.html new file mode 100644 index 0000000..9fe9652 --- /dev/null +++ b/docs/v0.12.1/functions/Transformers.moveUpEmpty.html @@ -0,0 +1,137 @@ +moveUpEmpty | refa - v0.12.1
+
+ +
+
+
+
+ +

Function moveUpEmpty

+
+
    + +
  • +

    This tries to simplify how a given sub-expression accepts the empty string. The goal is to modify the sub-expression +such that exactly one path accepts the empty string. This has the emergent result that the operator that causes the +sub-expression to accept the empty string moves closer to the root of the tree.

    +

    Examples:

    +
      +
    • a(?:b*|d?) => a(?:b+|d)?
    • +
    • ||a*|b => (?:a+|b)?
    • +
    +

    This operation largely ignores the order of alternatives and usually reduces the ambiguity of the expression. If +order or ambiguity have to be preserved, then the effectiveness of this transformer will be greatly reduced.

    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/Transformers.nestedQuantifiers.html b/docs/v0.12.1/functions/Transformers.nestedQuantifiers.html new file mode 100644 index 0000000..dfa1765 --- /dev/null +++ b/docs/v0.12.1/functions/Transformers.nestedQuantifiers.html @@ -0,0 +1,137 @@ +nestedQuantifiers | refa - v0.12.1
+
+ +
+
+
+
+ +

Function nestedQuantifiers

+
+
    + +
  • +

    This merges/optimizes nested quantifiers.

    +

    Examples:

    +
      +
    • (?:a+)* => a*
    • +
    • (?:a{2,4})+ => a{2,}
    • +
    • (?:a{4}){8} => a{32}
    • +
    • (?:a*|b+c|f+)* => (?:a{1}|b+c|f{1})*
    • +
    +

    This operation largely ignores the order of alternatives and usually reduces the ambiguity of the expression. If +order or ambiguity have to be preserved, then the effectiveness of this transformer will be greatly reduced.

    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/Transformers.patternEdgeAssertions.html b/docs/v0.12.1/functions/Transformers.patternEdgeAssertions.html new file mode 100644 index 0000000..655ca51 --- /dev/null +++ b/docs/v0.12.1/functions/Transformers.patternEdgeAssertions.html @@ -0,0 +1,136 @@ +patternEdgeAssertions | refa - v0.12.1
+
+ +
+
+
+
+ +

Function patternEdgeAssertions

+
+
    + +
  • +

    This transformer will only touch assertion that assert characters beyond the edge of the pattern.

    +

    E.g. in /(?<!\w)(?!\d)\w+(?=\s*<)/ only (?<!\w) and (?=\s*<) are pattern edge assertions.

    +

    The transformer can inline non-negated assertions (e.g. /(?<!\w)(?!\d)\w+(?=\s*<)/ => /(?<!\w)(?!\d)\w+\s*</) +and/or remove them (e.g. /(?<!\w)(?!\d)\w+\s*</ => /(?!\d)\w+\s*</).

    +

    If both inlining and removal are active, then inlining will be done first, e.g. a(?=\w)(?!\d) => a(?!\d)\w, which +may prevent some removal. Some assertions will not be removed because another may be inlined later. E.g. the (?!\d) +in (?=\w)a?(?!\d) will not be removed because the pattern may be transformed to (?:a|(?=\w))(?!\d) => +a(?!\d)|(?=\w)(?!\d) which can be inlined to a(?!\d)|(?!\d)\w and transformed to a(?!\d)|[A-Z_a-z].

    +

    If neither inlining nor removal are active, then this transformer won't do anything.

    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/Transformers.removeDeadBranches.html b/docs/v0.12.1/functions/Transformers.removeDeadBranches.html new file mode 100644 index 0000000..505eee4 --- /dev/null +++ b/docs/v0.12.1/functions/Transformers.removeDeadBranches.html @@ -0,0 +1,133 @@ +removeDeadBranches | refa - v0.12.1
+
+ +
+
+
+
+ +

Function removeDeadBranches

+
+
    + +
  • +

    This removes dead branches in the AST.

    +

    Dead branches are parts of the regex that can never accept on any given input string (e.g. []a|b => b).

    +

    This operation may produce parent nodes with 0 alternatives. Quantifiers with 0 alternatives and a minimum of 0 will +be replaced with the empty concatenation (e.g. a(?:[]b)?c => ac).

    +
    +

    This transformer should be used in combination with inline to handle trivial simplifications.

    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/Transformers.removeUnnecessaryAssertions.html b/docs/v0.12.1/functions/Transformers.removeUnnecessaryAssertions.html new file mode 100644 index 0000000..33c3270 --- /dev/null +++ b/docs/v0.12.1/functions/Transformers.removeUnnecessaryAssertions.html @@ -0,0 +1,128 @@ +removeUnnecessaryAssertions | refa - v0.12.1
+
+ +
+
+
+
+ +

Function removeUnnecessaryAssertions

+
+
    + +
  • +

    This will remove all assertions that are known to always reject/accept no matter the input string.

    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/Transformers.replaceAssertions.html b/docs/v0.12.1/functions/Transformers.replaceAssertions.html new file mode 100644 index 0000000..29a4e18 --- /dev/null +++ b/docs/v0.12.1/functions/Transformers.replaceAssertions.html @@ -0,0 +1,128 @@ +replaceAssertions | refa - v0.12.1
+
+ +
+
+
+
+ +

Function replaceAssertions

+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/Transformers.simplify.html b/docs/v0.12.1/functions/Transformers.simplify.html new file mode 100644 index 0000000..9c8d748 --- /dev/null +++ b/docs/v0.12.1/functions/Transformers.simplify.html @@ -0,0 +1,134 @@ +simplify | refa - v0.12.1
+
+ +
+
+
+
+ +

Function simplify

+
+
    + +
  • +

    This transformer is a combined transformer with the goal of simplifying the AST as much as possible without +changing the semantics.

    +

    The main purpose of this transformer is to provide a stable API. The specific functionality of individual +transformers may change over time, and transformers may depend on each other. This transformer will always +provide the same functionality. Namely, it will always simplify the AST.

    +

    As with all transformers, creation option can be provided. Depending on the options, a different set of +underlying transformers may be used.

    +
    +
    +

    Parameters

    +
    +

    Returns CombinedTransformer

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/Transformers.sortAssertions.html b/docs/v0.12.1/functions/Transformers.sortAssertions.html new file mode 100644 index 0000000..d2e7953 --- /dev/null +++ b/docs/v0.12.1/functions/Transformers.sortAssertions.html @@ -0,0 +1,130 @@ +sortAssertions | refa - v0.12.1
+
+ +
+
+
+
+ +

Function sortAssertions

+
+
    + +
  • +

    Sorts adjacent assertions such that lookbehinds are always to the right of lookaheads.

    +

    This is operation may be necessary for other transformers to pick up on certain patterns.

    +

    E.g. (?=a)(?!b)(?<!c)(?<=d) => (?<!c)(?<=d)(?=a)(?!b)

    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/Transformers.unionCharacters.html b/docs/v0.12.1/functions/Transformers.unionCharacters.html new file mode 100644 index 0000000..ad9a927 --- /dev/null +++ b/docs/v0.12.1/functions/Transformers.unionCharacters.html @@ -0,0 +1,130 @@ +unionCharacters | refa - v0.12.1
+
+ +
+
+
+
+ +

Function unionCharacters

+
+
    + +
  • +

    Combines single-character alternatives.

    +

    This rule will try to combine as many character classes as possible to simplify the regular expression.

    +

    E.g. a|b|c => [abc].

    +
    +
    +

    Parameters

    +
    +

    Returns Transformer

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/Words.fromStringToUTF16.html b/docs/v0.12.1/functions/Words.fromStringToUTF16.html new file mode 100644 index 0000000..414d6f5 --- /dev/null +++ b/docs/v0.12.1/functions/Words.fromStringToUTF16.html @@ -0,0 +1,120 @@ +fromStringToUTF16 | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.1/functions/Words.fromStringToUnicode.html b/docs/v0.12.1/functions/Words.fromStringToUnicode.html new file mode 100644 index 0000000..1874ee6 --- /dev/null +++ b/docs/v0.12.1/functions/Words.fromStringToUnicode.html @@ -0,0 +1,120 @@ +fromStringToUnicode | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.1/functions/Words.fromUTF16ToString.html b/docs/v0.12.1/functions/Words.fromUTF16ToString.html new file mode 100644 index 0000000..9f594a9 --- /dev/null +++ b/docs/v0.12.1/functions/Words.fromUTF16ToString.html @@ -0,0 +1,120 @@ +fromUTF16ToString | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.1/functions/Words.fromUnicodeToString.html b/docs/v0.12.1/functions/Words.fromUnicodeToString.html new file mode 100644 index 0000000..2143b1c --- /dev/null +++ b/docs/v0.12.1/functions/Words.fromUnicodeToString.html @@ -0,0 +1,120 @@ +fromUnicodeToString | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.1/functions/Words.pickMostReadableCharacter.html b/docs/v0.12.1/functions/Words.pickMostReadableCharacter.html new file mode 100644 index 0000000..c053273 --- /dev/null +++ b/docs/v0.12.1/functions/Words.pickMostReadableCharacter.html @@ -0,0 +1,122 @@ +pickMostReadableCharacter | refa - v0.12.1
+
+ +
+
+
+
+ +

Function pickMostReadableCharacter

+
+
    + +
  • +

    Returns the most humanly readable character in the given character set. Which character is picked is entirely +implementation-defined but, generally, word characters will be picked over non-word characters and printable +characters will be picked over non-printable characters.

    +

    If the given character set is empty, undefined will be returned.

    +
    +
    +

    Parameters

    +
    +

    Returns Char | undefined

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/Words.pickMostReadableWord.html b/docs/v0.12.1/functions/Words.pickMostReadableWord.html new file mode 100644 index 0000000..ccddd18 --- /dev/null +++ b/docs/v0.12.1/functions/Words.pickMostReadableWord.html @@ -0,0 +1,119 @@ +pickMostReadableWord | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.1/functions/Words.wordSetToWords.html b/docs/v0.12.1/functions/Words.wordSetToWords.html new file mode 100644 index 0000000..7af1833 --- /dev/null +++ b/docs/v0.12.1/functions/Words.wordSetToWords.html @@ -0,0 +1,121 @@ +wordSetToWords | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.1/functions/Words.wordSetsToWords.html b/docs/v0.12.1/functions/Words.wordSetsToWords.html new file mode 100644 index 0000000..6775164 --- /dev/null +++ b/docs/v0.12.1/functions/Words.wordSetsToWords.html @@ -0,0 +1,119 @@ +wordSetsToWords | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.1/functions/combineTransformers.html b/docs/v0.12.1/functions/combineTransformers.html new file mode 100644 index 0000000..ba57735 --- /dev/null +++ b/docs/v0.12.1/functions/combineTransformers.html @@ -0,0 +1,112 @@ +combineTransformers | refa - v0.12.1
+
+ +
+
+
+
+ +

Function combineTransformers

+
+
    + +
  • +

    Creates a new transformer that performs all given transformers in sequentially order.

    +

    If only one transformer is given, the returned transformer will be functionally equivalent. If no transformers are +given, the returned transformer will be equivalent to a noop transformer.

    +

    The given iterable can be changed and reused after this function returns.

    +
    +
    +

    Parameters

    +
    +

    Returns CombinedTransformer

    +
    +

    Deprecated

    Use new CombinedTransformer(transformers) instead.

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/getIntersectionIterator.html b/docs/v0.12.1/functions/getIntersectionIterator.html new file mode 100644 index 0000000..1c9302d --- /dev/null +++ b/docs/v0.12.1/functions/getIntersectionIterator.html @@ -0,0 +1,121 @@ +getIntersectionIterator | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.1/functions/getIntersectionWordSets.html b/docs/v0.12.1/functions/getIntersectionWordSets.html new file mode 100644 index 0000000..101eb40 --- /dev/null +++ b/docs/v0.12.1/functions/getIntersectionWordSets.html @@ -0,0 +1,127 @@ +getIntersectionWordSets | refa - v0.12.1
+
+ +
+
+
+
+ +

Function getIntersectionWordSets

+
+
    + +
  • +

    Returns a potentially infinite iterable of word sets accepted by both given transition iterables.

    +

    This function provides the following guarantees:

    +
      +
    1. Word sets are guaranteed to be yielded in the order of increasing length. (Word sets of equal lengths may be +yielded in any order.)
    2. +
    3. No character set of the yielded word sets is empty.
    4. +
    +

    This is roughly equivalent to NFA.fromIntersection(left, right).wordSets() but implemented more efficiently.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      L

    • +
    • +

      R

    +
    +

    Parameters

    +
    +

    Returns Iterable<WordSet>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/getIntersectionWords.html b/docs/v0.12.1/functions/getIntersectionWords.html new file mode 100644 index 0000000..b7e5e8d --- /dev/null +++ b/docs/v0.12.1/functions/getIntersectionWords.html @@ -0,0 +1,126 @@ +getIntersectionWords | refa - v0.12.1
+
+ +
+
+
+
+ +

Function getIntersectionWords

+
+
    + +
  • +

    Returns a potentially infinite iterable of words accepted by both given transition iterables.

    +

    This function provides the following guarantees:

    +
      +
    1. Words are guaranteed to be yielded in the order of increasing length. (Words of equal lengths may be yielded in +any order.)
    2. +
    +

    This is roughly equivalent to NFA.fromIntersection(left, right).words() but implemented more efficiently.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      L

    • +
    • +

      R

    +
    +

    Parameters

    +
    +

    Returns Iterable<Word>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/isDisjointWith.html b/docs/v0.12.1/functions/isDisjointWith.html new file mode 100644 index 0000000..2bcab08 --- /dev/null +++ b/docs/v0.12.1/functions/isDisjointWith.html @@ -0,0 +1,124 @@ +isDisjointWith | refa - v0.12.1
+
+ +
+
+
+
+ +

Function isDisjointWith

+
+
    + +
  • +

    Returns whether the languages of this and the other FA are disjoint.

    +

    The runtime of this algorithm is O(n * m) (n = number of states of this NFA, m = number of states of the other +FA) but it's a lot faster in practice with the worst case being very rare.

    +

    Since this uses the intersection operation, you can supply intersection options.

    +

    This is equivalent to NFA.fromIntersection(left, right).isEmpty but implemented more efficiently.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      L

    • +
    • +

      R

    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/setParent.html b/docs/v0.12.1/functions/setParent.html new file mode 100644 index 0000000..c68347e --- /dev/null +++ b/docs/v0.12.1/functions/setParent.html @@ -0,0 +1,117 @@ +setParent | refa - v0.12.1
+
+ +
+
+
+
+ +

Function setParent

+
+
    + +
  • +

    Sets the parent properties of the given node and all of its child nodes.

    +
    +
    +

    Type Parameters

    +
    +
    +

    Parameters

    +
      +
    • +
      node: T | NoParent<T>
      +
    • +
    • +
      parent: T["parent"]
      +

      The parent of node.

      +
      +
    +

    Returns asserts node is T

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/setSource.html b/docs/v0.12.1/functions/setSource.html new file mode 100644 index 0000000..de22f07 --- /dev/null +++ b/docs/v0.12.1/functions/setSource.html @@ -0,0 +1,115 @@ +setSource | refa - v0.12.1
+
+ +
+
+
+
+ +

Function setSource

+
+
    + +
  • +

    Sets the source property of the given node and all of its child nodes.

    +

    If source is not a function, then the source object will be copied for all source properties to be set. The +object will be copied using the start and end properties alone, other properties will not be copied.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/transform.html b/docs/v0.12.1/functions/transform.html new file mode 100644 index 0000000..a30fbd0 --- /dev/null +++ b/docs/v0.12.1/functions/transform.html @@ -0,0 +1,118 @@ +transform | refa - v0.12.1
+
+ +
+
+
+
+ +

Function transform

+
+
    + +
  • +

    Transforms the given expression according to the given transformer.

    +

    Do not use the given ast object again after calling this function, the object will be in an undefined state.

    +

    Note: This function knows about CombinedTransformer and will give it special treatment. Instead of applying +the transformer as is, it will apply all of its transformers instead. While this does not change the behavior of the +transformer, it does change which transformers the TransformEvents will see. Instead of seeing the combined +transformer, they will see the individual transformers.

    +
    +
    +

    Parameters

    +
    +

    Returns NoParent<Expression>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/functions/visitAst.html b/docs/v0.12.1/functions/visitAst.html new file mode 100644 index 0000000..8d09a88 --- /dev/null +++ b/docs/v0.12.1/functions/visitAst.html @@ -0,0 +1,121 @@ +visitAst | refa - v0.12.1
+
+ +
+
+
+
+ +

Function visitAst

+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/index.html b/docs/v0.12.1/index.html new file mode 100644 index 0000000..0ad09b8 --- /dev/null +++ b/docs/v0.12.1/index.html @@ -0,0 +1,247 @@ +refa - v0.12.1
+
+ +
+
+
+
+

refa - v0.12.1

+

Regular Expressions and Finite Automata (refa)

Actions Status +npm

+

A library for regular expressions (RE) and finite automata (FA) in the context of Javascript RegExp.

+

About

refa is a general library for DFA, NFA, and REs of formal regular languages. It also includes methods to easily convert from JS RegExp to the internal RE AST and vice versa.

+

Installation

Get refa from NPM:

+
npm i --save refa
+
+

or

+
yarn add refa
+
+

Features

    +
  • Conversions

    +
      +
    • RE AST to NFA and ENFA (assertions are not implemented yet)
    • +
    • DFA, NFA, and ENFA can all be converted into each other
    • +
    • DFA, NFA, and ENFA to RE AST
    • +
    +
  • +
  • DFA, NFA, and ENFA operations

    +
      +
    • Construction from other FA, the intersection of two FA, or a finite set of words
    • +
    • Print as DOT or Mermaid.
    • +
    • Test whether a word is accepted
    • +
    • Test whether the accepted language is the empty set/a finite set
    • +
    • Accept all prefixes/suffixes of a language
    • +
    +
  • +
  • DFA specific operations

    +
      +
    • Minimization
    • +
    • Complement
    • +
    • Structural equality
    • +
    +
  • +
  • NFA and ENFA specific operations

    +
      +
    • Union and Concatenation with other FA
    • +
    • Quantification
    • +
    • Reverse
    • +
    +
  • +
  • AST transformations

    +
      +
    • Simplify and change the AST of a regex
    • +
    • Remove assertions
    • +
    +
  • +
  • JavaScript RegExp

    +
      +
    • RegExp to RE AST and RE AST to RegExp
        +
      • All flags are fully supported
      • +
      • Unicode properties
      • +
      • Change flags
      • +
      • Limited support for simple backreferences
      • +
      +
    • +
    +
  • +
+

See the API documentation for a complete list of all currently implemented operations.

+

RE AST format

refa uses its own AST format to represent regular expressions. The RE AST format is language agnostic and relatively simple.

+

It supports:

+
    +
  • Concatenation (e.g. ab)
  • +
  • Alternation (e.g. a|b)
  • +
  • Quantifiers (greedy and lazy) (e.g. a{4,6}, a{2,}?, a?, a*)
  • +
  • Assertions (e.g. (?=a), (?<!a))
  • +
  • Characters/character sets (represented by interval sets)
  • +
  • Unknowns (elements that cannot be represented otherwise. E.g. backreferences)
  • +
+

Some features like atomic groups and capturing groups are not supported (but might be added in the future).

+

For information on how to parse JS RegExp and convert RE AST to JS RegExp, see the JS namespace.

+

Universal characters

refa does not use JavaScript strings represent characters or a sequences of characters. Instead it uses integers to represent characters (see the Char type) and arrays of numbers to represent words/strings (see the Word type).

+

This means that any text encoding can be used.

+

The Words namespace contains functions to convert JavaScript data into refa-compatible words and characters.

+

For the sets of characters, the CharSet class is used.

+

General limitations

This library will never be able to support some modern features of regex engines such as backreferences and recursion because these features, generally, cannot be be represented by a DFA or NFA.

+

Usage examples

refa is a relatively low-level library. It only provides the basic building blocks. In the following examples, JS RegExps are used a lot so we will define a few useful helper function beforehand.

+
import { DFA, FiniteAutomaton, JS, NFA } from "refa";

function toNFA(regex: RegExp): NFA {
const { expression, maxCharacter } = JS.Parser.fromLiteral(regex).parse();
return NFA.fromRegex(expression, { maxCharacter });
}
function toDFA(regex: RegExp): DFA {
return DFA.fromFA(toNFA(regex));
}
function toRegExp(fa: FiniteAutomaton): RegExp {
const literal = JS.toLiteral(fa.toRegex());
return new RegExp(literal.source, literal.flags);
} +
+
    +
  • toNFA parses the given RegExp and constructs a new NFA from the parsed AST.
  • +
  • toDFA constructs a new NFA from the RegExp first and then converts that NFA into a new DFA.
  • +
  • toRegex takes an FA (= NFA or DFA) and converts it into a RegExp.
  • +
+

Testing whether a word is accepted

import { Words } from "refa";

const regex = /\w+\d+/;
const nfa = toNFA(regex);

console.log(nfa.test(Words.fromStringToUTF16("abc")));
// => false
console.log(nfa.test(Words.fromStringToUTF16("123")));
// => true
console.log(nfa.test(Words.fromStringToUTF16("abc123")));
// => true
console.log(nfa.test(Words.fromStringToUTF16("123abc")));
// => false +
+

Finding the intersection of two JS RegExps

const regex1 = /a+B+c+/i;
const regex2 = /Ab*C\d?/;

const intersection = NFA.fromIntersection(toNFA(regex1), toNFA(regex2));

console.log(toRegExp(intersection));
// => /Ab+C/ +
+

Finding the complement of a JS RegExp

const regex = /a+b*/i;

const dfa = toDFA(regex);
dfa.complement();

console.log(toRegExp(dfa));
// => /(?:(?:[^A]|A+(?:[^AB]|B+[^B]))[^]*)?/i +
+

Converting a JS RegExp to an NFA

In the above examples, we have been using the toNFA helper function to parse and convert RegExps. This function assumes that the given RegExp is a pure regular expression without assertions and backreferences and will throw an error if the assumption is not met.

+

However, the JS parser and NFA.fromRegex provide some options to work around and even solve this problem.

+

Backreferences

Firstly, the parser will automatically resolve simple backreferences. Even toNFA will do this since it's on by default:

+
console.log(toRegExp(toNFA(/("|').*?\1/)));
// => /".*"|'.*'/i +
+

But it will throw an error for non-trivial backreferences that cannot be resolved:

+
toNFA(/(#+).*\1|foo/);
// Error: Backreferences are not supported. +
+

The only way to parse the RegExp despite unresolvable backreferences is to remove the backreferences. This means that the result will be imperfect but it might still be useful.

+
const regex = /(#+).*\1|foo/;
const { expression } =
JS.Parser.fromLiteral(regex).parse({ backreferences: "disable" });

console.log(JS.toLiteral(expression));
// => { source: 'foo', flags: '' } +
+

Note that the foo alternative is kept because it is completely unaffected by the unresolvable backreferences.

+

Assertions

While the parser and AST format can handle assertions, the NFA construction cannot.

+
const regex = /\b(?!\d)\w+\b|->/;
const { expression, maxCharacter } = JS.Parser.fromLiteral(regex).parse();

console.log(JS.toLiteral(expression));
// => { source: '\\b(?!\\d)\\w+\\b|->', flags: 'i' }

NFA.fromRegex(expression, { maxCharacter });
// Error: Assertions are not supported yet. +
+

Similarly to backreferences, we can let the parser remove them:

+
const regex = /\b(?!\d)\w+\b|->/;
const { expression, maxCharacter } =
JS.Parser.fromLiteral(regex).parse({ assertions: "disable" });

console.log(JS.toLiteral(expression));
// => { source: '->', flags: 'i' }

const nfa = NFA.fromRegex(expression, { maxCharacter });
console.log(toRegExp(nfa));
// => /->/i +
+
+ +

Or we can let the NFA construction method remove them:

+
const regex = /\b(?!\d)\w+\b|->/;
const { expression, maxCharacter } = JS.Parser.fromLiteral(regex).parse();

console.log(JS.toLiteral(expression));
// => { source: '\\b(?!\\d)\\w+\\b|->', flags: 'i' }

const nfa = NFA.fromRegex(expression, { maxCharacter }, { assertions: "disable" });
console.log(toRegExp(nfa));
// => /->/i +
+

Prefer using the parser to remove assertions if possible. The parser is quite clever and will optimize based on that assertions can be removed resulting in faster parse times.

+
+ +

However, simply removing assertions is not ideal since they are a lot more common than backreferences. To work around this, refa has AST transformers. AST transformers can make changes to a given AST. While each transformer is rather simple, they can also work together to accomplish more complex tasks. Applying and removing assertions is one such task.

+

The simplest transformer to remove assertions (among other things) is the simplify transformer. It will inline expressions, remove dead branches, apply/remove assertions, optimize quantifiers, and more.

+
import { JS, NFA, Transformers, transform } from "refa";

const regex = /\b(?!\d)\w+\b|->/;
const { expression, maxCharacter } = JS.Parser.fromLiteral(regex).parse();
console.log(JS.toLiteral(expression));
// => { source: '\\b(?!\\d)\\w+\\b|->', flags: '' }

const modifiedExpression = transform(Transformers.simplify(), expression);
console.log(JS.toLiteral(modifiedExpression));
// => { source: '(?<!\\w)[A-Z_]\\w*(?!\\w)|->', flags: 'i' }

// Most assertions have been removed but the patterns are still equivalent.
// The only assertions left assert characters beyond the edge of the pattern.
// Removing those assertions is easy but slightly changes the pattern.

const finalExpression = transform(Transformers.patternEdgeAssertions({ remove: true }), modifiedExpression);
console.log(JS.toLiteral(finalExpression));
// => { source: '[A-Z_]\\w*|->', flags: 'i' }

const nfa = NFA.fromRegex(finalExpression, { maxCharacter });
console.log(JS.toLiteral(nfa.toRegex()));
// => { source: '->|[A-Z_]\\w*', flags: 'i' } +
+

AST transformers can handle a lot of assertions, but there are limitations. Transformers cannot handle assertions that are too complex or require large-scale changes to the AST. Let's take a look at a few examples:

+
import { JS, Transformers, transform } from "refa";

function simplify(regex: RegExp): void {
const { expression } = JS.Parser.fromLiteral(regex).parse();

const simplifiedExpression = transform(Transformers.simplify(), expression);

const literal = JS.toLiteral(simplifiedExpression);
console.log(new RegExp(literal.source, literal.flags));
}

simplify(/\b(?!\d)\b\w+\b\s*\(/);
// => /(?<!\w)[A-Z_]\w*\s*\(/i
simplify(/(?:^|@)\b\w+\b/);
// => /(?:^|@)\w+(?!\w)/
simplify(/"""(?:(?!""").)*"""/s);
// => /"""(?:"{0,2}[^"])*"""/
simplify(/"""((?!""")(?:[^\\]|\\"))*"""/);
// => /"""(?:"{0,2}(?:[^"\\]|\\"))*"""/
simplify(/<title>(?:(?!<\/title>).)*<\/title>/s);
// => /<title>(?:[^<]|<+(?:[^/<]|\/(?!title>)))*<+\/title>/
simplify(/^```$.*?^```$/ms);
// => /^```[\n\r\u2028\u2029](?:[^]*?[\n\r\u2028\u2029])??```$/m +
+
+ Note + +

Transformers.simplify is very aggressive when it comes to assertions. It will try to remove assertions whenever possible even if it means that the overall AST will become more complex (within some limits). This may result in longer/more complex regexes, but it will also allow NFA and ENFA to support many more regexes.

+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/Alternation.html b/docs/v0.12.1/interfaces/Alternation.html new file mode 100644 index 0000000..4c51323 --- /dev/null +++ b/docs/v0.12.1/interfaces/Alternation.html @@ -0,0 +1,136 @@ +Alternation | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface Alternation

+
+

Hierarchy

+
    +
  • NodeBase +
      +
    • Alternation
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
alternatives: Concatenation[]
+
+ +
+
+ +
+
+ +
type: "Alternation"
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/Assertion.html b/docs/v0.12.1/interfaces/Assertion.html new file mode 100644 index 0000000..b1b860d --- /dev/null +++ b/docs/v0.12.1/interfaces/Assertion.html @@ -0,0 +1,146 @@ +Assertion | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface Assertion

+
+

Hierarchy

+
    +
  • NodeBase +
      +
    • Assertion
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
alternatives: Concatenation[]
+
+ +
kind: "ahead" | "behind"
+
+ +
negate: boolean
+
+ +
+
+ +
+
+ +
type: "Assertion"
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/CharRange.html b/docs/v0.12.1/interfaces/CharRange.html new file mode 100644 index 0000000..3c7f7d9 --- /dev/null +++ b/docs/v0.12.1/interfaces/CharRange.html @@ -0,0 +1,134 @@ +CharRange | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface CharRange

+
+

An immutable interval of Chars with inclusive ends.

+

Each interval contains all characters x with min <= x <= max.

+
+
+
+

Hierarchy

+
    +
  • CharRange
+
+
+
+ +
+
+

Properties

+
max +min +
+
+

Properties

+
+ +
max: Char
+

The inclusive maximum of the interval.

+

This value has to be greater or equal to min.

+
+
+
+ +
min: Char
+

The inclusive minimum of the interval.

+

This value has to be less or equal to max.

+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/CharacterClass.html b/docs/v0.12.1/interfaces/CharacterClass.html new file mode 100644 index 0000000..828a696 --- /dev/null +++ b/docs/v0.12.1/interfaces/CharacterClass.html @@ -0,0 +1,136 @@ +CharacterClass | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface CharacterClass

+
+

Hierarchy

+
    +
  • NodeBase +
      +
    • CharacterClass
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
characters: CharSet
+
+ +
+
+ +
+
+ +
type: "CharacterClass"
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/Concatenation.html b/docs/v0.12.1/interfaces/Concatenation.html new file mode 100644 index 0000000..c01ae12 --- /dev/null +++ b/docs/v0.12.1/interfaces/Concatenation.html @@ -0,0 +1,136 @@ +Concatenation | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface Concatenation

+
+

Hierarchy

+
    +
  • NodeBase +
      +
    • Concatenation
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
elements: Element[]
+
+ +
parent: Parent
+
+ +
+
+ +
type: "Concatenation"
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/DFA.Options.html b/docs/v0.12.1/interfaces/DFA.Options.html new file mode 100644 index 0000000..aa74c51 --- /dev/null +++ b/docs/v0.12.1/interfaces/DFA.Options.html @@ -0,0 +1,130 @@ +Options | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/DFA.ReadonlyNode.html b/docs/v0.12.1/interfaces/DFA.ReadonlyNode.html new file mode 100644 index 0000000..f73a354 --- /dev/null +++ b/docs/v0.12.1/interfaces/DFA.ReadonlyNode.html @@ -0,0 +1,130 @@ +ReadonlyNode | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/ENFA.FromRegexOptions.html b/docs/v0.12.1/interfaces/ENFA.FromRegexOptions.html new file mode 100644 index 0000000..c0d6d33 --- /dev/null +++ b/docs/v0.12.1/interfaces/ENFA.FromRegexOptions.html @@ -0,0 +1,176 @@ +FromRegexOptions | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface FromRegexOptions

+
+

Hierarchy

+
    +
  • FromRegexOptions
+
+
+
+ +
+
+

Properties

+
+ +
assertions?: "disable" | "ignore" | "throw"
+

How to handle assertions when construction the ENFA.

+
    +
  • "throw"

    +

    This method will throw an error when encountering an assertion.

    +
  • +
  • "disable"

    +

    This method will replace any assertion with an empty character class, effectively removing it.

    +
  • +
  • "ignore"

    +

    This method will replace any assertion with an empty group.

    +
  • +
+
+
+

Default

"throw"
+
+
+
+ +
infinityThreshold?: number
+

The number at which the maximum of a quantifier will be assumed to be infinity.

+

Quantifiers with a large finite maximum (e.g. a{1,10000}) can create huge NFAs with thousands of states. +Any Quantifier with a maximum greater or equal to this threshold will be assumed to be infinite.

+
+
+

Default

Infinity
+
+
+
+ +
unknowns?: "disable" | "throw"
+

How to handle unknowns when construction the ENFA.

+
    +
  • "throw"

    +

    This method will throw an error when encountering an unknown.

    +
  • +
  • "disable"

    +

    This method will replace any unknown with an empty character class, effectively removing it.

    +
  • +
+
+
+

Default

"throw"
+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/ENFA.Options.html b/docs/v0.12.1/interfaces/ENFA.Options.html new file mode 100644 index 0000000..1789da0 --- /dev/null +++ b/docs/v0.12.1/interfaces/ENFA.Options.html @@ -0,0 +1,131 @@ +Options | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/ENFA.ReadonlyNode.html b/docs/v0.12.1/interfaces/ENFA.ReadonlyNode.html new file mode 100644 index 0000000..a22f040 --- /dev/null +++ b/docs/v0.12.1/interfaces/ENFA.ReadonlyNode.html @@ -0,0 +1,215 @@ +ReadonlyNode | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface ReadonlyNode

+
+

Hierarchy

+
    +
  • ReadonlyNode
+
+

Implemented by

+
+
+
+
+ +
+
+

Properties

+
in +out +
+
+

Methods

+
+
+

Properties

+
+ +
in: ReadonlyMap<ENFA.ReadonlyNode, null | CharSet>
+
+ +
out: ReadonlyMap<ENFA.ReadonlyNode, null | CharSet>
+
+

Methods

+
+ +
    + +
  • +

    Returns a set of all nodes that are reachable from the given node by only following epsilon transitions in +the given direction. The returned set is guaranteed to always contain the given node.

    +

    The order of the nodes in the returned set in implementation-defined and cannot be relied upon.

    +
    +

    This method can be used to determine the set of all effectively final states.

    +
    const effectivelyFinal = final.reachableViaEpsilon("in");
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      direction: "in" | "out"
    +

    Returns Set<ENFA.ReadonlyNode>

    +
+
+ +
    + +
  • +

    Calls the given consumer function on every non-epsilon transition directly reachable from the given node.

    +

    Epsilon transitions will be resolved using a DFS algorithm. This means that for the following graph:

    +
    (0) -> (1) : "a"
    +    -> (2) : epsilon
    +    -> (3) : "b"
    +
    +(1) -> (3) : "c"
    +
    +(2) -> (4) : "d"
    +    -> (1) : "e"
    +    -> (2) : epsilon
    +
    +(3) -> (1) : epsilon
    +
    +(4) -> empty
    +
    +

    The node (0) will return the resolved list:

    +
    [(1), "a"]
    +[(4), "d"]
    +[(1), "e"]
    +[(3), "b"]
    +
    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/Expression.html b/docs/v0.12.1/interfaces/Expression.html new file mode 100644 index 0000000..a186691 --- /dev/null +++ b/docs/v0.12.1/interfaces/Expression.html @@ -0,0 +1,136 @@ +Expression | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface Expression

+
+

Hierarchy

+
    +
  • NodeBase +
      +
    • Expression
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
alternatives: Concatenation[]
+
+ +
parent: null
+
+ +
+
+ +
type: "Expression"
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/FABuilder.html b/docs/v0.12.1/interfaces/FABuilder.html new file mode 100644 index 0000000..6c41e95 --- /dev/null +++ b/docs/v0.12.1/interfaces/FABuilder.html @@ -0,0 +1,238 @@ +FABuilder | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface FABuilder<S, T>

+
+

An FA builder has the responsibility of constructing a finite automaton.

+

The constructed FA is always owned by the builder.

+
+
+
+

Type Parameters

+
    +
  • +

    S

    +

    The type of a state.

    +
    +
  • +
  • +

    T

    +

    The transition type of the values linking states.

    +
    +
+
+

Hierarchy

+
+
+

Implemented by

+
+
+
+
+ +
+
+

Properties

+
+ +
createNode: (() => S)
+
+

Type declaration

+
    +
  • +
      +
    • (): S
    • +
    • +

      Creates a new state.

      +
      +

      Returns S

      +
      +

      Throws

      TooManyNodesError +May be thrown if the number of created nodes exceeds some limit.

      +
+
+ +
initial: S
+

The initial state of the FA.

+
+
+
+ +
isFinal: ((state: S) => boolean)
+
+

Type declaration

+
    +
  • +
      +
    • (state: S): boolean
    • +
    • +

      Returns whether the given state is a final state.

      +

      This operation is assumed to be semantically equivalent to isFinal.

      +
      +
      +

      Parameters

      +
        +
      • +
        state: S
      +

      Returns boolean

      +
+
+ +
linkNodes: ((from: S, to: S, transition: T) => void)
+
+

Type declaration

+
    +
  • +
      +
    • (from: S, to: S, transition: T): void
    • +
    • +

      Links to the two given states using the given transition.

      +

      Calling this operations more than once for the given from and to states is not guaranteed to succeed.

      +
      +
      +

      Parameters

      +
        +
      • +
        from: S
      • +
      • +
        to: S
      • +
      • +
        transition: T
      +

      Returns void

      +
+
+ +
makeFinal: ((state: S) => void)
+
+

Type declaration

+
    +
  • +
      +
    • (state: S): void
    • +
    • +

      Makes the given state behave like a final state of this FA.

      +

      This does not necessarily mean that the given state will be a final state. I.e. calling makeFinal(s) does not +necessitate that isFinal(s) is true.

      +

      The implementation has to guarantee that calling this method for the same state more than once is allowed.

      +
      +
      +

      Parameters

      +
        +
      • +
        state: S
      +

      Returns void

      +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/FAIterator.html b/docs/v0.12.1/interfaces/FAIterator.html new file mode 100644 index 0000000..ac00f2e --- /dev/null +++ b/docs/v0.12.1/interfaces/FAIterator.html @@ -0,0 +1,203 @@ +FAIterator | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface FAIterator<S, O>

+
+

A graph iterator for all states of an FA with final states.

+
+
+
+

Type Parameters

+
    +
  • +

    S

    +

    The type of a state in the FA to iterate.

    +
    +
  • +
  • +

    O = Iterable<S>

    +

    The type of the value each state maps to.

    +
    +
+
+

Hierarchy

+
    +
  • FAIterator
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
getOut: ((state: S) => O)
+
+

Type declaration

+
    +
  • +
      +
    • (state: S): O
    • +
    • +

      Returns the value a state maps to.

      +

      Callers of this function are allowed to call the function without a this argument.

      +
      +
      +

      Parameters

      +
        +
      • +
        state: S
      +

      Returns O

      +
      +

      See

      stableOut

      +
+
+ +
initial: S
+

The initial state of the FA.

+
+
+
+ +
isFinal: ((state: S) => boolean)
+
+

Type declaration

+
    +
  • +
      +
    • (state: S): boolean
    • +
    • +

      Returns whether the given state is a final state.

      +

      This function is guaranteed to be deterministic during the time the iterator is used. It is also guaranteed to be +sufficiently fast, usually O(1) can be assumed.

      +

      Callers of this function are allowed to call the function without a this argument.

      +
      +
      +

      Parameters

      +
        +
      • +
        state: S
      +

      Returns boolean

      +
+
+ +
stableOut?: boolean
+

Whether the getOut function is stableOut during the lifetime of the iterator.

+

Stable means that if getOut gets called for the same state more than once, it will always return the same +value.

+

The sameness of states is defined by +the key equality of the Map class.

+

The sameness of returned values is not defined by this interface and depends of the iterator.

+

I.e. a stable getOut function may return new collections/iterators on subsequent invocations as long as the +collections/iterators are considered equal (e.g. equal could be defined as "same elements") by the consumer of +the iterator.

+
+
+

Default

false
+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/FAIterators.MermaidEdge.html b/docs/v0.12.1/interfaces/FAIterators.MermaidEdge.html new file mode 100644 index 0000000..f07bbc2 --- /dev/null +++ b/docs/v0.12.1/interfaces/FAIterators.MermaidEdge.html @@ -0,0 +1,162 @@ +MermaidEdge | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface MermaidEdge

+
+

Hierarchy

+
    +
  • MermaidEdge
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
label?: string
+
+ +
length?: number
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/FAIterators.MermaidNode.html b/docs/v0.12.1/interfaces/FAIterators.MermaidNode.html new file mode 100644 index 0000000..c0e5982 --- /dev/null +++ b/docs/v0.12.1/interfaces/FAIterators.MermaidNode.html @@ -0,0 +1,162 @@ +MermaidNode | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface MermaidNode

+
+

Hierarchy

+
    +
  • MermaidNode
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
label: string
+
+ +
shape: [string, string]
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/FAIterators.NodeInfo.html b/docs/v0.12.1/interfaces/FAIterators.NodeInfo.html new file mode 100644 index 0000000..93d5c55 --- /dev/null +++ b/docs/v0.12.1/interfaces/FAIterators.NodeInfo.html @@ -0,0 +1,209 @@ +NodeInfo | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface NodeInfo<S>

+
+

Type Parameters

+
    +
  • +

    S

+
+

Hierarchy

+
    +
  • NodeInfo
+
+
+
+ +
+
+

Methods

+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      node: S
    +

    Returns number

+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      node: S
    +

    Returns number

+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      node: S
    +

    Returns boolean

+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      node: S
    +

    Returns boolean

+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/FAIterators.SimplePrintOptions.html b/docs/v0.12.1/interfaces/FAIterators.SimplePrintOptions.html new file mode 100644 index 0000000..8dcd5d1 --- /dev/null +++ b/docs/v0.12.1/interfaces/FAIterators.SimplePrintOptions.html @@ -0,0 +1,190 @@ +SimplePrintOptions | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface SimplePrintOptions<T>

+
+

Type Parameters

+
    +
  • +

    T

+
+

Hierarchy

+
    +
  • SimplePrintOptions
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
ordered?: boolean
+

Whether transitions are ordered.

+
+
+

Default

false
+
+
+
+ +
transitionToString: ((transition: T) => string)
+
+

Type declaration

+
    +
  • +
      +
    • (transition: T): string
    • +
    • +

      Returns the string representation of the given transition.

      +
      +
      +

      Parameters

      +
        +
      • +
        transition: T
        +
      +

      Returns string

      +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/FAIterators.ToDotOptions.html b/docs/v0.12.1/interfaces/FAIterators.ToDotOptions.html new file mode 100644 index 0000000..f7c7529 --- /dev/null +++ b/docs/v0.12.1/interfaces/FAIterators.ToDotOptions.html @@ -0,0 +1,218 @@ +ToDotOptions | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface ToDotOptions<S, T>

+
+

Type Parameters

+
    +
  • +

    S

  • +
  • +

    T

+
+

Hierarchy

+
    +
  • ToDotOptions
+
+
+
+ +
+
+

Properties

+
+ +
getEdgeAttributes: ((transition: T, nth: number, from: S, to: S, info: NodeInfo<S>) => Readonly<ToDotAttrs>)
+
+

Type declaration

+
    +
  • +
      +
    • (transition: T, nth: number, from: S, to: S, info: NodeInfo<S>): Readonly<ToDotAttrs>
    • +
    • +
      +

      Parameters

      +
        +
      • +
        transition: T
      • +
      • +
        nth: number
      • +
      • +
        from: S
      • +
      • +
        to: S
      • +
      • +
        info: NodeInfo<S>
      +

      Returns Readonly<ToDotAttrs>

+
+ +
getGraphAttributes?: (() => Readonly<ToDotAttrs>)
+
+

Type declaration

+
+
+ +
getNodeAttributes?: ((node: S, info: NodeInfo<S>) => Readonly<ToDotAttrs>)
+
+

Type declaration

+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/FAIterators.ToMermaidOptions.html b/docs/v0.12.1/interfaces/FAIterators.ToMermaidOptions.html new file mode 100644 index 0000000..e3480eb --- /dev/null +++ b/docs/v0.12.1/interfaces/FAIterators.ToMermaidOptions.html @@ -0,0 +1,205 @@ +ToMermaidOptions | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface ToMermaidOptions<S, T>

+
+

Type Parameters

+
    +
  • +

    S

  • +
  • +

    T

+
+

Hierarchy

+
    +
  • ToMermaidOptions
+
+
+
+ +
+
+

Properties

+
+ +
getEdgeAttributes: ((transition: T, nth: number, from: S, to: S, info: NodeInfo<S>) => MermaidEdge)
+
+

Type declaration

+
    +
  • +
      +
    • (transition: T, nth: number, from: S, to: S, info: NodeInfo<S>): MermaidEdge
    • +
    • +
      +

      Parameters

      +
        +
      • +
        transition: T
      • +
      • +
        nth: number
      • +
      • +
        from: S
      • +
      • +
        to: S
      • +
      • +
        info: NodeInfo<S>
      +

      Returns MermaidEdge

+
+ +
getNodeAttributes?: ((node: S, info: NodeInfo<S>) => Readonly<MermaidNode>)
+
+

Type declaration

+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/FiniteAutomaton.html b/docs/v0.12.1/interfaces/FiniteAutomaton.html new file mode 100644 index 0000000..d21bde1 --- /dev/null +++ b/docs/v0.12.1/interfaces/FiniteAutomaton.html @@ -0,0 +1,284 @@ +FiniteAutomaton | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface FiniteAutomaton

+
+

Hierarchy

+
+
+
+
+ +
+
+

Properties

+
+
+

Methods

+
+
+

Properties

+
+ +
isEmpty: boolean
+

Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

+
+
+
+ +
isFinite: boolean
+

Returns whether the formal language accepted by this FA contains finitely many words.

+

Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with +10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

+
+
+
+ +
maxCharacter: Char
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+

Methods

+
+ +
    + +
  • +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    +
      +
    • +
      word: ReadonlyWord
      +

      The characters of the word to test.

      +
      +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the +DOT format.

    +

    The output of this function can passed to any graph visualization program. This can be a +local installation or an online editor.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the Mermaid format.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns the AST of a regular expression that accepts the same language as this FA.

    +
    +
    +

    Parameters

    +
    +

    Returns NoParentNode<Expression>

    +
+
+ +
    + +
  • +

    Returns a string representation of this FA.

    +
    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end. If this FA is finite, the iterable will +end after at most 2^O(n) word sets (n = number of states).

    +

    If you analyse the words of an FA, consider using this method instead of words. If this method yields k word +sets, then words will yield up to O(k * m ^ l) words (m = number of possible characters, l = the maximum +length of any of the k word sets).

    +
    +

    Returns Iterable<WordSet>

    +
+
+ +
    + +
  • +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/JS.AnyCharacterSet.html b/docs/v0.12.1/interfaces/JS.AnyCharacterSet.html new file mode 100644 index 0000000..2e78d64 --- /dev/null +++ b/docs/v0.12.1/interfaces/JS.AnyCharacterSet.html @@ -0,0 +1,153 @@ +AnyCharacterSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface AnyCharacterSet

+
+

Hierarchy

+
    +
  • AnyCharacterSet
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
kind: "any"
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/JS.CharCaseFolding.html b/docs/v0.12.1/interfaces/JS.CharCaseFolding.html new file mode 100644 index 0000000..27383d5 --- /dev/null +++ b/docs/v0.12.1/interfaces/JS.CharCaseFolding.html @@ -0,0 +1,201 @@ +CharCaseFolding | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface CharCaseFolding

+
+

A set of functions that can be used to perform case-insensitive matching.

+

It must fulfill the following conditions:

+
    +
  1. canonicalize must be idempotent, i.e. canonicalize(canonicalize(char)) === canonicalize(char).
  2. +
  3. toCharSet(canonicalize(a)) is the set of all characters c such that canonicalize(a) === canonicalize(c).
  4. +
+
+
+
+

Hierarchy

+
    +
  • CharCaseFolding
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
canonicalize?: ((char: Char) => Char)
+
+

Type declaration

+
    +
  • +
      +
    • (char: Char): Char
    • +
    • +

      The canonicalization function. This typically maps characters to their lowercase form.

      +

      If no function is given, then the identity function is used. This also implies that toCharSet must return a +set containing only the given character.

      +
      +
      +

      Parameters

      +
      +

      Returns Char

      +
      +

      Default

      char => char
      +
      +
+
+ +
toCharSet: ((char: Char) => CharSet)
+
+

Type declaration

+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/JS.CharacterPropertyCharacterSet.html b/docs/v0.12.1/interfaces/JS.CharacterPropertyCharacterSet.html new file mode 100644 index 0000000..6dad03f --- /dev/null +++ b/docs/v0.12.1/interfaces/JS.CharacterPropertyCharacterSet.html @@ -0,0 +1,173 @@ +CharacterPropertyCharacterSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface CharacterPropertyCharacterSet

+
+

Hierarchy

+
    +
  • CharacterPropertyCharacterSet
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
key: string
+
+ +
kind: "property"
+
+ +
negate: boolean
+
+ +
strings: false
+
+ +
value: null | string
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/JS.DigitCharacterSet.html b/docs/v0.12.1/interfaces/JS.DigitCharacterSet.html new file mode 100644 index 0000000..9ee673b --- /dev/null +++ b/docs/v0.12.1/interfaces/JS.DigitCharacterSet.html @@ -0,0 +1,158 @@ +DigitCharacterSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface DigitCharacterSet

+
+

Hierarchy

+
    +
  • DigitCharacterSet
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
kind: "digit"
+
+ +
negate: boolean
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/JS.Literal.html b/docs/v0.12.1/interfaces/JS.Literal.html new file mode 100644 index 0000000..d2f9ffc --- /dev/null +++ b/docs/v0.12.1/interfaces/JS.Literal.html @@ -0,0 +1,164 @@ +Literal | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface Literal

+
+

A light-weight representation of a +JavaScript RegExp object.

+

This interface only requires the source and flags properties of a RegExp object.

+
+
+
+

Hierarchy

+
    +
  • Literal
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
flags: string
+
+ +
source: string
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/JS.NonUnicodeSetsFlags.html b/docs/v0.12.1/interfaces/JS.NonUnicodeSetsFlags.html new file mode 100644 index 0000000..3e2e204 --- /dev/null +++ b/docs/v0.12.1/interfaces/JS.NonUnicodeSetsFlags.html @@ -0,0 +1,234 @@ +NonUnicodeSetsFlags | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface NonUnicodeSetsFlags

+
+

A partial set of non-Unicode-sets RegExp flags. The v flag is guaranteed to be unset.

+
+
+
+

Hierarchy

+
+
+
+
+ +
+
+

Properties

+
+ +
dotAll?: boolean
+
+

Default

false
+
+
+
+ +
global?: boolean
+
+

Default

false
+
+
+
+ +
hasIndices?: boolean
+
+

Default

false
+
+
+
+ +
ignoreCase?: boolean
+
+

Default

false
+
+
+
+ +
multiline?: boolean
+
+

Default

false
+
+
+
+ +
sticky?: boolean
+
+

Default

false
+
+
+
+ +
unicode?: boolean
+
+

Default

false
+
+
+
+ +
unicodeSets?: false
+
+

Default

false
+
+
+
+ +
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/JS.ParseOptions.html b/docs/v0.12.1/interfaces/JS.ParseOptions.html new file mode 100644 index 0000000..66968e4 --- /dev/null +++ b/docs/v0.12.1/interfaces/JS.ParseOptions.html @@ -0,0 +1,276 @@ +ParseOptions | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface ParseOptions

+
+

Hierarchy

+
    +
  • ParseOptions
+
+
+
+ +
+
+

Properties

+
+ +
assertions?: "unknown" | "disable" | "ignore" | "throw" | "parse"
+

How the parser will handle assertions.

+
    +
  • "parse"

    +

    The parser will translate every assertion literally to an equivalent RE AST representation. Builtin assertions +(e.g. \b, $) will be transformed into equivalent assertions.

    +
  • +
  • "disable"

    +

    The parser will disable all assertion by replacing them with an empty character class. This will cause all +paths containing an assertion to be (effectively) removed.

    +
  • +
  • "ignore"

    +

    The parser will ignore all assertion by replacing them with an empty group.

    +
  • +
  • "throw"

    +

    The parser will throw an error when encountering a assertion that cannot be removed.

    +

    E.g. a\B will throw but a([]\b)(\b){0} will not because none of the \bs can be reached.

    +
  • +
  • "unknown"

    +

    The parser will create a Unknown node for each assertion. The id of the node will be raw string of the +assertion.

    +
  • +
+
+
+

Default

"parse"
+
+
+
+ +
backreferences?: "unknown" | "disable" | "throw"
+

How to the parser will handle unresolved backreferences.

+
    +
  • "disable"

    +

    The parser will replace all backreferences with an empty character class. This will cause all paths containing +a backreference to be (effectively) removed.

    +

    E.g. (a*)(\1|b) will be parsed as (a*)(([])|b) which is equivalent to a*b.

    +
  • +
  • "throw"

    +

    The parser will throw an error when encountering a backreference that cannot be removed.

    +

    E.g. (a*)b\1 will throw but (a*)[^\s\S]\1 will not because the backreference will be removed anyway because +of the empty character class.

    +
  • +
  • "unknown"

    +

    The parser will create a Unknown node for each backreference that cannot be removed. The id of the node will +be raw string of the backreference.

    +
  • +
+

Backreferences that have been resolved are not affected by this option.

+
+
+

Default

"throw"
+
+
+
+ +
getUnknownId?: ((element: Backreference | Assertion) => string)
+
+

Type declaration

+
    +
  • +
      +
    • (element: Backreference | Assertion): string
    • +
    • +

      Unknown nodes have an id property that can be used to identify the element that created the unknown. This +function can be used to control the id value.

      +

      By default, the raw of the element will be used as its id.

      +
      +
      +

      Parameters

      +
        +
      • +
        element: Backreference | Assertion
      +

      Returns string

      +
+
+ +
maxBackreferenceWords?: number
+

The maximum number of words a backreference can be replaced by.

+

Set this to 0 to disable resolving backreferences.

+
+
+

Default

100
+
+
+
+ +
maxNodes?: number
+

The maximum number of nodes the parser is allowed to create.

+

If the regexes requires more nodes, a TooManyNodesError will be thrown.

+
+
+

Default

10000
+
+
+
+ +
simplify?: boolean
+

By default, the parser will try to simplify the generated RE as much as possible.

+

If set to false, all trivial simplifications will be disabled. This includes:

+
    +
  • Removing alternatives where all paths go through an empty character class, an alternation with 0 alternatives, +or a disabled backreference/assertion.
  • +
  • Removing constant 0 and constant 1 quantifiers.
  • +
  • Inlining single-alternative groups.
  • +
+

These simplifications might prevent certain backreferences or assertions from throwing an error. It's usually +good to have them enabled since parsing is usually faster and the produced RE AST is smaller.

+

If the produced RE AST is supposed to be a literal translation, then simplifications have to be disabled.

+
+
+

Default

true
+
+
+
+ +
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/JS.ParseResult.html b/docs/v0.12.1/interfaces/JS.ParseResult.html new file mode 100644 index 0000000..f18ef1e --- /dev/null +++ b/docs/v0.12.1/interfaces/JS.ParseResult.html @@ -0,0 +1,158 @@ +ParseResult | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface ParseResult

+
+

Hierarchy

+
    +
  • ParseResult
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
expression: Expression
+
+ +
maxCharacter: Char
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/JS.RegexppAst.html b/docs/v0.12.1/interfaces/JS.RegexppAst.html new file mode 100644 index 0000000..ad14e27 --- /dev/null +++ b/docs/v0.12.1/interfaces/JS.RegexppAst.html @@ -0,0 +1,158 @@ +RegexppAst | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface RegexppAst

+
+

Hierarchy

+
    +
  • RegexppAst
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
flags: Flags
+
+ +
pattern: Pattern
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/JS.SpaceCharacterSet.html b/docs/v0.12.1/interfaces/JS.SpaceCharacterSet.html new file mode 100644 index 0000000..ea1c8cc --- /dev/null +++ b/docs/v0.12.1/interfaces/JS.SpaceCharacterSet.html @@ -0,0 +1,158 @@ +SpaceCharacterSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface SpaceCharacterSet

+
+

Hierarchy

+
    +
  • SpaceCharacterSet
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
kind: "space"
+
+ +
negate: boolean
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/JS.StringPropertyCharacterSet.html b/docs/v0.12.1/interfaces/JS.StringPropertyCharacterSet.html new file mode 100644 index 0000000..a12dd7c --- /dev/null +++ b/docs/v0.12.1/interfaces/JS.StringPropertyCharacterSet.html @@ -0,0 +1,173 @@ +StringPropertyCharacterSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface StringPropertyCharacterSet

+
+

Hierarchy

+
    +
  • StringPropertyCharacterSet
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
key: string
+
+ +
kind: "property"
+
+ +
negate: false
+
+ +
strings: true
+
+ +
value: null
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/JS.TextBoundaryAssertion.html b/docs/v0.12.1/interfaces/JS.TextBoundaryAssertion.html new file mode 100644 index 0000000..bd41ed0 --- /dev/null +++ b/docs/v0.12.1/interfaces/JS.TextBoundaryAssertion.html @@ -0,0 +1,153 @@ +TextBoundaryAssertion | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface TextBoundaryAssertion

+
+

Hierarchy

+
    +
  • TextBoundaryAssertion
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
kind: "start" | "end"
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/JS.ToLiteralOptions.html b/docs/v0.12.1/interfaces/JS.ToLiteralOptions.html new file mode 100644 index 0000000..cfa80a7 --- /dev/null +++ b/docs/v0.12.1/interfaces/JS.ToLiteralOptions.html @@ -0,0 +1,175 @@ +ToLiteralOptions | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface ToLiteralOptions

+
+

Hierarchy

+
    +
  • ToLiteralOptions
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
fastCharacters?: boolean
+

This will force the function to print characters as fast as possible.

+

Literals created with this option will usually be created about 10x faster but the result will usually be very +hard to read. The is option is intended to provide performance benefits when readability is not a concern.

+
+
+

Default

false
+
+
+
+ +
flags?: Flags
+

An optional template for the flags of the JavaScript RegExp literal to be created.

+

All flags that are set to false are guaranteed to be disabled in the created literal. Likewise, all flags that +are set to true are guaranteed to be enabled in the created literal.

+

Flags that are undefined will be enabled/disabled depending on the implementation. While no guarantees are +given, the implementation will generally try to choose flags such that it can create a literal that is as +small/simple as possible.

+

If the constraints on flags defined here make it impossible to create a literal, an error will be thrown.

+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/JS.UncheckedFlags.html b/docs/v0.12.1/interfaces/JS.UncheckedFlags.html new file mode 100644 index 0000000..9ca735b --- /dev/null +++ b/docs/v0.12.1/interfaces/JS.UncheckedFlags.html @@ -0,0 +1,229 @@ +UncheckedFlags | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface UncheckedFlags

+
+

An unchecked partial set of RegExp flags.

+

Flags are not validated by TypeScript. You must ensure that the flags are valid. +Whenever possible, use the Flags type instead.

+
+
+
+

Hierarchy

+
+
+
+
+ +
+
+

Properties

+
+ +
dotAll?: boolean
+
+

Default

false
+
+
+
+ +
global?: boolean
+
+

Default

false
+
+
+
+ +
hasIndices?: boolean
+
+

Default

false
+
+
+
+ +
ignoreCase?: boolean
+
+

Default

false
+
+
+
+ +
multiline?: boolean
+
+

Default

false
+
+
+
+ +
sticky?: boolean
+
+

Default

false
+
+
+
+ +
unicode?: boolean
+
+

Default

false
+
+
+
+ +
unicodeSets?: boolean
+
+

Default

false
+
+
+
+ +
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/JS.UnicodeSetsFlags.html b/docs/v0.12.1/interfaces/JS.UnicodeSetsFlags.html new file mode 100644 index 0000000..37b3286 --- /dev/null +++ b/docs/v0.12.1/interfaces/JS.UnicodeSetsFlags.html @@ -0,0 +1,234 @@ +UnicodeSetsFlags | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface UnicodeSetsFlags

+
+

A partial set of Unicode-sets RegExp flags. The v flag is guaranteed to be set.

+
+
+
+

Hierarchy

+
+
+
+
+ +
+
+

Properties

+
+ +
dotAll?: boolean
+
+

Default

false
+
+
+
+ +
global?: boolean
+
+

Default

false
+
+
+
+ +
hasIndices?: boolean
+
+

Default

false
+
+
+
+ +
ignoreCase?: boolean
+
+

Default

false
+
+
+
+ +
multiline?: boolean
+
+

Default

false
+
+
+
+ +
sticky?: boolean
+
+

Default

false
+
+
+
+ +
unicode?: false
+
+

Default

false
+
+
+
+ +
unicodeSets: true
+
+

Default

false
+
+
+
+ +
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/JS.WordBoundaryAssertion.html b/docs/v0.12.1/interfaces/JS.WordBoundaryAssertion.html new file mode 100644 index 0000000..7de5fc0 --- /dev/null +++ b/docs/v0.12.1/interfaces/JS.WordBoundaryAssertion.html @@ -0,0 +1,158 @@ +WordBoundaryAssertion | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface WordBoundaryAssertion

+
+

Hierarchy

+
    +
  • WordBoundaryAssertion
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
kind: "word"
+
+ +
negate: boolean
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/JS.WordCharacterSet.html b/docs/v0.12.1/interfaces/JS.WordCharacterSet.html new file mode 100644 index 0000000..3ea9c69 --- /dev/null +++ b/docs/v0.12.1/interfaces/JS.WordCharacterSet.html @@ -0,0 +1,158 @@ +WordCharacterSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface WordCharacterSet

+
+

Hierarchy

+
    +
  • WordCharacterSet
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
kind: "word"
+
+ +
negate: boolean
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/NFA.FromRegexOptions.html b/docs/v0.12.1/interfaces/NFA.FromRegexOptions.html new file mode 100644 index 0000000..b902d70 --- /dev/null +++ b/docs/v0.12.1/interfaces/NFA.FromRegexOptions.html @@ -0,0 +1,176 @@ +FromRegexOptions | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface FromRegexOptions

+
+

Hierarchy

+
    +
  • FromRegexOptions
+
+
+
+ +
+
+

Properties

+
+ +
assertions?: "disable" | "ignore" | "throw"
+

How to handle assertions when construction the NFA.

+
    +
  • "throw"

    +

    This method will throw an error when encountering an assertion.

    +
  • +
  • "disable"

    +

    This method will replace any assertion with an empty character class, effectively removing it.

    +
  • +
  • "ignore"

    +

    This method will replace any assertion with an empty group.

    +
  • +
+
+
+

Default

"throw"
+
+
+
+ +
infinityThreshold?: number
+

The number at which the maximum of a quantifier will be assumed to be infinity.

+

Quantifiers with a large finite maximum (e.g. a{1,10000}) can create huge NFAs with thousands of states. +Any Quantifier with a maximum greater or equal to this threshold will be assumed to be infinite.

+
+
+

Default

Infinity
+
+
+
+ +
unknowns?: "disable" | "throw"
+

How to handle unknowns when construction the NFA.

+
    +
  • "throw"

    +

    This method will throw an error when encountering an unknown.

    +
  • +
  • "disable"

    +

    This method will replace any unknown with an empty character class, effectively removing it.

    +
  • +
+
+
+

Default

"throw"
+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/NFA.Options.html b/docs/v0.12.1/interfaces/NFA.Options.html new file mode 100644 index 0000000..b041ec5 --- /dev/null +++ b/docs/v0.12.1/interfaces/NFA.Options.html @@ -0,0 +1,131 @@ +Options | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/NFA.ReadonlyNode.html b/docs/v0.12.1/interfaces/NFA.ReadonlyNode.html new file mode 100644 index 0000000..eb61bbc --- /dev/null +++ b/docs/v0.12.1/interfaces/NFA.ReadonlyNode.html @@ -0,0 +1,136 @@ +ReadonlyNode | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/NodeFactory.html b/docs/v0.12.1/interfaces/NodeFactory.html new file mode 100644 index 0000000..9316a6c --- /dev/null +++ b/docs/v0.12.1/interfaces/NodeFactory.html @@ -0,0 +1,147 @@ +NodeFactory | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface NodeFactory<S>

+
+

A factory for the nodes of finite automata.

+
+
+
+

Type Parameters

+
    +
  • +

    S

+
+

Hierarchy

+
+
+

Implemented by

+
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
createNode: (() => S)
+
+

Type declaration

+
    +
  • +
      +
    • (): S
    • +
    • +

      Creates a new state.

      +
      +

      Returns S

      +
      +

      Throws

      TooManyNodesError +May be thrown if the number of created nodes exceeds some limit.

      +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/Quantifier.html b/docs/v0.12.1/interfaces/Quantifier.html new file mode 100644 index 0000000..76a8986 --- /dev/null +++ b/docs/v0.12.1/interfaces/Quantifier.html @@ -0,0 +1,151 @@ +Quantifier | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface Quantifier

+
+

Hierarchy

+
    +
  • NodeBase +
      +
    • Quantifier
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
alternatives: Concatenation[]
+
+ +
lazy: boolean
+
+ +
max: number
+
+ +
min: number
+
+ +
+
+ +
+
+ +
type: "Quantifier"
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/ReadonlyCharMap.html b/docs/v0.12.1/interfaces/ReadonlyCharMap.html new file mode 100644 index 0000000..622e348 --- /dev/null +++ b/docs/v0.12.1/interfaces/ReadonlyCharMap.html @@ -0,0 +1,348 @@ +ReadonlyCharMap | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface ReadonlyCharMap<T>

+
+

Type Parameters

+
    +
  • +

    T

+
+

Hierarchy

+
    +
  • Iterable<[CharRange, T]> +
      +
    • ReadonlyCharMap
+
+

Implemented by

+
+
+
+
+ +
+
+

Properties

+
+
+

Methods

+
+
+

Properties

+
+ +
entryCount: number
+

The number of entires in this map.

+

This is different from size. In general, you should use size, because it has the same semantics +as Set#size and Map#size.

+

This is equivalent to [...this.entries()].length.

+
+
+
+ +
isEmpty: boolean
+

Returns whether this map is empty.

+

This is equivalent to this.size === 0 and this.entryCount === 0.

+
+
+
+ +
size: number
+

The number of characters in this map. This is different from entryCount.

+

This is equivalent to [...this.keys()].reduce((count, range) => count + range.max - range.min + 1, 0).

+
+
+
+

Methods

+
+ +
    + +
  • +

    Returns a new map with all values mapped by the given function.

    +

    If no function is given, the identity function is used.

    +
    +

    Returns CharMap<T>

    +
  • + +
  • +
    +

    Type Parameters

    +
      +
    • +

      U

    +
    +

    Parameters

    +
      +
    • +
      mapFn: ((value: T) => U)
      +
        +
      • +
          +
        • (value: T): U
        • +
        • +
          +

          Parameters

          +
            +
          • +
            value: T
          +

          Returns U

    +

    Returns CharMap<U>

+
+ +
    + +
  • +

    Returns all key-value pairs in the map.

    +

    Entries will be returned in the order of ascending ranges.

    +
    +

    Returns Iterable<[CharRange, T]>

    +
+
+ +
    + +
  • +

    Invokes the given callback for every item of the character map.

    +

    This method is implemented more efficiently than other iterator based methods, so chose forEach where every +possible.

    +
    +
    +

    Parameters

    +
    +

    Returns void

    +
+
+ +
    + +
  • +

    Returns the value associated with the given character of undefined if the character is not key in the map.

    +
    +
    +

    Parameters

    +
    +

    Returns undefined | T

    +
+
+ +
    + +
  • +

    Returns whether the given character is a key in the map.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns whether every character in the given range is a key in the map.

    +

    This is equivalent to: [...chars].every(char => this.has(char)).

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns whether some character in the given range is a key in the map.

    +

    This is equivalent to: [...chars].some(char => this.has(char)).

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns a mapping from the values of this map to its keys.

    +
    +
    +

    Parameters

    +
      +
    • +
      maxCharacter: Char
    +

    Returns Map<T, CharSet>

    +
+
+ +
    + +
  • +

    Returns all ranges of characters that are keys in the map.

    +

    Keys will be returned in the same order as this.entries().

    +
    +

    Returns Iterable<CharRange>

    +
+
+ +
    + +
  • +

    Returns all values in the map. Values might not be unique if more than one range maps to the same value.

    +

    Values will be returned in the same order as this.entries().

    +
    +

    Returns Iterable<T>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/ReadonlyDFA.html b/docs/v0.12.1/interfaces/ReadonlyDFA.html new file mode 100644 index 0000000..3302035 --- /dev/null +++ b/docs/v0.12.1/interfaces/ReadonlyDFA.html @@ -0,0 +1,404 @@ +ReadonlyDFA | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface ReadonlyDFA

+
+

A readonly DFA.

+
+
+
+

Hierarchy

+
+
+

Implemented by

+
+
+
+
+ +
+
+

Properties

+
+ +
finals: ReadonlySet<DFA.ReadonlyNode>
+

The set of final states of the DFA.

+

This set may be empty or contain nodes not reachable from the initial state.

+
+
+
+ +
initial: DFA.ReadonlyNode
+

The initial state of the DFA.

+
+
+
+ +
isEmpty: boolean
+

Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

+
+
+
+ +
isFinite: boolean
+

Returns whether the formal language accepted by this FA contains finitely many words.

+

Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with +10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

+
+
+
+ +
maxCharacter: Char
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+ +
transitionIterator: (() => TransitionIterator<DFA.ReadonlyNode>)
+
+

Type declaration

+
+
+

Methods

+
+ +
+
+ +
    + +
  • +

    Returns the number of nodes reachable from the initial state including the initial state.

    +

    This returns the number of nodes returned by nodes.

    +
    +

    Returns number

    +
+
+ +
    + +
  • +

    Yields all nodes reachable from the initial state including the initial state.

    +

    This may include trap states, but it will not include unreachable final states.

    +

    The order in which nodes will be returned is implementation defined and may change after any operation that +modifies the DFA.

    +

    Modifying the DFA while iterating will result in implementation-defined behavior. The implementation may stop the +iteration or yield an nodes.

    +

    This operation runs in O(E + V) where E is the number of nodes reachable from the initial state and V is +the number of transitions.

    +
    +

    Returns Iterable<DFA.ReadonlyNode>

    +
+
+ +
+
+ +
    + +
  • +

    Returns whether this and the given DFA are structurally equal meaning that all nodes and all transitions are +equal.

    +
    +
    +

    Parameters

    +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    +
      +
    • +
      word: ReadonlyWord
      +

      The characters of the word to test.

      +
      +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the +DOT format.

    +

    The output of this function can passed to any graph visualization program. This can be a +local installation or an online editor.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the Mermaid format.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
+
+ +
    + +
  • +

    Returns a string representation of this FA.

    +
    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end. If this FA is finite, the iterable will +end after at most 2^O(n) word sets (n = number of states).

    +

    If you analyse the words of an FA, consider using this method instead of words. If this method yields k word +sets, then words will yield up to O(k * m ^ l) words (m = number of possible characters, l = the maximum +length of any of the k word sets).

    +
    +

    Returns Iterable<WordSet>

    +
+
+ +
    + +
  • +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/ReadonlyENFA.html b/docs/v0.12.1/interfaces/ReadonlyENFA.html new file mode 100644 index 0000000..18742cb --- /dev/null +++ b/docs/v0.12.1/interfaces/ReadonlyENFA.html @@ -0,0 +1,402 @@ +ReadonlyENFA | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface ReadonlyENFA

+
+

A readonly ENFA.

+
+
+
+

Hierarchy

+
+
+

Implemented by

+
+
+
+
+ +
+
+

Properties

+
+ + +

The final state of the ENFA.

+

This state may not be reachable from the initial state.

+
+
+
+ + +

The initial state of the ENFA.

+
+
+
+ +
isEmpty: boolean
+

Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

+
+
+
+ +
isFinite: boolean
+

Returns whether the formal language accepted by this FA contains finitely many words.

+

Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with +10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

+
+
+
+ +
isNormalized: boolean
+

Whether this ENFA is in its normal form.

+
+
+

See

ENFA

+
+
+ +
maxCharacter: Char
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+ +
transitionIterator: (() => TransitionIterator<ENFA.ReadonlyNode>)
+
+

Type declaration

+
+
+

Methods

+
+ +
+
+ +
    + +
  • +

    Returns the number of nodes reachable from the initial state including the initial state.

    +

    This returns the number of nodes returned by nodes.

    +
    +

    Returns number

    +
+
+ +
    + +
  • +

    Yields all nodes reachable from the initial state including the initial state.

    +

    This may include trap states, but it will not include the final states if it is unreachable from the initial +state.

    +

    The order in which nodes will be returned is implementation defined and may change after any operation that +modifies the ENFA.

    +

    Modifying the ENFA while iterating will result in implementation-defined behavior. The implementation may stop +the iteration or yield an nodes.

    +

    This operation runs in O(E + V) where E is the number of nodes reachable from the initial state and V is +the number of transitions.

    +
    +

    Returns Iterable<ENFA.ReadonlyNode>

    +
+
+ +
+
+ +
    + +
  • +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    +
      +
    • +
      word: ReadonlyWord
      +

      The characters of the word to test.

      +
      +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the +DOT format.

    +

    The output of this function can passed to any graph visualization program. This can be a +local installation or an online editor.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the Mermaid format.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
+
+ +
    + +
  • +

    Returns a string representation of this FA.

    +
    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end. If this FA is finite, the iterable will +end after at most 2^O(n) word sets (n = number of states).

    +

    If you analyse the words of an FA, consider using this method instead of words. If this method yields k word +sets, then words will yield up to O(k * m ^ l) words (m = number of possible characters, l = the maximum +length of any of the k word sets).

    +
    +

    Returns Iterable<WordSet>

    +
+
+ +
    + +
  • +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/ReadonlyNFA.html b/docs/v0.12.1/interfaces/ReadonlyNFA.html new file mode 100644 index 0000000..cde54df --- /dev/null +++ b/docs/v0.12.1/interfaces/ReadonlyNFA.html @@ -0,0 +1,397 @@ +ReadonlyNFA | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface ReadonlyNFA

+
+

A readonly NFA.

+
+
+
+

Hierarchy

+
+
+

Implemented by

+
+
+
+
+ +
+
+

Properties

+
+ +
finals: ReadonlySet<NFA.ReadonlyNode>
+

The set of final states of the NFA.

+

This set may be empty or contain nodes not reachable from the initial state.

+
+
+
+ +
initial: NFA.ReadonlyNode
+

The initial state of the NFA.

+
+
+
+ +
isEmpty: boolean
+

Returns whether this FA accepts the empty language meaning that it doesn't accept any words.

+
+
+
+ +
isFinite: boolean
+

Returns whether the formal language accepted by this FA contains finitely many words.

+

Note: Finite does not mean that all words can be iterated in practice. E.g. the set of all Unicode words with +10 or less characters contains 2.6e54 many words and can be accepted by a DFA with only 11 states.

+
+
+
+ +
isNormalized: boolean
+

Whether this NFA is in its normal form.

+
+
+

See

NFA

+
+
+ +
maxCharacter: Char
+

The maximum character that is part of the alphabet of the words that this FA can accept.

+
+
+
+ +
transitionIterator: (() => TransitionIterator<NFA.ReadonlyNode>)
+
+

Type declaration

+
+
+

Methods

+
+ +
+
+ +
    + +
  • +

    Returns the number of nodes reachable from the initial state including the initial state.

    +

    This returns the number of nodes returned by nodes.

    +
    +

    Returns number

    +
+
+ +
    + +
  • +

    Yields all nodes reachable from the initial state including the initial state.

    +

    This may include trap states, but it will not include unreachable final states.

    +

    The order in which nodes will be returned is implementation defined and may change after any operation that +modifies the NFA.

    +

    Modifying the NFA while iterating will result in implementation-defined behavior. The implementation may stop the +iteration or yield an nodes.

    +

    This operation runs in O(E + V) where E is the number of nodes reachable from the initial state and V is +the number of transitions.

    +
    +

    Returns Iterable<NFA.ReadonlyNode>

    +
+
+ +
+
+ +
    + +
  • +

    Returns whether this FA accepts the given word.

    +
    +
    +

    Parameters

    +
      +
    • +
      word: ReadonlyWord
      +

      The characters of the word to test.

      +
      +
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the +DOT format.

    +

    The output of this function can passed to any graph visualization program. This can be a +local installation or an online editor.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns the string representation of this FA in the Mermaid format.

    +

    By default, toUnicodeString is used to represent CharSets. It's possible to provide a +custom stringify function using the charSetToString parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional charSetToString: ((charSet: CharSet) => string)
      +
      +
        +
      • +
          +
        • (charSet: CharSet): string
        • +
        • +
          +

          Parameters

          +
          +

          Returns string

    +

    Returns string

    +
+
+ +
+
+ +
    + +
  • +

    Returns a string representation of this FA.

    +
    +

    Returns string

    +
+
+ +
    + +
  • +

    Returns an iterable that will yield all word sets accepted by this FA. Word sets are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end. If this FA is finite, the iterable will +end after at most 2^O(n) word sets (n = number of states).

    +

    If you analyse the words of an FA, consider using this method instead of words. If this method yields k word +sets, then words will yield up to O(k * m ^ l) words (m = number of possible characters, l = the maximum +length of any of the k word sets).

    +
    +

    Returns Iterable<WordSet>

    +
+
+ +
    + +
  • +

    Returns an iterable that will yield all words accepted by this FA. Words are yielded by ascending length.

    +

    If this FA accepts infinitely many words, the iterable will never end.

    +
    +

    Returns Iterable<Word>

    +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/SourceLocation.html b/docs/v0.12.1/interfaces/SourceLocation.html new file mode 100644 index 0000000..c0bbabd --- /dev/null +++ b/docs/v0.12.1/interfaces/SourceLocation.html @@ -0,0 +1,121 @@ +SourceLocation | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/ToRegexOptions.html b/docs/v0.12.1/interfaces/ToRegexOptions.html new file mode 100644 index 0000000..61f199b --- /dev/null +++ b/docs/v0.12.1/interfaces/ToRegexOptions.html @@ -0,0 +1,135 @@ +ToRegexOptions | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface ToRegexOptions

+
+

Hierarchy

+
    +
  • ToRegexOptions
+
+
+
+ +
+
+

Properties

+
+ +
maxNodes?: number
+

The maximum number of RE AST nodes the implementation is allowed to create.

+

If the implementation has to create more nodes to create the RE, a TooManyNodesError will be thrown. This +maximum will be check before any optimization passes.

+
+
+

Default

10000
+
+
+
+ +
maxOptimizationPasses?: number
+

The maximum number of optimization passes that will be done after the initial RE AST was created.

+

The initial AST is usually a lot more complex than necessary. Optimizations are then applied in order to minimize +the AST until this limit is reached or the AST can be optimized no further.

+

The default number of passes is implementation defined.

+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/TransformContext.html b/docs/v0.12.1/interfaces/TransformContext.html new file mode 100644 index 0000000..7cffd58 --- /dev/null +++ b/docs/v0.12.1/interfaces/TransformContext.html @@ -0,0 +1,137 @@ +TransformContext | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface TransformContext

+
+

Hierarchy

+
    +
  • TransformContext
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
maxCharacter: Char
+

The maximum character of all character sets in the AST.

+

If the expression to transform does not contain any characters at the start of the transformation, then this +value will be 0.

+
+
+
+ +
signalMutation: (() => void)
+
+

Type declaration

+
    +
  • +
      +
    • (): void
    • +
    • +

      Signals that the transformer changed the AST.

      +
      +

      Returns void

      +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/TransformEvents.html b/docs/v0.12.1/interfaces/TransformEvents.html new file mode 100644 index 0000000..0caa3e3 --- /dev/null +++ b/docs/v0.12.1/interfaces/TransformEvents.html @@ -0,0 +1,174 @@ +TransformEvents | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface TransformEvents

+
+

Hierarchy

+
    +
  • TransformEvents
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
onChange?: ((ast: NoParentNode<Expression>, node: NoParent<Node>, transformer: Transformer) => void)
+
+

Type declaration

+
    +
  • +
      +
    • (ast: NoParentNode<Expression>, node: NoParent<Node>, transformer: Transformer): void
    • +
    • +

      An optional callback that will be called every time a transformer mutates the AST.

      +
      +
      +

      Parameters

      +
        +
      • +
        ast: NoParentNode<Expression>
        +

        The AST that was transformed.

        +
        +
      • +
      • +
        node: NoParent<Node>
        +

        The node that was mutated by the transformer. Descendants of this node may have been mutated as well.

        +
        +
      • +
      • +
        transformer: Transformer
        +

        The transformer that mutated the AST.

        +
        +
      +

      Returns void

      +
+
+ +
onPassStart?: ((ast: NoParentNode<Expression>, pass: number) => void)
+
+

Type declaration

+
    +
  • +
      +
    • (ast: NoParentNode<Expression>, pass: number): void
    • +
    • +

      An optional callback that will be called at the start of every pass.

      +
      +
      +

      Parameters

      +
        +
      • +
        ast: NoParentNode<Expression>
        +

        The AST that will be transformed.

        +
        +
      • +
      • +
        pass: number
        +

        The number of the pass that will be performed. Starts at 1.

        +
        +
      +

      Returns void

      +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/TransformOptions.html b/docs/v0.12.1/interfaces/TransformOptions.html new file mode 100644 index 0000000..df3c59e --- /dev/null +++ b/docs/v0.12.1/interfaces/TransformOptions.html @@ -0,0 +1,132 @@ +TransformOptions | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface TransformOptions

+
+

Hierarchy

+
    +
  • TransformOptions
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ + +

Optional events to observe the transformation process.

+
+
+
+ +
maxPasses?: number
+

The maximum number of times the transformer will be applied to the AST.

+

This is only a maximum. The transformer will be stopped before this number is reach if the AST isn't modified +anymore.

+
+
+

Default

10
+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/Transformer.html b/docs/v0.12.1/interfaces/Transformer.html new file mode 100644 index 0000000..8a3e60f --- /dev/null +++ b/docs/v0.12.1/interfaces/Transformer.html @@ -0,0 +1,242 @@ +Transformer | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface Transformer

+
+

A transform is some algorithm that takes a AST subtree and makes any number of modifications to the given subtree. +They cannot see or modify anything outside the given subtree. Transformers are assumed to behave like a set of pure +functions.

+

Transformers are always applied bottom-up.

+

The most simple transformer is an empty object ({}). This is equivalent to a no-op transformer that does not change +the given AST.

+
+
+
+

Hierarchy

+
    +
  • Transformer
+
+

Implemented by

+
+
+
+
+ +
+
+

Properties

+
+ +
name?: string
+

An optional name useful for diagnostics.

+
+
+
+

Methods

+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/Transformers.CreationOptions.html b/docs/v0.12.1/interfaces/Transformers.CreationOptions.html new file mode 100644 index 0000000..7f110b8 --- /dev/null +++ b/docs/v0.12.1/interfaces/Transformers.CreationOptions.html @@ -0,0 +1,158 @@ +CreationOptions | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface CreationOptions

+
+

Hierarchy

+
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
ignoreAmbiguity?: boolean
+

If true, transformers are allowed to reduce or increase the ambiguity of the regular expression.

+
+
+

Default

false
+
+
+
+ +
ignoreOrder?: boolean
+

If true, transformers are allowed to reorder alternatives and to change/ignore the laziness of quantifiers. +This may cause the behavior of the regex to change.

+
+
+

Default

false
+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html b/docs/v0.12.1/interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html new file mode 100644 index 0000000..cf961b2 --- /dev/null +++ b/docs/v0.12.1/interfaces/Transformers.PatternEdgeAssertionsCreationOptions.html @@ -0,0 +1,177 @@ +PatternEdgeAssertionsCreationOptions | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface PatternEdgeAssertionsCreationOptions

+
+

Hierarchy

+
+
+
+
+ +
+
+

Properties

+
+ +
ignoreAmbiguity?: boolean
+

If true, transformers are allowed to reduce or increase the ambiguity of the regular expression.

+
+
+

Default

false
+
+
+
+ +
ignoreOrder?: boolean
+

If true, transformers are allowed to reorder alternatives and to change/ignore the laziness of quantifiers. +This may cause the behavior of the regex to change.

+
+
+

Default

false
+
+
+
+ +
inline?: boolean
+
+

Default

true
+
+
+
+ +
remove?: boolean
+
+

Default

false
+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/Transformers.RemoveAssertionsCreationOptions.html b/docs/v0.12.1/interfaces/Transformers.RemoveAssertionsCreationOptions.html new file mode 100644 index 0000000..3e91878 --- /dev/null +++ b/docs/v0.12.1/interfaces/Transformers.RemoveAssertionsCreationOptions.html @@ -0,0 +1,168 @@ +RemoveAssertionsCreationOptions | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface RemoveAssertionsCreationOptions

+
+

Hierarchy

+
+
+
+
+ +
+
+

Properties

+
+ +
ignoreAmbiguity?: boolean
+

If true, transformers are allowed to reduce or increase the ambiguity of the regular expression.

+
+
+

Default

false
+
+
+
+ +
ignoreOrder?: boolean
+

If true, transformers are allowed to reorder alternatives and to change/ignore the laziness of quantifiers. +This may cause the behavior of the regex to change.

+
+
+

Default

false
+
+
+
+ +
replacement?: "empty-set" | "empty-word"
+
+

Default

"empty-set"
+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/TransitionIterable.html b/docs/v0.12.1/interfaces/TransitionIterable.html new file mode 100644 index 0000000..f80a285 --- /dev/null +++ b/docs/v0.12.1/interfaces/TransitionIterable.html @@ -0,0 +1,142 @@ +TransitionIterable | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface TransitionIterable<T>

+
+

A graph or FA that can create a TransitionIterator.

+
+
+
+

Type Parameters

+
    +
  • +

    T

+
+

Hierarchy

+
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
maxCharacter: Char
+
+ +
transitionIterator: (() => TransitionIterator<T>)
+
+

Type declaration

+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/Unknown.html b/docs/v0.12.1/interfaces/Unknown.html new file mode 100644 index 0000000..eadfaf8 --- /dev/null +++ b/docs/v0.12.1/interfaces/Unknown.html @@ -0,0 +1,136 @@ +Unknown | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface Unknown

+
+

Hierarchy

+
    +
  • NodeBase +
      +
    • Unknown
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
id: string
+
+ +
+
+ +
+
+ +
type: "Unknown"
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/VisitAstHandler.html b/docs/v0.12.1/interfaces/VisitAstHandler.html new file mode 100644 index 0000000..dfa8e6c --- /dev/null +++ b/docs/v0.12.1/interfaces/VisitAstHandler.html @@ -0,0 +1,293 @@ +VisitAstHandler | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface VisitAstHandler

+
+

Hierarchy

+
    +
  • VisitAstHandler
+
+
+
+ +
+
+

Methods

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

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

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

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+
\ No newline at end of file diff --git a/docs/v0.12.1/interfaces/VisitNoParentAstHandler.html b/docs/v0.12.1/interfaces/VisitNoParentAstHandler.html new file mode 100644 index 0000000..5a6990d --- /dev/null +++ b/docs/v0.12.1/interfaces/VisitNoParentAstHandler.html @@ -0,0 +1,293 @@ +VisitNoParentAstHandler | refa - v0.12.1
+
+ +
+
+
+
+ +

Interface VisitNoParentAstHandler

+
+

Hierarchy

+
    +
  • VisitNoParentAstHandler
+
+
+
+ +
+
+

Methods

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

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

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
    +

    Returns void

+
+
\ No newline at end of file diff --git a/docs/v0.12.1/modules.html b/docs/v0.12.1/modules.html new file mode 100644 index 0000000..a4818c3 --- /dev/null +++ b/docs/v0.12.1/modules.html @@ -0,0 +1,168 @@ +refa - v0.12.1
+
+ +
+
+ +
+
\ No newline at end of file diff --git a/docs/v0.12.1/modules/DFA.html b/docs/v0.12.1/modules/DFA.html new file mode 100644 index 0000000..e819387 --- /dev/null +++ b/docs/v0.12.1/modules/DFA.html @@ -0,0 +1,126 @@ +DFA | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.1/modules/ENFA.html b/docs/v0.12.1/modules/ENFA.html new file mode 100644 index 0000000..bcff543 --- /dev/null +++ b/docs/v0.12.1/modules/ENFA.html @@ -0,0 +1,128 @@ +ENFA | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.1/modules/FAIterators.html b/docs/v0.12.1/modules/FAIterators.html new file mode 100644 index 0000000..c605ee6 --- /dev/null +++ b/docs/v0.12.1/modules/FAIterators.html @@ -0,0 +1,189 @@ +FAIterators | refa - v0.12.1
+
+ +
+
+ +
+
\ No newline at end of file diff --git a/docs/v0.12.1/modules/JS.html b/docs/v0.12.1/modules/JS.html new file mode 100644 index 0000000..7198bd0 --- /dev/null +++ b/docs/v0.12.1/modules/JS.html @@ -0,0 +1,188 @@ +JS | refa - v0.12.1
+
+ +
+
+
+
+ +

Namespace JS

+
+

Classes and functions to convert JavaScript RegExp to refa AST and vise versa.

+

All classes and functions in this module/namespace are specific to JavaScript regular expressions as defined by the +ECMAScript standard.

+
+
+

See

    +
  • Parser: A class to convert from JS RegExp to refa AST.
  • +
  • toLiteral: A function to convert from refa AST to JS RegExp.
  • +
+
+
+
+

Index

+
+

Classes

+
+
+

Interfaces

+
+
+

Type Aliases

+
+
+

Functions

+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/modules/NFA.html b/docs/v0.12.1/modules/NFA.html new file mode 100644 index 0000000..c1c5074 --- /dev/null +++ b/docs/v0.12.1/modules/NFA.html @@ -0,0 +1,128 @@ +NFA | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.1/modules/Transformers.html b/docs/v0.12.1/modules/Transformers.html new file mode 100644 index 0000000..306f71a --- /dev/null +++ b/docs/v0.12.1/modules/Transformers.html @@ -0,0 +1,147 @@ +Transformers | refa - v0.12.1
+
+ +
+
+
+
+ +

Namespace Transformers

+
+

Contains all AST transformer implementations of refa.

+

All transformer factory functions implemented here will optionally take CreationOptions or a sub-class of it. +This can be used to control the behavior of the created transformers.

+

For a simple transformer that applies most transformers while preserving the semantic of the given AST, +see simplify.

+
+
+
+
+

Index

+
+

Interfaces

+
+
+

Functions

+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/modules/Words.html b/docs/v0.12.1/modules/Words.html new file mode 100644 index 0000000..b1eb5ef --- /dev/null +++ b/docs/v0.12.1/modules/Words.html @@ -0,0 +1,118 @@ +Words | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.1/types/Char.html b/docs/v0.12.1/types/Char.html new file mode 100644 index 0000000..81579aa --- /dev/null +++ b/docs/v0.12.1/types/Char.html @@ -0,0 +1,112 @@ +Char | refa - v0.12.1
+
+ +
+
+
+
+ +

Type alias Char

+
Char: number & {
    __char?: never;
}
+

A character is a non-negative integer.

+

This is one of the core concepts of refa. Instead of operating on JavaScript strings, UTF16 character codes, or +Unicode code points, this library uses plain numbers instead. This makes refa agnostic to text encodings and even +text in general since the integers used as character may represent arbitrary concepts.

+

There are only 2 restrictions on the numbers that can be characters:

+
    +
  1. They have to be non-negative integers.
  2. +
  3. They can be at most Number.MAX_SAFE_INTEGER.
  4. +
+
+

This type serves as a way to document characters. It is a clear way to signal that a value is not just any number.

+
+
+

Type declaration

+
    +
  • +
    Optional __char?: never
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/types/Element.html b/docs/v0.12.1/types/Element.html new file mode 100644 index 0000000..9c88bda --- /dev/null +++ b/docs/v0.12.1/types/Element.html @@ -0,0 +1,94 @@ +Element | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.1/types/FAIterators.MapFABuilderNode.html b/docs/v0.12.1/types/FAIterators.MapFABuilderNode.html new file mode 100644 index 0000000..53699db --- /dev/null +++ b/docs/v0.12.1/types/FAIterators.MapFABuilderNode.html @@ -0,0 +1,135 @@ +MapFABuilderNode | refa - v0.12.1
+
+ +
+
+
+
+ +

Type alias MapFABuilderNode

+
MapFABuilderNode: Map<MapFABuilderNode, CharSet>
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/types/FAIterators.ToDotAttrs.html b/docs/v0.12.1/types/FAIterators.ToDotAttrs.html new file mode 100644 index 0000000..0e19ee9 --- /dev/null +++ b/docs/v0.12.1/types/FAIterators.ToDotAttrs.html @@ -0,0 +1,135 @@ +ToDotAttrs | refa - v0.12.1
+
+ +
+
+
+
+ +

Type alias ToDotAttrs

+
ToDotAttrs: Record<string, string | number | undefined>
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/types/JS.BoundaryAssertion.html b/docs/v0.12.1/types/JS.BoundaryAssertion.html new file mode 100644 index 0000000..9209cdd --- /dev/null +++ b/docs/v0.12.1/types/JS.BoundaryAssertion.html @@ -0,0 +1,131 @@ +BoundaryAssertion | refa - v0.12.1
+
+ +
+
+
+
+ +

Type alias BoundaryAssertion

+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/types/JS.CharacterElement.html b/docs/v0.12.1/types/JS.CharacterElement.html new file mode 100644 index 0000000..76ef440 --- /dev/null +++ b/docs/v0.12.1/types/JS.CharacterElement.html @@ -0,0 +1,131 @@ +CharacterElement | refa - v0.12.1
+
+ +
+
+
+
+ +

Type alias CharacterElement

+
CharacterElement: AST.CharacterClass | AST.Character | AST.CharacterClassRange | AST.CharacterSet | AST.ClassSetOperand | AST.StringAlternative | AST.ExpressionCharacterClass["expression"]
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/types/JS.Flags.html b/docs/v0.12.1/types/JS.Flags.html new file mode 100644 index 0000000..23a8632 --- /dev/null +++ b/docs/v0.12.1/types/JS.Flags.html @@ -0,0 +1,134 @@ +Flags | refa - v0.12.1
+
+ +
+
+
+
+ +

Type alias Flags

+ +

A partial set of RegExp flags.

+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/types/JS.ParsableElement.html b/docs/v0.12.1/types/JS.ParsableElement.html new file mode 100644 index 0000000..2c49f59 --- /dev/null +++ b/docs/v0.12.1/types/JS.ParsableElement.html @@ -0,0 +1,131 @@ +ParsableElement | refa - v0.12.1
+
+ +
+
+
+
+ +

Type alias ParsableElement

+
ParsableElement: AST.Element | AST.Pattern | AST.Alternative
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/types/JS.PredefinedCharacterSet.html b/docs/v0.12.1/types/JS.PredefinedCharacterSet.html new file mode 100644 index 0000000..9f02e64 --- /dev/null +++ b/docs/v0.12.1/types/JS.PredefinedCharacterSet.html @@ -0,0 +1,131 @@ +PredefinedCharacterSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Type alias PredefinedCharacterSet

+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/types/JS.PropertyCharacterSet.html b/docs/v0.12.1/types/JS.PropertyCharacterSet.html new file mode 100644 index 0000000..6e813fe --- /dev/null +++ b/docs/v0.12.1/types/JS.PropertyCharacterSet.html @@ -0,0 +1,131 @@ +PropertyCharacterSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Type alias PropertyCharacterSet

+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/types/NoParent.html b/docs/v0.12.1/types/NoParent.html new file mode 100644 index 0000000..391b9c9 --- /dev/null +++ b/docs/v0.12.1/types/NoParent.html @@ -0,0 +1,102 @@ +NoParent | refa - v0.12.1
+
+ +
+
+
+
+ +

Type alias NoParent<T>

+
NoParent<T>: T extends NodeIdent
    ? NoParentNode<T>
    : T extends unknown[]
        ? NoParentArray<T>
        : T
+

A view of an AST node that hides the parent property.

+
+
+

Type Parameters

+
    +
  • +

    T

+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/types/Node.html b/docs/v0.12.1/types/Node.html new file mode 100644 index 0000000..314d8d3 --- /dev/null +++ b/docs/v0.12.1/types/Node.html @@ -0,0 +1,94 @@ +Node | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.1/types/Parent.html b/docs/v0.12.1/types/Parent.html new file mode 100644 index 0000000..d8c6556 --- /dev/null +++ b/docs/v0.12.1/types/Parent.html @@ -0,0 +1,94 @@ +Parent | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.1/types/ReadonlyWord.html b/docs/v0.12.1/types/ReadonlyWord.html new file mode 100644 index 0000000..8ae00a9 --- /dev/null +++ b/docs/v0.12.1/types/ReadonlyWord.html @@ -0,0 +1,98 @@ +ReadonlyWord | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.1/types/ReadonlyWordSet.html b/docs/v0.12.1/types/ReadonlyWordSet.html new file mode 100644 index 0000000..05b875b --- /dev/null +++ b/docs/v0.12.1/types/ReadonlyWordSet.html @@ -0,0 +1,98 @@ +ReadonlyWordSet | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.1/types/TransitionIterator.html b/docs/v0.12.1/types/TransitionIterator.html new file mode 100644 index 0000000..14c8e12 --- /dev/null +++ b/docs/v0.12.1/types/TransitionIterator.html @@ -0,0 +1,103 @@ +TransitionIterator | refa - v0.12.1
+
+ +
+
+
+
+ +

Type alias TransitionIterator<T>

+
TransitionIterator<T>: FAIterator<T, ReadonlyMap<T, CharSet>>
+

An FAIterator where transitions are map of states to character sets.

+

This is a commonly used interface when dealing with FA. It's the common core all currently implemented FA support.

+
+
+

Type Parameters

+
    +
  • +

    T

+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/types/Word.html b/docs/v0.12.1/types/Word.html new file mode 100644 index 0000000..e32f701 --- /dev/null +++ b/docs/v0.12.1/types/Word.html @@ -0,0 +1,101 @@ +Word | refa - v0.12.1
+
+ +
+
+
+
+ +

Type alias Word

+
Word: Char[]
+

A word is finite sequence of Chars.

+

This one of the core concepts of refa. Instead of operating on JavaScript strings, all functions operate on +Chars and char arrays (= words). This means that refa is agnostic to text encodings, the string +representation of JavaScript, and even text itself.

+

This type serves as a way to document words. It should not be used interchangeably with Char[] or number[].

+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/types/WordSet.html b/docs/v0.12.1/types/WordSet.html new file mode 100644 index 0000000..dda2283 --- /dev/null +++ b/docs/v0.12.1/types/WordSet.html @@ -0,0 +1,103 @@ +WordSet | refa - v0.12.1
+
+ +
+
+
+
+ +

Type alias WordSet

+
WordSet: CharSet[]
+

A word set is finite sequence of non-empty CharSets.

+

All CharSets are guaranteed to be non-empty and to have the same maximum.

+

All FA and regex implementations are based on either CharSets or CharRanges. This is necessary +because it's not practical to represent the large character sets used in every-day regexes using single characters. +Consequently, it is more efficient to work with CharSets for them, so operations that yield the words of an +FA or regex typically yield WordSets instead of Words.

+

This type serves as a way to document word sets. It should not be used interchangeably with CharSet[].

+
+
+
+
\ No newline at end of file diff --git a/docs/v0.12.1/variables/DFA.nodeFactory.html b/docs/v0.12.1/variables/DFA.nodeFactory.html new file mode 100644 index 0000000..fe62e89 --- /dev/null +++ b/docs/v0.12.1/variables/DFA.nodeFactory.html @@ -0,0 +1,107 @@ +nodeFactory | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.1/variables/ENFA.nodeFactory.html b/docs/v0.12.1/variables/ENFA.nodeFactory.html new file mode 100644 index 0000000..77e672b --- /dev/null +++ b/docs/v0.12.1/variables/ENFA.nodeFactory.html @@ -0,0 +1,108 @@ +nodeFactory | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file diff --git a/docs/v0.12.1/variables/NFA.nodeFactory.html b/docs/v0.12.1/variables/NFA.nodeFactory.html new file mode 100644 index 0000000..963002d --- /dev/null +++ b/docs/v0.12.1/variables/NFA.nodeFactory.html @@ -0,0 +1,108 @@ +nodeFactory | refa - v0.12.1
+
+ +
+ +
\ No newline at end of file