diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 6584450..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1,30 +0,0 @@ -module.exports = { - env: { node: true, browser: true }, - extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended'], - parser: '@typescript-eslint/parser', - plugins: ['@typescript-eslint'], - rules: { - "no-shadow": "off", - "semi": ["error", "always"], - "quotes": ["error", "single"], - "indent": ["error", 2], - "comma-style": ["error", "last"], - "comma-spacing": ["error"], - "comma-dangle": ["error", "never"], - "no-multi-spaces": ["error", {}], - "function-paren-newline": ["error", "consistent"], - "function-call-argument-newline": ["error", "consistent"], - "no-multiple-empty-lines": ["error", { "max": 1, "maxEOF": 0 }], - "@typescript-eslint/consistent-type-definitions": ["error", "interface"], - "@typescript-eslint/no-empty-interface": "off", - '@typescript-eslint/no-explicit-any': 'warn', - "@typescript-eslint/no-namespace": "off", - "@typescript-eslint/no-shadow": "warn", - "@typescript-eslint/no-unused-vars": "off", - "sort-imports": ["error", { "allowSeparatedGroups": false, "ignoreDeclarationSort": true }], - "no-empty-interface": "off", - "no-unused-vars": "off", - "eol-last": ["error", "always"], - }, - root: true, -}; diff --git a/docs/.nojekyll b/docs/.nojekyll new file mode 100644 index 0000000..e2ac661 --- /dev/null +++ b/docs/.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/assets/hierarchy.js b/docs/assets/hierarchy.js new file mode 100644 index 0000000..c4239d4 --- /dev/null +++ b/docs/assets/hierarchy.js @@ -0,0 +1 @@ +window.hierarchyData = "eJyll0tvnDAQx7/LnJ0G8BNuTaJK9FBF7THag7XrNCisnRpWahXtd69s9mHTBoy47GH99zx+MwzDO1hj+g6qJ8o3CKx6btW2b4zuoHoHQtyvlnsFFdT3B2uV7h+l7ZQFBK+N3kFVUIbgYFuooNG9ss9yq7rbWPzppd+3gGDbyq6DCvpud+Nu31xuwBEB5aG3NDfJ9hFsX5p2Z5WG6okQxBjCmCNcCkRwjggvEcUCUY4RIwIxxhAnxeaIgNEwrO/G9JegyDmkvdkdWhePO/4wGmejeztly1hgNi1Zb3xBxgfd/Dqob3KvHqUrhiszo5sIRcEzl2TBsyAc52gUUl6Ic0jep+pur6oPoxn+OCLAWWj/s7Xyz7yDQJbgAYdAa393olD+PK1SGPPFpRrMr6wVxiwuFs58sbAogoDujGmV1PM4I2EC0DJ6Hk+3J5CeFIlQS7EY6tnBWqwlH2EV/kEneR6EdG/2b636PY81Es5jJTiLhupwewLrSZGGleB8Mdazg5VYCc5irCTPPVaCg5AeZK/mmV5VCUB52Em1uzpB0x0nouTlYpTe+lqOXIw4Euw40izM86Hxr2lpE+boWDvPlEYjr74amCJ7EaXxpXj5BAh8rKRM8WgI0Ex4yjycrfXXzkyNPHecmC3Hi7P11tfmyYtRnoL5PEX4unSe5vvoqprvIJaH1f3SGpmwUQSyBA8k6lF/d6JU/jxxNSPLO3Mwv3Y5I6OmZLlvShbvoLWeSrTWyRvo8hXUGV+b5HgFZYL7JEVUz38+NP7TL/XsB8alWzgJX4z1j942+ucExUGQBpKTYjHIk/2VLDnJY5Yi8+8KkYXTZvA1jzPUzRE9Hv8CjUSkDg==" \ No newline at end of file diff --git a/docs/assets/highlight.css b/docs/assets/highlight.css new file mode 100644 index 0000000..5674cf3 --- /dev/null +++ b/docs/assets/highlight.css @@ -0,0 +1,22 @@ +:root { + --light-code-background: #FFFFFF; + --dark-code-background: #1E1E1E; +} + +@media (prefers-color-scheme: light) { :root { + --code-background: var(--light-code-background); +} } + +@media (prefers-color-scheme: dark) { :root { + --code-background: var(--dark-code-background); +} } + +:root[data-theme='light'] { + --code-background: var(--light-code-background); +} + +:root[data-theme='dark'] { + --code-background: var(--dark-code-background); +} + +pre, code { background: var(--code-background); } diff --git a/docs/assets/icons.js b/docs/assets/icons.js new file mode 100644 index 0000000..58882d7 --- /dev/null +++ b/docs/assets/icons.js @@ -0,0 +1,18 @@ +(function() { + addIcons(); + function addIcons() { + if (document.readyState === "loading") return document.addEventListener("DOMContentLoaded", addIcons); + const svg = document.body.appendChild(document.createElementNS("http://www.w3.org/2000/svg", "svg")); + svg.innerHTML = `MMNEPVFCICPMFPCPTTAAATR`; + svg.style.display = "none"; + if (location.protocol === "file:") updateUseElements(); + } + + function updateUseElements() { + document.querySelectorAll("use").forEach(el => { + if (el.getAttribute("href").includes("#icon-")) { + el.setAttribute("href", el.getAttribute("href").replace(/.*#/, "#")); + } + }); + } +})() \ No newline at end of file diff --git a/docs/assets/icons.svg b/docs/assets/icons.svg new file mode 100644 index 0000000..50ad579 --- /dev/null +++ b/docs/assets/icons.svg @@ -0,0 +1 @@ +MMNEPVFCICPMFPCPTTAAATR \ No newline at end of file diff --git a/docs/assets/main.js b/docs/assets/main.js new file mode 100644 index 0000000..64b80ab --- /dev/null +++ b/docs/assets/main.js @@ -0,0 +1,60 @@ +"use strict"; +window.translations={"copy":"Copy","copied":"Copied!","normally_hidden":"This member is normally hidden due to your filter settings.","hierarchy_expand":"Expand","hierarchy_collapse":"Collapse","folder":"Folder","search_index_not_available":"The search index is not available","search_no_results_found_for_0":"No results found for {0}","kind_1":"Project","kind_2":"Module","kind_4":"Namespace","kind_8":"Enumeration","kind_16":"Enumeration Member","kind_32":"Variable","kind_64":"Function","kind_128":"Class","kind_256":"Interface","kind_512":"Constructor","kind_1024":"Property","kind_2048":"Method","kind_4096":"Call Signature","kind_8192":"Index Signature","kind_16384":"Constructor Signature","kind_32768":"Parameter","kind_65536":"Type Literal","kind_131072":"Type Parameter","kind_262144":"Accessor","kind_524288":"Get Signature","kind_1048576":"Set Signature","kind_2097152":"Type Alias","kind_4194304":"Reference","kind_8388608":"Document"}; +"use strict";(()=>{var Ke=Object.create;var he=Object.defineProperty;var Ge=Object.getOwnPropertyDescriptor;var Ze=Object.getOwnPropertyNames;var Xe=Object.getPrototypeOf,Ye=Object.prototype.hasOwnProperty;var et=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var tt=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Ze(e))!Ye.call(t,i)&&i!==n&&he(t,i,{get:()=>e[i],enumerable:!(r=Ge(e,i))||r.enumerable});return t};var nt=(t,e,n)=>(n=t!=null?Ke(Xe(t)):{},tt(e||!t||!t.__esModule?he(n,"default",{value:t,enumerable:!0}):n,t));var ye=et((me,ge)=>{(function(){var t=function(e){var n=new t.Builder;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),n.searchPipeline.add(t.stemmer),e.call(n,n),n.build()};t.version="2.3.9";t.utils={},t.utils.warn=(function(e){return function(n){e.console&&console.warn&&console.warn(n)}})(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var n=Object.create(null),r=Object.keys(e),i=0;i0){var d=t.utils.clone(n)||{};d.position=[a,l],d.index=s.length,s.push(new t.Token(r.slice(a,o),d))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. +`,e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(r){var i=t.Pipeline.registeredFunctions[r];if(i)n.add(i);else throw new Error("Cannot load unregistered function: "+r)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(n){t.Pipeline.warnIfFunctionNotRegistered(n),this._stack.push(n)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");r=r+1,this._stack.splice(r,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");this._stack.splice(r,0,n)},t.Pipeline.prototype.remove=function(e){var n=this._stack.indexOf(e);n!=-1&&this._stack.splice(n,1)},t.Pipeline.prototype.run=function(e){for(var n=this._stack.length,r=0;r1&&(oe&&(r=s),o!=e);)i=r-n,s=n+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(oc?d+=2:a==c&&(n+=r[l+1]*i[d+1],l+=2,d+=2);return n},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),n=1,r=0;n0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var c=s.node.edges["*"];else{var c=new t.TokenSet;s.node.edges["*"]=c}if(s.str.length==0&&(c.final=!0),i.push({node:c,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}s.str.length==1&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var d=s.str.charAt(0),f=s.str.charAt(1),p;f in s.node.edges?p=s.node.edges[f]:(p=new t.TokenSet,s.node.edges[f]=p),s.str.length==1&&(p.final=!0),i.push({node:p,editsRemaining:s.editsRemaining-1,str:d+s.str.slice(2)})}}}return r},t.TokenSet.fromString=function(e){for(var n=new t.TokenSet,r=n,i=0,s=e.length;i=e;n--){var r=this.uncheckedNodes[n],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(n){var r=new t.QueryParser(e,n);r.parse()})},t.Index.prototype.query=function(e){for(var n=new t.Query(this.fields),r=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),c=0;c1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,n){var r=e[this._ref],i=Object.keys(this._fields);this._documents[r]=n||{},this.documentCount+=1;for(var s=0;s=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,n;do e=this.next(),n=e.charCodeAt(0);while(n>47&&n<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var n=e.next();if(n==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(n.charCodeAt(0)==92){e.escapeCharacter();continue}if(n==":")return t.QueryLexer.lexField;if(n=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(n=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(n=="+"&&e.width()===1||n=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(n.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,n){this.lexer=new t.QueryLexer(e),this.query=n,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var n=e.peekLexeme();if(n!=null)switch(n.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expected either a field or a term, found "+n.type;throw n.str.length>=1&&(r+=" with value '"+n.str+"'"),new t.QueryParseError(r,n.start,n.end)}},t.QueryParser.parsePresence=function(e){var n=e.consumeLexeme();if(n!=null){switch(n.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var r="unrecognised presence operator'"+n.str+"'";throw new t.QueryParseError(r,n.start,n.end)}var i=e.peekLexeme();if(i==null){var r="expecting term or field, found nothing";throw new t.QueryParseError(r,n.start,n.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(r,i.start,i.end)}}},t.QueryParser.parseField=function(e){var n=e.consumeLexeme();if(n!=null){if(e.query.allFields.indexOf(n.str)==-1){var r=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+n.str+"', possible fields: "+r;throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.fields=[n.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,n.start,n.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var n=e.consumeLexeme();if(n!=null){e.currentClause.term=n.str.toLowerCase(),n.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var r=e.peekLexeme();if(r==null){e.nextClause();return}switch(r.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+r.type+"'";throw new t.QueryParseError(i,r.start,r.end)}}},t.QueryParser.parseEditDistance=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="edit distance must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.editDistance=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="boost must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.boost=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},(function(e,n){typeof define=="function"&&define.amd?define(n):typeof me=="object"?ge.exports=n():e.lunr=n()})(this,function(){return t})})()});var M,G={getItem(){return null},setItem(){}},K;try{K=localStorage,M=K}catch{K=G,M=G}var S={getItem:t=>M.getItem(t),setItem:(t,e)=>M.setItem(t,e),disableWritingLocalStorage(){M=G},disable(){localStorage.clear(),M=G},enable(){M=K}};window.TypeDoc||={disableWritingLocalStorage(){S.disableWritingLocalStorage()},disableLocalStorage:()=>{S.disable()},enableLocalStorage:()=>{S.enable()}};window.translations||={copy:"Copy",copied:"Copied!",normally_hidden:"This member is normally hidden due to your filter settings.",hierarchy_expand:"Expand",hierarchy_collapse:"Collapse",search_index_not_available:"The search index is not available",search_no_results_found_for_0:"No results found for {0}",folder:"Folder",kind_1:"Project",kind_2:"Module",kind_4:"Namespace",kind_8:"Enumeration",kind_16:"Enumeration Member",kind_32:"Variable",kind_64:"Function",kind_128:"Class",kind_256:"Interface",kind_512:"Constructor",kind_1024:"Property",kind_2048:"Method",kind_4096:"Call Signature",kind_8192:"Index Signature",kind_16384:"Constructor Signature",kind_32768:"Parameter",kind_65536:"Type Literal",kind_131072:"Type Parameter",kind_262144:"Accessor",kind_524288:"Get Signature",kind_1048576:"Set Signature",kind_2097152:"Type Alias",kind_4194304:"Reference",kind_8388608:"Document"};var pe=[];function X(t,e){pe.push({selector:e,constructor:t})}var Z=class{alwaysVisibleMember=null;constructor(){this.createComponents(document.body),this.ensureFocusedElementVisible(),this.listenForCodeCopies(),window.addEventListener("hashchange",()=>this.ensureFocusedElementVisible()),document.body.style.display||(this.ensureFocusedElementVisible(),this.updateIndexVisibility(),this.scrollToHash())}createComponents(e){pe.forEach(n=>{e.querySelectorAll(n.selector).forEach(r=>{r.dataset.hasInstance||(new n.constructor({el:r,app:this}),r.dataset.hasInstance=String(!0))})})}filterChanged(){this.ensureFocusedElementVisible()}showPage(){document.body.style.display&&(document.body.style.removeProperty("display"),this.ensureFocusedElementVisible(),this.updateIndexVisibility(),this.scrollToHash())}scrollToHash(){if(location.hash){let e=document.getElementById(location.hash.substring(1));if(!e)return;e.scrollIntoView({behavior:"instant",block:"start"})}}ensureActivePageVisible(){let e=document.querySelector(".tsd-navigation .current"),n=e?.parentElement;for(;n&&!n.classList.contains(".tsd-navigation");)n instanceof HTMLDetailsElement&&(n.open=!0),n=n.parentElement;if(e&&!rt(e)){let r=e.getBoundingClientRect().top-document.documentElement.clientHeight/4;document.querySelector(".site-menu").scrollTop=r,document.querySelector(".col-sidebar").scrollTop=r}}updateIndexVisibility(){let e=document.querySelector(".tsd-index-content"),n=e?.open;e&&(e.open=!0),document.querySelectorAll(".tsd-index-section").forEach(r=>{r.style.display="block";let i=Array.from(r.querySelectorAll(".tsd-index-link")).every(s=>s.offsetParent==null);r.style.display=i?"none":"block"}),e&&(e.open=n)}ensureFocusedElementVisible(){if(this.alwaysVisibleMember&&(this.alwaysVisibleMember.classList.remove("always-visible"),this.alwaysVisibleMember.firstElementChild.remove(),this.alwaysVisibleMember=null),!location.hash)return;let e=document.getElementById(location.hash.substring(1));if(!e)return;let n=e.parentElement;for(;n&&n.tagName!=="SECTION";)n=n.parentElement;if(!n)return;let r=n.offsetParent==null,i=n;for(;i!==document.body;)i instanceof HTMLDetailsElement&&(i.open=!0),i=i.parentElement;if(n.offsetParent==null){this.alwaysVisibleMember=n,n.classList.add("always-visible");let s=document.createElement("p");s.classList.add("warning"),s.textContent=window.translations.normally_hidden,n.prepend(s)}r&&e.scrollIntoView()}listenForCodeCopies(){document.querySelectorAll("pre > button").forEach(e=>{let n;e.addEventListener("click",()=>{e.previousElementSibling instanceof HTMLElement&&navigator.clipboard.writeText(e.previousElementSibling.innerText.trim()),e.textContent=window.translations.copied,e.classList.add("visible"),clearTimeout(n),n=setTimeout(()=>{e.classList.remove("visible"),n=setTimeout(()=>{e.textContent=window.translations.copy},100)},1e3)})})}};function rt(t){let e=t.getBoundingClientRect(),n=Math.max(document.documentElement.clientHeight,window.innerHeight);return!(e.bottom<0||e.top-n>=0)}var fe=(t,e=100)=>{let n;return()=>{clearTimeout(n),n=setTimeout(()=>t(),e)}};var Ie=nt(ye(),1);async function R(t){let e=Uint8Array.from(atob(t),s=>s.charCodeAt(0)),r=new Blob([e]).stream().pipeThrough(new DecompressionStream("deflate")),i=await new Response(r).text();return JSON.parse(i)}var Y="closing",ae="tsd-overlay";function it(){let t=Math.abs(window.innerWidth-document.documentElement.clientWidth);document.body.style.overflow="hidden",document.body.style.paddingRight=`${t}px`}function st(){document.body.style.removeProperty("overflow"),document.body.style.removeProperty("padding-right")}function xe(t,e){t.addEventListener("animationend",()=>{t.classList.contains(Y)&&(t.classList.remove(Y),document.getElementById(ae)?.remove(),t.close(),st())}),t.addEventListener("cancel",n=>{n.preventDefault(),ve(t)}),e?.closeOnClick&&document.addEventListener("click",n=>{t.open&&!t.contains(n.target)&&ve(t)},!0)}function Ee(t){if(t.open)return;let e=document.createElement("div");e.id=ae,document.body.appendChild(e),t.showModal(),it()}function ve(t){if(!t.open)return;document.getElementById(ae)?.classList.add(Y),t.classList.add(Y)}var I=class{el;app;constructor(e){this.el=e.el,this.app=e.app}};var be=document.head.appendChild(document.createElement("style"));be.dataset.for="filters";var le={};function we(t){for(let e of t.split(/\s+/))if(le.hasOwnProperty(e)&&!le[e])return!0;return!1}var ee=class extends I{key;value;constructor(e){super(e),this.key=`filter-${this.el.name}`,this.value=this.el.checked,this.el.addEventListener("change",()=>{this.setLocalStorage(this.el.checked)}),this.setLocalStorage(this.fromLocalStorage()),be.innerHTML+=`html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; } +`,this.app.updateIndexVisibility()}fromLocalStorage(){let e=S.getItem(this.key);return e?e==="true":this.el.checked}setLocalStorage(e){S.setItem(this.key,e.toString()),this.value=e,this.handleValueChange()}handleValueChange(){this.el.checked=this.value,document.documentElement.classList.toggle(this.key,this.value),le[`tsd-is-${this.el.name}`]=this.value,this.app.filterChanged(),this.app.updateIndexVisibility()}};var Le=0;async function Se(t,e){if(!window.searchData)return;let n=await R(window.searchData);t.data=n,t.index=Ie.Index.load(n.index),e.innerHTML=""}function _e(){let t=document.getElementById("tsd-search-trigger"),e=document.getElementById("tsd-search"),n=document.getElementById("tsd-search-input"),r=document.getElementById("tsd-search-results"),i=document.getElementById("tsd-search-script"),s=document.getElementById("tsd-search-status");if(!(t&&e&&n&&r&&i&&s))throw new Error("Search controls missing");let o={base:document.documentElement.dataset.base};o.base.endsWith("/")||(o.base+="/"),i.addEventListener("error",()=>{let a=window.translations.search_index_not_available;Pe(s,a)}),i.addEventListener("load",()=>{Se(o,s)}),Se(o,s),ot({trigger:t,searchEl:e,results:r,field:n,status:s},o)}function ot(t,e){let{field:n,results:r,searchEl:i,status:s,trigger:o}=t;xe(i,{closeOnClick:!0});function a(){Ee(i),n.setSelectionRange(0,n.value.length)}o.addEventListener("click",a),n.addEventListener("input",fe(()=>{at(r,n,s,e)},200)),n.addEventListener("keydown",l=>{if(r.childElementCount===0||l.ctrlKey||l.metaKey||l.altKey)return;let d=n.getAttribute("aria-activedescendant"),f=d?document.getElementById(d):null;if(f){let p=!1,v=!1;switch(l.key){case"Home":case"End":case"ArrowLeft":case"ArrowRight":v=!0;break;case"ArrowDown":case"ArrowUp":p=l.shiftKey;break}(p||v)&&ke(n)}if(!l.shiftKey)switch(l.key){case"Enter":f?.querySelector("a")?.click();break;case"ArrowUp":Te(r,n,f,-1),l.preventDefault();break;case"ArrowDown":Te(r,n,f,1),l.preventDefault();break}});function c(){ke(n)}n.addEventListener("change",c),n.addEventListener("blur",c),n.addEventListener("click",c),document.body.addEventListener("keydown",l=>{if(l.altKey||l.metaKey||l.shiftKey)return;let d=l.ctrlKey&&l.key==="k",f=!l.ctrlKey&&!ut()&&l.key==="/";(d||f)&&(l.preventDefault(),a())})}function at(t,e,n,r){if(!r.index||!r.data)return;t.innerHTML="",n.innerHTML="",Le+=1;let i=e.value.trim(),s;if(i){let a=i.split(" ").map(c=>c.length?`*${c}*`:"").join(" ");s=r.index.search(a).filter(({ref:c})=>{let l=r.data.rows[Number(c)].classes;return!l||!we(l)})}else s=[];if(s.length===0&&i){let a=window.translations.search_no_results_found_for_0.replace("{0}",` "${te(i)}" `);Pe(n,a);return}for(let a=0;ac.score-a.score);let o=Math.min(10,s.length);for(let a=0;a`,f=Ce(c.name,i);globalThis.DEBUG_SEARCH_WEIGHTS&&(f+=` (score: ${s[a].score.toFixed(2)})`),c.parent&&(f=` + ${Ce(c.parent,i)}.${f}`);let p=document.createElement("li");p.id=`tsd-search:${Le}-${a}`,p.role="option",p.ariaSelected="false",p.classList.value=c.classes??"";let v=document.createElement("a");v.tabIndex=-1,v.href=r.base+c.url,v.innerHTML=d+`${f}`,p.append(v),t.appendChild(p)}}function Te(t,e,n,r){let i;if(r===1?i=n?.nextElementSibling||t.firstElementChild:i=n?.previousElementSibling||t.lastElementChild,i!==n){if(!i||i.role!=="option"){console.error("Option missing");return}i.ariaSelected="true",i.scrollIntoView({behavior:"smooth",block:"nearest"}),e.setAttribute("aria-activedescendant",i.id),n?.setAttribute("aria-selected","false")}}function ke(t){let e=t.getAttribute("aria-activedescendant");(e?document.getElementById(e):null)?.setAttribute("aria-selected","false"),t.setAttribute("aria-activedescendant","")}function Ce(t,e){if(e==="")return t;let n=t.toLocaleLowerCase(),r=e.toLocaleLowerCase(),i=[],s=0,o=n.indexOf(r);for(;o!=-1;)i.push(te(t.substring(s,o)),`${te(t.substring(o,o+r.length))}`),s=o+r.length,o=n.indexOf(r,s);return i.push(te(t.substring(s))),i.join("")}var lt={"&":"&","<":"<",">":">","'":"'",'"':"""};function te(t){return t.replace(/[&<>"'"]/g,e=>lt[e])}function Pe(t,e){t.innerHTML=e?`
${e}
`:""}var ct=["button","checkbox","file","hidden","image","radio","range","reset","submit"];function ut(){let t=document.activeElement;return t?t.isContentEditable||t.tagName==="TEXTAREA"||t.tagName==="SEARCH"?!0:t.tagName==="INPUT"&&!ct.includes(t.type):!1}var D="mousedown",Me="mousemove",$="mouseup",ne={x:0,y:0},Qe=!1,ce=!1,dt=!1,F=!1,Oe=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(Oe?"is-mobile":"not-mobile");Oe&&"ontouchstart"in document.documentElement&&(dt=!0,D="touchstart",Me="touchmove",$="touchend");document.addEventListener(D,t=>{ce=!0,F=!1;let e=D=="touchstart"?t.targetTouches[0]:t;ne.y=e.pageY||0,ne.x=e.pageX||0});document.addEventListener(Me,t=>{if(ce&&!F){let e=D=="touchstart"?t.targetTouches[0]:t,n=ne.x-(e.pageX||0),r=ne.y-(e.pageY||0);F=Math.sqrt(n*n+r*r)>10}});document.addEventListener($,()=>{ce=!1});document.addEventListener("click",t=>{Qe&&(t.preventDefault(),t.stopImmediatePropagation(),Qe=!1)});var re=class extends I{active;className;constructor(e){super(e),this.className=this.el.dataset.toggle||"",this.el.addEventListener($,n=>this.onPointerUp(n)),this.el.addEventListener("click",n=>n.preventDefault()),document.addEventListener(D,n=>this.onDocumentPointerDown(n)),document.addEventListener($,n=>this.onDocumentPointerUp(n))}setActive(e){if(this.active==e)return;this.active=e,document.documentElement.classList.toggle("has-"+this.className,e),this.el.classList.toggle("active",e);let n=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(n),setTimeout(()=>document.documentElement.classList.remove(n),500)}onPointerUp(e){F||(this.setActive(!0),e.preventDefault())}onDocumentPointerDown(e){if(this.active){if(e.target.closest(".col-sidebar, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(e){if(!F&&this.active&&e.target.closest(".col-sidebar")){let n=e.target.closest("a");if(n){let r=window.location.href;r.indexOf("#")!=-1&&(r=r.substring(0,r.indexOf("#"))),n.href.substring(0,r.length)==r&&setTimeout(()=>this.setActive(!1),250)}}}};var ue=new Map,de=class{open;accordions=[];key;constructor(e,n){this.key=e,this.open=n}add(e){this.accordions.push(e),e.open=this.open,e.addEventListener("toggle",()=>{this.toggle(e.open)})}toggle(e){for(let n of this.accordions)n.open=e;S.setItem(this.key,e.toString())}},ie=class extends I{constructor(e){super(e);let n=this.el.querySelector("summary"),r=n.querySelector("a");r&&r.addEventListener("click",()=>{location.assign(r.href)});let i=`tsd-accordion-${n.dataset.key??n.textContent.trim().replace(/\s+/g,"-").toLowerCase()}`,s;if(ue.has(i))s=ue.get(i);else{let o=S.getItem(i),a=o?o==="true":this.el.open;s=new de(i,a),ue.set(i,s)}s.add(this.el)}};function He(t){let e=S.getItem("tsd-theme")||"os";t.value=e,Ae(e),t.addEventListener("change",()=>{S.setItem("tsd-theme",t.value),Ae(t.value)})}function Ae(t){document.documentElement.dataset.theme=t}var se;function Ne(){let t=document.getElementById("tsd-nav-script");t&&(t.addEventListener("load",Re),Re())}async function Re(){let t=document.getElementById("tsd-nav-container");if(!t||!window.navigationData)return;let e=await R(window.navigationData);se=document.documentElement.dataset.base,se.endsWith("/")||(se+="/"),t.innerHTML="";for(let n of e)Be(n,t,[]);window.app.createComponents(t),window.app.showPage(),window.app.ensureActivePageVisible()}function Be(t,e,n){let r=e.appendChild(document.createElement("li"));if(t.children){let i=[...n,t.text],s=r.appendChild(document.createElement("details"));s.className=t.class?`${t.class} tsd-accordion`:"tsd-accordion";let o=s.appendChild(document.createElement("summary"));o.className="tsd-accordion-summary",o.dataset.key=i.join("$"),o.innerHTML='',De(t,o);let a=s.appendChild(document.createElement("div"));a.className="tsd-accordion-details";let c=a.appendChild(document.createElement("ul"));c.className="tsd-nested-navigation";for(let l of t.children)Be(l,c,i)}else De(t,r,t.class)}function De(t,e,n){if(t.path){let r=e.appendChild(document.createElement("a"));if(r.href=se+t.path,n&&(r.className=n),location.pathname===r.pathname&&!r.href.includes("#")&&(r.classList.add("current"),r.ariaCurrent="page"),t.kind){let i=window.translations[`kind_${t.kind}`].replaceAll('"',""");r.innerHTML=``}r.appendChild(Fe(t.text,document.createElement("span")))}else{let r=e.appendChild(document.createElement("span")),i=window.translations.folder.replaceAll('"',""");r.innerHTML=``,r.appendChild(Fe(t.text,document.createElement("span")))}}function Fe(t,e){let n=t.split(/(?<=[^A-Z])(?=[A-Z])|(?<=[A-Z])(?=[A-Z][a-z])|(?<=[_-])(?=[^_-])/);for(let r=0;r{let i=r.target;for(;i.parentElement&&i.parentElement.tagName!="LI";)i=i.parentElement;i.dataset.dropdown&&(i.dataset.dropdown=String(i.dataset.dropdown!=="true"))});let t=new Map,e=new Set;for(let r of document.querySelectorAll(".tsd-full-hierarchy [data-refl]")){let i=r.querySelector("ul");t.has(r.dataset.refl)?e.add(r.dataset.refl):i&&t.set(r.dataset.refl,i)}for(let r of e)n(r);function n(r){let i=t.get(r).cloneNode(!0);i.querySelectorAll("[id]").forEach(s=>{s.removeAttribute("id")}),i.querySelectorAll("[data-dropdown]").forEach(s=>{s.dataset.dropdown="false"});for(let s of document.querySelectorAll(`[data-refl="${r}"]`)){let o=gt(),a=s.querySelector("ul");s.insertBefore(o,a),o.dataset.dropdown=String(!!a),a||s.appendChild(i.cloneNode(!0))}}}function pt(){let t=document.getElementById("tsd-hierarchy-script");t&&(t.addEventListener("load",Ve),Ve())}async function Ve(){let t=document.querySelector(".tsd-panel.tsd-hierarchy:has(h4 a)");if(!t||!window.hierarchyData)return;let e=+t.dataset.refl,n=await R(window.hierarchyData),r=t.querySelector("ul"),i=document.createElement("ul");if(i.classList.add("tsd-hierarchy"),ft(i,n,e),r.querySelectorAll("li").length==i.querySelectorAll("li").length)return;let s=document.createElement("span");s.classList.add("tsd-hierarchy-toggle"),s.textContent=window.translations.hierarchy_expand,t.querySelector("h4 a")?.insertAdjacentElement("afterend",s),s.insertAdjacentText("beforebegin",", "),s.addEventListener("click",()=>{s.textContent===window.translations.hierarchy_expand?(r.insertAdjacentElement("afterend",i),r.remove(),s.textContent=window.translations.hierarchy_collapse):(i.insertAdjacentElement("afterend",r),i.remove(),s.textContent=window.translations.hierarchy_expand)})}function ft(t,e,n){let r=e.roots.filter(i=>mt(e,i,n));for(let i of r)t.appendChild(je(e,i,n))}function je(t,e,n,r=new Set){if(r.has(e))return;r.add(e);let i=t.reflections[e],s=document.createElement("li");if(s.classList.add("tsd-hierarchy-item"),e===n){let o=s.appendChild(document.createElement("span"));o.textContent=i.name,o.classList.add("tsd-hierarchy-target")}else{for(let a of i.uniqueNameParents||[]){let c=t.reflections[a],l=s.appendChild(document.createElement("a"));l.textContent=c.name,l.href=oe+c.url,l.className=c.class+" tsd-signature-type",s.append(document.createTextNode("."))}let o=s.appendChild(document.createElement("a"));o.textContent=t.reflections[e].name,o.href=oe+i.url,o.className=i.class+" tsd-signature-type"}if(i.children){let o=s.appendChild(document.createElement("ul"));o.classList.add("tsd-hierarchy");for(let a of i.children){let c=je(t,a,n,r);c&&o.appendChild(c)}}return r.delete(e),s}function mt(t,e,n){if(e===n)return!0;let r=new Set,i=[t.reflections[e]];for(;i.length;){let s=i.pop();if(!r.has(s)){r.add(s);for(let o of s.children||[]){if(o===n)return!0;i.push(t.reflections[o])}}}return!1}function gt(){let t=document.createElementNS("http://www.w3.org/2000/svg","svg");return t.setAttribute("width","20"),t.setAttribute("height","20"),t.setAttribute("viewBox","0 0 24 24"),t.setAttribute("fill","none"),t.innerHTML='',t}X(re,"a[data-toggle]");X(ie,".tsd-accordion");X(ee,".tsd-filter-item input[type=checkbox]");var qe=document.getElementById("tsd-theme");qe&&He(qe);var yt=new Z;Object.defineProperty(window,"app",{value:yt});_e();Ne();$e();"virtualKeyboard"in navigator&&(navigator.virtualKeyboard.overlaysContent=!0);})(); +/*! 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/assets/navigation.js b/docs/assets/navigation.js new file mode 100644 index 0000000..3605fa5 --- /dev/null +++ b/docs/assets/navigation.js @@ -0,0 +1 @@ +window.navigationData = "eJylmF9z0zgUxb+LnzvbpVvY3b6lYCBMSZgmsA8dhlEdtfGiyEGSmXQYvjsj24n++N4rMX71Ofr5jKx7ZenuR2H4wRRXxXymFHsqzoo9M9viqtg1m1Zwfd4//2NrdqI4K77WclNcXZ4V1bYWG8VlcXV3QnxgSnPlELU0XD2wylF6Rwi7eP7i5+efZy7IddMIziQQZVAmhzlysuK8bHZ7wQ9AnEGZHOfIyYrzihkOZLGPJwfpIHkp6srUjWQKWjFOnJ7IobJyvRYNM0Ck7vnkND0lK8hcQjHmcnoIy8iK8E43UBHZx5NDdJCsFLdNA82EfTw5RQfJSrEyqpaPQI5emJxkwORk6TphzKoE05rrc08MKc8u/vEYQwPDKIFMcYbOg3ECmeLYxoFBnEYSToWOciIHResKFQN5IsWYS5RwksjxGhioqRG2qLBXOo0idI5SqUYBL/dEimGLCkvhNIrQFwPG8NW8FQGWHLbJ2HLzd+9WKT7+ksH261tI2Fumb7h8NFsYdJJJSPceGNBJ6cHxBx4hoI8MgZAJyZiJznLLdSsMwegNFGjR7u65KmW7e8/2IClwUKihWa2qLd8xhzJPe9fJejGi/Pnv38+eXwDdjN0LvrbDY9rIkCIu+MFct7XY+FPeszwpSemmgkwGWFLUWy5YV0niExP1hplGgWjMl+JfL5c35Wyx+vJ6drMqHfU7U7UNqc9DR8j7C0Stbz/SJGsgQK9m6/LLqlyv54s3KwgUGAhQrZf3//PKQIyjRgzXXS9cPsRdxUFCB4FieuhjjvLQyq5H6vOTGAJeXHqASvHjTh0XtgONTASQS90qbmslOlo6XGRJwvrlncB5JgL4yI1rLZ+YaP0V75CAjYDWevj1spUB4QIDCQrPeT5hfNQDhuIBjiqJKL+1TMDjO4kcHB3C/MHAOSwaPIdXcCeQAxetEEtV7vYGXBuBIQGy3xufQKeTmP4/B8c4ncDsbaW9ZBqck5OYBGxZLXGCVVMIbDmexBQAXRROTSGQpXHUqOGq+V5v+Ew+LR9AhKdnYuITJQyDjpcQ0v3N4q0Isabhpdzo/2qzTUYOjRlg2wqorL0hF5TO59nS0LmsRLvhaWxoTIPfM1NtM7iBLwd7IGGHLET8KwGBoJ8JEId0jZOahUgnOnrSuO7PA93/R6bfASYLL7ZmwkfX2TAYvNtGoaNLaRgK3lCjULTHR55cHHCAR6DIWT4DnffVfr9nfqD3rNiUCcR2sNCSCQvvd2Ha+LIXxYUXtTBufGuL4pLd0XNlIj/K+lubV/2eNQ1fGaZM3g4ZWwm4GS4qifqPLBkwrER9PQODLuzAkAFCFrQnZ0CwhezrI8znX9CE5EY=" \ No newline at end of file diff --git a/docs/assets/search.js b/docs/assets/search.js new file mode 100644 index 0000000..a04d836 --- /dev/null +++ b/docs/assets/search.js @@ -0,0 +1 @@ +window.searchData = "eJytXV2T2zay/S/yq3aibn77LZs49/pWNtmKs3sfplIuZUaOlavROPrwOuXKf79FkJCAxmmwOZ6nOEOwDwic7gb6gOLnxeHxP8fFy9vPi//b7u8XL8vlYr9+2CxeLl5/fTis/1wsF+fDbvFy8fB4f95tjl8Nf755f3rYLZaLu936eNwcFy8Xi7+W3gZX9cXKP9eH4+ZwsbLdnzaHd+u7q6GhAbC3XHxYHzb707UrVwRa8bWjm/XdexvAi7FpDmVsr4E9rD99v9n/drIiPqw/7Xz7L4Hd7ufBbvfPAbt/PBkBh5ZfAPX4zojkGn4B0If+qhHLt73CnY73f9se/7bdv98ctqfN/Wz48377x9mKf2k873kDJ/774+Nus96nbjxeeA5H9qZMruw7NJNxACPPufiG+WRAgDPpoHaBV2V7DV9/nNe7o7kPl+ZznzsgxTePDx92m08pKcYLz0EKb8pECt+hmaQAGHlSxDfMJwUCnEkKtQtWUqA+TJFCBQ1I8e36tEkZ0f/1Oejg7Ji44PoxkwjSep4FQev5FEigZs4/Bo8mf73/80ecDRPw9f7PXD40gGWYlqBN0cwA97D+ZMMaGn4B0HZvBHINZwGFXrO9O20f9+sDWClfrz2LB12t2fzo2rO5C2cMNbF6Tm562hJawTaso+0dyC6mtQ5Mr6jNHVDDGIbOBzMrqLLAVjCzUcUKmYmiGHVuLM10JPDR73aP61Pqnu7Pz+GZgyGTUw5dmUmLxH6eEWHz+TOTgs2cFAXemOFS+IkUZ4HL5LgUbyrJWQC1LJeiZdOcCUrJcwAql+gUqMCLXu+BD73eP4sH9WZM/tN3Yqb3CNt537k2nu85Emim30xD/2d7ev/T+n6LuSXh+9aHsfWcpzU6qoSbcNNpqIyTSqwpF50G0xxUImXd0wCjOGcCk3NNCBM45v8cH0F9p//rc7ims2PyTdcPhbrvHm3WXwwNMwhPds8EaqZ/GsDPVujzMVPUw0DBhP/0+AhCcf/X55hwZ8c04a4fylCsI/EgZ/+Fb5pBmRj3X0WRMwt3bfx0wPuwVpJFG1t+AVS6wcwDhu2fDvsuWjNnEX3TLwBTokMKlYsOBqDt3vhMQ8OnA/0exuQs0tjy6VDauidByi58DEB6aE2gZoZWA/hh88d5e3D3GfCD1k9/3uPpsN3/ZgO8tH06nJY8Eqxs8sBAQfJ4Ez/VJX0Mf3+OBDJaMqWQsTczqZ0i5MkdtZ9PbwA3k+BaB4xrbdCBieW2CXCzvz/+71YpgwHMvv1/trkKmA1WX+gj0Im1vglyu7/bne83ZtCg/ZfAPqxPd+/tqNfmXwaaK69C2MnSqg04W1ZFwNMlVRPw8bQ+nGYxebjjaVwmviI7/V2EwtHcV8G1bFStiC/27h73x9PhfHd6nLb3Im6MnyLsoCnuqWhpxJvG4ZqpxOFcxckFcgUlCi6hpqGCZJUMA0rqYyrUtHdZ8BLX0vEmncqAF2gFKlAm/RgQxDEYFWXiBIzC78BFx/MQipNGV5/FTVOLJkeNuznLVQFi3lk1LIO7Aqycw6pImfVABmpiLaCOYUCH8SSEQofo6rPQIbVookPczVl0AIh5OmhYBjoArBwdVCQDHQDUBB3UMQzo0Ov7Cheul56FCMKciQVB72ZRQGLl538a5dvNu/V5d/ru8fCwTkkg0e6H1u986xmoBspJtBzfMIa+59Iw8putaRSF0hJmgs/TOKGqoYHkFA0DQiBoqAgZMQNzLXTIS/lSc0vR4HmcExm1uajs7zxHhbgT7qojWtwHImadKIM3ufLGcNnltxVPX4Nj0OmFuBlZXY0ryJNLcisyWJdjyFy4yjA2cER3IEDxweDas7iftGfyvLCDs5wuQcv7G8YxuFqCk/MyBWU6VyUo+WRlwFGyVQI0ka4MSChfJTC5hGXBABkrxcikLIVngau83muOcrnyLG4SWzM5ybVrs1xEIOUdBGEY3ENgZAv4CGHaNQTCRMl8CkNxCwEyVa6eQkEuISCyZ1Im7QN3kPZzh1Gm7KdnlBQUw/EkxN3Q7cBkHLOOljmhICxMHUo4Wo8iSLuTpw9Uy9GZA2k2f8xAt5keLkgsG84TqPbjUwTS9MTBAd0qio3eZi4YqhbDcwHSYvYogGrx9/AAgDT5e1bzV23CKHo0hE/VYqKqS7PTQrpqW8jn0vKUYq7aPaN8dTRI40cljvTnrZT8fb30LAlcmDNl8KB3s1K4xMrncIgSBXbkdBIj53zTCGhiJUJugvFIBRPtLr46HB4PaeYIrj3LVEt7prkOOzgrayVo+fRlwNHyWII0ldAMWHfiddTMGPqGT8aCWTQByqZTC4qeV1Os6QRrQNw8fDgZwHyzJ+PgjJ7g5FO7AQdl5AQll5oNGDBHJyDZZG1AUXNsgjSZbA1oStZNsCbSrwFJUXATpAkFFyMZdndpzMvu7ww4yXko3Y2mTkJZ0PB+MsXK7ygNSMnpp4xDTZx7MqDJQ08q2NRxJxOWIWvk9ss2DKXai5AmCr0WPLBDT5Eye3QbhvmZJovXBjy0c0mQclsYAwY4BZaJfpPnv5QIGCwn+6O2yr7heulZFpPCnGktGfRu1lJSYuVXktMo2kJS4kytI6eR4NJOwmRXdgYMfWGXIE2v66bx8HJLQuVXW9MoaLElMXJrrWkEuNSSENmV1jQG3gdLkPw+eBpFWWBJmIn1FcQxFM0lTC5mWjDUxakEmlybYrSpCkLC5LkRbbKCIBFyFQQ8+0HIH84EK0E/vPgsYT8xaAr8UR9nuUqKl3cWBclA4xQpR2QNZ3qPkOLkNwkWJHWXkIJNbhNMeHifANDyGwULlrpTSNEmtwoWPG2vkMJNbRZsaNpKHuFNLeVNiOo6GyBOLrQtiJlVcAppWAZrmMGrYOAnkILXL57wI0ivvzkfengRZ6MfQQtb2DW//eY37c3d1OKLS2tFUIi7aQq1E4hzf0tO6UA0mP+9PmZey7lctQ/izmrtxdTbPdeuKX3/pzp47oqdUaj0n5gzlP9To5ifc4mps8Sejl/neeCu/rQ5nnf4pcrgur3fm4khDey9uLTNdX/soLb4Pt/dbY5GvGvjpwN+XO+UH2tN4HzTWWDhDP1wfvh1c3i1Pz/8Y/0BYUYN8jRddQ1V11XmeBT+zd37zcP6Yvr054frwfrh2iyr/jDv+tfd5ufelrCcXJ9l/YfNp9Pfz9vdfeBig93gyjyLbvxyPQYtZiH8tNmtXbbb/Xu9296vT48HBKM1y2IVV5i///jj96++/uHN2+++/v7Nq4vxj+vDtu/38au4wWyzP//0r6zV/rrV6Ldf//zq7ZtXP//8+of/egOMRtftgWd4u+Db9Z/fbQ/Hk8nui+Ge+/Wf78Z7sKvGd759289ZNm7P64W75Vk7cXz/eDj9hGYMwLvGh8zx8jxwMLPb44+//r65Q4/tL1lJMlRLfnwnFipXg3GDrNk6qHAexxXSxeK7894tR49fXa5Zjd0dNv7lBZFFr0aTNlbjm/3xfNj0ATP+1f2radFinuEhruVNB22sxn/bnK456d99/jsC86CVFWB7HN/p68MjMB1dtxuNfuo4tDb5a8eJGbVj/qLd3Kt+/w5tuSt2Q/HvXYaGpn/yMjL0GnqO+7vdyA/n3e7Hw6vofEJoLLg+x2hPKHXwr5ftJoedrmryetlq0gX6b9ZHNIaXa/OMvV8H4qC01l+cZU5xg8u1WcY00l0vzjKHqecvmU0dHj9u7zdfR8XBwFxw+SkmxW/pYMOGH9ZJzV+rJmpYVVrOBHo1VjOnHiVuNxckLmGmxt31Jxmd7HfQaibA67HCOQURt5sJ8o+hrjmFETWbDfEpZzj/tQdoTizTkNF5CzV/H45ul4vzzU321DeZadot8bT1VNLmycannF+2fAqQ/EIMBrF8LkYBkF8bwQCWT48oAFoeE02eZDqtbSsAtjL3JIxpxr8w5v8zm69lm6cYV7J33OIphqPfusWWJ3/4VjEd/aoqNj35E6uK6anoHjR6ivl/uROWlmgUtJwJ9OaiK009jGxpBTqNLyTr8Ui0mGtYCRPh5bkmNSeKrs81ip0nuDrXoOI04WVk8pflYru/33xavPy8+Lg5HLeP+8XLBd8UN91iuXi33ezu+y8HDmjL/hT/w1BquX+8O7t//jI2+/emP7HQNx5af7VaLG9Xy4pvqlX1yy/LW3+zu+D+4G1c/+JupMXylpZFcbMq6+hGSm6k6EZeLG95WdJNRV10Iyc3cnRjsVjeFsuivimJohuL5MYiurFcLG9LdGOZ3FhGN1aL5W215PqmqOJnrJIbq+jGerG8rdEz1smNdXRjs1jeNkuubkqOp6NJbmyiG9vF8rZdluXNquDoxja5sY1u7BbL2w4RoEtu7GICrFQGpNwhQR7SRpYAfWL+EGtjRCmDKKYQ9cSg1bJY3VRFEd+csohiGlFPDiI0VpQyiWIqUaWOVkomitlEtTpaKZ8oJhSpjKKUUhRzilp9tFJaUcwr6tlCDEcrpRbF3GKVW5xyi2NuscotTrnFIjap3GIQnWJuseNWsSzKm1XZxDen3OKYW1yqQ80ptzjmFjtuwQjHKbk4Jhf3fKEK3pyyi2N2cU8YqtEkc0ovjunFrTrJKbs4Zhd3ahZJycUxuYqVmkhSchUxuQrSckmRkquIyVWwRswiJVchcl+hZZQCZL+YW0WpkbpIqVXE1CoctRo0wUVKrSKmVlFrE1ykzCpiZhWNOlgpsYqYWEWrPnBKrCImVtGpXlykzCpiZpUr1YvLlFplTK2SVC8uU26VMbdKVr24TMlVxuQqXeRq0SSXKbtKsbgqtUkuwfIqZlepLrDKlFxlTK6y1ia5TMlVxuQqXdjqlmVzU3TxJJcpu8qYXWWrMqRM6VXG9Co7nSEpvcqYXtVKZUiV0quK6VWRypAqpVcV06tyi3a4T6hSelUxvapCY0iVsquK2VX1hGFaFt1NRfHCtkrpVYnle6VRpAIL+JheVc8YZgic8quK+VX1jOECDlfKryrmV6WmxSqlVxXTq3JpsUR5okrpVcX0qnvCcAW3LSm96phedU8YxnuelF51TK/a0atBg12n9KpjetU9Y7iFyCm/6phftc6vOuVXHfOr7inDHUROCVaLLWJPmWIFbwa7xJhgtZod65RfdcyvWs2OdcqvOuZX3TOmINjplF91zK/Grbvgoq1J+dXE/GpI9ccm5VcT86vpGVNAf2xSfjUxvxo1fDUpvZqYXk2pzVOTsquJ2dWo0atJydXE5GpqNUc1KbkaUYPo+VKUqJjQgDJEzK5G3zM2Kb2amF6No1cFkVN6NTG9WkevGtZAUnq1Mb1a0vYEbcquNmZXy9qeoE3J1cbkal1Rq4GdTtnVxuxqe8IUcN3WpvRqY3q1PWOKblnwDRUxN9uUX23Mr1ZdfLUpvdqYXq0au9qUXa2ocrXatq8Fda6YXG2nTnHKrTbmVrfSprhLqdXF1OpI27p1KbW6mFoda2W9LqVWF1Or68lSwjVbl1Kri6nVlSo7upRaXUytTo1cXcqsLmZWp9a6upRZXcysrlFjT5dSq4up1fVsKWF1r0u51YkiaqcPF6ijykLqSq3RrVApVdRSV3oxdQWqqStRTl2xXuVbgYrqSpRUV45nuNC3AkXVlaiqrnSqDdfk/aKwulLZNlySt4va6qrnUAnXBsM1eb+or67UcDZckreLEutK300O1+T9osq60jeUwzV5v+Ae6XtKQnX8pJCvbysJ1vIF+1yBvizh8KN6vizouxq9wh5U0pc1fVKLY4SK+rKqT2oFg1BdXxb2XbEe5jNCpX1Z23f1epjSCFX3ZXnfVeyVqQfUkwV+V7OHiY1QhV+U+MmV7csKzjyo8pMo85Mr3SszDyr9JEr9pNf6CRT7SVT7yRXw8cyDcj+Jej8NBX/s96DiT6LkT0PNH/s9KPqTqPrTUPbHkw/q/iQK/zRU/rHfg9I/ido/uXp+CZUDAuV/EvV/Yj3jEpAASGgAVOg5F6gAJGQAKvScC4QAEkoAueq+MvtADCChBlCR0zGRkCnY56r8yuwDUYCEKkCDLIBnH+gCJIQBGpQBWIAloA2QEAfIFfxLKEsQ0AdICATkiv64TkZAIyAhEpCr++NSGQGZgIROQK70j6tlBJQCElIBueo/LpgREAtIqAXkBABcMyOgF5AQDMhpALhsRkAyIKEZkNMBcOWMgGxAQjcgpwXg4hkB6YCEdkClrqgD9YCEfEBOEcBlMAICAgkFgZwogCthBDQEEiICOV0AF8MIyAgkdARy0kAJCwcElAQSUgJVmdQLxAQSagJVeuoFcgIJPYGqDPuApEBCU6BBVMDDB1QFErICOamghIdmCCgLJKQFcmqBNnyAfkJdoEFewNEL6AskBAZyooESvYDGQEJkIKcbVLCyQEBmIKEzUJ2JfkBpICE1UJ2JfkBsIKE2kBMQKnyQB+gNJAQHyigOBCQHEpoD1ZnoB1QHErID1ZnoB4QHEsoDDdIDDl9AeyAhPpATFJTwBfQHEgIE1ephNQISBAkNgmpdoiegQpCQIWjQIWB9m4AQQUKJICcuKIsvoEWQECNoUCNglZuAHEFCjyCnMeBCNwFJgoQmQU1m8QdkCRK6BDmtAe86gTJBQpqgRj9wRECcIKFOkBMclN6jI22CfE5ywKkfCBQkFAoaJApYsCegUZAQKcjpDhWulgGZgoROQW0m9QKpgoRWQU5/UHIHkCtI6BXkJAgldwDFgoRkQU6FUGI/EC1IqBbkhAgl9gPdgoRwQU6MUGI30C5IiBfkBAkldgP9goSAQU6UUGI30DBIiBjkhAm8dAIyBgkdgzpdgyUgZZDQMqjT971AzSAhZ5CTKJTMAxQNEpIGdZmVHxA1SKga1GVWfkDXICFskBMrKlwsBtoGCXGDuszKD+gbJAQO6vTTvEDhICFxUKfHPqBxkBA5qMskXiBzkNA5eKUnXgZCBwuhg1d64mWgdLBQOnilJ14GSgcLpYNXeuJloHSwUDp4UDrgSVsgdLAQOtgpF/iULxA6WAgd7IQLnLkYCB0shA52ygWOvAyUDhZKBzvlooKVfgZKBwulg51yUcF6MQOlg4XSwaRW/BgIHSyEDh5eWcBHnYHQwULoYCdcVLBkxUDoYCF0sBMuKrhnZyB0sBA62CkXFdy0MlA6WCgd7KSLGm76GEgdLKQOJvXIAAOpg4XUwU67qOGejYHWwULrYCde1HDdxUDsYCF28CB2wMjPQO1g+UKDUy9qzH70ToN8qcGpFzVmP3qvIXmxoadTjekL320Q9HP6RY3pi15vkO83OP2ixvRFbzjIVxycflFj+qKXHORbDk6/aDB90XsO8kUHp180mH/oVQf5roPTLxrMP/S6g3zfwekXDeYfeuVB6B086B2Yf0DwYCF4sFMwGsw/oHiwUDzYKRgN5h9QPFgoHuwUjAbzDygeLBQPHl6CwPwDigcLxYOdgtFg/gHFg4XiwU7BaDH/gOLBQvFgp2C0mH9A8WCheLBTMFrMP6B4sFA82CkYLeYfUDxYKB7sFIwW8w8oHiwUD3YKRov5BxQPFooHOwWjxfwDigcLxYOdgtFi/gHFg4XiwU7BaDH/gOLBQvFgp2C0mH9A8WCheLCTMDrMPyB5sJA82EkYHeYfkDxYSB7sJIwO8w9IHiwkD3YSRof5ByQPFpIHOwmjw/wDkgcLyYOdhNFh/gHJg4XkwU7D6DD/gObBQvNgp2F0mH9A82ChebDTMDrMP6B5sNA82GkYHeYf0DxYaB7sNAxaYQIC0YOF6MHVcLgPMxCoHixUDx7eq1hhCgLZg4XswdVw1ApzEOgeLHQProfXwzAJgfDBQvjgetgAYxYC5YOF8sH1cNYP0xBIHyykD66HgweYh0D7YKF9cD286IqJCMQPFuIH18PBF8xEoH6wUD/YqRlEmIlA/mAhf7CTMwi/CM5A/2Chf7ATNAi/G81AAWGhgPCggBBmIpBAWEgg7CQNIsxEoIGw0EB40EAIMxGIICxEEHaiBmmvDgMmChWEh9cy8KupDGQQFjIIDzIIfu2RgQ7CQgdhJ2wQYSYCJYSFEsKDEoJfq2MghbCQQthpG8SYiUAMYSGG8PC2BmMmAjmEhRzCzfCWP2Yi0ENY6CHs9A1izEQgiLAQRNgJHMSYiUARYaGIsFM4iDETgSTCQhJhJ3EQYyYCTYSFJsJO4+g/bgMNACaOf3M/C/Nxczht7l8PPw9ze7sYP6vyefF2/MkYKvzP0HxecLF4+fmv5aLohv+W7fDfph7+2x8vHv7B5fiPgsd/1OM9fVn35ee//rr+zoz7s++du9Z3d/xc2bUj199J/ryovLHCA1bN+I+W7eY/jL/7fwUp2itIW9osHe/8bxNf7TRdOGqVydDlw2nBM1dXM/XKP7N/+Mo/fFvMAUifulxdYbpZto5v3613/acMgken4NG5mWftdDjHxjg01pqMXT4ufDVTBQ9IlY2AoxkwWsEDdrO6dBx/tv9qq67D57NRN/p2VEDdgHJtNdzbjW7YecqsvF9S4T2V/D8utPJ/qbxbt/4vXW3rofv17GHkxl/YvvazXYWuYTM4fOwv8Itg2GrfudI7yMVTjB7cW3973JxO2/1vx4h9YexjG23uxyfvf+78NHwyIJjuJjRo87T7y1BGJAwco38nxmRp82593p2GX8+PjBWhMeOUBD+oGExM8IC1D/2ln6HLVHl+9irPPDAwEkFe6N/vsNjbrO/eR90OpmXs2egNrY+xZBuW8bvcQegJogXVxu5dPjcWuHfwmI1Pds3Kj+PKaLj/gfieUUl6bcOwXdimZTC3d7/RnRoMB7WwxUn/5bNg+RFGbh+zxjnxiwzv+OU4Z814vfPDtPJMXPkYx5VPpt5mQ34oydbV8SM4gXOHD0y2Bx4/+BkwMViA1L5v5WURdRkBGxudeeAywbKifzHGZCrONhzQpRrnofbJpfTdrPw/jKsK+WGPIBSXIZtsXf5tcxq42VP04/h7rAFBo5WtLbpvE5oH/LT1agvWeUHqNvYDLHIojDS2zLcdl64pRapwvFc2Mm9lmqYwSRkfDOcVCtdJtuC0TXyLguRkXJNv36+P/uNnweCEvSFbvNhu4x0CBY5e2rxjO3xXN3DCgHyVLbVcv/YYpJYgHDQ+QjY+Ea6shuM4FlC69sG29AHiEila41wiipZ1GMWMFB2/vBbMZRvOpXEinJU0A1Thrs/qgumD1eEKmYxEVVbbdZjWyTjaB/cLysFkBpGyMtqIBqZswixutTAGSvfhojBuh6GpNAbdo4xNbRVaMfqws5L0J4wGpdFbjpvhIzGBmXBvYI0IxyTItSGfSyMHj8J725DIpZGBx/15t3s8JCvgLqRzaVu49Mb6zC3HugvpXFqJ9Dh+3ipYToSDXVgHe/h4VdKncN1XGuOQ/6x4EIUDJ2tsLJL5oAhGuvab99JH30sYbm197K2DqBvwq3+zy2IJZNBw/I2btsuXg4MHDlyv9bv+pvCZyzavD+t4GRWGl3HI/A628hjk/8F+mAuf0hqbzwXfJQ6eJ1igDPcVI5AvwbQ+P9NlD3jZSxuBtxFnKIyD48P4/calEkSXIpFHLTyZGptDBx9FDrgULIHGx/WPOfaguwy434f7vW9/QNUC7L/9G3AvfOKVbVm633w6/eq/YRlk1zDYsm3893FuDTrjh/RSLhmfdPx/X0ovxhHwjl2P/9+MY9iO/99dqvLe4MrPHnkoX9Gn4lJF83f5XXR/Cn/8hy1uXPdcD/3nT4PRCgeebSl3MKYX1MJExTZGxPpGWEkcx3cck8tzG7cuydIyiHF+4P1G3pPYT6mn/zjmfhIqP8VeaBn/vx2vd34eV95PVhcS+XjkMciHEqr8Xy7BxFdK2Mc1Npa73DPfreO9ehdurMsZg3c3fBYtsBTFYluyGT/LGft8F1KvslFPfN8zmNfQWDHDWLpjKLswm9r460wl674uXIUaN4POklj6dWFmrmwZNF0lhKUIz0zPPh+/x/+O1C587hl560tHXuRqjF0Zvl2SyJhdGKkrW6QObaXrtS4MPdapGyxeaxxpVao/5BTYNbrhYNfXjdPO9iefAqu2hbO3Coqy4ZK3sqWFyBrqYRg1jBrdaNMXNZDVMILUxggyWB3Xm8hotGYyBgBvNF5srkK3NcoDV1Ppkqo/XBUYnOU0cmW4Cn2mnuUzcLnXH7sKDM5yGRdikuIrhfIA17Oc5WoROGFYS+V6lrs4u6DGS2E1lOtZTjNkR1TyDZ2mnuU0ME9StPtpZvnLYBCXb6NdRjPLY4RZNFlRcXiWD+FcSmGlmOdlHpRTKSz2snGDGNqTG/3+2FhgcL4nyQofhaVkNu7pQoMgSoYSETfzfejsvnGW+jyHftTM8qOj+6SZkiLDKic3Nl86bHZrR8zdx/Wu1z8eD8kepQmHlm1De9j8cd4eNvdRcSAYz8tpqtLvLC71ns7mAD0DgOwTKjatzf0vH6IPHjn0yMLWoevcRA8deGJ70Wo7v4a0jSYotgXP6UV08sfZyO+oqTOOgLP/+C5NeU3o+IXN8QdrYG7CUxqdzeeP57u7zTHeMoc0N25tT+PBC5TWwnN5bKSMt5cKhmGeaG15whtLw3h4TIiNBwO9NRnCw5MtbDxw520l4TtU+dl4SmkIh1GVPnCN4abuclDAFhbPccEijKz+8FdzKQxdzof5ykJn67jL2BEDQ8YYjx/0ceGwvt/Gy58gC14CoeVI2S/LxYfth81uu98sXt7+8tdf/w+4pG+X"; \ No newline at end of file diff --git a/docs/assets/style.css b/docs/assets/style.css new file mode 100644 index 0000000..44328e9 --- /dev/null +++ b/docs/assets/style.css @@ -0,0 +1,1633 @@ +@layer typedoc { + :root { + --dim-toolbar-contents-height: 2.5rem; + --dim-toolbar-border-bottom-width: 1px; + --dim-header-height: calc( + var(--dim-toolbar-border-bottom-width) + + var(--dim-toolbar-contents-height) + ); + + /* 0rem For mobile; unit is required for calculation in `calc` */ + --dim-container-main-margin-y: 0rem; + + --dim-footer-height: 3.5rem; + + --modal-animation-duration: 0.2s; + } + + :root { + /* Light */ + --light-color-background: #f2f4f8; + --light-color-background-secondary: #eff0f1; + /* Not to be confused with [:active](https://developer.mozilla.org/en-US/docs/Web/CSS/:active) */ + --light-color-background-active: #d6d8da; + --light-color-background-warning: #e6e600; + --light-color-warning-text: #222; + --light-color-accent: #c5c7c9; + --light-color-active-menu-item: var(--light-color-background-active); + --light-color-text: #222; + --light-color-contrast-text: #000; + --light-color-text-aside: #5e5e5e; + + --light-color-icon-background: var(--light-color-background); + --light-color-icon-text: var(--light-color-text); + + --light-color-comment-tag-text: var(--light-color-text); + --light-color-comment-tag: var(--light-color-background); + + --light-color-link: #1f70c2; + --light-color-focus-outline: #3584e4; + + --light-color-ts-keyword: #056bd6; + --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: #9f5f30; + --light-color-ts-method: #be3989; + --light-color-ts-reference: #ff4d82; + --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: #a55c0e; + --light-color-ts-accessor: #c73c3c; + --light-color-ts-get-signature: var(--light-color-ts-accessor); + --light-color-ts-set-signature: var(--light-color-ts-accessor); + --light-color-ts-type-alias: #d51270; + /* reference not included as links will be colored with the kind that it points to */ + --light-color-document: #000000; + + --light-color-alert-note: #0969d9; + --light-color-alert-tip: #1a7f37; + --light-color-alert-important: #8250df; + --light-color-alert-warning: #9a6700; + --light-color-alert-caution: #cf222e; + + --light-external-icon: url("data:image/svg+xml;utf8,"); + --light-color-scheme: light; + } + + :root { + /* Dark */ + --dark-color-background: #2b2e33; + --dark-color-background-secondary: #1e2024; + /* Not to be confused with [:active](https://developer.mozilla.org/en-US/docs/Web/CSS/:active) */ + --dark-color-background-active: #5d5d6a; + --dark-color-background-warning: #bebe00; + --dark-color-warning-text: #222; + --dark-color-accent: #9096a2; + --dark-color-active-menu-item: var(--dark-color-background-active); + --dark-color-text: #f5f5f5; + --dark-color-contrast-text: #ffffff; + --dark-color-text-aside: #dddddd; + + --dark-color-icon-background: var(--dark-color-background-secondary); + --dark-color-icon-text: var(--dark-color-text); + + --dark-color-comment-tag-text: var(--dark-color-text); + --dark-color-comment-tag: var(--dark-color-background); + + --dark-color-link: #00aff4; + --dark-color-focus-outline: #4c97f2; + + --dark-color-ts-keyword: #3399ff; + --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: #ff984d; + --dark-color-ts-method: #ff4db8; + --dark-color-ts-reference: #ff4d82; + --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: #e07d13; + --dark-color-ts-accessor: #ff6060; + --dark-color-ts-get-signature: var(--dark-color-ts-accessor); + --dark-color-ts-set-signature: var(--dark-color-ts-accessor); + --dark-color-ts-type-alias: #ff6492; + /* reference not included as links will be colored with the kind that it points to */ + --dark-color-document: #ffffff; + + --dark-color-alert-note: #0969d9; + --dark-color-alert-tip: #1a7f37; + --dark-color-alert-important: #8250df; + --dark-color-alert-warning: #9a6700; + --dark-color-alert-caution: #cf222e; + + --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-active: var(--light-color-background-active); + --color-background-warning: var(--light-color-background-warning); + --color-warning-text: var(--light-color-warning-text); + --color-accent: var(--light-color-accent); + --color-active-menu-item: var(--light-color-active-menu-item); + --color-text: var(--light-color-text); + --color-contrast-text: var(--light-color-contrast-text); + --color-text-aside: var(--light-color-text-aside); + + --color-icon-background: var(--light-color-icon-background); + --color-icon-text: var(--light-color-icon-text); + + --color-comment-tag-text: var(--light-color-text); + --color-comment-tag: var(--light-color-background); + + --color-link: var(--light-color-link); + --color-focus-outline: var(--light-color-focus-outline); + + --color-ts-keyword: var(--light-color-ts-keyword); + --color-ts-project: var(--light-color-ts-project); + --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-reference: var(--light-color-ts-reference); + --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); + --color-document: var(--light-color-document); + + --color-alert-note: var(--light-color-alert-note); + --color-alert-tip: var(--light-color-alert-tip); + --color-alert-important: var(--light-color-alert-important); + --color-alert-warning: var(--light-color-alert-warning); + --color-alert-caution: var(--light-color-alert-caution); + + --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-active: var(--dark-color-background-active); + --color-background-warning: var(--dark-color-background-warning); + --color-warning-text: var(--dark-color-warning-text); + --color-accent: var(--dark-color-accent); + --color-active-menu-item: var(--dark-color-active-menu-item); + --color-text: var(--dark-color-text); + --color-contrast-text: var(--dark-color-contrast-text); + --color-text-aside: var(--dark-color-text-aside); + + --color-icon-background: var(--dark-color-icon-background); + --color-icon-text: var(--dark-color-icon-text); + + --color-comment-tag-text: var(--dark-color-text); + --color-comment-tag: var(--dark-color-background); + + --color-link: var(--dark-color-link); + --color-focus-outline: var(--dark-color-focus-outline); + + --color-ts-keyword: var(--dark-color-ts-keyword); + --color-ts-project: var(--dark-color-ts-project); + --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-reference: var(--dark-color-ts-reference); + --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); + --color-document: var(--dark-color-document); + + --color-alert-note: var(--dark-color-alert-note); + --color-alert-tip: var(--dark-color-alert-tip); + --color-alert-important: var(--dark-color-alert-important); + --color-alert-warning: var(--dark-color-alert-warning); + --color-alert-caution: var(--dark-color-alert-caution); + + --external-icon: var(--dark-external-icon); + --color-scheme: var(--dark-color-scheme); + } + } + + :root[data-theme="light"] { + --color-background: var(--light-color-background); + --color-background-secondary: var(--light-color-background-secondary); + --color-background-active: var(--light-color-background-active); + --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-contrast-text: var(--light-color-contrast-text); + --color-text-aside: var(--light-color-text-aside); + --color-icon-text: var(--light-color-icon-text); + + --color-comment-tag-text: var(--light-color-text); + --color-comment-tag: var(--light-color-background); + + --color-link: var(--light-color-link); + --color-focus-outline: var(--light-color-focus-outline); + + --color-ts-keyword: var(--light-color-ts-keyword); + --color-ts-project: var(--light-color-ts-project); + --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-reference: var(--light-color-ts-reference); + --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); + --color-document: var(--light-color-document); + + --color-note: var(--light-color-note); + --color-tip: var(--light-color-tip); + --color-important: var(--light-color-important); + --color-warning: var(--light-color-warning); + --color-caution: var(--light-color-caution); + + --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-active: var(--dark-color-background-active); + --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-contrast-text: var(--dark-color-contrast-text); + --color-text-aside: var(--dark-color-text-aside); + --color-icon-text: var(--dark-color-icon-text); + + --color-comment-tag-text: var(--dark-color-text); + --color-comment-tag: var(--dark-color-background); + + --color-link: var(--dark-color-link); + --color-focus-outline: var(--dark-color-focus-outline); + + --color-ts-keyword: var(--dark-color-ts-keyword); + --color-ts-project: var(--dark-color-ts-project); + --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-reference: var(--dark-color-ts-reference); + --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); + --color-document: var(--dark-color-document); + + --color-note: var(--dark-color-note); + --color-tip: var(--dark-color-tip); + --color-important: var(--dark-color-important); + --color-warning: var(--dark-color-warning); + --color-caution: var(--dark-color-caution); + + --external-icon: var(--dark-external-icon); + --color-scheme: var(--dark-color-scheme); + } + + html { + color-scheme: var(--color-scheme); + @media (prefers-reduced-motion: no-preference) { + scroll-behavior: smooth; + } + } + + *:focus-visible, + .tsd-accordion-summary:focus-visible svg { + outline: 2px solid var(--color-focus-outline); + } + + .always-visible, + .always-visible .tsd-signatures { + display: inherit !important; + } + + h1, + h2, + h3, + h4, + h5, + h6 { + line-height: 1.2; + } + + 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; + } + + dl, + menu, + ol, + ul { + margin: 1em 0; + } + + dd { + margin: 0 0 0 34px; + } + + .container { + max-width: 1700px; + padding: 0 2rem; + } + + /* Footer */ + footer { + border-top: 1px solid var(--color-accent); + padding-top: 1rem; + padding-bottom: 1rem; + max-height: var(--dim-footer-height); + } + footer > p { + margin: 0 1em; + } + + .container-main { + margin: var(--dim-container-main-margin-y) auto; + /* toolbar, footer, margin */ + min-height: calc( + 100svh - var(--dim-header-height) - var(--dim-footer-height) - + 2 * var(--dim-container-main-margin-y) + ); + } + + @keyframes fade-in { + from { + opacity: 0; + } + to { + opacity: 1; + } + } + @keyframes fade-out { + from { + opacity: 1; + visibility: visible; + } + to { + 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: + -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", + Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; + font-size: 16px; + color: var(--color-text); + margin: 0; + } + + 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; + } + a.tsd-anchor-link { + color: var(--color-text); + } + :target { + scroll-margin-block: calc(var(--dim-header-height) + 0.5rem); + } + + 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-wrap; + word-wrap: break-word; + padding: 10px; + border: 1px solid var(--color-accent); + margin-bottom: 8px; + } + 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, + pre > button:focus-visible { + opacity: 1; + } + + blockquote { + margin: 1em 0; + padding-left: 1em; + border-left: 4px solid gray; + } + + img { + max-width: 100%; + } + + * { + 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); + } + + dialog { + border: none; + outline: none; + padding: 0; + background-color: var(--color-background); + } + dialog::backdrop { + display: none; + } + #tsd-overlay { + background-color: rgba(0, 0, 0, 0.5); + position: fixed; + z-index: 9999; + top: 0; + left: 0; + right: 0; + bottom: 0; + animation: fade-in var(--modal-animation-duration) forwards; + } + #tsd-overlay.closing { + animation-name: fade-out; + } + + .tsd-typography { + line-height: 1.333em; + } + .tsd-typography ul { + list-style: square; + padding: 0 0 0 20px; + margin: 0; + } + .tsd-typography .tsd-index-panel h3, + .tsd-index-panel .tsd-typography h3, + .tsd-typography h4, + .tsd-typography h5, + .tsd-typography h6 { + font-size: 1em; + } + .tsd-typography h5, + .tsd-typography h6 { + font-weight: normal; + } + .tsd-typography p, + .tsd-typography ul, + .tsd-typography ol { + margin: 1em 0; + } + .tsd-typography table { + border-collapse: collapse; + border: none; + } + .tsd-typography td, + .tsd-typography th { + padding: 6px 13px; + border: 1px solid var(--color-accent); + } + .tsd-typography thead, + .tsd-typography tr:nth-child(even) { + background-color: var(--color-background-secondary); + } + + .tsd-alert { + padding: 8px 16px; + margin-bottom: 16px; + border-left: 0.25em solid var(--alert-color); + } + .tsd-alert blockquote > :last-child, + .tsd-alert > :last-child { + margin-bottom: 0; + } + .tsd-alert-title { + color: var(--alert-color); + display: inline-flex; + align-items: center; + } + .tsd-alert-title span { + margin-left: 4px; + } + + .tsd-alert-note { + --alert-color: var(--color-alert-note); + } + .tsd-alert-tip { + --alert-color: var(--color-alert-tip); + } + .tsd-alert-important { + --alert-color: var(--color-alert-important); + } + .tsd-alert-warning { + --alert-color: var(--color-alert-warning); + } + .tsd-alert-caution { + --alert-color: var(--color-alert-caution); + } + + .tsd-breadcrumb { + margin: 0; + margin-top: 1rem; + 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: -moz-fit-content; + width: fit-content; + align-items: center; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + 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-visible + svg { + outline: 2px solid var(--color-focus-outline); + } + .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); + } + + .settings-label { + font-weight: bold; + text-transform: uppercase; + display: inline-block; + } + + .tsd-filter-visibility .settings-label { + margin: 0.75rem 0 0.5rem 0; + } + + .tsd-theme-toggle .settings-label { + margin: 0.75rem 0.75rem 0 0; + } + + .tsd-hierarchy h4 label:hover span { + text-decoration: underline; + } + + .tsd-hierarchy { + list-style: square; + margin: 0; + } + .tsd-hierarchy-target { + font-weight: bold; + } + .tsd-hierarchy-toggle { + color: var(--color-link); + cursor: pointer; + } + + .tsd-full-hierarchy:not(:last-child) { + margin-bottom: 1em; + padding-bottom: 1em; + border-bottom: 1px solid var(--color-accent); + } + .tsd-full-hierarchy, + .tsd-full-hierarchy ul { + list-style: none; + margin: 0; + padding: 0; + } + .tsd-full-hierarchy ul { + padding-left: 1.5rem; + } + .tsd-full-hierarchy a { + padding: 0.25rem 0 !important; + font-size: 1rem; + display: inline-flex; + align-items: center; + color: var(--color-text); + } + .tsd-full-hierarchy svg[data-dropdown] { + cursor: pointer; + } + .tsd-full-hierarchy svg[data-dropdown="false"] { + transform: rotate(-90deg); + } + .tsd-full-hierarchy svg[data-dropdown="false"] ~ ul { + display: none; + } + + .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: 0; + margin-bottom: 1rem; + } + .tsd-navigation > a, + .tsd-navigation .tsd-accordion-summary { + width: calc(100% - 0.25rem); + display: flex; + align-items: center; + } + .tsd-navigation a, + .tsd-navigation summary > span, + .tsd-page-navigation a { + display: flex; + width: calc(100% - 0.25rem); + 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); + color: var(--color-contrast-text); + } + .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-navigation .tsd-nav-link { + display: none; + } + .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-page-navigation-section > summary { + padding: 0.25rem; + } + .tsd-page-navigation-section > summary > svg { + margin-right: 0.25rem; + } + .tsd-page-navigation-section > div { + margin-left: 30px; + } + .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 */ + display: flex; + align-items: center; + gap: 0.25rem; + box-sizing: border-box; + } + .tsd-accordion-summary::-webkit-details-marker { + display: none; /* hide marker on safari */ + } + .tsd-accordion-summary, + .tsd-accordion-summary a { + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + 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; + } + /* + * We need to be careful to target the arrow indicating whether the accordion + * is open, but not any other SVGs included in the details element. + */ + .tsd-accordion:not([open]) > .tsd-accordion-summary > svg:first-child { + transform: rotate(-90deg); + } + .tsd-index-content > :not(:first-child) { + margin-top: 0.75rem; + } + .tsd-index-summary { + margin-top: 1.5rem; + margin-bottom: 0.75rem; + display: flex; + align-content: center; + } + + .tsd-no-select { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + } + .tsd-kind-icon { + margin-right: 0.5rem; + width: 1.25rem; + height: 1.25rem; + min-width: 1.25rem; + min-height: 1.25rem; + } + .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: 2rem 0; + } + .tsd-panel-group.tsd-index-group { + margin: 2rem 0; + } + .tsd-panel-group.tsd-index-group details { + margin: 2rem 0; + } + .tsd-panel-group > .tsd-accordion-summary { + margin-bottom: 1rem; + } + + #tsd-search[open] { + animation: fade-in var(--modal-animation-duration) ease-out forwards; + } + #tsd-search[open].closing { + animation-name: fade-out; + } + + /* Avoid setting `display` on closed dialog */ + #tsd-search[open] { + display: flex; + flex-direction: column; + padding: 1rem; + width: 32rem; + max-width: 90vw; + max-height: calc(100vh - env(keyboard-inset-height, 0px) - 25vh); + /* Anchor dialog to top */ + margin-top: 10vh; + border-radius: 6px; + will-change: max-height; + } + #tsd-search-input { + box-sizing: border-box; + width: 100%; + padding: 0 0.625rem; /* 10px */ + outline: 0; + border: 2px solid var(--color-accent); + background-color: transparent; + color: var(--color-text); + border-radius: 4px; + height: 2.5rem; + flex: 0 0 auto; + font-size: 0.875rem; + transition: border-color 0.2s, background-color 0.2s; + } + #tsd-search-input:focus-visible { + background-color: var(--color-background-active); + border-color: transparent; + color: var(--color-contrast-text); + } + #tsd-search-input::placeholder { + color: inherit; + opacity: 0.8; + } + #tsd-search-results { + margin: 0; + padding: 0; + list-style: none; + flex: 1 1 auto; + display: flex; + flex-direction: column; + overflow-y: auto; + } + #tsd-search-results:not(:empty) { + margin-top: 0.5rem; + } + #tsd-search-results > li { + background-color: var(--color-background); + line-height: 1.5; + box-sizing: border-box; + border-radius: 4px; + } + #tsd-search-results > li:nth-child(even) { + background-color: var(--color-background-secondary); + } + #tsd-search-results > li:is(:hover, [aria-selected="true"]) { + background-color: var(--color-background-active); + color: var(--color-contrast-text); + } + /* It's important that this takes full size of parent `li`, to capture a click on `li` */ + #tsd-search-results > li > a { + display: flex; + align-items: center; + padding: 0.5rem 0.25rem; + box-sizing: border-box; + width: 100%; + } + #tsd-search-results > li > a > .text { + flex: 1 1 auto; + min-width: 0; + overflow-wrap: anywhere; + } + #tsd-search-results > li > a .parent { + color: var(--color-text-aside); + } + #tsd-search-results > li > a mark { + color: inherit; + background-color: inherit; + font-weight: bold; + } + #tsd-search-status { + flex: 1; + display: grid; + place-content: center; + text-align: center; + overflow-wrap: anywhere; + } + #tsd-search-status:not(:empty) { + min-height: 6rem; + } + + .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-keyword { + color: var(--color-ts-keyword); + font-weight: normal; + } + + .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-signatures .tsd-index-signature:not(:last-child) { + margin-bottom: 1em; + } + .tsd-signatures .tsd-index-signature .tsd-signature { + border-width: 1px; + } + .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: var(--dim-toolbar-border-bottom-width) + var(--color-accent) solid; + transition: transform 0.3s ease-in-out; + } + .tsd-page-toolbar a { + color: var(--color-text); + } + .tsd-toolbar-contents { + display: flex; + align-items: center; + height: var(--dim-toolbar-contents-height); + margin: 0 auto; + } + .tsd-toolbar-contents > .title { + font-weight: bold; + margin-right: auto; + } + #tsd-toolbar-links { + display: flex; + align-items: center; + gap: 1.5rem; + margin-right: 1rem; + } + + .tsd-widget { + box-sizing: border-box; + display: inline-block; + opacity: 0.8; + height: 2.5rem; + width: 2.5rem; + transition: opacity 0.1s, background-color 0.1s; + text-align: center; + cursor: pointer; + border: none; + background-color: transparent; + } + .tsd-widget:hover { + opacity: 0.9; + } + .tsd-widget:active { + opacity: 1; + background-color: var(--color-accent); + } + #tsd-toolbar-menu-trigger { + display: none; + } + + .tsd-member-summary-name { + display: inline-flex; + align-items: center; + padding: 0.25rem; + text-decoration: none; + } + + .tsd-anchor-icon { + display: inline-flex; + align-items: center; + margin-left: 0.5rem; + color: var(--color-text); + vertical-align: middle; + } + + .tsd-anchor-icon svg { + width: 1em; + height: 1em; + visibility: hidden; + } + + .tsd-member-summary-name:hover > .tsd-anchor-icon svg, + .tsd-anchor-link:hover > .tsd-anchor-icon svg, + .tsd-anchor-icon:focus-visible svg { + visibility: visible; + } + + .deprecated { + text-decoration: line-through !important; + } + + .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-reference { + color: var(--color-ts-reference); + } + .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-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); + } + + /* mobile */ + @media (max-width: 769px) { + #tsd-toolbar-menu-trigger { + display: inline-block; + /* temporary fix to vertically align, for compatibility */ + line-height: 2.5; + } + #tsd-toolbar-links { + display: none; + } + + .container-main { + display: flex; + } + .col-content { + float: none; + max-width: 100%; + width: 100%; + } + .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); + } + .col-sidebar > *:last-child { + padding-bottom: 20px; + } + .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%; + } + .tsd-navigation .tsd-nav-link { + display: flex; + } + } + + /* one sidebar */ + @media (min-width: 770px) { + .container-main { + display: grid; + grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); + grid-template-areas: "sidebar content"; + --dim-container-main-margin-y: 2rem; + } + + .tsd-breadcrumb { + margin-top: 0; + } + + .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 - var(--dim-header-height) - var(--dim-footer-height) - + 2 * var(--dim-container-main-margin-y) + ); + overflow: auto; + position: sticky; + top: calc( + var(--dim-header-height) + var(--dim-container-main-margin-y) + ); + } + .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: 0rem; + } + + .page-menu, + .site-menu { + max-height: calc( + 100vh - var(--dim-header-height) - var(--dim-footer-height) - + 2 * var(--dim-container-main-margin-y) + ); + overflow: auto; + position: sticky; + top: calc( + var(--dim-header-height) + var(--dim-container-main-margin-y) + ); + } + } +} diff --git a/docs/classes/ArrayParser.html b/docs/classes/ArrayParser.html new file mode 100644 index 0000000..8d06642 --- /dev/null +++ b/docs/classes/ArrayParser.html @@ -0,0 +1,10 @@ +ArrayParser | @ntix/parsing
@ntix/parsing
    Preparing search index...

    Class ArrayParser<T>

    A parser

    +

    Type Parameters

    • T

    Implements

    Index

    Constructors

    Properties

    Accessors

    not +

    Methods

    Constructors

    Properties

    parse: IParse<T[]> = ...

    Accessors

    Methods

    diff --git a/docs/classes/BooleanParser.html b/docs/classes/BooleanParser.html new file mode 100644 index 0000000..6b1fa4e --- /dev/null +++ b/docs/classes/BooleanParser.html @@ -0,0 +1,6 @@ +BooleanParser | @ntix/parsing
    @ntix/parsing
      Preparing search index...

      Class BooleanParser

      Fluent builder for parsing booleans

      +

      Implements

      Index

      Constructors

      Properties

      Accessors

      not +

      Methods

      Constructors

      Properties

      parse: IParse<boolean> = ...

      Accessors

      Methods

      diff --git a/docs/classes/ComplexParser.html b/docs/classes/ComplexParser.html new file mode 100644 index 0000000..382ce58 --- /dev/null +++ b/docs/classes/ComplexParser.html @@ -0,0 +1,6 @@ +ComplexParser | @ntix/parsing
      @ntix/parsing
        Preparing search index...

        Class ComplexParser<T>

        A parser

        +

        Type Parameters

        • T

        Implements

        Index

        Constructors

        Properties

        Accessors

        not +

        Methods

        Constructors

        Properties

        parse: IParse<T> = ...

        Accessors

        Methods

        diff --git a/docs/classes/DateParser.html b/docs/classes/DateParser.html new file mode 100644 index 0000000..4bbc2af --- /dev/null +++ b/docs/classes/DateParser.html @@ -0,0 +1,10 @@ +DateParser | @ntix/parsing
        @ntix/parsing
          Preparing search index...

          Class DateParser

          Fluent builder for parsing dates

          +

          Implements

          Index

          Constructors

          Properties

          Accessors

          not +

          Methods

          Constructors

          Properties

          parse: IParse<Date> = ...
          DefaultFormat: DateTimeFormat = ...

          Accessors

          Methods

          diff --git a/docs/classes/DictionaryParser.html b/docs/classes/DictionaryParser.html new file mode 100644 index 0000000..3f449c8 --- /dev/null +++ b/docs/classes/DictionaryParser.html @@ -0,0 +1,9 @@ +DictionaryParser | @ntix/parsing
          @ntix/parsing
            Preparing search index...

            Class DictionaryParser<T>

            A parser

            +

            Type Parameters

            • T

            Implements

            Index

            Constructors

            Properties

            Accessors

            not +

            Methods

            Constructors

            Properties

            parse: IParse<Dictionary<T>> = ...

            Accessors

            Methods

            diff --git a/docs/classes/FloatParser.html b/docs/classes/FloatParser.html new file mode 100644 index 0000000..c3e81f1 --- /dev/null +++ b/docs/classes/FloatParser.html @@ -0,0 +1,9 @@ +FloatParser | @ntix/parsing
            @ntix/parsing
              Preparing search index...

              Class FloatParser

              Fluent builder for parsing floats

              +

              Implements

              Index

              Constructors

              Properties

              Accessors

              not +

              Methods

              Constructors

              Properties

              parse: IParse<number> = ...

              Accessors

              Methods

              diff --git a/docs/classes/IntParser.html b/docs/classes/IntParser.html new file mode 100644 index 0000000..94519ff --- /dev/null +++ b/docs/classes/IntParser.html @@ -0,0 +1,10 @@ +IntParser | @ntix/parsing
              @ntix/parsing
                Preparing search index...

                Class IntParser

                Fluent builder for parsing ints

                +

                Implements

                Index

                Constructors

                Properties

                Accessors

                not +

                Methods

                Constructors

                Properties

                parse: IParse<number> = ...

                Accessors

                Methods

                diff --git a/docs/classes/Is.html b/docs/classes/Is.html new file mode 100644 index 0000000..0cf04b7 --- /dev/null +++ b/docs/classes/Is.html @@ -0,0 +1,14 @@ +Is | @ntix/parsing
                @ntix/parsing
                  Preparing search index...

                  Class Is

                  Starting point for a new parsing and validating

                  +
                  Index

                  Properties

                  array: NextBuilder<IArray.Parser<unknown>> = Is.root.array
                  boolean: IBoolean.Parser = Is.root.boolean
                  date: IDate.Parser = Is.root.date
                  dictionary: IDictionary.Parser<unknown> = Is.root.dictionary
                  float: IFloat.Parser = Is.root.float
                  for: <T>(schema: ComplexSchema<T>) => IComplex.Parser<T> = Is.root.for
                  int: IInt.Parser = Is.root.int
                  json: IJson.Parser<unknown> = Is.root.json
                  not: RootParser = Is.root.not
                  required: RootParser = Is.root.required
                  string: IString.Parser = Is.root.string
                  use: <T>(parser: IParser<T>) => { parse: IParse<T> } = Is.root.use
                  diff --git a/docs/classes/JsonParser.html b/docs/classes/JsonParser.html new file mode 100644 index 0000000..833d6aa --- /dev/null +++ b/docs/classes/JsonParser.html @@ -0,0 +1,6 @@ +JsonParser | @ntix/parsing
                  @ntix/parsing
                    Preparing search index...

                    Class JsonParser<T>

                    A parser

                    +

                    Type Parameters

                    • T

                    Implements

                    Index

                    Constructors

                    Properties

                    Methods

                    for +use +

                    Constructors

                    Properties

                    parse: IParse<T> = ...

                    Methods

                    diff --git a/docs/classes/ParseErrors.html b/docs/classes/ParseErrors.html new file mode 100644 index 0000000..3509dae --- /dev/null +++ b/docs/classes/ParseErrors.html @@ -0,0 +1,49 @@ +ParseErrors | @ntix/parsing
                    @ntix/parsing
                      Preparing search index...

                      Class ParseErrors

                      Creates error objects

                      +
                      Index

                      Constructors

                      Properties

                      array: { array: boolean } = ...

                      value should be an array

                      +
                      boolean: { boolean: boolean } = ...

                      value should be a boolean

                      +
                      complex: { object: boolean } = ...

                      value should be a complex object

                      +
                      date: { date: boolean } = ...

                      value should be a date

                      +
                      dictionary: { dictionary: boolean } = ...

                      value should be a array

                      +
                      empty: {} = {}

                      not an error

                      +
                      float: { float: boolean } = ...

                      value should be a float

                      +
                      int: { int: boolean } = ...

                      value should be an int

                      +
                      json: { json: boolean } = ...

                      value should be a json

                      +
                      required: { required: boolean } = ...

                      required

                      +
                      string: { string: boolean } = ...

                      value should be a string

                      +
                      unique: { unique: boolean } = ...

                      values unique

                      +

                      Methods

                      • value should be equal to any of the values, ignoreCase only valid for string

                        +

                        Type Parameters

                        • T

                        Parameters

                        Returns { anyOf: { ignoreCase: boolean; value: (string | number)[] | T[] } }

                      • ends with

                        +

                        Type Parameters

                        • T

                        Parameters

                        • value: T
                        • OptionalignoreCase: boolean

                        Returns { endsWith: { ignoreCase: boolean; value: T } }

                      • value should be equal to the value, ignoreCase only valid for string

                        +

                        Type Parameters

                        • T

                        Parameters

                        • value: T
                        • OptionalignoreCase: boolean

                        Returns { equals: { ignoreCase: boolean; value: T } }

                      • value includes

                        +

                        Type Parameters

                        • T

                        Parameters

                        • value: T
                        • OptionalignoreCase: boolean

                        Returns { includes: { ignoreCase: boolean; value: T } }

                      • value should be at most

                        +

                        Type Parameters

                        • T

                        Parameters

                        • value: T
                        • exclusive: boolean = false

                        Returns { max: { exclusive: boolean; value: T } }

                      • value length should be at most

                        +

                        Type Parameters

                        • T

                        Parameters

                        • value: T
                        • exclusive: boolean = false

                        Returns { exclusive: boolean; maxLength: T }

                      • value should be at least

                        +

                        Type Parameters

                        • T

                        Parameters

                        • value: T
                        • exclusive: boolean = false

                        Returns { min: { exclusive: boolean; value: T } }

                      • value length should be at least

                        +

                        Type Parameters

                        • T

                        Parameters

                        • value: T
                        • exclusive: boolean = false

                        Returns { exclusive: boolean; minLength: T }

                      • starts with

                        +

                        Type Parameters

                        • T

                        Parameters

                        • value: T
                        • OptionalignoreCase: boolean

                        Returns { startsWith: { ignoreCase: boolean; value: T } }

                      diff --git a/docs/classes/RootParser.html b/docs/classes/RootParser.html new file mode 100644 index 0000000..fe19da0 --- /dev/null +++ b/docs/classes/RootParser.html @@ -0,0 +1,16 @@ +RootParser | @ntix/parsing
                      @ntix/parsing
                        Preparing search index...

                        Class RootParser

                        A parser

                        +

                        Implements

                        Index

                        Constructors

                        Properties

                        Accessors

                        Methods

                        for +use +

                        Constructors

                        Properties

                        array: NextBuilder<IArray.Parser> = ...
                        boolean: IBoolean.Parser = ...
                        date: IDate.Parser = ...
                        dictionary: IDictionary.Parser = ...
                        float: IFloat.Parser = ...
                        int: IInt.Parser = ...
                        json: IJson.Parser = ...
                        parse: IParse<unknown> = ...
                        string: IString.Parser = ...

                        Accessors

                        Methods

                        diff --git a/docs/classes/StringParser.html b/docs/classes/StringParser.html new file mode 100644 index 0000000..3202389 --- /dev/null +++ b/docs/classes/StringParser.html @@ -0,0 +1,13 @@ +StringParser | @ntix/parsing
                        @ntix/parsing
                          Preparing search index...

                          Class StringParser

                          Fluent builder for parsing strings

                          +

                          Implements

                          Index

                          Constructors

                          Properties

                          Accessors

                          not +

                          Methods

                          Constructors

                          Properties

                          parse: IParse<string> = ...

                          Accessors

                          Methods

                          diff --git a/docs/functions/asCurrent.html b/docs/functions/asCurrent.html new file mode 100644 index 0000000..d5fa838 --- /dev/null +++ b/docs/functions/asCurrent.html @@ -0,0 +1,8 @@ +asCurrent | @ntix/parsing
                          @ntix/parsing
                            Preparing search index...

                            Function asCurrent

                            • Creates a wrap around a parse function

                              +

                              Allows the result to be negated. +The parse function should return errors for every result +to allow negation

                              +

                              Type Parameters

                              • T

                              Parameters

                              • parse: (value: unknown) => IParseResult<T>

                                parse function that is negatable

                                +
                              • negate: boolean = false

                                negate the result

                                +

                              Returns ICurrentParser<T>

                              a current parser

                              +
                            diff --git a/docs/functions/createParseResult.html b/docs/functions/createParseResult.html new file mode 100644 index 0000000..fc464f9 --- /dev/null +++ b/docs/functions/createParseResult.html @@ -0,0 +1,4 @@ +createParseResult | @ntix/parsing
                            @ntix/parsing
                              Preparing search index...

                              Function createParseResult

                              diff --git a/docs/functions/ensureDateArray.html b/docs/functions/ensureDateArray.html new file mode 100644 index 0000000..13a7ea7 --- /dev/null +++ b/docs/functions/ensureDateArray.html @@ -0,0 +1 @@ +ensureDateArray | @ntix/parsing
                              @ntix/parsing
                                Preparing search index...

                                Function ensureDateArray

                                diff --git a/docs/functions/ensureNumberArray.html b/docs/functions/ensureNumberArray.html new file mode 100644 index 0000000..8c73fa7 --- /dev/null +++ b/docs/functions/ensureNumberArray.html @@ -0,0 +1,2 @@ +ensureNumberArray | @ntix/parsing
                                @ntix/parsing
                                  Preparing search index...

                                  Function ensureNumberArray

                                  diff --git a/docs/functions/getNumberEnumValues.html b/docs/functions/getNumberEnumValues.html new file mode 100644 index 0000000..9599b98 --- /dev/null +++ b/docs/functions/getNumberEnumValues.html @@ -0,0 +1,2 @@ +getNumberEnumValues | @ntix/parsing
                                  @ntix/parsing
                                    Preparing search index...

                                    Function getNumberEnumValues

                                    diff --git a/docs/functions/isBooleanType.html b/docs/functions/isBooleanType.html new file mode 100644 index 0000000..b6a18a4 --- /dev/null +++ b/docs/functions/isBooleanType.html @@ -0,0 +1 @@ +isBooleanType | @ntix/parsing
                                    @ntix/parsing
                                      Preparing search index...

                                      Function isBooleanType

                                      diff --git a/docs/functions/isDate.html b/docs/functions/isDate.html new file mode 100644 index 0000000..f76c90d --- /dev/null +++ b/docs/functions/isDate.html @@ -0,0 +1,2 @@ +isDate | @ntix/parsing
                                      @ntix/parsing
                                        Preparing search index...

                                        Function isDate

                                        diff --git a/docs/functions/isDateType.html b/docs/functions/isDateType.html new file mode 100644 index 0000000..c01b044 --- /dev/null +++ b/docs/functions/isDateType.html @@ -0,0 +1 @@ +isDateType | @ntix/parsing
                                        @ntix/parsing
                                          Preparing search index...

                                          Function isDateType

                                          diff --git a/docs/functions/isEqual.html b/docs/functions/isEqual.html new file mode 100644 index 0000000..defe01f --- /dev/null +++ b/docs/functions/isEqual.html @@ -0,0 +1,3 @@ +isEqual | @ntix/parsing
                                          @ntix/parsing
                                            Preparing search index...

                                            Function isEqual

                                            • deep equality check

                                              +

                                              NOTE: arrays should be in the same order

                                              +

                                              Parameters

                                              • a: unknown
                                              • b: unknown

                                              Returns boolean

                                            diff --git a/docs/functions/isFloat.html b/docs/functions/isFloat.html new file mode 100644 index 0000000..ad9c590 --- /dev/null +++ b/docs/functions/isFloat.html @@ -0,0 +1,2 @@ +isFloat | @ntix/parsing
                                            @ntix/parsing
                                              Preparing search index...

                                              Function isFloat

                                              • checks values is a integer or a string which can be parsed into a integer

                                                +

                                                Parameters

                                                • value: unknown

                                                Returns value is string | number

                                              diff --git a/docs/functions/isInt.html b/docs/functions/isInt.html new file mode 100644 index 0000000..1ad9efd --- /dev/null +++ b/docs/functions/isInt.html @@ -0,0 +1,2 @@ +isInt | @ntix/parsing
                                              @ntix/parsing
                                                Preparing search index...

                                                Function isInt

                                                • checks values is an integer or a string which can be parsed into a integer

                                                  +

                                                  Parameters

                                                  • value: unknown

                                                  Returns boolean

                                                diff --git a/docs/functions/isNullOrEmpty.html b/docs/functions/isNullOrEmpty.html new file mode 100644 index 0000000..e92fe4c --- /dev/null +++ b/docs/functions/isNullOrEmpty.html @@ -0,0 +1,2 @@ +isNullOrEmpty | @ntix/parsing
                                                @ntix/parsing
                                                  Preparing search index...

                                                  Function isNullOrEmpty

                                                  • check for null (or undefined) or empty string

                                                    +

                                                    Parameters

                                                    • value: unknown

                                                    Returns boolean

                                                  diff --git a/docs/functions/isNumberType.html b/docs/functions/isNumberType.html new file mode 100644 index 0000000..e5de539 --- /dev/null +++ b/docs/functions/isNumberType.html @@ -0,0 +1,2 @@ +isNumberType | @ntix/parsing
                                                  @ntix/parsing
                                                    Preparing search index...

                                                    Function isNumberType

                                                    • checks value is a number, includes NaN and Infinity

                                                      +

                                                      Parameters

                                                      • value: unknown

                                                      Returns value is number

                                                    diff --git a/docs/functions/isStringType.html b/docs/functions/isStringType.html new file mode 100644 index 0000000..56c6fa8 --- /dev/null +++ b/docs/functions/isStringType.html @@ -0,0 +1,2 @@ +isStringType | @ntix/parsing
                                                    @ntix/parsing
                                                      Preparing search index...

                                                      Function isStringType

                                                      • checks value is a string

                                                        +

                                                        Parameters

                                                        • value: unknown

                                                        Returns value is string

                                                      diff --git a/docs/functions/parseCast.html b/docs/functions/parseCast.html new file mode 100644 index 0000000..bc9bad6 --- /dev/null +++ b/docs/functions/parseCast.html @@ -0,0 +1,4 @@ +parseCast | @ntix/parsing
                                                      @ntix/parsing
                                                        Preparing search index...

                                                        Function parseCast

                                                        diff --git a/docs/functions/parseChain.html b/docs/functions/parseChain.html new file mode 100644 index 0000000..6733d21 --- /dev/null +++ b/docs/functions/parseChain.html @@ -0,0 +1,6 @@ +parseChain | @ntix/parsing
                                                        @ntix/parsing
                                                          Preparing search index...

                                                          Function parseChain

                                                          diff --git a/docs/functions/parseDate.html b/docs/functions/parseDate.html new file mode 100644 index 0000000..3e970fb --- /dev/null +++ b/docs/functions/parseDate.html @@ -0,0 +1,4 @@ +parseDate | @ntix/parsing
                                                          @ntix/parsing
                                                            Preparing search index...

                                                            Function parseDate

                                                            diff --git a/docs/functions/parseFloat.html b/docs/functions/parseFloat.html new file mode 100644 index 0000000..a00b644 --- /dev/null +++ b/docs/functions/parseFloat.html @@ -0,0 +1 @@ +parseFloat | @ntix/parsing
                                                            @ntix/parsing
                                                              Preparing search index...

                                                              Function parseFloat

                                                              diff --git a/docs/functions/parseInt.html b/docs/functions/parseInt.html new file mode 100644 index 0000000..74474b5 --- /dev/null +++ b/docs/functions/parseInt.html @@ -0,0 +1,5 @@ +parseInt | @ntix/parsing
                                                              @ntix/parsing
                                                                Preparing search index...

                                                                Function parseInt

                                                                diff --git a/docs/functions/provideAnyOf.html b/docs/functions/provideAnyOf.html new file mode 100644 index 0000000..f453984 --- /dev/null +++ b/docs/functions/provideAnyOf.html @@ -0,0 +1,2 @@ +provideAnyOf | @ntix/parsing
                                                                @ntix/parsing
                                                                  Preparing search index...

                                                                  Function provideAnyOf

                                                                  diff --git a/docs/functions/provideAnyOfString.html b/docs/functions/provideAnyOfString.html new file mode 100644 index 0000000..60bee17 --- /dev/null +++ b/docs/functions/provideAnyOfString.html @@ -0,0 +1,2 @@ +provideAnyOfString | @ntix/parsing
                                                                  @ntix/parsing
                                                                    Preparing search index...

                                                                    Function provideAnyOfString

                                                                    diff --git a/docs/functions/provideDictionaryValues.html b/docs/functions/provideDictionaryValues.html new file mode 100644 index 0000000..3d80966 --- /dev/null +++ b/docs/functions/provideDictionaryValues.html @@ -0,0 +1,4 @@ +provideDictionaryValues | @ntix/parsing
                                                                    @ntix/parsing
                                                                      Preparing search index...

                                                                      Function provideDictionaryValues

                                                                      diff --git a/docs/functions/provideEndsWithString.html b/docs/functions/provideEndsWithString.html new file mode 100644 index 0000000..d3f37b6 --- /dev/null +++ b/docs/functions/provideEndsWithString.html @@ -0,0 +1 @@ +provideEndsWithString | @ntix/parsing
                                                                      @ntix/parsing
                                                                        Preparing search index...

                                                                        Function provideEndsWithString

                                                                        diff --git a/docs/functions/provideEquals.html b/docs/functions/provideEquals.html new file mode 100644 index 0000000..4cacb15 --- /dev/null +++ b/docs/functions/provideEquals.html @@ -0,0 +1 @@ +provideEquals | @ntix/parsing
                                                                        @ntix/parsing
                                                                          Preparing search index...

                                                                          Function provideEquals

                                                                          diff --git a/docs/functions/provideEqualsString.html b/docs/functions/provideEqualsString.html new file mode 100644 index 0000000..02c899b --- /dev/null +++ b/docs/functions/provideEqualsString.html @@ -0,0 +1 @@ +provideEqualsString | @ntix/parsing
                                                                          @ntix/parsing
                                                                            Preparing search index...

                                                                            Function provideEqualsString

                                                                            diff --git a/docs/functions/provideIncludesString.html b/docs/functions/provideIncludesString.html new file mode 100644 index 0000000..2de5d6d --- /dev/null +++ b/docs/functions/provideIncludesString.html @@ -0,0 +1 @@ +provideIncludesString | @ntix/parsing
                                                                            @ntix/parsing
                                                                              Preparing search index...

                                                                              Function provideIncludesString

                                                                              diff --git a/docs/functions/provideMatchesString.html b/docs/functions/provideMatchesString.html new file mode 100644 index 0000000..decb6a6 --- /dev/null +++ b/docs/functions/provideMatchesString.html @@ -0,0 +1 @@ +provideMatchesString | @ntix/parsing
                                                                              @ntix/parsing
                                                                                Preparing search index...

                                                                                Function provideMatchesString

                                                                                diff --git a/docs/functions/provideMax.html b/docs/functions/provideMax.html new file mode 100644 index 0000000..23d8528 --- /dev/null +++ b/docs/functions/provideMax.html @@ -0,0 +1,2 @@ +provideMax | @ntix/parsing
                                                                                @ntix/parsing
                                                                                  Preparing search index...

                                                                                  Function provideMax

                                                                                  diff --git a/docs/functions/provideMaxLength.html b/docs/functions/provideMaxLength.html new file mode 100644 index 0000000..576e1d5 --- /dev/null +++ b/docs/functions/provideMaxLength.html @@ -0,0 +1 @@ +provideMaxLength | @ntix/parsing
                                                                                  @ntix/parsing
                                                                                    Preparing search index...

                                                                                    Function provideMaxLength

                                                                                    diff --git a/docs/functions/provideMin.html b/docs/functions/provideMin.html new file mode 100644 index 0000000..275e036 --- /dev/null +++ b/docs/functions/provideMin.html @@ -0,0 +1,2 @@ +provideMin | @ntix/parsing
                                                                                    @ntix/parsing
                                                                                      Preparing search index...

                                                                                      Function provideMin

                                                                                      diff --git a/docs/functions/provideMinLength.html b/docs/functions/provideMinLength.html new file mode 100644 index 0000000..7781ec3 --- /dev/null +++ b/docs/functions/provideMinLength.html @@ -0,0 +1 @@ +provideMinLength | @ntix/parsing
                                                                                      @ntix/parsing
                                                                                        Preparing search index...

                                                                                        Function provideMinLength

                                                                                        diff --git a/docs/functions/provideParseArray.html b/docs/functions/provideParseArray.html new file mode 100644 index 0000000..02328e8 --- /dev/null +++ b/docs/functions/provideParseArray.html @@ -0,0 +1,4 @@ +provideParseArray | @ntix/parsing
                                                                                        @ntix/parsing
                                                                                          Preparing search index...

                                                                                          Function provideParseArray

                                                                                          diff --git a/docs/functions/provideParseArrayValues.html b/docs/functions/provideParseArrayValues.html new file mode 100644 index 0000000..2c7b260 --- /dev/null +++ b/docs/functions/provideParseArrayValues.html @@ -0,0 +1,4 @@ +provideParseArrayValues | @ntix/parsing
                                                                                          @ntix/parsing
                                                                                            Preparing search index...

                                                                                            Function provideParseArrayValues

                                                                                            diff --git a/docs/functions/provideParseBoolean.html b/docs/functions/provideParseBoolean.html new file mode 100644 index 0000000..f06fb43 --- /dev/null +++ b/docs/functions/provideParseBoolean.html @@ -0,0 +1 @@ +provideParseBoolean | @ntix/parsing
                                                                                            @ntix/parsing
                                                                                              Preparing search index...

                                                                                              Function provideParseBoolean

                                                                                              diff --git a/docs/functions/provideParseComplex.html b/docs/functions/provideParseComplex.html new file mode 100644 index 0000000..da0944e --- /dev/null +++ b/docs/functions/provideParseComplex.html @@ -0,0 +1,4 @@ +provideParseComplex | @ntix/parsing
                                                                                              @ntix/parsing
                                                                                                Preparing search index...

                                                                                                Function provideParseComplex

                                                                                                diff --git a/docs/functions/provideParseDate.html b/docs/functions/provideParseDate.html new file mode 100644 index 0000000..42ee092 --- /dev/null +++ b/docs/functions/provideParseDate.html @@ -0,0 +1,3 @@ +provideParseDate | @ntix/parsing
                                                                                                @ntix/parsing
                                                                                                  Preparing search index...

                                                                                                  Function provideParseDate

                                                                                                  diff --git a/docs/functions/provideParseDictionary.html b/docs/functions/provideParseDictionary.html new file mode 100644 index 0000000..2c79430 --- /dev/null +++ b/docs/functions/provideParseDictionary.html @@ -0,0 +1 @@ +provideParseDictionary | @ntix/parsing
                                                                                                  @ntix/parsing
                                                                                                    Preparing search index...

                                                                                                    Function provideParseDictionary

                                                                                                    diff --git a/docs/functions/provideParseDictionaryValues.html b/docs/functions/provideParseDictionaryValues.html new file mode 100644 index 0000000..e4c362e --- /dev/null +++ b/docs/functions/provideParseDictionaryValues.html @@ -0,0 +1,4 @@ +provideParseDictionaryValues | @ntix/parsing
                                                                                                    @ntix/parsing
                                                                                                      Preparing search index...

                                                                                                      Function provideParseDictionaryValues

                                                                                                      diff --git a/docs/functions/provideParseFloat.html b/docs/functions/provideParseFloat.html new file mode 100644 index 0000000..5b3585d --- /dev/null +++ b/docs/functions/provideParseFloat.html @@ -0,0 +1,4 @@ +provideParseFloat | @ntix/parsing
                                                                                                      @ntix/parsing
                                                                                                        Preparing search index...

                                                                                                        Function provideParseFloat

                                                                                                        diff --git a/docs/functions/provideParseInt.html b/docs/functions/provideParseInt.html new file mode 100644 index 0000000..f4ccf9b --- /dev/null +++ b/docs/functions/provideParseInt.html @@ -0,0 +1,4 @@ +provideParseInt | @ntix/parsing
                                                                                                        @ntix/parsing
                                                                                                          Preparing search index...

                                                                                                          Function provideParseInt

                                                                                                          • provides a parser for an integer, or not an integer

                                                                                                            +

                                                                                                            note. if negated result value will be null

                                                                                                            +

                                                                                                            Parameters

                                                                                                            • radix: number = undefined

                                                                                                            Returns IParse<number>

                                                                                                            parseResult

                                                                                                            +
                                                                                                          diff --git a/docs/functions/provideParseJson.html b/docs/functions/provideParseJson.html new file mode 100644 index 0000000..53c35f5 --- /dev/null +++ b/docs/functions/provideParseJson.html @@ -0,0 +1 @@ +provideParseJson | @ntix/parsing
                                                                                                          @ntix/parsing
                                                                                                            Preparing search index...

                                                                                                            Function provideParseJson

                                                                                                            diff --git a/docs/functions/provideParseRoot.html b/docs/functions/provideParseRoot.html new file mode 100644 index 0000000..b6d9fa7 --- /dev/null +++ b/docs/functions/provideParseRoot.html @@ -0,0 +1,4 @@ +provideParseRoot | @ntix/parsing
                                                                                                            @ntix/parsing
                                                                                                              Preparing search index...

                                                                                                              Function provideParseRoot

                                                                                                              • provides a funtion to parse a root value

                                                                                                                +

                                                                                                                Parameters

                                                                                                                • isRequried: boolean

                                                                                                                  value is required

                                                                                                                  +

                                                                                                                Returns IParse<unknown>

                                                                                                                a parse result

                                                                                                                +
                                                                                                              diff --git a/docs/functions/provideParseString.html b/docs/functions/provideParseString.html new file mode 100644 index 0000000..7ad8e6b --- /dev/null +++ b/docs/functions/provideParseString.html @@ -0,0 +1 @@ +provideParseString | @ntix/parsing
                                                                                                              @ntix/parsing
                                                                                                                Preparing search index...

                                                                                                                Function provideParseString

                                                                                                                diff --git a/docs/functions/provideParseUniqueArray.html b/docs/functions/provideParseUniqueArray.html new file mode 100644 index 0000000..dc0650b --- /dev/null +++ b/docs/functions/provideParseUniqueArray.html @@ -0,0 +1,4 @@ +provideParseUniqueArray | @ntix/parsing
                                                                                                                @ntix/parsing
                                                                                                                  Preparing search index...

                                                                                                                  Function provideParseUniqueArray

                                                                                                                  diff --git a/docs/functions/provideStartsWithString.html b/docs/functions/provideStartsWithString.html new file mode 100644 index 0000000..50c08d1 --- /dev/null +++ b/docs/functions/provideStartsWithString.html @@ -0,0 +1 @@ +provideStartsWithString | @ntix/parsing
                                                                                                                  @ntix/parsing
                                                                                                                    Preparing search index...

                                                                                                                    Function provideStartsWithString

                                                                                                                    diff --git a/docs/functions/tryParseBoolean.html b/docs/functions/tryParseBoolean.html new file mode 100644 index 0000000..d067255 --- /dev/null +++ b/docs/functions/tryParseBoolean.html @@ -0,0 +1,4 @@ +tryParseBoolean | @ntix/parsing
                                                                                                                    @ntix/parsing
                                                                                                                      Preparing search index...

                                                                                                                      Function tryParseBoolean

                                                                                                                      • try and parse the value as a boolean

                                                                                                                        +

                                                                                                                        Parameters

                                                                                                                        • value: unknown

                                                                                                                          value to parse

                                                                                                                          +

                                                                                                                        Returns boolean

                                                                                                                        boolean or a null if failed parse

                                                                                                                        +
                                                                                                                      diff --git a/docs/functions/tryParseDate.html b/docs/functions/tryParseDate.html new file mode 100644 index 0000000..76eb26c --- /dev/null +++ b/docs/functions/tryParseDate.html @@ -0,0 +1,4 @@ +tryParseDate | @ntix/parsing
                                                                                                                      @ntix/parsing
                                                                                                                        Preparing search index...

                                                                                                                        Function tryParseDate

                                                                                                                        diff --git a/docs/functions/tryParseFloat.html b/docs/functions/tryParseFloat.html new file mode 100644 index 0000000..a7c9a29 --- /dev/null +++ b/docs/functions/tryParseFloat.html @@ -0,0 +1 @@ +tryParseFloat | @ntix/parsing
                                                                                                                        @ntix/parsing
                                                                                                                          Preparing search index...

                                                                                                                          Function tryParseFloat

                                                                                                                          diff --git a/docs/functions/tryParseInt.html b/docs/functions/tryParseInt.html new file mode 100644 index 0000000..02b4dc1 --- /dev/null +++ b/docs/functions/tryParseInt.html @@ -0,0 +1,5 @@ +tryParseInt | @ntix/parsing
                                                                                                                          @ntix/parsing
                                                                                                                            Preparing search index...

                                                                                                                            Function tryParseInt

                                                                                                                            diff --git a/docs/functions/tryParseJson.html b/docs/functions/tryParseJson.html new file mode 100644 index 0000000..7d4c428 --- /dev/null +++ b/docs/functions/tryParseJson.html @@ -0,0 +1,4 @@ +tryParseJson | @ntix/parsing
                                                                                                                            @ntix/parsing
                                                                                                                              Preparing search index...

                                                                                                                              Function tryParseJson

                                                                                                                              • try and parse the value as a json object T

                                                                                                                                +

                                                                                                                                Type Parameters

                                                                                                                                • T

                                                                                                                                Parameters

                                                                                                                                • value: unknown

                                                                                                                                  value to parse

                                                                                                                                  +

                                                                                                                                Returns T

                                                                                                                                T or a null if failed parse or null or empty value

                                                                                                                                +
                                                                                                                              diff --git a/docs/hierarchy.html b/docs/hierarchy.html new file mode 100644 index 0000000..f4e22f1 --- /dev/null +++ b/docs/hierarchy.html @@ -0,0 +1 @@ +@ntix/parsing
                                                                                                                              @ntix/parsing
                                                                                                                                Preparing search index...
                                                                                                                                diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 0000000..05ad954 --- /dev/null +++ b/docs/index.html @@ -0,0 +1,8 @@ +@ntix/parsing
                                                                                                                                @ntix/parsing
                                                                                                                                  Preparing search index...

                                                                                                                                  @ntix/parsing

                                                                                                                                  GitHub package.json version +build +Codacy Badge +Codacy Badge

                                                                                                                                  +

                                                                                                                                  Documentation

                                                                                                                                  +

                                                                                                                                  For examples see the tests

                                                                                                                                  +

                                                                                                                                  this is a good start /src/parsing/required.spec.ts

                                                                                                                                  +
                                                                                                                                  diff --git a/docs/interfaces/Dictionary.html b/docs/interfaces/Dictionary.html new file mode 100644 index 0000000..f177da3 --- /dev/null +++ b/docs/interfaces/Dictionary.html @@ -0,0 +1 @@ +Dictionary | @ntix/parsing
                                                                                                                                  @ntix/parsing
                                                                                                                                    Preparing search index...

                                                                                                                                    Interface Dictionary<T>

                                                                                                                                    Type Parameters

                                                                                                                                    • T

                                                                                                                                    Indexable

                                                                                                                                    • [k: string]: T
                                                                                                                                    diff --git a/docs/interfaces/IArray.Parser.html b/docs/interfaces/IArray.Parser.html new file mode 100644 index 0000000..bf20ad7 --- /dev/null +++ b/docs/interfaces/IArray.Parser.html @@ -0,0 +1,14 @@ +Parser | @ntix/parsing
                                                                                                                                    @ntix/parsing
                                                                                                                                      Preparing search index...

                                                                                                                                      Interface Parser<T>

                                                                                                                                      A parser

                                                                                                                                      +
                                                                                                                                      interface Parser<T = unknown> {
                                                                                                                                          each: <U = T>(
                                                                                                                                              parser: IParser<U>,
                                                                                                                                          ) => NextBuilder<IArray.Parser<U>, "each" | "of">;
                                                                                                                                          maxLength: (
                                                                                                                                              value: number,
                                                                                                                                              exclusive?: boolean,
                                                                                                                                          ) => NextBuilder<IArray.Parser<T>, "maxLength" | "of" | "each">;
                                                                                                                                          minLength: (
                                                                                                                                              value: number,
                                                                                                                                              exclusive?: boolean,
                                                                                                                                          ) => NextBuilder<IArray.Parser<T>, "minLength" | "of" | "each">;
                                                                                                                                          not: NextBuilder<IArray.Parser<T>, "not" | "parse">;
                                                                                                                                          of: <U = T>() => NextBuilder<IArray.Parser<U>, "of" | "each">;
                                                                                                                                          parse: IParse<T[]>;
                                                                                                                                          unique: <U = T>(
                                                                                                                                              distinctor: (item: U) => unknown,
                                                                                                                                          ) => NextBuilder<IArray.Parser<U>, "unique" | "of" | "each">;
                                                                                                                                      }

                                                                                                                                      Type Parameters

                                                                                                                                      • T = unknown

                                                                                                                                      Hierarchy (View Summary)

                                                                                                                                      Implemented by

                                                                                                                                      Index

                                                                                                                                      Properties

                                                                                                                                      each: <U = T>(
                                                                                                                                          parser: IParser<U>,
                                                                                                                                      ) => NextBuilder<IArray.Parser<U>, "each" | "of">

                                                                                                                                      parse each item with a parser

                                                                                                                                      +
                                                                                                                                      maxLength: (
                                                                                                                                          value: number,
                                                                                                                                          exclusive?: boolean,
                                                                                                                                      ) => NextBuilder<IArray.Parser<T>, "maxLength" | "of" | "each">

                                                                                                                                      maximum length of the array

                                                                                                                                      +
                                                                                                                                      minLength: (
                                                                                                                                          value: number,
                                                                                                                                          exclusive?: boolean,
                                                                                                                                      ) => NextBuilder<IArray.Parser<T>, "minLength" | "of" | "each">

                                                                                                                                      minimum length of the array

                                                                                                                                      +
                                                                                                                                      not: NextBuilder<IArray.Parser<T>, "not" | "parse">
                                                                                                                                      of: <U = T>() => NextBuilder<IArray.Parser<U>, "of" | "each">

                                                                                                                                      declare the type of each item

                                                                                                                                      +
                                                                                                                                      parse: IParse<T[]>
                                                                                                                                      unique: <U = T>(
                                                                                                                                          distinctor: (item: U) => unknown,
                                                                                                                                      ) => NextBuilder<IArray.Parser<U>, "unique" | "of" | "each">

                                                                                                                                      check for uniqueness by a given distintor

                                                                                                                                      +
                                                                                                                                      diff --git a/docs/interfaces/IBoolean.Parser.html b/docs/interfaces/IBoolean.Parser.html new file mode 100644 index 0000000..397742b --- /dev/null +++ b/docs/interfaces/IBoolean.Parser.html @@ -0,0 +1,5 @@ +Parser | @ntix/parsing
                                                                                                                                      @ntix/parsing
                                                                                                                                        Preparing search index...

                                                                                                                                        Interface Parser

                                                                                                                                        A parser

                                                                                                                                        +
                                                                                                                                        interface Parser {
                                                                                                                                            not: NextBuilder<IBoolean.Parser, "not" | "parse">;
                                                                                                                                            parse: IParse<boolean>;
                                                                                                                                            equals(
                                                                                                                                                value: boolean,
                                                                                                                                            ): NextBuilder<IBoolean.Parser, "equals", "parse" | "not">;
                                                                                                                                        }

                                                                                                                                        Hierarchy (View Summary)

                                                                                                                                        Implemented by

                                                                                                                                        Index

                                                                                                                                        Properties

                                                                                                                                        Methods

                                                                                                                                        Properties

                                                                                                                                        not: NextBuilder<IBoolean.Parser, "not" | "parse">
                                                                                                                                        parse: IParse<boolean>

                                                                                                                                        Methods

                                                                                                                                        diff --git a/docs/interfaces/IComplex.Parser.html b/docs/interfaces/IComplex.Parser.html new file mode 100644 index 0000000..4520970 --- /dev/null +++ b/docs/interfaces/IComplex.Parser.html @@ -0,0 +1,5 @@ +Parser | @ntix/parsing
                                                                                                                                        @ntix/parsing
                                                                                                                                          Preparing search index...

                                                                                                                                          Interface Parser<T>

                                                                                                                                          A parser

                                                                                                                                          +
                                                                                                                                          interface Parser<T = unknown> {
                                                                                                                                              not: NextBuilder<IComplex.Parser<T>, "not" | "parse">;
                                                                                                                                              parse: IParse<T>;
                                                                                                                                              equals(
                                                                                                                                                  value: T,
                                                                                                                                              ): NextBuilder<IComplex.Parser<T>, "equals", "parse" | "not">;
                                                                                                                                          }

                                                                                                                                          Type Parameters

                                                                                                                                          • T = unknown

                                                                                                                                          Hierarchy (View Summary)

                                                                                                                                          Implemented by

                                                                                                                                          Index

                                                                                                                                          Properties

                                                                                                                                          Methods

                                                                                                                                          Properties

                                                                                                                                          not: NextBuilder<IComplex.Parser<T>, "not" | "parse">
                                                                                                                                          parse: IParse<T>

                                                                                                                                          Methods

                                                                                                                                          diff --git a/docs/interfaces/ICurrentParser.html b/docs/interfaces/ICurrentParser.html new file mode 100644 index 0000000..b720152 --- /dev/null +++ b/docs/interfaces/ICurrentParser.html @@ -0,0 +1,7 @@ +ICurrentParser | @ntix/parsing
                                                                                                                                          @ntix/parsing
                                                                                                                                            Preparing search index...

                                                                                                                                            Interface ICurrentParser<T>

                                                                                                                                            A parser function and negate value

                                                                                                                                            +

                                                                                                                                            The parse function should return a negatable (non-normal) result +ie, it should return errors on success and failure to parse +so the result can be negated

                                                                                                                                            +
                                                                                                                                            interface ICurrentParser<T> {
                                                                                                                                                negate: boolean;
                                                                                                                                                parse: IParse<T>;
                                                                                                                                            }

                                                                                                                                            Type Parameters

                                                                                                                                            • T

                                                                                                                                            Hierarchy (View Summary)

                                                                                                                                            Index

                                                                                                                                            Properties

                                                                                                                                            Properties

                                                                                                                                            negate: boolean
                                                                                                                                            parse: IParse<T>
                                                                                                                                            diff --git a/docs/interfaces/IDate.Parser.html b/docs/interfaces/IDate.Parser.html new file mode 100644 index 0000000..3aa2fa9 --- /dev/null +++ b/docs/interfaces/IDate.Parser.html @@ -0,0 +1,8 @@ +Parser | @ntix/parsing
                                                                                                                                            @ntix/parsing
                                                                                                                                              Preparing search index...

                                                                                                                                              Interface Parser

                                                                                                                                              A parser

                                                                                                                                              +
                                                                                                                                              interface Parser {
                                                                                                                                                  not: NextBuilder<IDate.Parser, "not" | "parse">;
                                                                                                                                                  parse: IParse<Date>;
                                                                                                                                                  anyOf(
                                                                                                                                                      values: DateParsableTypes[],
                                                                                                                                                  ): NextBuilder<IDate.Parser, "anyOf", "not" | "parse">;
                                                                                                                                                  equals(
                                                                                                                                                      value: DateParsableTypes,
                                                                                                                                                  ): NextBuilder<IDate.Parser, "equals", "not" | "parse">;
                                                                                                                                                  max(
                                                                                                                                                      value: DateParsableTypes,
                                                                                                                                                      exclusive?: boolean,
                                                                                                                                                  ): NextBuilder<IDate.Parser, "max", "not" | "parse">;
                                                                                                                                                  min(
                                                                                                                                                      value: DateParsableTypes,
                                                                                                                                                      exclusive?: boolean,
                                                                                                                                                  ): NextBuilder<IDate.Parser, "min", "not" | "parse">;
                                                                                                                                              }

                                                                                                                                              Hierarchy (View Summary)

                                                                                                                                              Implemented by

                                                                                                                                              Index

                                                                                                                                              Properties

                                                                                                                                              Methods

                                                                                                                                              Properties

                                                                                                                                              not: NextBuilder<IDate.Parser, "not" | "parse">
                                                                                                                                              parse: IParse<Date>

                                                                                                                                              Methods

                                                                                                                                              diff --git a/docs/interfaces/IDictionary.Parser.html b/docs/interfaces/IDictionary.Parser.html new file mode 100644 index 0000000..f36ce9a --- /dev/null +++ b/docs/interfaces/IDictionary.Parser.html @@ -0,0 +1,12 @@ +Parser | @ntix/parsing
                                                                                                                                              @ntix/parsing
                                                                                                                                                Preparing search index...

                                                                                                                                                Interface Parser<T>

                                                                                                                                                A parser

                                                                                                                                                +
                                                                                                                                                interface Parser<T = unknown> {
                                                                                                                                                    each: <U = T>(
                                                                                                                                                        parser: IParser<U>,
                                                                                                                                                    ) => NextBuilder<IDictionary.Parser<U>, "of" | "each">;
                                                                                                                                                    maxLength: (
                                                                                                                                                        value: number,
                                                                                                                                                        exclusive?: boolean,
                                                                                                                                                    ) => NextBuilder<
                                                                                                                                                        IDictionary.Parser<T>,
                                                                                                                                                        "of" | "each" | "maxLength",
                                                                                                                                                        "not" | "parse",
                                                                                                                                                    >;
                                                                                                                                                    minLength: (
                                                                                                                                                        value: number,
                                                                                                                                                        exclusive?: boolean,
                                                                                                                                                    ) => NextBuilder<
                                                                                                                                                        IDictionary.Parser<T>,
                                                                                                                                                        "of" | "each" | "minLength",
                                                                                                                                                        "not" | "parse",
                                                                                                                                                    >;
                                                                                                                                                    not: NextBuilder<IDictionary.Parser<T>, "of" | "each" | "not">;
                                                                                                                                                    of: <U>() => NextBuilder<IDictionary.Parser<U>, "of" | "each">;
                                                                                                                                                    parse: IParse<Dictionary<T>>;
                                                                                                                                                }

                                                                                                                                                Type Parameters

                                                                                                                                                • T = unknown

                                                                                                                                                Hierarchy (View Summary)

                                                                                                                                                Implemented by

                                                                                                                                                Index

                                                                                                                                                Properties

                                                                                                                                                Properties

                                                                                                                                                each: <U = T>(
                                                                                                                                                    parser: IParser<U>,
                                                                                                                                                ) => NextBuilder<IDictionary.Parser<U>, "of" | "each">

                                                                                                                                                parse each item with a parser

                                                                                                                                                +
                                                                                                                                                maxLength: (
                                                                                                                                                    value: number,
                                                                                                                                                    exclusive?: boolean,
                                                                                                                                                ) => NextBuilder<
                                                                                                                                                    IDictionary.Parser<T>,
                                                                                                                                                    "of" | "each" | "maxLength",
                                                                                                                                                    "not" | "parse",
                                                                                                                                                >

                                                                                                                                                maximum length of the array

                                                                                                                                                +
                                                                                                                                                minLength: (
                                                                                                                                                    value: number,
                                                                                                                                                    exclusive?: boolean,
                                                                                                                                                ) => NextBuilder<
                                                                                                                                                    IDictionary.Parser<T>,
                                                                                                                                                    "of" | "each" | "minLength",
                                                                                                                                                    "not" | "parse",
                                                                                                                                                >

                                                                                                                                                minimum length of the array

                                                                                                                                                +
                                                                                                                                                not: NextBuilder<IDictionary.Parser<T>, "of" | "each" | "not">
                                                                                                                                                of: <U>() => NextBuilder<IDictionary.Parser<U>, "of" | "each">

                                                                                                                                                declare the type of each item

                                                                                                                                                +
                                                                                                                                                diff --git a/docs/interfaces/IFloat.Parser.html b/docs/interfaces/IFloat.Parser.html new file mode 100644 index 0000000..c468bc9 --- /dev/null +++ b/docs/interfaces/IFloat.Parser.html @@ -0,0 +1,8 @@ +Parser | @ntix/parsing
                                                                                                                                                @ntix/parsing
                                                                                                                                                  Preparing search index...

                                                                                                                                                  Interface Parser

                                                                                                                                                  A parser

                                                                                                                                                  +
                                                                                                                                                  interface Parser {
                                                                                                                                                      not: NextBuilder<IFloat.Parser, "not" | "parse">;
                                                                                                                                                      parse: IParse<number>;
                                                                                                                                                      anyOf(
                                                                                                                                                          values: NumberParsableTypes[],
                                                                                                                                                      ): NextBuilder<IFloat.Parser, "anyOf", "not" | "parse">;
                                                                                                                                                      equals(
                                                                                                                                                          value: NumberParsableTypes,
                                                                                                                                                      ): NextBuilder<IFloat.Parser, "equals", "not" | "parse">;
                                                                                                                                                      max(
                                                                                                                                                          value: NumberParsableTypes,
                                                                                                                                                          exclusive?: boolean,
                                                                                                                                                      ): NextBuilder<IFloat.Parser, "max", "not" | "parse">;
                                                                                                                                                      min(
                                                                                                                                                          value: NumberParsableTypes,
                                                                                                                                                          exclusive?: boolean,
                                                                                                                                                      ): NextBuilder<IFloat.Parser, "min", "not" | "parse">;
                                                                                                                                                  }

                                                                                                                                                  Hierarchy (View Summary)

                                                                                                                                                  Implemented by

                                                                                                                                                  Index

                                                                                                                                                  Properties

                                                                                                                                                  Methods

                                                                                                                                                  Properties

                                                                                                                                                  not: NextBuilder<IFloat.Parser, "not" | "parse">
                                                                                                                                                  parse: IParse<number>

                                                                                                                                                  Methods

                                                                                                                                                  diff --git a/docs/interfaces/IHasLength.html b/docs/interfaces/IHasLength.html new file mode 100644 index 0000000..c9adbf4 --- /dev/null +++ b/docs/interfaces/IHasLength.html @@ -0,0 +1,2 @@ +IHasLength | @ntix/parsing
                                                                                                                                                  @ntix/parsing
                                                                                                                                                    Preparing search index...

                                                                                                                                                    Interface IHasLength

                                                                                                                                                    interface IHasLength {
                                                                                                                                                        length: number;
                                                                                                                                                    }
                                                                                                                                                    Index

                                                                                                                                                    Properties

                                                                                                                                                    Properties

                                                                                                                                                    length: number
                                                                                                                                                    diff --git a/docs/interfaces/IInt.Parser.html b/docs/interfaces/IInt.Parser.html new file mode 100644 index 0000000..9917845 --- /dev/null +++ b/docs/interfaces/IInt.Parser.html @@ -0,0 +1,9 @@ +Parser | @ntix/parsing
                                                                                                                                                    @ntix/parsing
                                                                                                                                                      Preparing search index...

                                                                                                                                                      Interface Parser

                                                                                                                                                      A parser

                                                                                                                                                      +
                                                                                                                                                      interface Parser {
                                                                                                                                                          not: NextBuilder<IInt.Parser, "not" | "parse">;
                                                                                                                                                          parse: IParse<number>;
                                                                                                                                                          withRadix: (
                                                                                                                                                              value?: number,
                                                                                                                                                          ) => NextBuilder<IInt.Parser, "withRadix", "parse">;
                                                                                                                                                          anyOf(
                                                                                                                                                              values: NumberEnumMap | NumberParsableTypes[],
                                                                                                                                                          ): NextBuilder<IInt.Parser, "anyOf", "not" | "parse">;
                                                                                                                                                          equals(
                                                                                                                                                              value: NumberParsableTypes,
                                                                                                                                                          ): NextBuilder<IInt.Parser, "equals", "not" | "parse">;
                                                                                                                                                          max(
                                                                                                                                                              value: NumberParsableTypes,
                                                                                                                                                              exclusive?: boolean,
                                                                                                                                                          ): NextBuilder<IInt.Parser, "max", "not" | "parse">;
                                                                                                                                                          min(
                                                                                                                                                              value: NumberParsableTypes,
                                                                                                                                                              exclusive?: boolean,
                                                                                                                                                          ): NextBuilder<IInt.Parser, "min", "not" | "parse">;
                                                                                                                                                      }

                                                                                                                                                      Hierarchy (View Summary)

                                                                                                                                                      Implemented by

                                                                                                                                                      Index

                                                                                                                                                      Properties

                                                                                                                                                      Methods

                                                                                                                                                      Properties

                                                                                                                                                      not: NextBuilder<IInt.Parser, "not" | "parse">
                                                                                                                                                      parse: IParse<number>
                                                                                                                                                      withRadix: (value?: number) => NextBuilder<IInt.Parser, "withRadix", "parse">

                                                                                                                                                      Methods

                                                                                                                                                      diff --git a/docs/interfaces/IJson.Parser.html b/docs/interfaces/IJson.Parser.html new file mode 100644 index 0000000..19e4904 --- /dev/null +++ b/docs/interfaces/IJson.Parser.html @@ -0,0 +1,6 @@ +Parser | @ntix/parsing
                                                                                                                                                      @ntix/parsing
                                                                                                                                                        Preparing search index...

                                                                                                                                                        Interface Parser<T>

                                                                                                                                                        A parser

                                                                                                                                                        +
                                                                                                                                                        interface Parser<T = unknown> {
                                                                                                                                                            for: <U>(schema: ComplexSchema<U>) => IComplex.Parser<U>;
                                                                                                                                                            parse: IParse<T>;
                                                                                                                                                            use: <U>(parser: ICurrentParser<U>) => IParser<U>;
                                                                                                                                                        }

                                                                                                                                                        Type Parameters

                                                                                                                                                        • T = unknown

                                                                                                                                                        Hierarchy (View Summary)

                                                                                                                                                        Implemented by

                                                                                                                                                        Index

                                                                                                                                                        Properties

                                                                                                                                                        Properties

                                                                                                                                                        for: <U>(schema: ComplexSchema<U>) => IComplex.Parser<U>
                                                                                                                                                        parse: IParse<T>
                                                                                                                                                        use: <U>(parser: ICurrentParser<U>) => IParser<U>

                                                                                                                                                        use a parser function to parse the json object

                                                                                                                                                        +
                                                                                                                                                        diff --git a/docs/interfaces/IParse.html b/docs/interfaces/IParse.html new file mode 100644 index 0000000..2cdb7f7 --- /dev/null +++ b/docs/interfaces/IParse.html @@ -0,0 +1,2 @@ +IParse | @ntix/parsing
                                                                                                                                                        @ntix/parsing
                                                                                                                                                          Preparing search index...

                                                                                                                                                          Interface IParse<T>

                                                                                                                                                          A parse function

                                                                                                                                                          +

                                                                                                                                                          Type Parameters

                                                                                                                                                          • T
                                                                                                                                                          diff --git a/docs/interfaces/IParseErrors.html b/docs/interfaces/IParseErrors.html new file mode 100644 index 0000000..f8cf569 --- /dev/null +++ b/docs/interfaces/IParseErrors.html @@ -0,0 +1 @@ +IParseErrors | @ntix/parsing
                                                                                                                                                          @ntix/parsing
                                                                                                                                                            Preparing search index...

                                                                                                                                                            Interface IParseErrors

                                                                                                                                                            Indexable

                                                                                                                                                            • [k: string]: unknown
                                                                                                                                                            diff --git a/docs/interfaces/IParseResult.html b/docs/interfaces/IParseResult.html new file mode 100644 index 0000000..7f82fcd --- /dev/null +++ b/docs/interfaces/IParseResult.html @@ -0,0 +1,5 @@ +IParseResult | @ntix/parsing
                                                                                                                                                            @ntix/parsing
                                                                                                                                                              Preparing search index...

                                                                                                                                                              Interface IParseResult<T>

                                                                                                                                                              A Parse result which always returns with ParseErrors to enable negate

                                                                                                                                                              +
                                                                                                                                                              interface IParseResult<T> {
                                                                                                                                                                  errors: IParseErrors;
                                                                                                                                                                  success: boolean;
                                                                                                                                                                  value: T;
                                                                                                                                                              }

                                                                                                                                                              Type Parameters

                                                                                                                                                              • T
                                                                                                                                                              Index

                                                                                                                                                              Properties

                                                                                                                                                              Properties

                                                                                                                                                              errors: IParseErrors
                                                                                                                                                              success: boolean
                                                                                                                                                              value: T
                                                                                                                                                              diff --git a/docs/interfaces/IParser.html b/docs/interfaces/IParser.html new file mode 100644 index 0000000..0d0b353 --- /dev/null +++ b/docs/interfaces/IParser.html @@ -0,0 +1,3 @@ +IParser | @ntix/parsing
                                                                                                                                                              @ntix/parsing
                                                                                                                                                                Preparing search index...

                                                                                                                                                                Interface IParser<T>

                                                                                                                                                                A parser

                                                                                                                                                                +
                                                                                                                                                                interface IParser<T> {
                                                                                                                                                                    parse: IParse<T>;
                                                                                                                                                                }

                                                                                                                                                                Type Parameters

                                                                                                                                                                • T

                                                                                                                                                                Hierarchy (View Summary)

                                                                                                                                                                Index

                                                                                                                                                                Properties

                                                                                                                                                                Properties

                                                                                                                                                                parse: IParse<T>
                                                                                                                                                                diff --git a/docs/interfaces/IRoot.Parser.html b/docs/interfaces/IRoot.Parser.html new file mode 100644 index 0000000..bfbffb8 --- /dev/null +++ b/docs/interfaces/IRoot.Parser.html @@ -0,0 +1,17 @@ +Parser | @ntix/parsing
                                                                                                                                                                @ntix/parsing
                                                                                                                                                                  Preparing search index...

                                                                                                                                                                  Interface Parser

                                                                                                                                                                  A parser

                                                                                                                                                                  +
                                                                                                                                                                  interface Parser {
                                                                                                                                                                      array: NextBuilder<IArray.Parser, never, "of">;
                                                                                                                                                                      boolean: IBoolean.Parser;
                                                                                                                                                                      date: IDate.Parser;
                                                                                                                                                                      dictionary: IDictionary.Parser;
                                                                                                                                                                      float: IFloat.Parser;
                                                                                                                                                                      for: <T>(schema: ComplexSchema<T>) => IComplex.Parser<T>;
                                                                                                                                                                      int: IInt.Parser;
                                                                                                                                                                      json: IJson.Parser;
                                                                                                                                                                      not: NextBuilder<IRoot.Parser, "not" | "parse">;
                                                                                                                                                                      parse: IParse<unknown>;
                                                                                                                                                                      required: NextBuilder<IRoot.Parser, "required">;
                                                                                                                                                                      string: IString.Parser;
                                                                                                                                                                      use: <T>(parser: IParser<T>) => IParser<T>;
                                                                                                                                                                  }

                                                                                                                                                                  Hierarchy (View Summary)

                                                                                                                                                                  Implemented by

                                                                                                                                                                  Index

                                                                                                                                                                  Properties

                                                                                                                                                                  array: NextBuilder<IArray.Parser, never, "of">
                                                                                                                                                                  boolean: IBoolean.Parser
                                                                                                                                                                  dictionary: IDictionary.Parser
                                                                                                                                                                  float: IFloat.Parser
                                                                                                                                                                  for: <T>(schema: ComplexSchema<T>) => IComplex.Parser<T>

                                                                                                                                                                  get a complex schema

                                                                                                                                                                  +
                                                                                                                                                                  not: NextBuilder<IRoot.Parser, "not" | "parse">
                                                                                                                                                                  parse: IParse<unknown>
                                                                                                                                                                  required: NextBuilder<IRoot.Parser, "required">
                                                                                                                                                                  string: IString.Parser
                                                                                                                                                                  use: <T>(parser: IParser<T>) => IParser<T>

                                                                                                                                                                  use a parser function to parse the value

                                                                                                                                                                  +
                                                                                                                                                                  diff --git a/docs/interfaces/IString.Parser.html b/docs/interfaces/IString.Parser.html new file mode 100644 index 0000000..0ff44cb --- /dev/null +++ b/docs/interfaces/IString.Parser.html @@ -0,0 +1,12 @@ +Parser | @ntix/parsing
                                                                                                                                                                  @ntix/parsing
                                                                                                                                                                    Preparing search index...

                                                                                                                                                                    Interface Parser

                                                                                                                                                                    A parser

                                                                                                                                                                    +
                                                                                                                                                                    interface Parser {
                                                                                                                                                                        not: NextBuilder<IString.Parser, "not" | "parse">;
                                                                                                                                                                        parse: IParse<string>;
                                                                                                                                                                        anyOf(
                                                                                                                                                                            values: string[],
                                                                                                                                                                            ignoreCase?: boolean,
                                                                                                                                                                        ): NextBuilder<IString.Parser, "anyOf", "not" | "parse">;
                                                                                                                                                                        endsWith(
                                                                                                                                                                            value: string,
                                                                                                                                                                            ignoreCase?: boolean,
                                                                                                                                                                        ): NextBuilder<IString.Parser, "endsWith" | "matches", "not" | "parse">;
                                                                                                                                                                        equals(
                                                                                                                                                                            value: string,
                                                                                                                                                                            ignoreCase?: boolean,
                                                                                                                                                                        ): NextBuilder<IString.Parser, "equals", "not" | "parse">;
                                                                                                                                                                        includes(
                                                                                                                                                                            value: string,
                                                                                                                                                                            ignoreCase?: boolean,
                                                                                                                                                                        ): NextBuilder<IString.Parser, "includes" | "matches", "not" | "parse">;
                                                                                                                                                                        matches(
                                                                                                                                                                            value: string | RegExp,
                                                                                                                                                                            name?: string,
                                                                                                                                                                        ): NextBuilder<
                                                                                                                                                                            IString.Parser,
                                                                                                                                                                            "matches"
                                                                                                                                                                            | "includes"
                                                                                                                                                                            | "startsWith"
                                                                                                                                                                            | "endsWith",
                                                                                                                                                                            "not" | "parse",
                                                                                                                                                                        >;
                                                                                                                                                                        maxLength(
                                                                                                                                                                            value: number,
                                                                                                                                                                            exclusive?: boolean,
                                                                                                                                                                        ): NextBuilder<IString.Parser, "maxLength", "not" | "parse">;
                                                                                                                                                                        minLength(
                                                                                                                                                                            value: number,
                                                                                                                                                                            exclusive?: boolean,
                                                                                                                                                                        ): NextBuilder<IString.Parser, "minLength", "not" | "parse">;
                                                                                                                                                                        startsWith(
                                                                                                                                                                            value: string,
                                                                                                                                                                            ignoreCase?: boolean,
                                                                                                                                                                        ): NextBuilder<IString.Parser, "startsWith" | "matches", "not" | "parse">;
                                                                                                                                                                    }

                                                                                                                                                                    Hierarchy (View Summary)

                                                                                                                                                                    Implemented by

                                                                                                                                                                    Index

                                                                                                                                                                    Properties

                                                                                                                                                                    not: NextBuilder<IString.Parser, "not" | "parse">
                                                                                                                                                                    parse: IParse<string>

                                                                                                                                                                    Methods

                                                                                                                                                                    • Parameters

                                                                                                                                                                      • value: string | RegExp
                                                                                                                                                                      • Optionalname: string

                                                                                                                                                                      Returns NextBuilder<
                                                                                                                                                                          IString.Parser,
                                                                                                                                                                          "matches"
                                                                                                                                                                          | "includes"
                                                                                                                                                                          | "startsWith"
                                                                                                                                                                          | "endsWith",
                                                                                                                                                                          "not" | "parse",
                                                                                                                                                                      >

                                                                                                                                                                    diff --git a/docs/interfaces/NumberEnumMap.html b/docs/interfaces/NumberEnumMap.html new file mode 100644 index 0000000..81b3b25 --- /dev/null +++ b/docs/interfaces/NumberEnumMap.html @@ -0,0 +1,2 @@ +NumberEnumMap | @ntix/parsing
                                                                                                                                                                    @ntix/parsing
                                                                                                                                                                      Preparing search index...

                                                                                                                                                                      Interface NumberEnumMap

                                                                                                                                                                      A number enum map object

                                                                                                                                                                      +

                                                                                                                                                                      Indexable

                                                                                                                                                                      • [n: string]: string | number
                                                                                                                                                                      diff --git a/docs/media/required.spec.ts b/docs/media/required.spec.ts new file mode 100644 index 0000000..4eb7795 --- /dev/null +++ b/docs/media/required.spec.ts @@ -0,0 +1,38 @@ +import { Is } from '../Is'; +import { ParseErrors } from './ParseErrors'; + +describe('required', () => { + const schema = Is.required; + + it('success', () => { + const value = 1; + const result = schema.parse(value); + + expect(result.errors).toEqual(ParseErrors.empty); + expect(result.value).toBe(value); + }); + + it('failure undefined', () => { + const value = undefined; + const result = schema.parse(value); + + expect(result.errors).toEqual(ParseErrors.required); + expect(result.value).toBe(value); + }); + + it('failure null', () => { + const value = null; + const result = schema.parse(value); + + expect(result.errors).toEqual(ParseErrors.required); + expect(result.value).toBe(value); + }); + + it('failure empty string', () => { + const value = ''; + const result = schema.parse(value); + + expect(result.errors).toEqual(ParseErrors.required); + expect(result.value).toBe(value); + }); +}); diff --git a/docs/modules.html b/docs/modules.html new file mode 100644 index 0000000..d0a9740 --- /dev/null +++ b/docs/modules.html @@ -0,0 +1 @@ +@ntix/parsing
                                                                                                                                                                      @ntix/parsing
                                                                                                                                                                        Preparing search index...
                                                                                                                                                                        diff --git a/docs/modules/IArray.html b/docs/modules/IArray.html new file mode 100644 index 0000000..0715949 --- /dev/null +++ b/docs/modules/IArray.html @@ -0,0 +1,2 @@ +IArray | @ntix/parsing
                                                                                                                                                                        @ntix/parsing
                                                                                                                                                                          Preparing search index...

                                                                                                                                                                          Namespace IArray

                                                                                                                                                                          Fluent API interfaces for arrays

                                                                                                                                                                          +

                                                                                                                                                                          Interfaces

                                                                                                                                                                          Parser
                                                                                                                                                                          diff --git a/docs/modules/IBoolean.html b/docs/modules/IBoolean.html new file mode 100644 index 0000000..ff0955c --- /dev/null +++ b/docs/modules/IBoolean.html @@ -0,0 +1,2 @@ +IBoolean | @ntix/parsing
                                                                                                                                                                          @ntix/parsing
                                                                                                                                                                            Preparing search index...

                                                                                                                                                                            Namespace IBoolean

                                                                                                                                                                            Fluent API interfaces for booleans

                                                                                                                                                                            +

                                                                                                                                                                            Interfaces

                                                                                                                                                                            Parser
                                                                                                                                                                            diff --git a/docs/modules/IComplex.html b/docs/modules/IComplex.html new file mode 100644 index 0000000..20ff317 --- /dev/null +++ b/docs/modules/IComplex.html @@ -0,0 +1 @@ +IComplex | @ntix/parsing
                                                                                                                                                                            @ntix/parsing
                                                                                                                                                                              Preparing search index...

                                                                                                                                                                              Namespace IComplex

                                                                                                                                                                              Interfaces

                                                                                                                                                                              Parser
                                                                                                                                                                              diff --git a/docs/modules/IDate.html b/docs/modules/IDate.html new file mode 100644 index 0000000..6e457f9 --- /dev/null +++ b/docs/modules/IDate.html @@ -0,0 +1,2 @@ +IDate | @ntix/parsing
                                                                                                                                                                              @ntix/parsing
                                                                                                                                                                                Preparing search index...

                                                                                                                                                                                Namespace IDate

                                                                                                                                                                                Fluent API interfaces for dates

                                                                                                                                                                                +

                                                                                                                                                                                Interfaces

                                                                                                                                                                                Parser
                                                                                                                                                                                diff --git a/docs/modules/IDictionary.html b/docs/modules/IDictionary.html new file mode 100644 index 0000000..7de3081 --- /dev/null +++ b/docs/modules/IDictionary.html @@ -0,0 +1,2 @@ +IDictionary | @ntix/parsing
                                                                                                                                                                                @ntix/parsing
                                                                                                                                                                                  Preparing search index...

                                                                                                                                                                                  Namespace IDictionary

                                                                                                                                                                                  Fluent API interfaces for Dictionaries

                                                                                                                                                                                  +

                                                                                                                                                                                  Interfaces

                                                                                                                                                                                  Parser
                                                                                                                                                                                  diff --git a/docs/modules/IFloat.html b/docs/modules/IFloat.html new file mode 100644 index 0000000..907a543 --- /dev/null +++ b/docs/modules/IFloat.html @@ -0,0 +1,2 @@ +IFloat | @ntix/parsing
                                                                                                                                                                                  @ntix/parsing
                                                                                                                                                                                    Preparing search index...

                                                                                                                                                                                    Namespace IFloat

                                                                                                                                                                                    Fluent API interfaces for floating points

                                                                                                                                                                                    +

                                                                                                                                                                                    Interfaces

                                                                                                                                                                                    Parser
                                                                                                                                                                                    diff --git a/docs/modules/IInt.html b/docs/modules/IInt.html new file mode 100644 index 0000000..c45242d --- /dev/null +++ b/docs/modules/IInt.html @@ -0,0 +1,2 @@ +IInt | @ntix/parsing
                                                                                                                                                                                    @ntix/parsing
                                                                                                                                                                                      Preparing search index...

                                                                                                                                                                                      Namespace IInt

                                                                                                                                                                                      Fluent API interfaces for integers

                                                                                                                                                                                      +

                                                                                                                                                                                      Interfaces

                                                                                                                                                                                      Parser
                                                                                                                                                                                      diff --git a/docs/modules/IJson.html b/docs/modules/IJson.html new file mode 100644 index 0000000..f49469d --- /dev/null +++ b/docs/modules/IJson.html @@ -0,0 +1,2 @@ +IJson | @ntix/parsing
                                                                                                                                                                                      @ntix/parsing
                                                                                                                                                                                        Preparing search index...

                                                                                                                                                                                        Namespace IJson

                                                                                                                                                                                        Fluent API interfaces for JSON

                                                                                                                                                                                        +

                                                                                                                                                                                        Interfaces

                                                                                                                                                                                        Parser
                                                                                                                                                                                        diff --git a/docs/modules/IRoot.html b/docs/modules/IRoot.html new file mode 100644 index 0000000..b3febb0 --- /dev/null +++ b/docs/modules/IRoot.html @@ -0,0 +1 @@ +IRoot | @ntix/parsing
                                                                                                                                                                                        @ntix/parsing
                                                                                                                                                                                          Preparing search index...

                                                                                                                                                                                          Namespace IRoot

                                                                                                                                                                                          Interfaces

                                                                                                                                                                                          Parser
                                                                                                                                                                                          diff --git a/docs/modules/IString.html b/docs/modules/IString.html new file mode 100644 index 0000000..b046186 --- /dev/null +++ b/docs/modules/IString.html @@ -0,0 +1,2 @@ +IString | @ntix/parsing
                                                                                                                                                                                          @ntix/parsing
                                                                                                                                                                                            Preparing search index...

                                                                                                                                                                                            Namespace IString

                                                                                                                                                                                            Fluent API interfaces for strings

                                                                                                                                                                                            +

                                                                                                                                                                                            Interfaces

                                                                                                                                                                                            Parser
                                                                                                                                                                                            diff --git a/docs/types/ComplexSchema.html b/docs/types/ComplexSchema.html new file mode 100644 index 0000000..3480891 --- /dev/null +++ b/docs/types/ComplexSchema.html @@ -0,0 +1 @@ +ComplexSchema | @ntix/parsing
                                                                                                                                                                                            @ntix/parsing
                                                                                                                                                                                              Preparing search index...

                                                                                                                                                                                              Type Alias ComplexSchema<T>

                                                                                                                                                                                              ComplexSchema: { [k in keyof T]: IParser<T[k]> }

                                                                                                                                                                                              Type Parameters

                                                                                                                                                                                              • T
                                                                                                                                                                                              diff --git a/docs/types/DateParsableTypes.html b/docs/types/DateParsableTypes.html new file mode 100644 index 0000000..e425548 --- /dev/null +++ b/docs/types/DateParsableTypes.html @@ -0,0 +1,2 @@ +DateParsableTypes | @ntix/parsing
                                                                                                                                                                                              @ntix/parsing
                                                                                                                                                                                                Preparing search index...

                                                                                                                                                                                                Type Alias DateParsableTypes

                                                                                                                                                                                                DateParsableTypes: Date | string | number

                                                                                                                                                                                                Types which can be parsed to a date

                                                                                                                                                                                                +
                                                                                                                                                                                                diff --git a/docs/types/NextBuilder.html b/docs/types/NextBuilder.html new file mode 100644 index 0000000..a98154e --- /dev/null +++ b/docs/types/NextBuilder.html @@ -0,0 +1,2 @@ +NextBuilder | @ntix/parsing
                                                                                                                                                                                                @ntix/parsing
                                                                                                                                                                                                  Preparing search index...

                                                                                                                                                                                                  Type Alias NextBuilder<P, remove, add>

                                                                                                                                                                                                  NextBuilder: { [K in Exclude<keyof P, Exclude<remove, add>>]: P[K] }

                                                                                                                                                                                                  removes/adds given methods from the builder

                                                                                                                                                                                                  +

                                                                                                                                                                                                  Type Parameters

                                                                                                                                                                                                  • P
                                                                                                                                                                                                  • remove extends keyof P = never
                                                                                                                                                                                                  • add extends keyof P = never
                                                                                                                                                                                                  diff --git a/docs/types/NumberParsableTypes.html b/docs/types/NumberParsableTypes.html new file mode 100644 index 0000000..e1d1752 --- /dev/null +++ b/docs/types/NumberParsableTypes.html @@ -0,0 +1 @@ +NumberParsableTypes | @ntix/parsing
                                                                                                                                                                                                  @ntix/parsing
                                                                                                                                                                                                    Preparing search index...

                                                                                                                                                                                                    Type Alias NumberParsableTypes

                                                                                                                                                                                                    NumberParsableTypes: string | number
                                                                                                                                                                                                    diff --git a/docs/types/RelationalValidatorTypes.html b/docs/types/RelationalValidatorTypes.html new file mode 100644 index 0000000..7d02673 --- /dev/null +++ b/docs/types/RelationalValidatorTypes.html @@ -0,0 +1,2 @@ +RelationalValidatorTypes | @ntix/parsing
                                                                                                                                                                                                    @ntix/parsing
                                                                                                                                                                                                      Preparing search index...

                                                                                                                                                                                                      Type Alias RelationalValidatorTypes

                                                                                                                                                                                                      RelationalValidatorTypes: number | Date

                                                                                                                                                                                                      can compare with > < etc

                                                                                                                                                                                                      +
                                                                                                                                                                                                      diff --git a/docs/variables/BOOLEANS_FALSE.html b/docs/variables/BOOLEANS_FALSE.html new file mode 100644 index 0000000..5b9aae8 --- /dev/null +++ b/docs/variables/BOOLEANS_FALSE.html @@ -0,0 +1,2 @@ +BOOLEANS_FALSE | @ntix/parsing
                                                                                                                                                                                                      @ntix/parsing
                                                                                                                                                                                                        Preparing search index...

                                                                                                                                                                                                        Variable BOOLEANS_FALSEConst

                                                                                                                                                                                                        BOOLEANS_FALSE: (string | number)[] = ...

                                                                                                                                                                                                        values considered to be a boolean false

                                                                                                                                                                                                        +
                                                                                                                                                                                                        diff --git a/docs/variables/BOOLEANS_TRUE.html b/docs/variables/BOOLEANS_TRUE.html new file mode 100644 index 0000000..89372f5 --- /dev/null +++ b/docs/variables/BOOLEANS_TRUE.html @@ -0,0 +1,2 @@ +BOOLEANS_TRUE | @ntix/parsing
                                                                                                                                                                                                        @ntix/parsing
                                                                                                                                                                                                          Preparing search index...

                                                                                                                                                                                                          Variable BOOLEANS_TRUEConst

                                                                                                                                                                                                          BOOLEANS_TRUE: (string | number)[] = ...

                                                                                                                                                                                                          values considered to be a boolean true

                                                                                                                                                                                                          +
                                                                                                                                                                                                          diff --git a/docs/variables/DATE_SETTINGS.html b/docs/variables/DATE_SETTINGS.html new file mode 100644 index 0000000..9451570 --- /dev/null +++ b/docs/variables/DATE_SETTINGS.html @@ -0,0 +1,2 @@ +DATE_SETTINGS | @ntix/parsing
                                                                                                                                                                                                          @ntix/parsing
                                                                                                                                                                                                            Preparing search index...

                                                                                                                                                                                                            Variable DATE_SETTINGSConst

                                                                                                                                                                                                            DATE_SETTINGS: {
                                                                                                                                                                                                                formatDayFirst: boolean;
                                                                                                                                                                                                                parseDayFirst: boolean;
                                                                                                                                                                                                                shortRE: RegExp;
                                                                                                                                                                                                            } = ...

                                                                                                                                                                                                            Global date parsing settings

                                                                                                                                                                                                            +

                                                                                                                                                                                                            Type Declaration

                                                                                                                                                                                                            • formatDayFirst: boolean
                                                                                                                                                                                                            • parseDayFirst: boolean
                                                                                                                                                                                                            • shortRE: RegExp
                                                                                                                                                                                                            diff --git a/docs/variables/isObject.html b/docs/variables/isObject.html new file mode 100644 index 0000000..3a6c708 --- /dev/null +++ b/docs/variables/isObject.html @@ -0,0 +1,4 @@ +isObject | @ntix/parsing
                                                                                                                                                                                                            @ntix/parsing
                                                                                                                                                                                                              Preparing search index...

                                                                                                                                                                                                              Variable isObjectConst

                                                                                                                                                                                                              isObject: (value: unknown) => boolean = ...

                                                                                                                                                                                                              check a value is an object

                                                                                                                                                                                                              +

                                                                                                                                                                                                              Type Declaration

                                                                                                                                                                                                                • (value: unknown): boolean
                                                                                                                                                                                                                • Parameters

                                                                                                                                                                                                                  • value: unknown

                                                                                                                                                                                                                    value to check

                                                                                                                                                                                                                    +

                                                                                                                                                                                                                  Returns boolean

                                                                                                                                                                                                                  true if value is an object

                                                                                                                                                                                                                  +
                                                                                                                                                                                                              diff --git a/docs/variables/stringOfLength.html b/docs/variables/stringOfLength.html new file mode 100644 index 0000000..ab6d301 --- /dev/null +++ b/docs/variables/stringOfLength.html @@ -0,0 +1 @@ +stringOfLength | @ntix/parsing
                                                                                                                                                                                                              @ntix/parsing
                                                                                                                                                                                                                Preparing search index...

                                                                                                                                                                                                                Variable stringOfLengthConst

                                                                                                                                                                                                                stringOfLength: (length: number) => string = ...

                                                                                                                                                                                                                Type Declaration

                                                                                                                                                                                                                  • (length: number): string
                                                                                                                                                                                                                  • Parameters

                                                                                                                                                                                                                    • length: number

                                                                                                                                                                                                                    Returns string

                                                                                                                                                                                                                diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 0000000..c2a90b3 --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,42 @@ +import globals from 'globals'; +import eslint from '@eslint/js'; +import tseslint from 'typescript-eslint'; + +export default [ + eslint.configs.recommended, + + ...tseslint.configs.recommended, + + { + files: ['**/*.{js,ts}'], + + languageOptions: { + globals: { + ...globals.browser, + ...globals.node, + }, + }, + + rules: { + 'semi': ['error', 'always'], + 'quotes': ['error', 'single'], + 'indent': ['error', 2], + 'comma-style': ['error', 'last'], + 'comma-spacing': ['error'], + 'comma-dangle': ['error', 'never'], + 'no-multi-spaces': ['error', {}], + 'function-paren-newline': ['error', 'consistent'], + 'function-call-argument-newline': ['error', 'consistent'], + 'no-multiple-empty-lines': ['error', { 'max': 1, 'maxEOF': 0 }], + 'sort-imports': ['error', { 'allowSeparatedGroups': false, 'ignoreDeclarationSort': true }], + 'eol-last': ['error', 'always'], + 'no-shadow': 'off', + '@typescript-eslint/consistent-type-definitions': ['error', 'interface'], + '@typescript-eslint/no-empty-interface': 'off', + '@typescript-eslint/no-explicit-any': 'warn', + '@typescript-eslint/no-namespace': 'off', + '@typescript-eslint/no-shadow': 'warn', + '@typescript-eslint/no-unused-vars': 'off', + }, + }, +]; \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 4fcece0..79f7575 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,6 +8,9 @@ "name": "@ntix/parsing", "version": "1.2.0", "license": "MIT", + "dependencies": { + "typescript-eslint": "^8.49.0" + }, "devDependencies": { "@rollup/plugin-typescript": "^12.3.0", "@rollup/wasm-node": "^4.53.3", @@ -32,7 +35,6 @@ "version": "1.2.6", "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -933,7 +935,6 @@ "version": "4.9.0", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz", "integrity": "sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==", - "dev": true, "license": "MIT", "dependencies": { "eslint-visitor-keys": "^3.4.3" @@ -952,7 +953,6 @@ "version": "4.12.2", "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", - "dev": true, "license": "MIT", "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" @@ -962,7 +962,6 @@ "version": "0.21.1", "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.1.tgz", "integrity": "sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==", - "dev": true, "license": "Apache-2.0", "dependencies": { "@eslint/object-schema": "^2.1.7", @@ -977,7 +976,6 @@ "version": "0.4.2", "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz", "integrity": "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==", - "dev": true, "license": "Apache-2.0", "dependencies": { "@eslint/core": "^0.17.0" @@ -990,7 +988,6 @@ "version": "0.17.0", "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz", "integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==", - "dev": true, "license": "Apache-2.0", "dependencies": { "@types/json-schema": "^7.0.15" @@ -1003,7 +1000,6 @@ "version": "9.39.1", "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.1.tgz", "integrity": "sha512-S26Stp4zCy88tH94QbBv3XCuzRQiZ9yXofEILmglYTh/Ug/a9/umqvgFtYBAo3Lp0nsI/5/qH1CCrbdK3AP1Tw==", - "dev": true, "license": "MIT", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1016,7 +1012,6 @@ "version": "2.1.7", "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz", "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==", - "dev": true, "license": "Apache-2.0", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1026,7 +1021,6 @@ "version": "0.4.1", "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz", "integrity": "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==", - "dev": true, "license": "Apache-2.0", "dependencies": { "@eslint/core": "^0.17.0", @@ -1064,7 +1058,6 @@ "version": "0.19.1", "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", - "dev": true, "license": "Apache-2.0", "engines": { "node": ">=18.18.0" @@ -1074,7 +1067,6 @@ "version": "0.16.7", "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", - "dev": true, "license": "Apache-2.0", "dependencies": { "@humanfs/core": "^0.19.1", @@ -1088,7 +1080,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, "engines": { "node": ">=12.22" }, @@ -1101,7 +1092,6 @@ "version": "0.4.3", "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", - "dev": true, "license": "Apache-2.0", "engines": { "node": ">=18.18" @@ -3433,7 +3423,6 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", - "dev": true, "license": "MIT" }, "node_modules/@types/hast": { @@ -3488,7 +3477,6 @@ "version": "7.0.15", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true, "license": "MIT" }, "node_modules/@types/node": { @@ -3538,6 +3526,274 @@ "integrity": "sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==", "dev": true }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "8.49.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.49.0.tgz", + "integrity": "sha512-JXij0vzIaTtCwu6SxTh8qBc66kmf1xs7pI4UOiMDFVct6q86G0Zs7KRcEoJgY3Cav3x5Tq0MF5jwgpgLqgKG3A==", + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "8.49.0", + "@typescript-eslint/type-utils": "8.49.0", + "@typescript-eslint/utils": "8.49.0", + "@typescript-eslint/visitor-keys": "8.49.0", + "ignore": "^7.0.0", + "natural-compare": "^1.4.0", + "ts-api-utils": "^2.1.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^8.49.0", + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "8.49.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.49.0.tgz", + "integrity": "sha512-N9lBGA9o9aqb1hVMc9hzySbhKibHmB+N3IpoShyV6HyQYRGIhlrO5rQgttypi+yEeKsKI4idxC8Jw6gXKD4THA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@typescript-eslint/scope-manager": "8.49.0", + "@typescript-eslint/types": "8.49.0", + "@typescript-eslint/typescript-estree": "8.49.0", + "@typescript-eslint/visitor-keys": "8.49.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/project-service": { + "version": "8.49.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.49.0.tgz", + "integrity": "sha512-/wJN0/DKkmRUMXjZUXYZpD1NEQzQAAn9QWfGwo+Ai8gnzqH7tvqS7oNVdTjKqOcPyVIdZdyCMoqN66Ia789e7g==", + "license": "MIT", + "dependencies": { + "@typescript-eslint/tsconfig-utils": "^8.49.0", + "@typescript-eslint/types": "^8.49.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "8.49.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.49.0.tgz", + "integrity": "sha512-npgS3zi+/30KSOkXNs0LQXtsg9ekZ8OISAOLGWA/ZOEn0ZH74Ginfl7foziV8DT+D98WfQ5Kopwqb/PZOaIJGg==", + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.49.0", + "@typescript-eslint/visitor-keys": "8.49.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/tsconfig-utils": { + "version": "8.49.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.49.0.tgz", + "integrity": "sha512-8prixNi1/6nawsRYxet4YOhnbW+W9FK/bQPxsGB1D3ZrDzbJ5FXw5XmzxZv82X3B+ZccuSxo/X8q9nQ+mFecWA==", + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "8.49.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.49.0.tgz", + "integrity": "sha512-KTExJfQ+svY8I10P4HdxKzWsvtVnsuCifU5MvXrRwoP2KOlNZ9ADNEWWsQTJgMxLzS5VLQKDjkCT/YzgsnqmZg==", + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.49.0", + "@typescript-eslint/typescript-estree": "8.49.0", + "@typescript-eslint/utils": "8.49.0", + "debug": "^4.3.4", + "ts-api-utils": "^2.1.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "8.49.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.49.0.tgz", + "integrity": "sha512-e9k/fneezorUo6WShlQpMxXh8/8wfyc+biu6tnAqA81oWrEic0k21RHzP9uqqpyBBeBKu4T+Bsjy9/b8u7obXQ==", + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "8.49.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.49.0.tgz", + "integrity": "sha512-jrLdRuAbPfPIdYNppHJ/D0wN+wwNfJ32YTAm10eJVsFmrVpXQnDWBn8niCSMlWjvml8jsce5E/O+86IQtTbJWA==", + "license": "MIT", + "dependencies": { + "@typescript-eslint/project-service": "8.49.0", + "@typescript-eslint/tsconfig-utils": "8.49.0", + "@typescript-eslint/types": "8.49.0", + "@typescript-eslint/visitor-keys": "8.49.0", + "debug": "^4.3.4", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "tinyglobby": "^0.2.15", + "ts-api-utils": "^2.1.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "8.49.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.49.0.tgz", + "integrity": "sha512-N3W7rJw7Rw+z1tRsHZbK395TWSYvufBXumYtEGzypgMUthlg0/hmCImeA8hgO2d2G4pd7ftpxxul2J8OdtdaFA==", + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.7.0", + "@typescript-eslint/scope-manager": "8.49.0", + "@typescript-eslint/types": "8.49.0", + "@typescript-eslint/typescript-estree": "8.49.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "8.49.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.49.0.tgz", + "integrity": "sha512-LlKaciDe3GmZFphXIc79THF/YYBugZ7FS1pO581E/edlVVNbZKDy93evqmrfQ9/Y4uN0vVhX4iuchq26mK/iiA==", + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.49.0", + "eslint-visitor-keys": "^4.2.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, "node_modules/@ungap/structured-clone": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", @@ -3825,7 +4081,6 @@ "version": "8.15.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", - "dev": true, "license": "MIT", "peer": true, "bin": { @@ -3839,7 +4094,6 @@ "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } @@ -3881,7 +4135,6 @@ "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -4188,8 +4441,7 @@ "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, "node_modules/barrelsby": { "version": "2.8.1", @@ -4415,10 +4667,10 @@ } }, "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -4547,7 +4799,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, "engines": { "node": ">=6" } @@ -5152,8 +5403,7 @@ "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "node_modules/config-chain": { "version": "1.1.13", @@ -5346,7 +5596,6 @@ "version": "7.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, "license": "MIT", "dependencies": { "path-key": "^3.1.0", @@ -5410,7 +5659,6 @@ "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, "dependencies": { "ms": "2.1.2" }, @@ -5441,8 +5689,7 @@ "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" }, "node_modules/deepmerge": { "version": "4.3.1", @@ -5669,7 +5916,6 @@ "version": "9.39.1", "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.1.tgz", "integrity": "sha512-BhHmn2yNOFA9H9JmmIVKJmd288g9hrVRDkdoIgRCRuSySRUHH7r/DI6aAXW9T1WwUuY3DFgrcaqB+deURBLR5g==", - "dev": true, "license": "MIT", "peer": true, "dependencies": { @@ -5730,7 +5976,6 @@ "version": "3.4.3", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -5742,7 +5987,6 @@ "version": "3.3.3", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.3.tgz", "integrity": "sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ==", - "dev": true, "license": "MIT", "dependencies": { "ajv": "^6.12.4", @@ -5766,7 +6010,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -5781,14 +6024,12 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true, "license": "Python-2.0" }, "node_modules/eslint/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -5804,7 +6045,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, "dependencies": { "color-name": "~1.1.4" }, @@ -5815,14 +6055,12 @@ "node_modules/eslint/node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "node_modules/eslint/node_modules/escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, "engines": { "node": ">=10" }, @@ -5834,7 +6072,6 @@ "version": "8.4.0", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", - "dev": true, "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", @@ -5851,7 +6088,6 @@ "version": "4.2.1", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", - "dev": true, "license": "Apache-2.0", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -5864,7 +6100,6 @@ "version": "10.4.0", "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", - "dev": true, "license": "BSD-2-Clause", "dependencies": { "acorn": "^8.15.0", @@ -5882,7 +6117,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" @@ -5898,7 +6132,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, "engines": { "node": ">=8" } @@ -5907,7 +6140,6 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", - "dev": true, "license": "MIT", "dependencies": { "argparse": "^2.0.1" @@ -5920,7 +6152,6 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, "dependencies": { "p-locate": "^5.0.0" }, @@ -5935,7 +6166,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, "dependencies": { "yocto-queue": "^0.1.0" }, @@ -5950,7 +6180,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, "dependencies": { "p-limit": "^3.0.2" }, @@ -5965,7 +6194,6 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -5978,7 +6206,6 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -6004,7 +6231,6 @@ "version": "1.5.0", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", - "dev": true, "dependencies": { "estraverse": "^5.1.0" }, @@ -6016,7 +6242,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, "dependencies": { "estraverse": "^5.2.0" }, @@ -6028,7 +6253,6 @@ "version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, "engines": { "node": ">=4.0" } @@ -6043,7 +6267,6 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -6247,8 +6470,7 @@ "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "node_modules/fast-glob": { "version": "3.3.3", @@ -6282,14 +6504,12 @@ "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, "node_modules/fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" }, "node_modules/fastq": { "version": "1.13.0", @@ -6325,7 +6545,6 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", - "dev": true, "license": "MIT", "dependencies": { "flat-cache": "^4.0.0" @@ -6425,7 +6644,6 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", - "dev": true, "license": "MIT", "dependencies": { "flatted": "^3.2.9", @@ -6439,7 +6657,6 @@ "version": "3.3.3", "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", - "dev": true, "license": "ISC" }, "node_modules/foreground-child": { @@ -6651,7 +6868,6 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, "dependencies": { "is-glob": "^4.0.3" }, @@ -6718,7 +6934,6 @@ "version": "14.0.0", "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", - "dev": true, "license": "MIT", "engines": { "node": ">=18" @@ -6892,7 +7107,6 @@ "version": "5.2.4", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "dev": true, "engines": { "node": ">= 4" } @@ -6901,7 +7115,6 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" @@ -6917,7 +7130,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, "engines": { "node": ">=4" } @@ -6971,7 +7183,6 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true, "engines": { "node": ">=0.8.19" } @@ -7195,7 +7406,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -7223,7 +7433,6 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, "dependencies": { "is-extglob": "^2.1.1" }, @@ -7342,8 +7551,7 @@ "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" }, "node_modules/issue-parser": { "version": "7.0.1", @@ -9426,7 +9634,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true, "license": "MIT" }, "node_modules/json-parse-better-errors": { @@ -9444,14 +9651,12 @@ "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" }, "node_modules/json5": { "version": "2.2.3", @@ -9481,7 +9686,6 @@ "version": "4.5.4", "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, "license": "MIT", "dependencies": { "json-buffer": "3.0.1" @@ -9501,7 +9705,6 @@ "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" @@ -9630,8 +9833,7 @@ "node_modules/lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" }, "node_modules/lodash.mergewith": { "version": "4.6.2", @@ -10050,7 +10252,6 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, "dependencies": { "brace-expansion": "^1.1.7" }, @@ -10080,8 +10281,7 @@ "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "node_modules/mute-stream": { "version": "0.0.8", @@ -10120,8 +10320,7 @@ "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=" }, "node_modules/negotiator": { "version": "0.6.4", @@ -12404,7 +12603,6 @@ "version": "0.9.3", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", - "dev": true, "dependencies": { "@aashutoshrathi/word-wrap": "^1.2.3", "deep-is": "^0.1.3", @@ -12665,7 +12863,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, "dependencies": { "callsites": "^3.0.0" }, @@ -12741,7 +12938,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, "engines": { "node": ">=8" } @@ -12766,7 +12962,6 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, "engines": { "node": ">=8" } @@ -12952,7 +13147,6 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, "engines": { "node": ">= 0.8.0" } @@ -13029,7 +13223,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true, "engines": { "node": ">=6" } @@ -14084,7 +14277,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, "dependencies": { "shebang-regex": "^3.0.0" }, @@ -14096,7 +14288,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, "engines": { "node": ">=8" } @@ -14746,7 +14937,6 @@ "version": "0.2.15", "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", - "dev": true, "license": "MIT", "dependencies": { "fdir": "^6.5.0", @@ -14763,7 +14953,6 @@ "version": "6.5.0", "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", - "dev": true, "license": "MIT", "engines": { "node": ">=12.0.0" @@ -14781,7 +14970,6 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", - "dev": true, "license": "MIT", "peer": true, "engines": { @@ -14828,6 +15016,18 @@ "integrity": "sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc=", "dev": true }, + "node_modules/ts-api-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz", + "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==", + "license": "MIT", + "engines": { + "node": ">=18.12" + }, + "peerDependencies": { + "typescript": ">=4.8.4" + } + }, "node_modules/ts-jest": { "version": "29.4.6", "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.4.6.tgz", @@ -14937,7 +15137,6 @@ "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, "dependencies": { "prelude-ls": "^1.2.1" }, @@ -15021,7 +15220,6 @@ "version": "5.9.3", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", - "dev": true, "license": "Apache-2.0", "peer": true, "bin": { @@ -15032,6 +15230,29 @@ "node": ">=14.17" } }, + "node_modules/typescript-eslint": { + "version": "8.49.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.49.0.tgz", + "integrity": "sha512-zRSVH1WXD0uXczCXw+nsdjGPUdx4dfrs5VQoHnUWmv1U3oNlAKv4FUNdLDhVUg+gYn+a5hUESqch//Rv5wVhrg==", + "license": "MIT", + "dependencies": { + "@typescript-eslint/eslint-plugin": "8.49.0", + "@typescript-eslint/parser": "8.49.0", + "@typescript-eslint/typescript-estree": "8.49.0", + "@typescript-eslint/utils": "8.49.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, "node_modules/uc.micro": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz", @@ -15215,7 +15436,6 @@ "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, "dependencies": { "punycode": "^2.1.0" } @@ -15307,7 +15527,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, "dependencies": { "isexe": "^2.0.0" }, @@ -15622,7 +15841,6 @@ "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, "license": "MIT", "engines": { "node": ">=10" diff --git a/package.json b/package.json index f7345b4..d9d818b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,7 @@ { "name": "@ntix/parsing", "version": "1.2.0", + "type": "module", "description": "a small parser", "repository": { "url": "https://github.com/ntix/parsing", @@ -16,10 +17,10 @@ "dist/" ], "scripts": { - "barrels": "barrelsby -q --delete --directory src --include \\.ts$ --exclude \"(\\.spec|this)\\.ts$\" --location all", + "barrels": "barrelsby --noHeader -q --delete --directory src --include \\.ts$ --exclude \"(\\.spec|this)\\.ts$\" --location all", "prebuild": "npm run clean && npm run barrels", "build": "rollup -c rollup.config.ts --configPlugin typescript", - "build.docs": "npm run build && typedoc --exclude \"**/*+(index|.spec|.e2e).ts\" --out docs src --readme README.md --media dist", + "build.docs": "npm run build && typedoc", "clean": "shx rm -rf dist", "format": "eslint src --fix", "pretest": "npm run barrels", @@ -91,5 +92,8 @@ "commitizen": { "path": "./node_modules/cz-conventional-changelog" } + }, + "dependencies": { + "typescript-eslint": "^8.49.0" } } \ No newline at end of file diff --git a/rollup.config.ts b/rollup.config.ts index df061e0..cf38038 100644 --- a/rollup.config.ts +++ b/rollup.config.ts @@ -7,15 +7,15 @@ export default { file: 'dist/index.umd.js', format: 'umd', name: 'parsing', - sourcemap: true, - }, + sourcemap: true + } ], watch: { - include: 'src/**', + include: 'src/**' }, plugins: [ typescript({ - tsconfig: 'tsconfig.build.json', - }), + tsconfig: 'tsconfig.build.json' + }) ], }; diff --git a/src/.spec/index.ts b/src/.spec/index.ts index 4f2cf44..1c892c2 100644 --- a/src/.spec/index.ts +++ b/src/.spec/index.ts @@ -1,5 +1 @@ -/** - * @file Automatically generated by barrelsby. - */ - export * from './stringOfLength'; diff --git a/src/index.ts b/src/index.ts index 6411784..f9d1f16 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,7 +1,3 @@ -/** - * @file Automatically generated by barrelsby. - */ - export * from './Is'; export * from './.spec/index'; export * from './parsing/index'; diff --git a/src/parsing/arrays/index.ts b/src/parsing/arrays/index.ts index 48c5463..97319c5 100644 --- a/src/parsing/arrays/index.ts +++ b/src/parsing/arrays/index.ts @@ -1,7 +1,3 @@ -/** - * @file Automatically generated by barrelsby. - */ - export * from './ArrayParser'; export * from './IArray'; export * from './provideParseArray'; diff --git a/src/parsing/arrays/provideParseArray.ts b/src/parsing/arrays/provideParseArray.ts index 3f7b1a4..7bc1685 100644 --- a/src/parsing/arrays/provideParseArray.ts +++ b/src/parsing/arrays/provideParseArray.ts @@ -7,8 +7,7 @@ import { ParseErrors } from '../ParseErrors'; * * note. if negated result value will be null * - * @param negate - * @returns parseResult + * @returns parser */ export function provideParseArray( ): IParse { diff --git a/src/parsing/arrays/provideParseArrayValues.ts b/src/parsing/arrays/provideParseArrayValues.ts index e2660ea..5196147 100644 --- a/src/parsing/arrays/provideParseArrayValues.ts +++ b/src/parsing/arrays/provideParseArrayValues.ts @@ -9,10 +9,10 @@ import { createParseResult } from '../createParseResult'; * parse all elements of an array * * @param parse function - * @returns IParseResult + * @returns parser */ export function provideParseArrayValues( - parse: IParse, + parse: IParse ): IParse { return (value: unknown[]) => { diff --git a/src/parsing/arrays/provideParseUniqueArray.ts b/src/parsing/arrays/provideParseUniqueArray.ts index d6db06e..f973402 100644 --- a/src/parsing/arrays/provideParseUniqueArray.ts +++ b/src/parsing/arrays/provideParseUniqueArray.ts @@ -6,11 +6,10 @@ import { ParseErrors } from '../ParseErrors'; * provides a uniqueness check on array * * @param distinctor property selector which marks uniqueness - * @param negate negate result - * @returns + * @returns parser */ export function provideParseUniqueArray( - distinctor: (t: T) => unknown, + distinctor: (t: T) => unknown ): IParse { return (values: T[]) => { diff --git a/src/parsing/booleans/index.ts b/src/parsing/booleans/index.ts index 71594e2..a8fcc34 100644 --- a/src/parsing/booleans/index.ts +++ b/src/parsing/booleans/index.ts @@ -1,7 +1,3 @@ -/** - * @file Automatically generated by barrelsby. - */ - export * from './BooleanParser'; export * from './IBoolean'; export * from './provideParseBoolean'; diff --git a/src/parsing/complex/index.ts b/src/parsing/complex/index.ts index 8adee1a..4cf44b6 100644 --- a/src/parsing/complex/index.ts +++ b/src/parsing/complex/index.ts @@ -1,7 +1,3 @@ -/** - * @file Automatically generated by barrelsby. - */ - export * from './ComplexParser'; export * from './ComplexSchema'; export * from './IComplex'; diff --git a/src/parsing/complex/provideParseComplex.ts b/src/parsing/complex/provideParseComplex.ts index 4a6509a..a821c7c 100644 --- a/src/parsing/complex/provideParseComplex.ts +++ b/src/parsing/complex/provideParseComplex.ts @@ -9,11 +9,11 @@ import { IParseErrors } from '../IParseErrors'; /** * provides a parse method for object typed as T * - * @param negate negate the result + * @param schema a complex schema * @returns parser */ export function provideParseComplex( - schema: ComplexSchema, + schema: ComplexSchema ): IParse { return (value: unknown) => { diff --git a/src/parsing/dates/index.ts b/src/parsing/dates/index.ts index 50a0d77..3a1eda9 100644 --- a/src/parsing/dates/index.ts +++ b/src/parsing/dates/index.ts @@ -1,7 +1,3 @@ -/** - * @file Automatically generated by barrelsby. - */ - export * from './DateParsableTypes'; export * from './DateParser'; export * from './DATE_SETTINGS'; diff --git a/src/parsing/dates/provideParseDate.ts b/src/parsing/dates/provideParseDate.ts index abfbae1..a491ec0 100644 --- a/src/parsing/dates/provideParseDate.ts +++ b/src/parsing/dates/provideParseDate.ts @@ -4,6 +4,11 @@ import { ParseErrors } from '../ParseErrors'; import { DateParsableTypes } from './DateParsableTypes'; import { tryParseDate } from './tryParseDate'; +/** + * Get a date parser + * + * @returns parser + */ export function provideParseDate( ): IParse { diff --git a/src/parsing/dictionaries/index.ts b/src/parsing/dictionaries/index.ts index b6f75e1..0a901bb 100644 --- a/src/parsing/dictionaries/index.ts +++ b/src/parsing/dictionaries/index.ts @@ -1,7 +1,3 @@ -/** - * @file Automatically generated by barrelsby. - */ - export * from './Dictionary'; export * from './DictionaryParser'; export * from './IDictionary'; diff --git a/src/parsing/dictionaries/provideParseDictionaryValues.ts b/src/parsing/dictionaries/provideParseDictionaryValues.ts index 15cb1df..214d3f1 100644 --- a/src/parsing/dictionaries/provideParseDictionaryValues.ts +++ b/src/parsing/dictionaries/provideParseDictionaryValues.ts @@ -13,7 +13,7 @@ import { Dictionary } from './Dictionary'; * @returns IParseResult> */ export function provideParseDictionaryValues( - parse: IParse, + parse: IParse ): IParse> { return (value: unknown) => { diff --git a/src/parsing/index.ts b/src/parsing/index.ts index 561e916..b6d2afc 100644 --- a/src/parsing/index.ts +++ b/src/parsing/index.ts @@ -1,7 +1,3 @@ -/** - * @file Automatically generated by barrelsby. - */ - export * from './asCurrent'; export * from './createParseResult'; export * from './ICurrentParser'; diff --git a/src/parsing/json/index.ts b/src/parsing/json/index.ts index 2305cf6..6b6c4ae 100644 --- a/src/parsing/json/index.ts +++ b/src/parsing/json/index.ts @@ -1,7 +1,3 @@ -/** - * @file Automatically generated by barrelsby. - */ - export * from './IJson'; export * from './JsonParser'; export * from './provideParseJson'; diff --git a/src/parsing/numbers/index.ts b/src/parsing/numbers/index.ts index bbe33b2..b966b5c 100644 --- a/src/parsing/numbers/index.ts +++ b/src/parsing/numbers/index.ts @@ -1,7 +1,3 @@ -/** - * @file Automatically generated by barrelsby. - */ - export * from './ensureNumberArray'; export * from './FloatParser'; export * from './getNumberEnumValues'; diff --git a/src/parsing/numbers/provideParseFloat.ts b/src/parsing/numbers/provideParseFloat.ts index e6b96b6..bfc5592 100644 --- a/src/parsing/numbers/provideParseFloat.ts +++ b/src/parsing/numbers/provideParseFloat.ts @@ -9,8 +9,7 @@ import { tryParseFloat } from './tryParseFloat'; * * note. if negated result value will be null * - * @param negate - * @returns parseResult + * @returns parser */ export function provideParseFloat( ): IParse { diff --git a/src/parsing/numbers/provideParseInt.ts b/src/parsing/numbers/provideParseInt.ts index 7d214bb..a6a1413 100644 --- a/src/parsing/numbers/provideParseInt.ts +++ b/src/parsing/numbers/provideParseInt.ts @@ -12,7 +12,7 @@ import { tryParseInt } from './tryParseInt'; * @returns parseResult */ export function provideParseInt( - radix: number = undefined, + radix: number = undefined ): IParse { return (value: NumberParsableTypes) => { diff --git a/src/parsing/provideAnyOf.ts b/src/parsing/provideAnyOf.ts index 295e941..f29a746 100644 --- a/src/parsing/provideAnyOf.ts +++ b/src/parsing/provideAnyOf.ts @@ -6,7 +6,7 @@ import { ParseErrors } from './ParseErrors'; * Validate a value is any of values passed */ export function provideAnyOf( - values: unknown[], + values: unknown[] ): IParse { return (value: T) => ({ diff --git a/src/parsing/provideEquals.ts b/src/parsing/provideEquals.ts index a69f4cb..558214a 100644 --- a/src/parsing/provideEquals.ts +++ b/src/parsing/provideEquals.ts @@ -3,7 +3,7 @@ import { IParse } from './IParse'; import { ParseErrors } from './ParseErrors'; export function provideEquals( - equalToValue: T, + equalToValue: T ): IParse { return (value: T) => ({ diff --git a/src/parsing/provideMax.ts b/src/parsing/provideMax.ts index 061246e..3924482 100644 --- a/src/parsing/provideMax.ts +++ b/src/parsing/provideMax.ts @@ -8,7 +8,7 @@ import { RelationalValidatorTypes } from './RelationalValidatorTypes'; */ export function provideMax( maxValue: T, - exclusive: boolean, + exclusive: boolean ): IParse { return (value: T) => ({ diff --git a/src/parsing/provideMaxLength.ts b/src/parsing/provideMaxLength.ts index 97d01f0..828b492 100644 --- a/src/parsing/provideMaxLength.ts +++ b/src/parsing/provideMaxLength.ts @@ -5,7 +5,7 @@ import { IParse } from './IParse'; export function provideMaxLength( maxLength: number, - exclusive: boolean, + exclusive: boolean ): IParse { return (value: T) => ({ diff --git a/src/parsing/provideMin.ts b/src/parsing/provideMin.ts index 09c514b..a8ab74c 100644 --- a/src/parsing/provideMin.ts +++ b/src/parsing/provideMin.ts @@ -8,7 +8,7 @@ import { RelationalValidatorTypes } from './RelationalValidatorTypes'; */ export function provideMin( minValue: T, - exclusive: boolean, + exclusive: boolean ): IParse { return (value: T) => { diff --git a/src/parsing/provideMinLength.ts b/src/parsing/provideMinLength.ts index 0ec2b62..315db21 100644 --- a/src/parsing/provideMinLength.ts +++ b/src/parsing/provideMinLength.ts @@ -5,7 +5,7 @@ import { IParse } from './IParse'; export function provideMinLength( minLength: number, - exclusive: boolean, + exclusive: boolean ): IParse { return (value: T) => ({ diff --git a/src/parsing/provideParseRoot.ts b/src/parsing/provideParseRoot.ts index 2269eea..e7d0a16 100644 --- a/src/parsing/provideParseRoot.ts +++ b/src/parsing/provideParseRoot.ts @@ -9,7 +9,7 @@ import { ParseErrors } from './ParseErrors'; * @returns a parse result */ export function provideParseRoot( - isRequried: boolean, + isRequried: boolean ): IParse { return (value: unknown) => ({ diff --git a/src/parsing/strings/index.ts b/src/parsing/strings/index.ts index 1fd39ff..1513f64 100644 --- a/src/parsing/strings/index.ts +++ b/src/parsing/strings/index.ts @@ -1,7 +1,3 @@ -/** - * @file Automatically generated by barrelsby. - */ - export * from './IString'; export * from './provideAnyOfString'; export * from './provideEndsWithString'; diff --git a/src/parsing/strings/provideAnyOfString.ts b/src/parsing/strings/provideAnyOfString.ts index 24a624e..5e68172 100644 --- a/src/parsing/strings/provideAnyOfString.ts +++ b/src/parsing/strings/provideAnyOfString.ts @@ -7,7 +7,7 @@ import { ParseErrors } from '../ParseErrors'; */ export function provideAnyOfString( values: string[], - ignoreCase: boolean, + ignoreCase: boolean ): IParse { return (value: string) => ({ diff --git a/src/parsing/strings/provideEndsWithString.ts b/src/parsing/strings/provideEndsWithString.ts index c26986d..81aea58 100644 --- a/src/parsing/strings/provideEndsWithString.ts +++ b/src/parsing/strings/provideEndsWithString.ts @@ -4,7 +4,7 @@ import { ParseErrors } from '../ParseErrors'; export function provideEndsWithString( endswithValue: string, - ignoreCase: boolean, + ignoreCase: boolean ): IParse { return (value: string) => ({ diff --git a/src/parsing/strings/provideEqualsString.ts b/src/parsing/strings/provideEqualsString.ts index 0681f0b..c92213c 100644 --- a/src/parsing/strings/provideEqualsString.ts +++ b/src/parsing/strings/provideEqualsString.ts @@ -4,7 +4,7 @@ import { ParseErrors } from '../ParseErrors'; export function provideEqualsString( equalToValue: string, - ignoreCase: boolean, + ignoreCase: boolean ): IParse { return (value: string) => ({ diff --git a/src/parsing/strings/provideIncludesString.ts b/src/parsing/strings/provideIncludesString.ts index 8a75a87..70bdfc4 100644 --- a/src/parsing/strings/provideIncludesString.ts +++ b/src/parsing/strings/provideIncludesString.ts @@ -4,7 +4,7 @@ import { ParseErrors } from '../ParseErrors'; export function provideIncludesString( includesValue: string, - ignoreCase = false, + ignoreCase = false ): IParse { return (value: string) => ({ diff --git a/src/parsing/strings/provideMatchesString.ts b/src/parsing/strings/provideMatchesString.ts index 1c1fa11..56f1680 100644 --- a/src/parsing/strings/provideMatchesString.ts +++ b/src/parsing/strings/provideMatchesString.ts @@ -4,7 +4,7 @@ import { ParseErrors } from '../ParseErrors'; export function provideMatchesString( matchValue: string | RegExp, - name: string, + name: string ): IParse { return (value: string) => ({ diff --git a/src/parsing/strings/provideStartsWithString.ts b/src/parsing/strings/provideStartsWithString.ts index 9757cc2..510b1ba 100644 --- a/src/parsing/strings/provideStartsWithString.ts +++ b/src/parsing/strings/provideStartsWithString.ts @@ -4,7 +4,7 @@ import { ParseErrors } from '../ParseErrors'; export function provideStartsWithString( startswithValue: string, - ignoreCase: boolean, + ignoreCase: boolean ): IParse { return (value: string) => ({ diff --git a/src/predicates/index.ts b/src/predicates/index.ts index 504fa4a..391fdc0 100644 --- a/src/predicates/index.ts +++ b/src/predicates/index.ts @@ -1,7 +1,3 @@ -/** - * @file Automatically generated by barrelsby. - */ - export * from './isBooleanType'; export * from './isDate'; export * from './isDateType'; diff --git a/tsconfig.build.json b/tsconfig.build.json index cf77ab2..a694668 100644 --- a/tsconfig.build.json +++ b/tsconfig.build.json @@ -1,7 +1,7 @@ { "compilerOptions": { "declaration": true, - "resolveJsonModule": true, + "resolveJsonModule": true }, "extends": "./tsconfig.json", "exclude": [ diff --git a/typedoc.json b/typedoc.json new file mode 100644 index 0000000..71237ac --- /dev/null +++ b/typedoc.json @@ -0,0 +1,13 @@ +{ + "entryPoints": [ + "src" + ], + "out": "docs", + "readme": "README.md", + "exclude": [ + "**/*index.ts", + "**/*.spec.ts", + "**/*.e2e.ts", + "dist" + ] +} \ No newline at end of file