diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml new file mode 100644 index 0000000..868c2ab --- /dev/null +++ b/.github/workflows/docs.yml @@ -0,0 +1,31 @@ +name: Generate Docs + +on: + push: + branches: + - main + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version: 18 + + - name: Install dependencies + run: npm install + + - name: Generate Docs + run: npx typedoc + + - name: Deploy to GitHub Pages + uses: peaceiris/actions-gh-pages@v3 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_dir: ./docs \ No newline at end of file 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/highlight.css b/docs/assets/highlight.css new file mode 100644 index 0000000..7668d03 --- /dev/null +++ b/docs/assets/highlight.css @@ -0,0 +1,92 @@ +:root { + --light-hl-0: #001080; + --dark-hl-0: #9CDCFE; + --light-hl-1: #000000; + --dark-hl-1: #D4D4D4; + --light-hl-2: #008000; + --dark-hl-2: #6A9955; + --light-hl-3: #AF00DB; + --dark-hl-3: #C586C0; + --light-hl-4: #A31515; + --dark-hl-4: #CE9178; + --light-hl-5: #795E26; + --dark-hl-5: #DCDCAA; + --light-hl-6: #0000FF; + --dark-hl-6: #569CD6; + --light-hl-7: #0070C1; + --dark-hl-7: #4FC1FF; + --light-hl-8: #267F99; + --dark-hl-8: #4EC9B0; + --light-hl-9: #098658; + --dark-hl-9: #B5CEA8; + --light-code-background: #FFFFFF; + --dark-code-background: #1E1E1E; +} + +@media (prefers-color-scheme: light) { :root { + --hl-0: var(--light-hl-0); + --hl-1: var(--light-hl-1); + --hl-2: var(--light-hl-2); + --hl-3: var(--light-hl-3); + --hl-4: var(--light-hl-4); + --hl-5: var(--light-hl-5); + --hl-6: var(--light-hl-6); + --hl-7: var(--light-hl-7); + --hl-8: var(--light-hl-8); + --hl-9: var(--light-hl-9); + --code-background: var(--light-code-background); +} } + +@media (prefers-color-scheme: dark) { :root { + --hl-0: var(--dark-hl-0); + --hl-1: var(--dark-hl-1); + --hl-2: var(--dark-hl-2); + --hl-3: var(--dark-hl-3); + --hl-4: var(--dark-hl-4); + --hl-5: var(--dark-hl-5); + --hl-6: var(--dark-hl-6); + --hl-7: var(--dark-hl-7); + --hl-8: var(--dark-hl-8); + --hl-9: var(--dark-hl-9); + --code-background: var(--dark-code-background); +} } + +:root[data-theme='light'] { + --hl-0: var(--light-hl-0); + --hl-1: var(--light-hl-1); + --hl-2: var(--light-hl-2); + --hl-3: var(--light-hl-3); + --hl-4: var(--light-hl-4); + --hl-5: var(--light-hl-5); + --hl-6: var(--light-hl-6); + --hl-7: var(--light-hl-7); + --hl-8: var(--light-hl-8); + --hl-9: var(--light-hl-9); + --code-background: var(--light-code-background); +} + +:root[data-theme='dark'] { + --hl-0: var(--dark-hl-0); + --hl-1: var(--dark-hl-1); + --hl-2: var(--dark-hl-2); + --hl-3: var(--dark-hl-3); + --hl-4: var(--dark-hl-4); + --hl-5: var(--dark-hl-5); + --hl-6: var(--dark-hl-6); + --hl-7: var(--dark-hl-7); + --hl-8: var(--dark-hl-8); + --hl-9: var(--dark-hl-9); + --code-background: var(--dark-code-background); +} + +.hl-0 { color: var(--hl-0); } +.hl-1 { color: var(--hl-1); } +.hl-2 { color: var(--hl-2); } +.hl-3 { color: var(--hl-3); } +.hl-4 { color: var(--hl-4); } +.hl-5 { color: var(--hl-5); } +.hl-6 { color: var(--hl-6); } +.hl-7 { color: var(--hl-7); } +.hl-8 { color: var(--hl-8); } +.hl-9 { color: var(--hl-9); } +pre, code { background: var(--code-background); } diff --git a/docs/assets/main.js b/docs/assets/main.js new file mode 100644 index 0000000..7270cff --- /dev/null +++ b/docs/assets/main.js @@ -0,0 +1,59 @@ +"use strict"; +"use strict";(()=>{var Pe=Object.create;var ne=Object.defineProperty;var Ie=Object.getOwnPropertyDescriptor;var Oe=Object.getOwnPropertyNames;var _e=Object.getPrototypeOf,Re=Object.prototype.hasOwnProperty;var Me=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Fe=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Oe(e))!Re.call(t,i)&&i!==n&&ne(t,i,{get:()=>e[i],enumerable:!(r=Ie(e,i))||r.enumerable});return t};var De=(t,e,n)=>(n=t!=null?Pe(_e(t)):{},Fe(e||!t||!t.__esModule?ne(n,"default",{value:t,enumerable:!0}):n,t));var ae=Me((se,oe)=>{(function(){var t=function(e){var n=new t.Builder;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),n.searchPipeline.add(t.stemmer),e.call(n,n),n.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(n){e.console&&console.warn&&console.warn(n)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var n=Object.create(null),r=Object.keys(e),i=0;i0){var d=t.utils.clone(n)||{};d.position=[a,u],d.index=s.length,s.push(new t.Token(r.slice(a,o),d))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. +`,e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(r){var i=t.Pipeline.registeredFunctions[r];if(i)n.add(i);else throw new Error("Cannot load unregistered function: "+r)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(n){t.Pipeline.warnIfFunctionNotRegistered(n),this._stack.push(n)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");r=r+1,this._stack.splice(r,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");this._stack.splice(r,0,n)},t.Pipeline.prototype.remove=function(e){var n=this._stack.indexOf(e);n!=-1&&this._stack.splice(n,1)},t.Pipeline.prototype.run=function(e){for(var n=this._stack.length,r=0;r1&&(oe&&(r=s),o!=e);)i=r-n,s=n+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(ol?d+=2:a==l&&(n+=r[u+1]*i[d+1],u+=2,d+=2);return n},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),n=1,r=0;n0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}if(s.str.length==0&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new t.TokenSet;s.node.edges["*"]=u}s.str.length==1&&(u.final=!0),i.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var d=s.str.charAt(0),v=s.str.charAt(1),f;v in s.node.edges?f=s.node.edges[v]:(f=new t.TokenSet,s.node.edges[v]=f),s.str.length==1&&(f.final=!0),i.push({node:f,editsRemaining:s.editsRemaining-1,str:d+s.str.slice(2)})}}}return r},t.TokenSet.fromString=function(e){for(var n=new t.TokenSet,r=n,i=0,s=e.length;i=e;n--){var r=this.uncheckedNodes[n],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(n){var r=new t.QueryParser(e,n);r.parse()})},t.Index.prototype.query=function(e){for(var n=new t.Query(this.fields),r=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),l=0;l1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,n){var r=e[this._ref],i=Object.keys(this._fields);this._documents[r]=n||{},this.documentCount+=1;for(var s=0;s=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,n;do e=this.next(),n=e.charCodeAt(0);while(n>47&&n<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var n=e.next();if(n==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(n.charCodeAt(0)==92){e.escapeCharacter();continue}if(n==":")return t.QueryLexer.lexField;if(n=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(n=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(n=="+"&&e.width()===1||n=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(n.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,n){this.lexer=new t.QueryLexer(e),this.query=n,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var n=e.peekLexeme();if(n!=null)switch(n.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expected either a field or a term, found "+n.type;throw n.str.length>=1&&(r+=" with value '"+n.str+"'"),new t.QueryParseError(r,n.start,n.end)}},t.QueryParser.parsePresence=function(e){var n=e.consumeLexeme();if(n!=null){switch(n.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var r="unrecognised presence operator'"+n.str+"'";throw new t.QueryParseError(r,n.start,n.end)}var i=e.peekLexeme();if(i==null){var r="expecting term or field, found nothing";throw new t.QueryParseError(r,n.start,n.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(r,i.start,i.end)}}},t.QueryParser.parseField=function(e){var n=e.consumeLexeme();if(n!=null){if(e.query.allFields.indexOf(n.str)==-1){var r=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+n.str+"', possible fields: "+r;throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.fields=[n.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,n.start,n.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var n=e.consumeLexeme();if(n!=null){e.currentClause.term=n.str.toLowerCase(),n.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var r=e.peekLexeme();if(r==null){e.nextClause();return}switch(r.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+r.type+"'";throw new t.QueryParseError(i,r.start,r.end)}}},t.QueryParser.parseEditDistance=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="edit distance must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.editDistance=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="boost must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.boost=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,n){typeof define=="function"&&define.amd?define(n):typeof se=="object"?oe.exports=n():e.lunr=n()}(this,function(){return t})})()});var re=[];function G(t,e){re.push({selector:e,constructor:t})}var U=class{constructor(){this.alwaysVisibleMember=null;this.createComponents(document.body),this.ensureActivePageVisible(),this.ensureFocusedElementVisible(),this.listenForCodeCopies(),window.addEventListener("hashchange",()=>this.ensureFocusedElementVisible())}createComponents(e){re.forEach(n=>{e.querySelectorAll(n.selector).forEach(r=>{r.dataset.hasInstance||(new n.constructor({el:r,app:this}),r.dataset.hasInstance=String(!0))})})}filterChanged(){this.ensureFocusedElementVisible()}ensureActivePageVisible(){let e=document.querySelector(".tsd-navigation .current"),n=e?.parentElement;for(;n&&!n.classList.contains(".tsd-navigation");)n instanceof HTMLDetailsElement&&(n.open=!0),n=n.parentElement;if(e){let r=e.getBoundingClientRect().top-document.documentElement.clientHeight/4;document.querySelector(".site-menu").scrollTop=r}}ensureFocusedElementVisible(){if(this.alwaysVisibleMember&&(this.alwaysVisibleMember.classList.remove("always-visible"),this.alwaysVisibleMember.firstElementChild.remove(),this.alwaysVisibleMember=null),!location.hash)return;let e=document.getElementById(location.hash.substring(1));if(!e)return;let n=e.parentElement;for(;n&&n.tagName!=="SECTION";)n=n.parentElement;if(n&&n.offsetParent==null){this.alwaysVisibleMember=n,n.classList.add("always-visible");let r=document.createElement("p");r.classList.add("warning"),r.textContent="This member is normally hidden due to your filter settings.",n.prepend(r)}}listenForCodeCopies(){document.querySelectorAll("pre > button").forEach(e=>{let n;e.addEventListener("click",()=>{e.previousElementSibling instanceof HTMLElement&&navigator.clipboard.writeText(e.previousElementSibling.innerText.trim()),e.textContent="Copied!",e.classList.add("visible"),clearTimeout(n),n=setTimeout(()=>{e.classList.remove("visible"),n=setTimeout(()=>{e.textContent="Copy"},100)},1e3)})})}};var ie=(t,e=100)=>{let n;return()=>{clearTimeout(n),n=setTimeout(()=>t(),e)}};var de=De(ae());async function le(t,e){if(!window.searchData)return;let n=await fetch(window.searchData),r=new Blob([await n.arrayBuffer()]).stream().pipeThrough(new DecompressionStream("gzip")),i=await new Response(r).json();t.data=i,t.index=de.Index.load(i.index),e.classList.remove("loading"),e.classList.add("ready")}function he(){let t=document.getElementById("tsd-search");if(!t)return;let e={base:t.dataset.base+"/"},n=document.getElementById("tsd-search-script");t.classList.add("loading"),n&&(n.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),n.addEventListener("load",()=>{le(e,t)}),le(e,t));let r=document.querySelector("#tsd-search input"),i=document.querySelector("#tsd-search .results");if(!r||!i)throw new Error("The input field or the result list wrapper was not found");let s=!1;i.addEventListener("mousedown",()=>s=!0),i.addEventListener("mouseup",()=>{s=!1,t.classList.remove("has-focus")}),r.addEventListener("focus",()=>t.classList.add("has-focus")),r.addEventListener("blur",()=>{s||(s=!1,t.classList.remove("has-focus"))}),Ae(t,i,r,e)}function Ae(t,e,n,r){n.addEventListener("input",ie(()=>{Ne(t,e,n,r)},200));let i=!1;n.addEventListener("keydown",s=>{i=!0,s.key=="Enter"?Ve(e,n):s.key=="Escape"?n.blur():s.key=="ArrowUp"?ue(e,-1):s.key==="ArrowDown"?ue(e,1):i=!1}),n.addEventListener("keypress",s=>{i&&s.preventDefault()}),document.body.addEventListener("keydown",s=>{s.altKey||s.ctrlKey||s.metaKey||!n.matches(":focus")&&s.key==="/"&&(n.focus(),s.preventDefault())})}function Ne(t,e,n,r){if(!r.index||!r.data)return;e.textContent="";let i=n.value.trim(),s;if(i){let o=i.split(" ").map(a=>a.length?`*${a}*`:"").join(" ");s=r.index.search(o)}else s=[];for(let o=0;oa.score-o.score);for(let o=0,a=Math.min(10,s.length);o`,d=ce(l.name,i);globalThis.DEBUG_SEARCH_WEIGHTS&&(d+=` (score: ${s[o].score.toFixed(2)})`),l.parent&&(d=` + ${ce(l.parent,i)}.${d}`);let v=document.createElement("li");v.classList.value=l.classes??"";let f=document.createElement("a");f.href=r.base+l.url,f.innerHTML=u+d,v.append(f),e.appendChild(v)}}function ue(t,e){let n=t.querySelector(".current");if(!n)n=t.querySelector(e==1?"li:first-child":"li:last-child"),n&&n.classList.add("current");else{let r=n;if(e===1)do r=r.nextElementSibling??void 0;while(r instanceof HTMLElement&&r.offsetParent==null);else do r=r.previousElementSibling??void 0;while(r instanceof HTMLElement&&r.offsetParent==null);r&&(n.classList.remove("current"),r.classList.add("current"))}}function Ve(t,e){let n=t.querySelector(".current");if(n||(n=t.querySelector("li:first-child")),n){let r=n.querySelector("a");r&&(window.location.href=r.href),e.blur()}}function ce(t,e){if(e==="")return t;let n=t.toLocaleLowerCase(),r=e.toLocaleLowerCase(),i=[],s=0,o=n.indexOf(r);for(;o!=-1;)i.push(K(t.substring(s,o)),`${K(t.substring(o,o+r.length))}`),s=o+r.length,o=n.indexOf(r,s);return i.push(K(t.substring(s))),i.join("")}var Be={"&":"&","<":"<",">":">","'":"'",'"':"""};function K(t){return t.replace(/[&<>"'"]/g,e=>Be[e])}var C=class{constructor(e){this.el=e.el,this.app=e.app}};var F="mousedown",pe="mousemove",B="mouseup",J={x:0,y:0},fe=!1,ee=!1,He=!1,D=!1,me=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(me?"is-mobile":"not-mobile");me&&"ontouchstart"in document.documentElement&&(He=!0,F="touchstart",pe="touchmove",B="touchend");document.addEventListener(F,t=>{ee=!0,D=!1;let e=F=="touchstart"?t.targetTouches[0]:t;J.y=e.pageY||0,J.x=e.pageX||0});document.addEventListener(pe,t=>{if(ee&&!D){let e=F=="touchstart"?t.targetTouches[0]:t,n=J.x-(e.pageX||0),r=J.y-(e.pageY||0);D=Math.sqrt(n*n+r*r)>10}});document.addEventListener(B,()=>{ee=!1});document.addEventListener("click",t=>{fe&&(t.preventDefault(),t.stopImmediatePropagation(),fe=!1)});var X=class extends C{constructor(e){super(e),this.className=this.el.dataset.toggle||"",this.el.addEventListener(B,n=>this.onPointerUp(n)),this.el.addEventListener("click",n=>n.preventDefault()),document.addEventListener(F,n=>this.onDocumentPointerDown(n)),document.addEventListener(B,n=>this.onDocumentPointerUp(n))}setActive(e){if(this.active==e)return;this.active=e,document.documentElement.classList.toggle("has-"+this.className,e),this.el.classList.toggle("active",e);let n=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(n),setTimeout(()=>document.documentElement.classList.remove(n),500)}onPointerUp(e){D||(this.setActive(!0),e.preventDefault())}onDocumentPointerDown(e){if(this.active){if(e.target.closest(".col-sidebar, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(e){if(!D&&this.active&&e.target.closest(".col-sidebar")){let n=e.target.closest("a");if(n){let r=window.location.href;r.indexOf("#")!=-1&&(r=r.substring(0,r.indexOf("#"))),n.href.substring(0,r.length)==r&&setTimeout(()=>this.setActive(!1),250)}}}};var te;try{te=localStorage}catch{te={getItem(){return null},setItem(){}}}var Q=te;var ve=document.head.appendChild(document.createElement("style"));ve.dataset.for="filters";var Y=class extends C{constructor(e){super(e),this.key=`filter-${this.el.name}`,this.value=this.el.checked,this.el.addEventListener("change",()=>{this.setLocalStorage(this.el.checked)}),this.setLocalStorage(this.fromLocalStorage()),ve.innerHTML+=`html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; } +`,this.handleValueChange()}fromLocalStorage(){let e=Q.getItem(this.key);return e?e==="true":this.el.checked}setLocalStorage(e){Q.setItem(this.key,e.toString()),this.value=e,this.handleValueChange()}handleValueChange(){this.el.checked=this.value,document.documentElement.classList.toggle(this.key,this.value),this.app.filterChanged(),document.querySelectorAll(".tsd-index-section").forEach(e=>{e.style.display="block";let n=Array.from(e.querySelectorAll(".tsd-index-link")).every(r=>r.offsetParent==null);e.style.display=n?"none":"block"})}};var Z=class extends C{constructor(e){super(e),this.summary=this.el.querySelector(".tsd-accordion-summary"),this.icon=this.summary.querySelector("svg"),this.key=`tsd-accordion-${this.summary.dataset.key??this.summary.textContent.trim().replace(/\s+/g,"-").toLowerCase()}`;let n=Q.getItem(this.key);this.el.open=n?n==="true":this.el.open,this.el.addEventListener("toggle",()=>this.update());let r=this.summary.querySelector("a");r&&r.addEventListener("click",()=>{location.assign(r.href)}),this.update()}update(){this.icon.style.transform=`rotate(${this.el.open?0:-90}deg)`,Q.setItem(this.key,this.el.open.toString())}};function ge(t){let e=Q.getItem("tsd-theme")||"os";t.value=e,ye(e),t.addEventListener("change",()=>{Q.setItem("tsd-theme",t.value),ye(t.value)})}function ye(t){document.documentElement.dataset.theme=t}var Le;function be(){let t=document.getElementById("tsd-nav-script");t&&(t.addEventListener("load",xe),xe())}async function xe(){let t=document.getElementById("tsd-nav-container");if(!t||!window.navigationData)return;let n=await(await fetch(window.navigationData)).arrayBuffer(),r=new Blob([n]).stream().pipeThrough(new DecompressionStream("gzip")),i=await new Response(r).json();Le=t.dataset.base+"/",t.innerHTML="";for(let s of i)we(s,t,[]);window.app.createComponents(t),window.app.ensureActivePageVisible()}function we(t,e,n){let r=e.appendChild(document.createElement("li"));if(t.children){let i=[...n,t.text],s=r.appendChild(document.createElement("details"));s.className=t.class?`${t.class} tsd-index-accordion`:"tsd-index-accordion",s.dataset.key=i.join("$");let o=s.appendChild(document.createElement("summary"));o.className="tsd-accordion-summary",o.innerHTML='',Ee(t,o);let a=s.appendChild(document.createElement("div"));a.className="tsd-accordion-details";let l=a.appendChild(document.createElement("ul"));l.className="tsd-nested-navigation";for(let u of t.children)we(u,l,i)}else Ee(t,r,t.class)}function Ee(t,e,n){if(t.path){let r=e.appendChild(document.createElement("a"));r.href=Le+t.path,n&&(r.className=n),location.href===r.href&&r.classList.add("current"),t.kind&&(r.innerHTML=``),r.appendChild(document.createElement("span")).textContent=t.text}else e.appendChild(document.createElement("span")).textContent=t.text}G(X,"a[data-toggle]");G(Z,".tsd-index-accordion");G(Y,".tsd-filter-item input[type=checkbox]");var Se=document.getElementById("tsd-theme");Se&&ge(Se);var je=new U;Object.defineProperty(window,"app",{value:je});he();be();})(); +/*! 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..50afe56 --- /dev/null +++ b/docs/assets/navigation.js @@ -0,0 +1 @@ +window.navigationData = "data:application/octet-stream;base64,H4sIAAAAAAAACo2VUUvDMBSF/0ufh+JAkT2qCArDQRUfxIdLm7XBNilNhA3xv5u0i0tMduLrPed8zW172revQrOdLlbFLWnWyHFfLIqBdGsmVUdKMXXulLNW952RP7ioi9XF8vp7cUzLvmdCJ8KzgLNiy5s1CWrYmCJ4MuKsWc0pzk9jlNsYcByzU5iSKrGunaJUyWis2jg3z2FSk/5UieQ0R8lnauKYGeLMTgrZJ94Gp8D0fkjcUTtFqReVevx2ilKvm8fyhlTiek7JpUsumo5pKdKIXxm+w4eO3JGmcHsuNBu3VHlFcqYQuLy8iguFeaEH4aYSQFjgyKIwJoew3YKH8Q0QZOqGQZ4Bgeb+QVRogbCpkhgWWPKwe866WmVwRxMCugLD8/01/QeYOWNsg1A29qdRBxECjI5X9Aw5UG61wJKDhTfiwWFOkk/40WXsRxMu7xsQyH4A5x/w06C5FCpJi1wx8v0HbzhFFGoIAAA=" \ No newline at end of file diff --git a/docs/assets/search.js b/docs/assets/search.js new file mode 100644 index 0000000..b80a342 --- /dev/null +++ b/docs/assets/search.js @@ -0,0 +1 @@ +window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file diff --git a/docs/assets/style.css b/docs/assets/style.css new file mode 100644 index 0000000..98a4377 --- /dev/null +++ b/docs/assets/style.css @@ -0,0 +1,1414 @@ +:root { + /* Light */ + --light-color-background: #f2f4f8; + --light-color-background-secondary: #eff0f1; + --light-color-warning-text: #222; + --light-color-background-warning: #e6e600; + --light-color-icon-background: var(--light-color-background); + --light-color-accent: #c5c7c9; + --light-color-active-menu-item: var(--light-color-accent); + --light-color-text: #222; + --light-color-text-aside: #6e6e6e; + --light-color-link: #1f70c2; + + --light-color-ts-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: var(--light-color-ts-variable); + --light-color-ts-method: var(--light-color-ts-function); + --light-color-ts-call-signature: var(--light-color-ts-method); + --light-color-ts-index-signature: var(--light-color-ts-property); + --light-color-ts-constructor-signature: var(--light-color-ts-constructor); + --light-color-ts-parameter: var(--light-color-ts-variable); + /* type literal not included as links will never be generated to it */ + --light-color-ts-type-parameter: #a55c0e; + --light-color-ts-accessor: var(--light-color-ts-property); + --light-color-ts-get-signature: var(--light-color-ts-accessor); + --light-color-ts-set-signature: var(--light-color-ts-accessor); + --light-color-ts-type-alias: #d51270; + /* reference not included as links will be colored with the kind that it points to */ + + --light-external-icon: url("data:image/svg+xml;utf8,"); + --light-color-scheme: light; + + /* Dark */ + --dark-color-background: #2b2e33; + --dark-color-background-secondary: #1e2024; + --dark-color-background-warning: #bebe00; + --dark-color-warning-text: #222; + --dark-color-icon-background: var(--dark-color-background-secondary); + --dark-color-accent: #9096a2; + --dark-color-active-menu-item: #5d5d6a; + --dark-color-text: #f5f5f5; + --dark-color-text-aside: #dddddd; + --dark-color-link: #00aff4; + + --dark-color-ts-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: var(--dark-color-ts-variable); + --dark-color-ts-method: var(--dark-color-ts-function); + --dark-color-ts-call-signature: var(--dark-color-ts-method); + --dark-color-ts-index-signature: var(--dark-color-ts-property); + --dark-color-ts-constructor-signature: var(--dark-color-ts-constructor); + --dark-color-ts-parameter: var(--dark-color-ts-variable); + /* type literal not included as links will never be generated to it */ + --dark-color-ts-type-parameter: #e07d13; + --dark-color-ts-accessor: var(--dark-color-ts-property); + --dark-color-ts-get-signature: var(--dark-color-ts-accessor); + --dark-color-ts-set-signature: var(--dark-color-ts-accessor); + --dark-color-ts-type-alias: #ff6492; + /* reference not included as links will be colored with the kind that it points to */ + + --dark-external-icon: url("data:image/svg+xml;utf8,"); + --dark-color-scheme: dark; +} + +@media (prefers-color-scheme: light) { + :root { + --color-background: var(--light-color-background); + --color-background-secondary: var(--light-color-background-secondary); + --color-background-warning: var(--light-color-background-warning); + --color-warning-text: var(--light-color-warning-text); + --color-icon-background: var(--light-color-icon-background); + --color-accent: var(--light-color-accent); + --color-active-menu-item: var(--light-color-active-menu-item); + --color-text: var(--light-color-text); + --color-text-aside: var(--light-color-text-aside); + --color-link: var(--light-color-link); + + --color-ts-keyword: var(--light-color-ts-keyword); + --color-ts-module: var(--light-color-ts-module); + --color-ts-namespace: var(--light-color-ts-namespace); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-enum-member: var(--light-color-ts-enum-member); + --color-ts-variable: var(--light-color-ts-variable); + --color-ts-function: var(--light-color-ts-function); + --color-ts-class: var(--light-color-ts-class); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-constructor: var(--light-color-ts-constructor); + --color-ts-property: var(--light-color-ts-property); + --color-ts-method: var(--light-color-ts-method); + --color-ts-call-signature: var(--light-color-ts-call-signature); + --color-ts-index-signature: var(--light-color-ts-index-signature); + --color-ts-constructor-signature: var( + --light-color-ts-constructor-signature + ); + --color-ts-parameter: var(--light-color-ts-parameter); + --color-ts-type-parameter: var(--light-color-ts-type-parameter); + --color-ts-accessor: var(--light-color-ts-accessor); + --color-ts-get-signature: var(--light-color-ts-get-signature); + --color-ts-set-signature: var(--light-color-ts-set-signature); + --color-ts-type-alias: var(--light-color-ts-type-alias); + + --external-icon: var(--light-external-icon); + --color-scheme: var(--light-color-scheme); + } +} + +@media (prefers-color-scheme: dark) { + :root { + --color-background: var(--dark-color-background); + --color-background-secondary: var(--dark-color-background-secondary); + --color-background-warning: var(--dark-color-background-warning); + --color-warning-text: var(--dark-color-warning-text); + --color-icon-background: var(--dark-color-icon-background); + --color-accent: var(--dark-color-accent); + --color-active-menu-item: var(--dark-color-active-menu-item); + --color-text: var(--dark-color-text); + --color-text-aside: var(--dark-color-text-aside); + --color-link: var(--dark-color-link); + + --color-ts-keyword: var(--dark-color-ts-keyword); + --color-ts-module: var(--dark-color-ts-module); + --color-ts-namespace: var(--dark-color-ts-namespace); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-enum-member: var(--dark-color-ts-enum-member); + --color-ts-variable: var(--dark-color-ts-variable); + --color-ts-function: var(--dark-color-ts-function); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-constructor: var(--dark-color-ts-constructor); + --color-ts-property: var(--dark-color-ts-property); + --color-ts-method: var(--dark-color-ts-method); + --color-ts-call-signature: var(--dark-color-ts-call-signature); + --color-ts-index-signature: var(--dark-color-ts-index-signature); + --color-ts-constructor-signature: var( + --dark-color-ts-constructor-signature + ); + --color-ts-parameter: var(--dark-color-ts-parameter); + --color-ts-type-parameter: var(--dark-color-ts-type-parameter); + --color-ts-accessor: var(--dark-color-ts-accessor); + --color-ts-get-signature: var(--dark-color-ts-get-signature); + --color-ts-set-signature: var(--dark-color-ts-set-signature); + --color-ts-type-alias: var(--dark-color-ts-type-alias); + + --external-icon: var(--dark-external-icon); + --color-scheme: var(--dark-color-scheme); + } +} + +html { + color-scheme: var(--color-scheme); +} + +body { + margin: 0; +} + +:root[data-theme="light"] { + --color-background: var(--light-color-background); + --color-background-secondary: var(--light-color-background-secondary); + --color-background-warning: var(--light-color-background-warning); + --color-warning-text: var(--light-color-warning-text); + --color-icon-background: var(--light-color-icon-background); + --color-accent: var(--light-color-accent); + --color-active-menu-item: var(--light-color-active-menu-item); + --color-text: var(--light-color-text); + --color-text-aside: var(--light-color-text-aside); + --color-link: var(--light-color-link); + + --color-ts-keyword: var(--light-color-ts-keyword); + --color-ts-module: var(--light-color-ts-module); + --color-ts-namespace: var(--light-color-ts-namespace); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-enum-member: var(--light-color-ts-enum-member); + --color-ts-variable: var(--light-color-ts-variable); + --color-ts-function: var(--light-color-ts-function); + --color-ts-class: var(--light-color-ts-class); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-constructor: var(--light-color-ts-constructor); + --color-ts-property: var(--light-color-ts-property); + --color-ts-method: var(--light-color-ts-method); + --color-ts-call-signature: var(--light-color-ts-call-signature); + --color-ts-index-signature: var(--light-color-ts-index-signature); + --color-ts-constructor-signature: var( + --light-color-ts-constructor-signature + ); + --color-ts-parameter: var(--light-color-ts-parameter); + --color-ts-type-parameter: var(--light-color-ts-type-parameter); + --color-ts-accessor: var(--light-color-ts-accessor); + --color-ts-get-signature: var(--light-color-ts-get-signature); + --color-ts-set-signature: var(--light-color-ts-set-signature); + --color-ts-type-alias: var(--light-color-ts-type-alias); + + --external-icon: var(--light-external-icon); + --color-scheme: var(--light-color-scheme); +} + +:root[data-theme="dark"] { + --color-background: var(--dark-color-background); + --color-background-secondary: var(--dark-color-background-secondary); + --color-background-warning: var(--dark-color-background-warning); + --color-warning-text: var(--dark-color-warning-text); + --color-icon-background: var(--dark-color-icon-background); + --color-accent: var(--dark-color-accent); + --color-active-menu-item: var(--dark-color-active-menu-item); + --color-text: var(--dark-color-text); + --color-text-aside: var(--dark-color-text-aside); + --color-link: var(--dark-color-link); + + --color-ts-keyword: var(--dark-color-ts-keyword); + --color-ts-module: var(--dark-color-ts-module); + --color-ts-namespace: var(--dark-color-ts-namespace); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-enum-member: var(--dark-color-ts-enum-member); + --color-ts-variable: var(--dark-color-ts-variable); + --color-ts-function: var(--dark-color-ts-function); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-constructor: var(--dark-color-ts-constructor); + --color-ts-property: var(--dark-color-ts-property); + --color-ts-method: var(--dark-color-ts-method); + --color-ts-call-signature: var(--dark-color-ts-call-signature); + --color-ts-index-signature: var(--dark-color-ts-index-signature); + --color-ts-constructor-signature: var( + --dark-color-ts-constructor-signature + ); + --color-ts-parameter: var(--dark-color-ts-parameter); + --color-ts-type-parameter: var(--dark-color-ts-type-parameter); + --color-ts-accessor: var(--dark-color-ts-accessor); + --color-ts-get-signature: var(--dark-color-ts-get-signature); + --color-ts-set-signature: var(--dark-color-ts-set-signature); + --color-ts-type-alias: var(--dark-color-ts-type-alias); + + --external-icon: var(--dark-external-icon); + --color-scheme: var(--dark-color-scheme); +} + +.always-visible, +.always-visible .tsd-signatures { + display: inherit !important; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + line-height: 1.2; +} + +h1 > a:not(.link), +h2 > a:not(.link), +h3 > a:not(.link), +h4 > a:not(.link), +h5 > a:not(.link), +h6 > a:not(.link) { + text-decoration: none; + color: var(--color-text); +} + +h1 { + font-size: 1.875rem; + margin: 0.67rem 0; +} + +h2 { + font-size: 1.5rem; + margin: 0.83rem 0; +} + +h3 { + font-size: 1.25rem; + margin: 1rem 0; +} + +h4 { + font-size: 1.05rem; + margin: 1.33rem 0; +} + +h5 { + font-size: 1rem; + margin: 1.5rem 0; +} + +h6 { + font-size: 0.875rem; + margin: 2.33rem 0; +} + +.uppercase { + text-transform: uppercase; +} + +dl, +menu, +ol, +ul { + margin: 1em 0; +} + +dd { + margin: 0 0 0 40px; +} + +.container { + max-width: 1700px; + padding: 0 2rem; +} + +/* Footer */ +.tsd-generator { + border-top: 1px solid var(--color-accent); + padding-top: 1rem; + padding-bottom: 1rem; + max-height: 3.5rem; +} + +.tsd-generator > p { + margin-top: 0; + margin-bottom: 0; + padding: 0 1rem; +} + +.container-main { + margin: 0 auto; + /* toolbar, footer, margin */ + min-height: calc(100vh - 41px - 56px - 4rem); +} + +@keyframes fade-in { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +@keyframes fade-out { + from { + opacity: 1; + visibility: visible; + } + to { + opacity: 0; + } +} +@keyframes fade-in-delayed { + 0% { + opacity: 0; + } + 33% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +@keyframes fade-out-delayed { + 0% { + opacity: 1; + visibility: visible; + } + 66% { + opacity: 0; + } + 100% { + opacity: 0; + } +} +@keyframes pop-in-from-right { + from { + transform: translate(100%, 0); + } + to { + transform: translate(0, 0); + } +} +@keyframes pop-out-to-right { + from { + transform: translate(0, 0); + visibility: visible; + } + to { + transform: translate(100%, 0); + } +} +body { + background: var(--color-background); + font-family: "Segoe UI", sans-serif; + font-size: 16px; + color: var(--color-text); +} + +a { + color: var(--color-link); + text-decoration: none; +} +a:hover { + text-decoration: underline; +} +a.external[target="_blank"] { + background-image: var(--external-icon); + background-position: top 3px right; + background-repeat: no-repeat; + padding-right: 13px; +} + +code, +pre { + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + padding: 0.2em; + margin: 0; + font-size: 0.875rem; + border-radius: 0.8em; +} + +pre { + position: relative; + white-space: pre; + white-space: pre-wrap; + word-wrap: break-word; + padding: 10px; + border: 1px solid var(--color-accent); +} +pre code { + padding: 0; + font-size: 100%; +} +pre > button { + position: absolute; + top: 10px; + right: 10px; + opacity: 0; + transition: opacity 0.1s; + box-sizing: border-box; +} +pre:hover > button, +pre > button.visible { + opacity: 1; +} + +blockquote { + margin: 1em 0; + padding-left: 1em; + border-left: 4px solid gray; +} + +.tsd-typography { + line-height: 1.333em; +} +.tsd-typography ul { + list-style: square; + padding: 0 0 0 20px; + margin: 0; +} +.tsd-typography .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-breadcrumb { + margin: 0; + padding: 0; + color: var(--color-text-aside); +} +.tsd-breadcrumb a { + color: var(--color-text-aside); + text-decoration: none; +} +.tsd-breadcrumb a:hover { + text-decoration: underline; +} +.tsd-breadcrumb li { + display: inline; +} +.tsd-breadcrumb li:after { + content: " / "; +} + +.tsd-comment-tags { + display: flex; + flex-direction: column; +} +dl.tsd-comment-tag-group { + display: flex; + align-items: center; + overflow: hidden; + margin: 0.5em 0; +} +dl.tsd-comment-tag-group dt { + display: flex; + margin-right: 0.5em; + font-size: 0.875em; + font-weight: normal; +} +dl.tsd-comment-tag-group dd { + margin: 0; +} +code.tsd-tag { + padding: 0.25em 0.4em; + border: 0.1em solid var(--color-accent); + margin-right: 0.25em; + font-size: 70%; +} +h1 code.tsd-tag:first-of-type { + margin-left: 0.25em; +} + +dl.tsd-comment-tag-group dd:before, +dl.tsd-comment-tag-group dd:after { + content: " "; +} +dl.tsd-comment-tag-group dd pre, +dl.tsd-comment-tag-group dd:after { + clear: both; +} +dl.tsd-comment-tag-group p { + margin: 0; +} + +.tsd-panel.tsd-comment .lead { + font-size: 1.1em; + line-height: 1.333em; + margin-bottom: 2em; +} +.tsd-panel.tsd-comment .lead:last-child { + margin-bottom: 0; +} + +.tsd-filter-visibility h4 { + font-size: 1rem; + padding-top: 0.75rem; + padding-bottom: 0.5rem; + margin: 0; +} +.tsd-filter-item:not(:last-child) { + margin-bottom: 0.5rem; +} +.tsd-filter-input { + display: flex; + width: fit-content; + width: -moz-fit-content; + align-items: center; + user-select: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + cursor: pointer; +} +.tsd-filter-input input[type="checkbox"] { + cursor: pointer; + position: absolute; + width: 1.5em; + height: 1.5em; + opacity: 0; +} +.tsd-filter-input input[type="checkbox"]:disabled { + pointer-events: none; +} +.tsd-filter-input svg { + cursor: pointer; + width: 1.5em; + height: 1.5em; + margin-right: 0.5em; + border-radius: 0.33em; + /* Leaving this at full opacity breaks event listeners on Firefox. + Don't remove unless you know what you're doing. */ + opacity: 0.99; +} +.tsd-filter-input input[type="checkbox"]:focus + svg { + transform: scale(0.95); +} +.tsd-filter-input input[type="checkbox"]:focus:not(:focus-visible) + svg { + transform: scale(1); +} +.tsd-checkbox-background { + fill: var(--color-accent); +} +input[type="checkbox"]:checked ~ svg .tsd-checkbox-checkmark { + stroke: var(--color-text); +} +.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-background { + fill: var(--color-background); + stroke: var(--color-accent); + stroke-width: 0.25rem; +} +.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-checkmark { + stroke: var(--color-accent); +} + +.tsd-theme-toggle { + padding-top: 0.75rem; +} +.tsd-theme-toggle > h4 { + display: inline; + vertical-align: middle; + margin-right: 0.75rem; +} + +.tsd-hierarchy { + list-style: square; + margin: 0; +} +.tsd-hierarchy .target { + font-weight: bold; +} + +.tsd-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-panel-group.tsd-index-group { + margin-bottom: 0; +} +.tsd-index-panel .tsd-index-list { + list-style: none; + line-height: 1.333em; + margin: 0; + padding: 0.25rem 0 0 0; + overflow: hidden; + display: grid; + grid-template-columns: repeat(3, 1fr); + column-gap: 1rem; + grid-template-rows: auto; +} +@media (max-width: 1024px) { + .tsd-index-panel .tsd-index-list { + grid-template-columns: repeat(2, 1fr); + } +} +@media (max-width: 768px) { + .tsd-index-panel .tsd-index-list { + grid-template-columns: repeat(1, 1fr); + } +} +.tsd-index-panel .tsd-index-list li { + -webkit-page-break-inside: avoid; + -moz-page-break-inside: avoid; + -ms-page-break-inside: avoid; + -o-page-break-inside: avoid; + page-break-inside: avoid; +} + +.tsd-flag { + display: inline-block; + padding: 0.25em 0.4em; + border-radius: 4px; + color: var(--color-comment-tag-text); + background-color: var(--color-comment-tag); + text-indent: 0; + font-size: 75%; + line-height: 1; + font-weight: normal; +} + +.tsd-anchor { + position: relative; + top: -100px; +} + +.tsd-member { + position: relative; +} +.tsd-member .tsd-anchor + h3 { + display: flex; + align-items: center; + margin-top: 0; + margin-bottom: 0; + border-bottom: none; +} + +.tsd-navigation.settings { + margin: 1rem 0; +} +.tsd-navigation > a, +.tsd-navigation .tsd-accordion-summary { + width: calc(100% - 0.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); +} +.tsd-navigation a:hover, +.tsd-page-navigation a:hover { + text-decoration: underline; +} +.tsd-navigation ul, +.tsd-page-navigation ul { + margin-top: 0; + margin-bottom: 0; + padding: 0; + list-style: none; +} +.tsd-navigation li, +.tsd-page-navigation li { + padding: 0; + max-width: 100%; +} +.tsd-nested-navigation { + margin-left: 3rem; +} +.tsd-nested-navigation > li > details { + margin-left: -1.5rem; +} +.tsd-small-nested-navigation { + margin-left: 1.5rem; +} +.tsd-small-nested-navigation > li > details { + margin-left: -1.5rem; +} + +.tsd-page-navigation ul { + padding-left: 1.75rem; +} + +#tsd-sidebar-links a { + margin-top: 0; + margin-bottom: 0.5rem; + line-height: 1.25rem; +} +#tsd-sidebar-links a:last-of-type { + margin-bottom: 0; +} + +a.tsd-index-link { + padding: 0.25rem 0 !important; + font-size: 1rem; + line-height: 1.25rem; + display: inline-flex; + align-items: center; + color: var(--color-text); +} +.tsd-accordion-summary { + list-style-type: none; /* hide marker on non-safari */ + outline: none; /* broken on safari, so just hide it */ +} +.tsd-accordion-summary::-webkit-details-marker { + display: none; /* hide marker on safari */ +} +.tsd-accordion-summary, +.tsd-accordion-summary a { + user-select: none; + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + + cursor: pointer; +} +.tsd-accordion-summary a { + width: calc(100% - 1.5rem); +} +.tsd-accordion-summary > * { + margin-top: 0; + margin-bottom: 0; + padding-top: 0; + padding-bottom: 0; +} +.tsd-index-accordion .tsd-accordion-summary > svg { + margin-left: 0.25rem; +} +.tsd-index-content > :not(:first-child) { + margin-top: 0.75rem; +} +.tsd-index-heading { + margin-top: 1.5rem; + margin-bottom: 0.75rem; +} + +.tsd-kind-icon { + margin-right: 0.5rem; + width: 1.25rem; + height: 1.25rem; + min-width: 1.25rem; + min-height: 1.25rem; +} +.tsd-kind-icon path { + transform-origin: center; + transform: scale(1.1); +} +.tsd-signature > .tsd-kind-icon { + margin-right: 0.8rem; +} + +.tsd-panel { + margin-bottom: 2.5rem; +} +.tsd-panel.tsd-member { + margin-bottom: 4rem; +} +.tsd-panel:empty { + display: none; +} +.tsd-panel > h1, +.tsd-panel > h2, +.tsd-panel > h3 { + margin: 1.5rem -1.5rem 0.75rem -1.5rem; + padding: 0 1.5rem 0.75rem 1.5rem; +} +.tsd-panel > h1.tsd-before-signature, +.tsd-panel > h2.tsd-before-signature, +.tsd-panel > h3.tsd-before-signature { + margin-bottom: 0; + border-bottom: none; +} + +.tsd-panel-group { + margin: 4rem 0; +} +.tsd-panel-group.tsd-index-group { + margin: 2rem 0; +} +.tsd-panel-group.tsd-index-group details { + margin: 2rem 0; +} + +#tsd-search { + transition: background-color 0.2s; +} +#tsd-search .title { + position: relative; + z-index: 2; +} +#tsd-search .field { + position: absolute; + left: 0; + top: 0; + right: 2.5rem; + height: 100%; +} +#tsd-search .field input { + box-sizing: border-box; + position: relative; + top: -50px; + z-index: 1; + width: 100%; + padding: 0 10px; + opacity: 0; + outline: 0; + border: 0; + background: transparent; + color: var(--color-text); +} +#tsd-search .field label { + position: absolute; + overflow: hidden; + right: -40px; +} +#tsd-search .field input, +#tsd-search .title, +#tsd-toolbar-links a { + transition: opacity 0.2s; +} +#tsd-search .results { + position: absolute; + visibility: hidden; + top: 40px; + width: 100%; + margin: 0; + padding: 0; + list-style: none; + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); +} +#tsd-search .results li { + background-color: var(--color-background); + line-height: initial; + padding: 4px; +} +#tsd-search .results li:nth-child(even) { + background-color: var(--color-background-secondary); +} +#tsd-search .results li.state { + display: none; +} +#tsd-search .results li.current:not(.no-results), +#tsd-search .results li:hover:not(.no-results) { + background-color: var(--color-accent); +} +#tsd-search .results a { + display: flex; + align-items: center; + padding: 0.25rem; + box-sizing: border-box; +} +#tsd-search .results a:before { + top: 10px; +} +#tsd-search .results span.parent { + color: var(--color-text-aside); + font-weight: normal; +} +#tsd-search.has-focus { + background-color: var(--color-accent); +} +#tsd-search.has-focus .field input { + top: 0; + opacity: 1; +} +#tsd-search.has-focus .title, +#tsd-search.has-focus #tsd-toolbar-links a { + z-index: 0; + opacity: 0; +} +#tsd-search.has-focus .results { + visibility: visible; +} +#tsd-search.loading .results li.state.loading { + display: block; +} +#tsd-search.failure .results li.state.failure { + display: block; +} + +#tsd-toolbar-links { + position: absolute; + top: 0; + right: 2rem; + height: 100%; + display: flex; + align-items: center; + justify-content: flex-end; +} +#tsd-toolbar-links a { + margin-left: 1.5rem; +} +#tsd-toolbar-links a:hover { + text-decoration: underline; +} + +.tsd-signature { + margin: 0 0 1rem 0; + padding: 1rem 0.5rem; + border: 1px solid var(--color-accent); + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + font-size: 14px; + overflow-x: auto; +} + +.tsd-signature-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-description .tsd-signatures .tsd-signature { + border-width: 1px; +} + +ul.tsd-parameter-list, +ul.tsd-type-parameter-list { + list-style: square; + margin: 0; + padding-left: 20px; +} +ul.tsd-parameter-list > li.tsd-parameter-signature, +ul.tsd-type-parameter-list > li.tsd-parameter-signature { + list-style: none; + margin-left: -20px; +} +ul.tsd-parameter-list h5, +ul.tsd-type-parameter-list h5 { + font-size: 16px; + margin: 1em 0 0.5em 0; +} +.tsd-sources { + margin-top: 1rem; + font-size: 0.875em; +} +.tsd-sources a { + color: var(--color-text-aside); + text-decoration: underline; +} +.tsd-sources ul { + list-style: none; + padding: 0; +} + +.tsd-page-toolbar { + position: sticky; + z-index: 1; + top: 0; + left: 0; + width: 100%; + color: var(--color-text); + background: var(--color-background-secondary); + border-bottom: 1px var(--color-accent) solid; + transition: transform 0.3s ease-in-out; +} +.tsd-page-toolbar a { + color: var(--color-text); + text-decoration: none; +} +.tsd-page-toolbar a.title { + font-weight: bold; +} +.tsd-page-toolbar a.title:hover { + text-decoration: underline; +} +.tsd-page-toolbar .tsd-toolbar-contents { + display: flex; + justify-content: space-between; + height: 2.5rem; + margin: 0 auto; +} +.tsd-page-toolbar .table-cell { + position: relative; + white-space: nowrap; + line-height: 40px; +} +.tsd-page-toolbar .table-cell:first-child { + width: 100%; +} +.tsd-page-toolbar .tsd-toolbar-icon { + box-sizing: border-box; + line-height: 0; + padding: 12px 0; +} + +.tsd-widget { + display: inline-block; + overflow: hidden; + opacity: 0.8; + height: 40px; + transition: + opacity 0.1s, + background-color 0.2s; + vertical-align: bottom; + cursor: pointer; +} +.tsd-widget:hover { + opacity: 0.9; +} +.tsd-widget.active { + opacity: 1; + background-color: var(--color-accent); +} +.tsd-widget.no-caption { + width: 40px; +} +.tsd-widget.no-caption:before { + margin: 0; +} + +.tsd-widget.options, +.tsd-widget.menu { + display: none; +} +input[type="checkbox"] + .tsd-widget:before { + background-position: -120px 0; +} +input[type="checkbox"]:checked + .tsd-widget:before { + background-position: -160px 0; +} + +img { + max-width: 100%; +} + +.tsd-anchor-icon { + display: inline-flex; + align-items: center; + margin-left: 0.5rem; + vertical-align: middle; + color: var(--color-text); +} + +.tsd-anchor-icon svg { + width: 1em; + height: 1em; + visibility: hidden; +} + +.tsd-anchor-link:hover > .tsd-anchor-icon svg { + visibility: visible; +} + +.deprecated { + text-decoration: line-through !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-call-signature { + color: var(--color-ts-call-signature); +} +.tsd-kind-index-signature { + color: var(--color-ts-index-signature); +} +.tsd-kind-constructor-signature { + color: var(--color-ts-constructor-signature); +} +.tsd-kind-parameter { + color: var(--color-ts-parameter); +} +.tsd-kind-type-literal { + color: var(--color-ts-type-literal); +} +.tsd-kind-type-parameter { + color: var(--color-ts-type-parameter); +} +.tsd-kind-accessor { + color: var(--color-ts-accessor); +} +.tsd-kind-get-signature { + color: var(--color-ts-get-signature); +} +.tsd-kind-set-signature { + color: var(--color-ts-set-signature); +} +.tsd-kind-type-alias { + color: var(--color-ts-type-alias); +} + +/* if we have a kind icon, don't color the text by kind */ +.tsd-kind-icon ~ span { + color: var(--color-text); +} + +* { + scrollbar-width: thin; + scrollbar-color: var(--color-accent) var(--color-icon-background); +} + +*::-webkit-scrollbar { + width: 0.75rem; +} + +*::-webkit-scrollbar-track { + background: var(--color-icon-background); +} + +*::-webkit-scrollbar-thumb { + background-color: var(--color-accent); + border-radius: 999rem; + border: 0.25rem solid var(--color-icon-background); +} + +/* mobile */ +@media (max-width: 769px) { + .tsd-widget.options, + .tsd-widget.menu { + display: inline-block; + } + + .container-main { + display: flex; + } + html .col-content { + float: none; + max-width: 100%; + width: 100%; + } + html .col-sidebar { + position: fixed !important; + overflow-y: auto; + -webkit-overflow-scrolling: touch; + z-index: 1024; + top: 0 !important; + bottom: 0 !important; + left: auto !important; + right: 0 !important; + padding: 1.5rem 1.5rem 0 0; + width: 75vw; + visibility: hidden; + background-color: var(--color-background); + transform: translate(100%, 0); + } + html .col-sidebar > *:last-child { + padding-bottom: 20px; + } + html .overlay { + content: ""; + display: block; + position: fixed; + z-index: 1023; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: rgba(0, 0, 0, 0.75); + visibility: hidden; + } + + .to-has-menu .overlay { + animation: fade-in 0.4s; + } + + .to-has-menu .col-sidebar { + animation: pop-in-from-right 0.4s; + } + + .from-has-menu .overlay { + animation: fade-out 0.4s; + } + + .from-has-menu .col-sidebar { + animation: pop-out-to-right 0.4s; + } + + .has-menu body { + overflow: hidden; + } + .has-menu .overlay { + visibility: visible; + } + .has-menu .col-sidebar { + visibility: visible; + transform: translate(0, 0); + display: flex; + flex-direction: column; + gap: 1.5rem; + max-height: 100vh; + padding: 1rem 2rem; + } + .has-menu .tsd-navigation { + max-height: 100%; + } +} + +/* one sidebar */ +@media (min-width: 770px) { + .container-main { + display: grid; + grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); + grid-template-areas: "sidebar content"; + margin: 2rem auto; + } + + .col-sidebar { + grid-area: sidebar; + } + .col-content { + grid-area: content; + padding: 0 1rem; + } +} +@media (min-width: 770px) and (max-width: 1399px) { + .col-sidebar { + max-height: calc(100vh - 2rem - 42px); + overflow: auto; + position: sticky; + top: 42px; + padding-top: 1rem; + } + .site-menu { + margin-top: 1rem; + } +} + +/* two sidebars */ +@media (min-width: 1200px) { + .container-main { + grid-template-columns: minmax(0, 1fr) minmax(0, 2.5fr) minmax(0, 20rem); + grid-template-areas: "sidebar content toc"; + } + + .col-sidebar { + display: contents; + } + + .page-menu { + grid-area: toc; + padding-left: 1rem; + } + .site-menu { + grid-area: sidebar; + } + + .site-menu { + margin-top: 1rem 0; + } + + .page-menu, + .site-menu { + max-height: calc(100vh - 2rem - 42px); + overflow: auto; + position: sticky; + top: 42px; + } +} diff --git a/docs/classes/Category.html b/docs/classes/Category.html new file mode 100644 index 0000000..c02d503 --- /dev/null +++ b/docs/classes/Category.html @@ -0,0 +1,28 @@ +Category | @quickdevelopment/wp-js

Category class.

+

Since

3.0.0

+

Hierarchy (view full)

Constructors

Properties

endpoint: string = 'posts'
_instance: WPJSSingleton

Methods

  • Fetch a single category.

    +

    Returns Promise<CategoryDataType>

    Since

    3.0.0

    +

    Example

    import { Category } from "@quickdevelopment/wp-js";

    const category = new Category('categories/1');

    category.fetch().then((category) => {
    console.log(category);
    }) +
    +
  • Fetch multiple categories.

    +

    Returns Promise<CategoryDataType[]>

    Since

    3.0.0

    +

    Example

    import { Category } from "@quickdevelopment/wp-js";

    const categories = new Category();

    categories.fetchMany().then((categories) => {
    console.log(categories);
    }) +
    +
  • Protected

    Get data about the current class.

    +

    Type Parameters

    • T

    Returns Promise<T>

    Since

    1.0.0

    +
  • Protected

    Get the search parameters.

    +

    Returns URLSearchParams

  • Set search parameters for the request.

    +

    Parameters

    • params: Record<string, string | number>

      Object containing search parameters.

      +

    Returns this

    Since

    2.0.0

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/Comment.html b/docs/classes/Comment.html new file mode 100644 index 0000000..6a0424f --- /dev/null +++ b/docs/classes/Comment.html @@ -0,0 +1,28 @@ +Comment | @quickdevelopment/wp-js

Comment class.

+

Since

3.0.0

+

Hierarchy (view full)

Constructors

Properties

endpoint: string = 'posts'
_instance: WPJSSingleton

Methods

  • Fetch a single comment.

    +

    Returns Promise<CommentDataType>

    Since

    3.0.0

    +

    Example

    import { Comment } from "@quickdevelopment/wp-js";

    const comment = new Comment('comments/1');

    comment.fetch().then((comment) => {
    console.log(comment);
    }) +
    +
  • Fetch multiple comments.

    +

    Returns Promise<CommentDataType[]>

    Since

    3.0.0

    +

    Example

    import { Comment } from "@quickdevelopment/wp-js";

    const comments = new Comment();

    comments.fetchMany().then((comments) => {
    console.log(comments);
    }) +
    +
  • Protected

    Get data about the current class.

    +

    Type Parameters

    • T

    Returns Promise<T>

    Since

    1.0.0

    +
  • Protected

    Get the search parameters.

    +

    Returns URLSearchParams

  • Set search parameters for the request.

    +

    Parameters

    • params: Record<string, string | number>

      Object containing search parameters.

      +

    Returns this

    Since

    2.0.0

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/ConfigManager.html b/docs/classes/ConfigManager.html new file mode 100644 index 0000000..77018c5 --- /dev/null +++ b/docs/classes/ConfigManager.html @@ -0,0 +1,17 @@ +ConfigManager | @quickdevelopment/wp-js

ConfigManager

+

Description

ConfigManager is a singleton class that loads the config from wp-js.config.ts

+

Example

import {ConfigManager} from "@quickdevelopment/wp-js";

ConfigManager.getInstance({ apiUrl: 'https://api.wordpress.org/wp-json/wp/v2', embed: true }); +
+

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

_instance: WPJSSingleton

Methods

  • Get the config

    +

    Returns WPJSConfigOptions

    Example

    import { ConfigManager } from "@quickdevelopment/wp-js";

    const config = ConfigManager.getInstance();

    // It will return your earlier provided config
    console.log(config.getConfig()); +
    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/Media.html b/docs/classes/Media.html new file mode 100644 index 0000000..073c65e --- /dev/null +++ b/docs/classes/Media.html @@ -0,0 +1,28 @@ +Media | @quickdevelopment/wp-js

The Media class.

+

Since

3.0.0

+

Hierarchy (view full)

Constructors

Properties

endpoint: string = 'posts'
_instance: WPJSSingleton

Methods

  • Fetch a single media.

    +

    Returns Promise<MediaDataType>

    Since

    3.0.0

    +

    Example

    import {Media} from "@quickdevelopment/wp-js";

    const media = new Media('media/1');

    media.fetch().then((media) => {
    console.log(media)
    }) +
    +
  • Fetch multiple media.

    +

    Returns Promise<MediaDataType[]>

    Since

    3.0.0

    +

    Example

    import {Media} from "@quickdevelopment/wp-js";

    const media = new Media();

    media.fetchMany().then((media) => {
    console.log(media)
    }) +
    +
  • Protected

    Get data about the current class.

    +

    Type Parameters

    • T

    Returns Promise<T>

    Since

    1.0.0

    +
  • Protected

    Get the search parameters.

    +

    Returns URLSearchParams

  • Set search parameters for the request.

    +

    Parameters

    • params: Record<string, string | number>

      Object containing search parameters.

      +

    Returns this

    Since

    2.0.0

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/Page.html b/docs/classes/Page.html new file mode 100644 index 0000000..c3d6aa3 --- /dev/null +++ b/docs/classes/Page.html @@ -0,0 +1,28 @@ +Page | @quickdevelopment/wp-js

The Page class.

+

Since

3.0.0

+

Hierarchy (view full)

Constructors

Properties

endpoint: string = 'posts'
_instance: WPJSSingleton

Methods

  • Fetch a single page.

    +

    Returns Promise<PageDataType>

    Since

    3.0.0

    +

    Example

    import {Page} from "@quickdevelopment/wp-js";

    const page = new Page('pages/1');

    page.fetch().then((page) => {
    console.log(page)
    }) +
    +
  • Fetch multiple pages.

    +

    Returns Promise<PageDataType[]>

    Since

    3.0.0

    +

    Example

    import {Page} from "@quickdevelopment/wp-js";

    const pages = new Page();

    pages.fetchMany().then((pages) => {
    console.log(pages)
    }) +
    +
  • Protected

    Get data about the current class.

    +

    Type Parameters

    • T

    Returns Promise<T>

    Since

    1.0.0

    +
  • Protected

    Get the search parameters.

    +

    Returns URLSearchParams

  • Set search parameters for the request.

    +

    Parameters

    • params: Record<string, string | number>

      Object containing search parameters.

      +

    Returns this

    Since

    2.0.0

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/Post.html b/docs/classes/Post.html new file mode 100644 index 0000000..b21cc57 --- /dev/null +++ b/docs/classes/Post.html @@ -0,0 +1,58 @@ +Post | @quickdevelopment/wp-js

Post class.

+

Since

2.0.0

+

Hierarchy (view full)

Constructors

Properties

_searchTerm: string = ''
_slug: string = ''
endpoint: string = 'posts'
_instance: WPJSSingleton

Methods

  • Set the author.

    +

    Parameters

    • userId: number

    Returns this

    Since

    2.0.0

    +

    Description

    This will set the author. This is useful if you want to get posts from different authors while keeping the same Post instance.

    +

    Example

    import {Post} from "@quickdevelopment/wp-js";

    const authorPosts = new Post();

    authorPosts.byAuthor(1).get().then((posts) => {
    // This will return the posts from author with id 1.
    console.log(posts)
    }) +
    +
  • Set the searchTerm.

    +

    Parameters

    • searchTerm: string

    Returns this

    Since

    2.0.0

    +

    Description

    This will set the searchTerm. This is useful if you want to get posts from different searchTerms while keeping the same Post instance.

    +

    Example

    import {Post} from "@quickdevelopment/wp-js";

    const searchTermPosts = new Post();

    searchTermPosts.bySearchTerm('hello-world').get().then((posts) => {
    // This will return the post from slug 'hello-world'.
    console.log(posts)
    }) +
    +
  • Set the slug.

    +

    Parameters

    • slug: string

    Returns this

    Since

    2.0.0

    +

    Description

    This will set the slug. This is useful if you want to get posts from different slugs while keeping the same Post instance.

    +

    Example

    import {Post} from "@quickdevelopment/wp-js";

    const slugPost = new Post();

    slugPost.bySlug('hello-world').get().then((post) => {
    // This will return the post from slug 'hello-world'.
    console.log(post)
    }) +
    +
  • Get a single post.

    +

    Returns Promise<PostDataType>

    Since

    2.0.0

    +

    Example

    import {Post} from "@quickdevelopment/wp-js";

    const post = new Post('posts/1');

    post.fetch().then((post) => {
    console.log(post)
    }) +
    +
  • Get multiple posts.

    +

    Returns Promise<PostDataType[]>

    Since

    3.0.0

    +

    Example

    import {Post} from "@quickdevelopment/wp-js";

    const posts = new Post();

    posts.fetchMany().then((posts) => {
    console.log(posts)
    }) +
    +
  • Protected

    Get data about the current class.

    +

    Type Parameters

    • T

    Returns Promise<T>

    Since

    1.0.0

    +
  • Protected

    Get the search parameters.

    +

    Returns URLSearchParams

  • Get the searchTerm.

    +

    Returns string

    Since

    2.0.0

    +
  • Get the slug.

    +

    Returns string

    Since

    2.0.0

    +
  • Set the amount of posts to take.

    +

    Parameters

    • perPage: number
    • page: number

    Returns this

    Since

    2.0.0

    +

    Description

    This will paginate the posts using per_page and the page query parameters.

    +
  • Set search parameters for the request.

    +

    Parameters

    • params: Record<string, string | number>

      Object containing search parameters.

      +

    Returns this

    Since

    2.0.0

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/Search.html b/docs/classes/Search.html new file mode 100644 index 0000000..6a3049f --- /dev/null +++ b/docs/classes/Search.html @@ -0,0 +1,31 @@ +Search | @quickdevelopment/wp-js

The Search class.

+

Since

3.0.0

+

Hierarchy (view full)

Constructors

Properties

endpoint: string = 'posts'
_instance: WPJSSingleton

Methods

  • Fetch multiple search results.

    +

    Returns Promise<SearchDataType[]>

    Since

    3.0.0

    +

    Example

    import { Search } from "@quickdevelopment/wp-js";

    const search = new Search();
    search.setSubtype('post').fetch().then((search) => {
    console.log(search);
    }) +
    +
  • Protected

    Get data about the current class.

    +

    Type Parameters

    • T

    Returns Promise<T>

    Since

    1.0.0

    +
  • Protected

    Get the search parameters.

    +

    Returns URLSearchParams

  • Set search parameters for the request.

    +

    Parameters

    • params: Record<string, string | number>

      Object containing search parameters.

      +

    Returns this

    Since

    2.0.0

    +
  • Set the search subtype.

    +

    Parameters

    • subtype: string

    Returns this

    Since

    3.0.0

    +

    Example

    import { Search } from "@quickdevelopment/wp-js";

    const search = new Search();
    search.setSubtype('post'); +
    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/Status.html b/docs/classes/Status.html new file mode 100644 index 0000000..64199f5 --- /dev/null +++ b/docs/classes/Status.html @@ -0,0 +1,28 @@ +Status | @quickdevelopment/wp-js

The Status class.

+

Since

3.0.0

+

Hierarchy (view full)

Constructors

Properties

endpoint: string = 'posts'
_instance: WPJSSingleton

Methods

  • Fetch a single status.

    +

    Returns Promise<StatusDataType>

    Since

    3.0.0

    +

    Example

    import { Status } from '@quickdevelopment/wp-js';

    const status = new Status();

    status.fetch().then((data) => {
    console.log(data);
    }); +
    +
  • Fetch many statuses.

    +

    Returns Promise<StatusDataType[]>

    Since

    3.0.0

    +

    Example

    import { Status } from '@quickdevelopment/wp-js';

    const status = new Status();

    status.fetchMany().then((data) => {
    console.log(data);
    }); +
    +
  • Protected

    Get data about the current class.

    +

    Type Parameters

    • T

    Returns Promise<T>

    Since

    1.0.0

    +
  • Protected

    Get the search parameters.

    +

    Returns URLSearchParams

  • Set search parameters for the request.

    +

    Parameters

    • params: Record<string, string | number>

      Object containing search parameters.

      +

    Returns this

    Since

    2.0.0

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/Tag.html b/docs/classes/Tag.html new file mode 100644 index 0000000..b63e366 --- /dev/null +++ b/docs/classes/Tag.html @@ -0,0 +1,24 @@ +Tag | @quickdevelopment/wp-js

The Tag class.

+

Since

3.0.0

+

Hierarchy (view full)

  • WPJSBase<PostTagDataType[] | PostTagDataType>
    • Tag

Constructors

Properties

endpoint: string = 'posts'
_instance: WPJSSingleton

Methods

  • Fetch a single object from the endpoint.

    +

    Returns Promise<default>

    Since

    2.0.0

    +
  • Protected

    Fetch multiple objects from the endpoint.

    +

    Returns Promise<(default | default[])[]>

    Since

    2.0.0

    +
  • Protected

    Get data about the current class.

    +

    Type Parameters

    • T

    Returns Promise<T>

    Since

    1.0.0

    +
  • Protected

    Get the search parameters.

    +

    Returns URLSearchParams

  • Set search parameters for the request.

    +

    Parameters

    • params: Record<string, string | number>

      Object containing search parameters.

      +

    Returns this

    Since

    2.0.0

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/Taxonomy.html b/docs/classes/Taxonomy.html new file mode 100644 index 0000000..0c17913 --- /dev/null +++ b/docs/classes/Taxonomy.html @@ -0,0 +1,28 @@ +Taxonomy | @quickdevelopment/wp-js

The Taxonomy class.

+

Since

3.0.0

+

Hierarchy (view full)

Constructors

Properties

endpoint: string = 'posts'
_instance: WPJSSingleton

Methods

  • Fetch a single taxonomy.

    +

    Returns Promise<TaxonomyDataType>

    Since

    3.0.0

    +

    Example

    import { Taxonomy } from '@quickdevelopment/wp-js';

    const taxonomy = new Taxonomy();

    taxonomy.fetch().then((data) => {
    console.log(data);
    }); +
    +
  • Fetch many taxonomies.

    +

    Returns Promise<TaxonomyDataType[]>

    Since

    3.0.0

    +

    Example

    import { Taxonomy } from '@quickdevelopment/wp-js';

    const taxonomy = new Taxonomy();

    taxonomy.fetchMany().then((data) => {
    console.log(data);
    }); +
    +
  • Protected

    Get data about the current class.

    +

    Type Parameters

    • T

    Returns Promise<T>

    Since

    1.0.0

    +
  • Protected

    Get the search parameters.

    +

    Returns URLSearchParams

  • Set search parameters for the request.

    +

    Parameters

    • params: Record<string, string | number>

      Object containing search parameters.

      +

    Returns this

    Since

    2.0.0

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/Type.html b/docs/classes/Type.html new file mode 100644 index 0000000..08a53b7 --- /dev/null +++ b/docs/classes/Type.html @@ -0,0 +1,28 @@ +Type | @quickdevelopment/wp-js

The Type class.

+

Since

3.0.0

+

Hierarchy (view full)

Constructors

Properties

endpoint: string = 'posts'
_instance: WPJSSingleton

Methods

  • Fetch a single type.

    +

    Returns Promise<TypeDataType>

    Since

    3.0.0

    +

    Example

    import { Type } from "@quickdevelopment/wp-js";

    const type = new Type('types/post');

    type.fetch().then((type) => {
    console.log(type);
    }); +
    +
  • Fetch multiple types.

    +

    Returns Promise<TypeDataType[]>

    Since

    3.0.0

    +

    Example

    import { Type } from "@quickdevelopment/wp-js";

    const types = new Type();

    types.fetchMany().then((types) => {
    console.log(types);
    }) +
    +
  • Protected

    Get data about the current class.

    +

    Type Parameters

    • T

    Returns Promise<T>

    Since

    1.0.0

    +
  • Protected

    Get the search parameters.

    +

    Returns URLSearchParams

  • Set search parameters for the request.

    +

    Parameters

    • params: Record<string, string | number>

      Object containing search parameters.

      +

    Returns this

    Since

    2.0.0

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/User.html b/docs/classes/User.html new file mode 100644 index 0000000..f5ad969 --- /dev/null +++ b/docs/classes/User.html @@ -0,0 +1,39 @@ +User | @quickdevelopment/wp-js

User class.

+

Since

2.0.0

+

Hierarchy (view full)

Constructors

Properties

_userId: number
endpoint: string = 'posts'
_instance: WPJSSingleton

Methods

  • Set the user id.

    +

    Parameters

    • userId: number

    Returns this

    Since

    2.0.0

    +

    Description

    This will set the user id. This is useful if you want to get posts from different users while keeping the same user instance.

    +

    Example

    import {User} from "@quickdevelopment/wp-js";

    const user = new User(1);
    user.get().then((user) => {
    // This will return all information from user 1.
    console.log(user)
    });

    user.byUserId(2).get().then((user) => {
    // This will return all information from user 2.
    console.log(user)
    }); +
    +
  • Get the user data.

    +

    Returns Promise<UserDataType>

    Since

    2.0.0

    +

    Example

    import {User} from "@quickdevelopment/wp-js";

    const user = new User(1);

    user.get().then((user) => {
    console.log(user)
    }) +
    +
  • Protected

    Get data about the current class.

    +

    Type Parameters

    • T

    Returns Promise<T>

    Since

    1.0.0

    +
  • Protected

    Get the search parameters.

    +

    Returns URLSearchParams

  • Get the user id.

    +

    Returns number

    userId

    +

    Since

    2.0.0

    +

    Example

    import {User} from "@quickdevelopment/wp-js";

    const user = new User(1);

    // This will return 1.
    user.getUserId(); +
    +
  • Set search parameters for the request.

    +

    Parameters

    • params: Record<string, string | number>

      Object containing search parameters.

      +

    Returns this

    Since

    2.0.0

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/WPJSBase.html b/docs/classes/WPJSBase.html new file mode 100644 index 0000000..e1a99b6 --- /dev/null +++ b/docs/classes/WPJSBase.html @@ -0,0 +1,33 @@ +WPJSBase | @quickdevelopment/wp-js

Base class for all WPJS classes.

+

Since

1.0.0

+

Type Parameters

  • T

Hierarchy (view full)

Constructors

Properties

_apiUrl: string = ...
_searchParams: URLSearchParams = ...
endpoint: string = 'posts'
_instance: WPJSSingleton

Methods

  • Private

    Construct the url for the request.

    +

    Returns string

    Since

    1.0.0

    +
  • Protected

    Fetch a single object from the endpoint.

    +

    Returns Promise<T>

    Since

    2.0.0

    +
  • Protected

    Fetch multiple objects from the endpoint.

    +

    Returns Promise<T[]>

    Since

    2.0.0

    +
  • Protected

    Get data about the current class.

    +

    Type Parameters

    • T

    Returns Promise<T>

    Since

    1.0.0

    +
  • Private

    Get the API url.

    +

    Returns string

  • Private

    Get the endpoint.

    +

    Returns string

  • Protected

    Get the search parameters.

    +

    Returns URLSearchParams

  • Set search parameters for the request.

    +

    Parameters

    • params: Record<string, string | number>

      Object containing search parameters.

      +

    Returns this

    Since

    2.0.0

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/WPJSSingleton.html b/docs/classes/WPJSSingleton.html new file mode 100644 index 0000000..6c94906 --- /dev/null +++ b/docs/classes/WPJSSingleton.html @@ -0,0 +1,8 @@ +WPJSSingleton | @quickdevelopment/wp-js

WPJSSingleton class

+

Since

1.0.0

+

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

_instance: WPJSSingleton

Methods

  • Get the instance of the WPJSSingleton class.

    +

    Returns WPJSSingleton

    Since

    1.0.0

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/hierarchy.html b/docs/hierarchy.html new file mode 100644 index 0000000..78d9db0 --- /dev/null +++ b/docs/hierarchy.html @@ -0,0 +1 @@ +@quickdevelopment/wp-js

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 0000000..881fa89 --- /dev/null +++ b/docs/index.html @@ -0,0 +1,39 @@ +@quickdevelopment/wp-js

@quickdevelopment/wp-js

+

@quickdevelopment/wp-js · npm version

+

+ Get all your public WordPress data through the WP API using a tree-shakable TypeScript library. +

+
+ +
+ Table of Contents +
    +
  1. Installation
  2. +
  3. Usage
  4. +
  5. Coming up
  6. +
  7. Contributing
  8. +
  9. License
  10. +
+
+ +

Installation

npm install @quickdevelopment/wp-js
+
+

Usage

Setting the Config

// src/main.ts
import { ConfigManager } from "@quickdevelopment/wp-js";

ConfigManager.getInstance({
// Replace with your WordPress API URL
apiUrl: 'https://developer.wordpress.org/wp-json/wp/v2',
embed: true
}); +
+

Retrieve Posts

This is an example of how to retrieve posts from your WordPress site using the Post class.

+
import {Post, PostDataType} from "@quickdevelopment/wp-js";

const posts = new Post()

posts.fetchMany().then((posts: PostDataType[]) => {
console.log(posts);
})
.catch((err) => {
console.log(err);
}); +
+

Retrieve User

This is an example of how to retrieve user data from your WordPress site using the User class.

+
import {User, UserDataType} from "@quickdevelopment/wp-js";

const user = new User(116)

user.fetchMany().then((user: UserDataType[]) => {
console.log(user);
})
.catch((err) => {
console.log(err);
}); +
+

Create your own API class

You can create your own API class to retrieve data from the WP API. This is an example of how to create a custom API class.

+
import {WPJSBase} from "@quickdevelopment/wp-js";

class CustomEndpoint extends WPJSBase<CustomEndpointType> {
constructor() {
super();
this.endpoint = 'my-endpoint'
}

public fetch(): Promise<CustomEndpointType> {
return this.get();
}

public fetchMany(): Promise<CustomEndpointType[]> {
return this.get();
}
} +
+

Coming up

    +
  • Add more API classes to retrieve data from the WP API
  • +
  • Examples of how to use the library in multiple contexts
  • +
  • Add a documentation site
  • +
+

Contributing

If you want to contribute to this project, see CONTRIBUTING for details.

+

License

MIT © Quickdevelopment. See LICENSE for details.

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/interfaces/CategoryDataType.html b/docs/interfaces/CategoryDataType.html new file mode 100644 index 0000000..e267903 --- /dev/null +++ b/docs/interfaces/CategoryDataType.html @@ -0,0 +1,33 @@ +CategoryDataType | @quickdevelopment/wp-js

Interface CategoryDataType

CategoryDataType

+

Since

3.0.0

+
interface CategoryDataType {
    acf: object[];
    count: number;
    description: string;
    id: number;
    link: string;
    meta: object[];
    name: string;
    parent: number;
    slug: string;
    taxonomy: string;
}

Hierarchy

  • default
    • CategoryDataType

Properties

acf: object[]

The acf.

+

Since

3.0.0

+
count: number

The count.

+

Since

3.0.0

+
description: string

The description.

+

Since

3.0.0

+
id: number

The ID.

+

Since

3.0.0

+
link: string

The link.

+

Since

3.0.0

+
meta: object[]

The meta.

+

Since

3.0.0

+
name: string

The name.

+

Since

3.0.0

+
parent: number

The parent.

+

Since

3.0.0

+
slug: string

The slug.

+

Since

3.0.0

+
taxonomy: string

The taxonomy.

+

Since

3.0.0

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/interfaces/CommentDataType.html b/docs/interfaces/CommentDataType.html new file mode 100644 index 0000000..1c57c41 --- /dev/null +++ b/docs/interfaces/CommentDataType.html @@ -0,0 +1,56 @@ +CommentDataType | @quickdevelopment/wp-js

CommentDataType

+

Since

3.0.0

+
interface CommentDataType {
    acf: object[];
    author: number;
    author_avatar_urls: {
        24: string;
        48: string;
        96: string;
    };
    author_name: string;
    author_url: string;
    content: {
        rendered: string;
    };
    date: string;
    date_gmt: string;
    id: number;
    link: string;
    meta: object[];
    parent: number;
    post: number;
    status: string;
    type: string;
}

Properties

acf: object[]

The acf.

+

Since

3.0.0

+
author: number

The author.

+

Since

3.0.0

+
author_avatar_urls: {
    24: string;
    48: string;
    96: string;
}

The author avatar urls.

+

Type declaration

  • 24: string

    The 24.

    +

    Since

    3.0.0

    +
  • 48: string

    The 48.

    +

    Since

    3.0.0

    +
  • 96: string

    The 96.

    +

    Since

    3.0.0

    +

Since

3.0.0

+
author_name: string

The author name.

+

Since

3.0.0

+
author_url: string

The author url.

+

Since

3.0.0

+
content: {
    rendered: string;
}

The content.

+

Type declaration

  • rendered: string

    The rendered.

    +

    Since

    3.0.0

    +

Since

3.0.0

+
date: string

The date.

+

Since

3.0.0

+
date_gmt: string

The date gmt.

+

Since

3.0.0

+
id: number

The id.

+

Since

3.0.0

+
link: string

The link.

+

Since

3.0.0

+
meta: object[]

The meta.

+

Since

3.0.0

+
parent: number

The parent.

+

Since

3.0.0

+
post: number

The post.

+

Since

3.0.0

+
status: string

The status.

+

Since

3.0.0

+
type: string

The type.

+

Since

3.0.0

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/interfaces/MediaDataType.html b/docs/interfaces/MediaDataType.html new file mode 100644 index 0000000..e352d1b --- /dev/null +++ b/docs/interfaces/MediaDataType.html @@ -0,0 +1,83 @@ +MediaDataType | @quickdevelopment/wp-js

The WP Media fields.

+

MediaType

+
interface MediaDataType {
    _embedded: {
        author: UserDataType[];
    };
    acf: object[];
    alt_text: string;
    author: number;
    caption: {
        rendered: string;
    };
    date: string;
    id: number;
    link: string;
    media_details: {
        file: string;
        filesize: number;
        height: number;
        image_meta: {
            aperture: string;
            camera: string;
            caption: string;
            copyright: string;
            created_timestamp: string;
            credit: string;
            focal_length: string;
            iso: string;
            keywords: string[];
            orientation: string;
            shutter_speed: string;
            title: string;
        };
        sizes: {
            [key: string]: {
                file: string;
                height: number;
                mime_type: string;
                source_url: string;
                width: number;
            };
        };
        width: number;
    };
    media_type: string;
    mime_type: string;
    post: number;
    slug: string;
    source_url: string;
    title: {
        rendered: string;
    };
    type: string;
}

Hierarchy (view full)

Properties

_embedded: {
    author: UserDataType[];
}

The embedded.

+

Type declaration

acf: object[]

The ACF fields. Expose fields to use custom media information in your JS app.

+
alt_text: string

The alternative text.

+
author: number

The author ID.

+
caption: {
    rendered: string;
}

The caption.

+

Type declaration

  • rendered: string

    The rendered caption.

    +
date: string

The date.

+
id: number

The id.

+
link: string

The link.

+
media_details: {
    file: string;
    filesize: number;
    height: number;
    image_meta: {
        aperture: string;
        camera: string;
        caption: string;
        copyright: string;
        created_timestamp: string;
        credit: string;
        focal_length: string;
        iso: string;
        keywords: string[];
        orientation: string;
        shutter_speed: string;
        title: string;
    };
    sizes: {
        [key: string]: {
            file: string;
            height: number;
            mime_type: string;
            source_url: string;
            width: number;
        };
    };
    width: number;
}

The media details.

+

Type declaration

  • file: string

    The file.

    +
  • filesize: number

    The filesize.

    +
  • height: number

    The height.

    +
  • image_meta: {
        aperture: string;
        camera: string;
        caption: string;
        copyright: string;
        created_timestamp: string;
        credit: string;
        focal_length: string;
        iso: string;
        keywords: string[];
        orientation: string;
        shutter_speed: string;
        title: string;
    }

    The image meta.

    +

    Since

    3.0.0

    +
    • aperture: string

      The aperture.

      +

      Since

      3.0.0

      +
    • camera: string

      The camera.

      +

      Since

      3.0.0

      +
    • caption: string

      The caption.

      +

      Since

      3.0.0

      +
    • copyright: string

      The copyright.

      +

      Since

      3.0.0

      +
    • created_timestamp: string

      The created timestamp.

      +

      Since

      3.0.0

      +
    • credit: string

      The credit.

      +

      Since

      3.0.0

      +
    • focal_length: string

      The focal length.

      +

      Since

      3.0.0

      +
    • iso: string

      The iso.

      +

      Since

      3.0.0

      +
    • keywords: string[]

      The keywords.

      +

      Since

      3.0.0

      +
    • orientation: string

      The orientation.

      +

      Since

      3.0.0

      +
    • shutter_speed: string

      The shutter speed.

      +

      Since

      3.0.0

      +
    • title: string

      The title.

      +

      Since

      3.0.0

      +
  • sizes: {
        [key: string]: {
            file: string;
            height: number;
            mime_type: string;
            source_url: string;
            width: number;
        };
    }

    The sizes.

    +

    Since

    3.0.0

    +
    • [key: string]: {
          file: string;
          height: number;
          mime_type: string;
          source_url: string;
          width: number;
      }

      The thumbnailsize.

      +

      Since

      3.0.0

      +
      • file: string

        The file.

        +

        Since

        3.0.0

        +
      • height: number

        The height.

        +

        Since

        3.0.0

        +
      • mime_type: string

        The mime type.

        +

        Since

        3.0.0

        +
      • source_url: string

        The source URL.

        +

        Since

        3.0.0

        +
      • width: number

        The width.

        +

        Since

        3.0.0

        +
  • width: number

    The width.

    +
media_type: string

The media type.

+
mime_type: string

The mime type.

+
post: number

The post.

+
slug: string

The slug.

+
source_url: string

The source URL.

+
title: {
    rendered: string;
}

The title.

+

Type declaration

  • rendered: string

    The rendered title.

    +
type: string

The type.

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/interfaces/MediaType.html b/docs/interfaces/MediaType.html new file mode 100644 index 0000000..3c28819 --- /dev/null +++ b/docs/interfaces/MediaType.html @@ -0,0 +1,78 @@ +MediaType | @quickdevelopment/wp-js

The WP Media fields.

+

MediaType

+
interface MediaType {
    acf: object[];
    alt_text: string;
    author: number;
    caption: {
        rendered: string;
    };
    date: string;
    id: number;
    link: string;
    media_details: {
        file: string;
        filesize: number;
        height: number;
        image_meta: {
            aperture: string;
            camera: string;
            caption: string;
            copyright: string;
            created_timestamp: string;
            credit: string;
            focal_length: string;
            iso: string;
            keywords: string[];
            orientation: string;
            shutter_speed: string;
            title: string;
        };
        sizes: {
            [key: string]: {
                file: string;
                height: number;
                mime_type: string;
                source_url: string;
                width: number;
            };
        };
        width: number;
    };
    media_type: string;
    mime_type: string;
    slug: string;
    source_url: string;
    title: {
        rendered: string;
    };
    type: string;
}

Hierarchy (view full)

Properties

acf: object[]

The ACF fields. Expose fields to use custom media information in your JS app.

+
alt_text: string

The alternative text.

+
author: number

The author ID.

+
caption: {
    rendered: string;
}

The caption.

+

Type declaration

  • rendered: string

    The rendered caption.

    +
date: string

The date.

+
id: number

The id.

+
link: string

The link.

+
media_details: {
    file: string;
    filesize: number;
    height: number;
    image_meta: {
        aperture: string;
        camera: string;
        caption: string;
        copyright: string;
        created_timestamp: string;
        credit: string;
        focal_length: string;
        iso: string;
        keywords: string[];
        orientation: string;
        shutter_speed: string;
        title: string;
    };
    sizes: {
        [key: string]: {
            file: string;
            height: number;
            mime_type: string;
            source_url: string;
            width: number;
        };
    };
    width: number;
}

The media details.

+

Type declaration

  • file: string

    The file.

    +
  • filesize: number

    The filesize.

    +
  • height: number

    The height.

    +
  • image_meta: {
        aperture: string;
        camera: string;
        caption: string;
        copyright: string;
        created_timestamp: string;
        credit: string;
        focal_length: string;
        iso: string;
        keywords: string[];
        orientation: string;
        shutter_speed: string;
        title: string;
    }

    The image meta.

    +

    Since

    3.0.0

    +
    • aperture: string

      The aperture.

      +

      Since

      3.0.0

      +
    • camera: string

      The camera.

      +

      Since

      3.0.0

      +
    • caption: string

      The caption.

      +

      Since

      3.0.0

      +
    • copyright: string

      The copyright.

      +

      Since

      3.0.0

      +
    • created_timestamp: string

      The created timestamp.

      +

      Since

      3.0.0

      +
    • credit: string

      The credit.

      +

      Since

      3.0.0

      +
    • focal_length: string

      The focal length.

      +

      Since

      3.0.0

      +
    • iso: string

      The iso.

      +

      Since

      3.0.0

      +
    • keywords: string[]

      The keywords.

      +

      Since

      3.0.0

      +
    • orientation: string

      The orientation.

      +

      Since

      3.0.0

      +
    • shutter_speed: string

      The shutter speed.

      +

      Since

      3.0.0

      +
    • title: string

      The title.

      +

      Since

      3.0.0

      +
  • sizes: {
        [key: string]: {
            file: string;
            height: number;
            mime_type: string;
            source_url: string;
            width: number;
        };
    }

    The sizes.

    +

    Since

    3.0.0

    +
    • [key: string]: {
          file: string;
          height: number;
          mime_type: string;
          source_url: string;
          width: number;
      }

      The thumbnailsize.

      +

      Since

      3.0.0

      +
      • file: string

        The file.

        +

        Since

        3.0.0

        +
      • height: number

        The height.

        +

        Since

        3.0.0

        +
      • mime_type: string

        The mime type.

        +

        Since

        3.0.0

        +
      • source_url: string

        The source URL.

        +

        Since

        3.0.0

        +
      • width: number

        The width.

        +

        Since

        3.0.0

        +
  • width: number

    The width.

    +
media_type: string

The media type.

+
mime_type: string

The mime type.

+
slug: string

The slug.

+
source_url: string

The source URL.

+
title: {
    rendered: string;
}

The title.

+

Type declaration

  • rendered: string

    The rendered title.

    +
type: string

The type.

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/interfaces/PageDataType.html b/docs/interfaces/PageDataType.html new file mode 100644 index 0000000..248de1f --- /dev/null +++ b/docs/interfaces/PageDataType.html @@ -0,0 +1,91 @@ +PageDataType | @quickdevelopment/wp-js

The page data type.

+

Since

3.0.0 + PageDataType

+
interface PageDataType {
    _embedded: {
        author: UserDataType[];
        wp:featuredmedia: MediaType[];
        wp:term: TermType[];
    };
    acf: object[];
    author: number;
    comment_status: string;
    content: {
        protected: boolean;
        rendered: string;
    };
    date: string;
    date_gmt: string;
    excerpt: {
        protected: boolean;
        rendered: string;
    };
    featured_media: number;
    guid: {
        rendered: string;
    };
    id: number;
    link: string;
    menu_order: number;
    meta: object[];
    modified: string;
    modified_gmt: string;
    parent: number;
    ping_status: string;
    slug: string;
    status: string;
    tags: number[];
    template: string;
    title: {
        rendered: string;
    };
    type: string;
}

Properties

_embedded: {
    author: UserDataType[];
    wp:featuredmedia: MediaType[];
    wp:term: TermType[];
}

The _embedded.

+

Type declaration

Since

3.0.0

+
acf: object[]

The acf.

+

Since

3.0.0

+
author: number

The author.

+

Since

3.0.0

+
comment_status: string

The comment status.

+

Since

3.0.0

+
content: {
    protected: boolean;
    rendered: string;
}

The content.

+

Type declaration

  • protected: boolean

    The protected content.

    +

    Since

    3.0.0

    +
  • rendered: string

    The rendered content.

    +

    Since

    3.0.0

    +

Since

3.0.0

+
date: string

The date.

+

Since

3.0.0

+
date_gmt: string

The date gmt.

+

Since

3.0.0

+
excerpt: {
    protected: boolean;
    rendered: string;
}

The excerpt.

+

Type declaration

  • protected: boolean

    The protected excerpt.

    +

    Since

    3.0.0

    +
  • rendered: string

    The rendered excerpt.

    +

    Since

    3.0.0

    +

Since

3.0.0

+
featured_media: number

The featured media.

+

Since

3.0.0

+
guid: {
    rendered: string;
}

The guid.

+

Type declaration

  • rendered: string

    The rendered guid.

    +

    Since

    3.0.0

    +

Since

3.0.0

+
id: number

The ID.

+

Since

3.0.0

+
link: string

The link.

+

Since

3.0.0

+
menu_order: number

The menu order.

+

Since

3.0.0

+
meta: object[]

The meta.

+

Since

3.0.0

+
modified: string

The modified.

+

Since

3.0.0

+
modified_gmt: string

The modified gmt.

+

Since

3.0.0

+
parent: number

The parent.

+

Since

3.0.0

+
ping_status: string

The ping status.

+

Since

3.0.0

+
slug: string

The slug.

+

Since

3.0.0

+
status: string

The status.

+

Since

3.0.0

+
tags: number[]

The tags.

+

Since

3.0.0

+
template: string

The template.

+

Since

3.0.0

+
title: {
    rendered: string;
}

The title.

+

Type declaration

  • rendered: string

    The rendered title.

    +

    Since

    3.0.0

    +

Since

3.0.0

+
type: string

The type.

+

Since

3.0.0

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/interfaces/PostDataType.html b/docs/interfaces/PostDataType.html new file mode 100644 index 0000000..d1f821f --- /dev/null +++ b/docs/interfaces/PostDataType.html @@ -0,0 +1,66 @@ +PostDataType | @quickdevelopment/wp-js

The WP Post fields.

+

PostDataType

+
interface PostDataType {
    _embedded: {
        author: UserDataType[];
        wp:featuredmedia: MediaType[];
        wp:term: TermType[];
    };
    acf: object[];
    article_type: number[];
    author: number;
    categories: number[];
    comment_status: string;
    content: {
        protected: boolean;
        rendered: string;
    };
    date: string;
    date_gmt: string;
    excerpt: {
        protected: boolean;
        rendered: string;
    };
    featured_media: number;
    format: string;
    guid: {
        rendered: string;
    };
    id: number;
    link: string;
    meta: object[];
    modified: string;
    modified_gmt: string;
    ping_status: string;
    slug: string;
    status: string;
    sticky: boolean;
    tags: number[];
    template: string;
    title: {
        rendered: string;
    };
    type: string;
}

Properties

_embedded: {
    author: UserDataType[];
    wp:featuredmedia: MediaType[];
    wp:term: TermType[];
}

The _embedded.

+

Type declaration

acf: object[]

The acf fields. Expose fields to use custom post information in your JS app.

+

Tip

Expose Custom Post Types to use custom post types in your JS app.

+

See

https://www.advancedcustomfields.com/resources/adding-fields-posts/

+
article_type: number[]

The article type.

+
author: number

The author id.

+
categories: number[]

The categories.

+
comment_status: string

The comment status.

+
content: {
    protected: boolean;
    rendered: string;
}

The content.

+

Type declaration

  • protected: boolean

    The protected content.

    +
  • rendered: string

    The rendered content.

    +
date: string

The date.

+
date_gmt: string

The date gmt.

+
excerpt: {
    protected: boolean;
    rendered: string;
}

The excerpt.

+

Type declaration

  • protected: boolean

    The protected excerpt.

    +
  • rendered: string

    The rendered excerpt.

    +
featured_media: number

The featured media id.

+
format: string

The format.

+
guid: {
    rendered: string;
}

The guid.

+

Type declaration

  • rendered: string

    The rendered guid.

    +
id: number

The id.

+
link: string

The link.

+
meta: object[]

The meta.

+
modified: string

The modified.

+
modified_gmt: string

The modified gmt.

+
ping_status: string

The ping status.

+
slug: string

The slug.

+
status: string

The status.

+
sticky: boolean

The sticky.

+
tags: number[]

The tags.

+
template: string

The template.

+
title: {
    rendered: string;
}

The title.

+

Type declaration

  • rendered: string

    The rendered title.

    +
type: string

The type.

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/interfaces/SearchDataType.html b/docs/interfaces/SearchDataType.html new file mode 100644 index 0000000..2c5de2a --- /dev/null +++ b/docs/interfaces/SearchDataType.html @@ -0,0 +1,18 @@ +SearchDataType | @quickdevelopment/wp-js

SearchDataType

+

Since

3.0.0

+
interface SearchDataType {
    id: number;
    subtype: string;
    title: string;
    type: string;
    url: string;
}

Properties

Properties

id: number

The ID.

+

Since

3.0.0

+
subtype: string

The subtype.

+

Since

3.0.0

+
title: string

The title.

+

Since

3.0.0

+
type: string

The type.

+

Since

3.0.0

+
url: string

The url.

+

Since

3.0.0

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/interfaces/StatusDataType.html b/docs/interfaces/StatusDataType.html new file mode 100644 index 0000000..78f88de --- /dev/null +++ b/docs/interfaces/StatusDataType.html @@ -0,0 +1,6 @@ +StatusDataType | @quickdevelopment/wp-js

StatusDataType

+

Since

3.0.0

+
interface StatusDataType {
    publish: StatusFieldsType;
}

Properties

Properties

The publish.

+

Since

3.0.0

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/interfaces/StatusFieldsType.html b/docs/interfaces/StatusFieldsType.html new file mode 100644 index 0000000..6f56ecc --- /dev/null +++ b/docs/interfaces/StatusFieldsType.html @@ -0,0 +1,18 @@ +StatusFieldsType | @quickdevelopment/wp-js

Interface StatusFieldsType

StatusFieldsType Interface

+

Since

3.0.0

+
interface StatusFieldsType {
    date_floating: boolean;
    name: string;
    public: boolean;
    queryable: boolean;
    slug: string;
}

Properties

date_floating: boolean

The date_floating

+

Since

3.0.0

+
name: string

The name

+

Since

3.0.0

+
public: boolean

The public

+

Since

3.0.0

+
queryable: boolean

The queryable

+

Since

3.0.0

+
slug: string

The slug

+

Since

3.0.0

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/interfaces/TaxonomyDataType.html b/docs/interfaces/TaxonomyDataType.html new file mode 100644 index 0000000..035b4c4 --- /dev/null +++ b/docs/interfaces/TaxonomyDataType.html @@ -0,0 +1,12 @@ +TaxonomyDataType | @quickdevelopment/wp-js

Interface TaxonomyDataType

TaxonomyDataType

+

Since

3.0.0

+
interface TaxonomyDataType {
    category: TaxonomyFieldsType;
    organisations: TaxonomyFieldsType;
    post_tag: TaxonomyFieldsType;
}

Properties

The category.

+

Since

3.0.0

+
organisations: TaxonomyFieldsType

The organisations.

+

Since

3.0.0

+

The post_tag.

+

Since

3.0.0

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/interfaces/TaxonomyFieldsType.html b/docs/interfaces/TaxonomyFieldsType.html new file mode 100644 index 0000000..5c94dd2 --- /dev/null +++ b/docs/interfaces/TaxonomyFieldsType.html @@ -0,0 +1,21 @@ +TaxonomyFieldsType | @quickdevelopment/wp-js

Interface TaxonomyFieldsType

TaxonomyFieldsType interface.

+

Since

3.0.0

+
interface TaxonomyFieldsType {
    description: string;
    hierarchical: boolean;
    name: string;
    rest_base: string;
    slug: string;
    types: string[];
}

Hierarchy (view full)

Properties

description: string

The description.

+

Since

3.0.0

+
hierarchical: boolean

The hierarchical.

+

Since

3.0.0

+
name: string

The name.

+

Since

3.0.0

+
rest_base: string

The rest base.

+

Since

3.0.0

+
slug: string

The slug.

+

Since

3.0.0

+
types: string[]

The types.

+

Since

3.0.0

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/interfaces/TermType.html b/docs/interfaces/TermType.html new file mode 100644 index 0000000..10b2391 --- /dev/null +++ b/docs/interfaces/TermType.html @@ -0,0 +1,17 @@ +TermType | @quickdevelopment/wp-js

The WP Term fields

+

TermType

+
interface TermType {
    acf: object[];
    id: number;
    link: string;
    name: string;
    slug: string;
    taxonomy: string;
}

Properties

Properties

acf: object[]

The acf fields. Expose fields to use custom term information in your JS app.

+

Tip

Expose Custom Taxonomy Types to use custom taxonomies in your JS app.

+

See

https://www.advancedcustomfields.com/resources/

+
id: number

The id.

+
link: string

The link.

+
name: string

The name.

+
slug: string

The slug.

+
taxonomy: string

The taxonomy.

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/interfaces/TypeDataType.html b/docs/interfaces/TypeDataType.html new file mode 100644 index 0000000..7dbd5af --- /dev/null +++ b/docs/interfaces/TypeDataType.html @@ -0,0 +1,15 @@ +TypeDataType | @quickdevelopment/wp-js

TypeDataType

+

Since

3.0.0

+
interface TypeDataType {
    attachment: TypeFieldsType;
    page: TypeFieldsType;
    post: TypeFieldsType;
    wp_block: TypeFieldsType;
}

Properties

Properties

attachment: TypeFieldsType

The attachment.

+

Since

3.0.0

+

The page.

+

Since

3.0.0

+

The post.

+

Since

3.0.0

+
wp_block: TypeFieldsType

The wp_block.

+

Since

3.0.0

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/interfaces/TypeFieldsType.html b/docs/interfaces/TypeFieldsType.html new file mode 100644 index 0000000..6f3c5a7 --- /dev/null +++ b/docs/interfaces/TypeFieldsType.html @@ -0,0 +1,21 @@ +TypeFieldsType | @quickdevelopment/wp-js

TypeFieldsType interface

+

Since

3.0.0

+
interface TypeFieldsType {
    description: string;
    hierarchical: boolean;
    name: string;
    rest_base: string;
    slug: string;
    taxonomies: string[];
}

Hierarchy (view full)

Properties

description: string

The description.

+

Since

3.0.0

+
hierarchical: boolean

The hierarchical.

+

Since

3.0.0

+
name: string

The name.

+

Since

3.0.0

+
rest_base: string

The rest base.

+

Since

3.0.0

+
slug: string

The slug.

+

Since

3.0.0

+
taxonomies: string[]

The taxonomies.

+

Since

3.0.0

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/interfaces/TypeTaxonomyFieldsInterface.html b/docs/interfaces/TypeTaxonomyFieldsInterface.html new file mode 100644 index 0000000..46ebd77 --- /dev/null +++ b/docs/interfaces/TypeTaxonomyFieldsInterface.html @@ -0,0 +1,16 @@ +TypeTaxonomyFieldsInterface | @quickdevelopment/wp-js

Interface TypeTaxonomyFieldsInterface

interface TypeTaxonomyFieldsInterface {
    description: string;
    hierarchical: boolean;
    name: string;
    rest_base: string;
    slug: string;
}

Hierarchy (view full)

Properties

description: string

The description.

+

Since

3.0.0

+
hierarchical: boolean

The hierarchical.

+

Since

3.0.0

+
name: string

The name.

+

Since

3.0.0

+
rest_base: string

The rest base.

+

Since

3.0.0

+
slug: string

The slug.

+

Since

3.0.0

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/interfaces/UserDataType.html b/docs/interfaces/UserDataType.html new file mode 100644 index 0000000..09b3e47 --- /dev/null +++ b/docs/interfaces/UserDataType.html @@ -0,0 +1,25 @@ +UserDataType | @quickdevelopment/wp-js

The WP User fields.

+

UserDataType

+
interface UserDataType {
    acf: object[];
    avatar_urls: {
        24: string;
        48: string;
        96: string;
    };
    description: string;
    id: number;
    link: string;
    meta: object[];
    name: string;
    slug: string;
    url: string;
}

Properties

acf: object[]

The exposed ACF fields. Expose fields to use custom user information in your JS app.

+
avatar_urls: {
    24: string;
    48: string;
    96: string;
}

The user avatar URLs.

+

Type declaration

  • 24: string

    The 24px avatar URL.

    +
  • 48: string

    The 48px avatar URL.

    +
  • 96: string

    The 96px avatar URL.

    +
description: string

The user description.

+
id: number

The user ID.

+
link: string

The user URL.

+
meta: object[]

The user meta.

+
name: string

The username.

+
slug: string

The user slug.

+
url: string

The user url.

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/interfaces/WPJSConfigOptions.html b/docs/interfaces/WPJSConfigOptions.html new file mode 100644 index 0000000..e080d98 --- /dev/null +++ b/docs/interfaces/WPJSConfigOptions.html @@ -0,0 +1,11 @@ +WPJSConfigOptions | @quickdevelopment/wp-js

Interface WPJSConfigOptions

The options for the WPJSConfig.

+

WPJSConfigOptions

+
interface WPJSConfigOptions {
    apiUrl: string;
    embed: boolean;
}

Properties

Properties

apiUrl: string

The URL of the WordPress API.

+

Default

'https://api.wordpress.org'
+
+
embed: boolean

Whether to embed the data or not.

+

Default

true
+
+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/modules.html b/docs/modules.html new file mode 100644 index 0000000..6b65407 --- /dev/null +++ b/docs/modules.html @@ -0,0 +1,32 @@ +@quickdevelopment/wp-js

Generated using TypeDoc

\ No newline at end of file diff --git a/package-lock.json b/package-lock.json index ee09eb4..ec4396b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,18 +1,19 @@ { "name": "@quickdevelopment/wp-js", - "version": "3.0.1", + "version": "3.0.2", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@quickdevelopment/wp-js", - "version": "3.0.1", + "version": "3.0.2", "license": "MIT", "devDependencies": { "@types/node": "^20.11.0", "@typescript-eslint/eslint-plugin": "^6.18.1", "@typescript-eslint/parser": "^6.18.1", "eslint": "^8.56.0", + "typedoc": "^0.25.7", "typescript": "^5.3.3", "vite": "^5.0.8", "vite-plugin-dts": "^3.7.0" @@ -1233,6 +1234,12 @@ "node": ">=8" } }, + "node_modules/ansi-sequence-parser": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ansi-sequence-parser/-/ansi-sequence-parser-1.1.1.tgz", + "integrity": "sha512-vJXt3yiaUL4UU546s3rPXlsry/RnM730G1+HkpKE012AN0sx1eOrxSu95oKDIonskeLTijMgqWZ3uDEe3NFvyg==", + "dev": true + }, "node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -2113,6 +2120,12 @@ "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true }, + "node_modules/jsonc-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", + "dev": true + }, "node_modules/jsonfile": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", @@ -2201,6 +2214,24 @@ "node": ">=10" } }, + "node_modules/lunr": { + "version": "2.3.9", + "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz", + "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==", + "dev": true + }, + "node_modules/marked": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz", + "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==", + "dev": true, + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 12" + } + }, "node_modules/merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", @@ -2616,6 +2647,18 @@ "node": ">=8" } }, + "node_modules/shiki": { + "version": "0.14.7", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.14.7.tgz", + "integrity": "sha512-dNPAPrxSc87ua2sKJ3H5dQ/6ZaY8RNnaAqK+t0eG7p0Soi2ydiqbGOTaZCqaYvA/uZYfS1LJnemt3Q+mSfcPCg==", + "dev": true, + "dependencies": { + "ansi-sequence-parser": "^1.1.0", + "jsonc-parser": "^3.2.0", + "vscode-oniguruma": "^1.7.0", + "vscode-textmate": "^8.0.0" + } + }, "node_modules/slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", @@ -2760,6 +2803,27 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/typedoc": { + "version": "0.25.7", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.25.7.tgz", + "integrity": "sha512-m6A6JjQRg39p2ZVRIN3NKXgrN8vzlHhOS+r9ymUYtcUP/TIQPvWSq7YgE5ZjASfv5Vd5BW5xrir6Gm2XNNcOow==", + "dev": true, + "dependencies": { + "lunr": "^2.3.9", + "marked": "^4.3.0", + "minimatch": "^9.0.3", + "shiki": "^0.14.7" + }, + "bin": { + "typedoc": "bin/typedoc" + }, + "engines": { + "node": ">= 16" + }, + "peerDependencies": { + "typescript": "4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x || 5.2.x || 5.3.x" + } + }, "node_modules/typescript": { "version": "5.3.3", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", @@ -2807,9 +2871,9 @@ } }, "node_modules/vite": { - "version": "5.0.11", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.0.11.tgz", - "integrity": "sha512-XBMnDjZcNAw/G1gEiskiM1v6yzM4GE5aMGvhWTlHAYYhxb7S3/V1s3m2LDHa8Vh6yIWYYB0iJwsEaS523c4oYA==", + "version": "5.0.12", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.0.12.tgz", + "integrity": "sha512-4hsnEkG3q0N4Tzf1+t6NdN9dg/L3BM+q8SWgbSPnJvrgH2kgdyzfVJwbR1ic69/4uMJJ/3dqDZZE5/WwqW8U1w==", "dev": true, "dependencies": { "esbuild": "^0.19.3", @@ -2887,6 +2951,18 @@ } } }, + "node_modules/vscode-oniguruma": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz", + "integrity": "sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==", + "dev": true + }, + "node_modules/vscode-textmate": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-8.0.0.tgz", + "integrity": "sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==", + "dev": true + }, "node_modules/vue-template-compiler": { "version": "2.7.16", "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.16.tgz", @@ -3722,6 +3798,12 @@ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true }, + "ansi-sequence-parser": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ansi-sequence-parser/-/ansi-sequence-parser-1.1.1.tgz", + "integrity": "sha512-vJXt3yiaUL4UU546s3rPXlsry/RnM730G1+HkpKE012AN0sx1eOrxSu95oKDIonskeLTijMgqWZ3uDEe3NFvyg==", + "dev": true + }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -4402,6 +4484,12 @@ "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true }, + "jsonc-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", + "dev": true + }, "jsonfile": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", @@ -4478,6 +4566,18 @@ "yallist": "^4.0.0" } }, + "lunr": { + "version": "2.3.9", + "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz", + "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==", + "dev": true + }, + "marked": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz", + "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==", + "dev": true + }, "merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", @@ -4742,6 +4842,18 @@ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true }, + "shiki": { + "version": "0.14.7", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.14.7.tgz", + "integrity": "sha512-dNPAPrxSc87ua2sKJ3H5dQ/6ZaY8RNnaAqK+t0eG7p0Soi2ydiqbGOTaZCqaYvA/uZYfS1LJnemt3Q+mSfcPCg==", + "dev": true, + "requires": { + "ansi-sequence-parser": "^1.1.0", + "jsonc-parser": "^3.2.0", + "vscode-oniguruma": "^1.7.0", + "vscode-textmate": "^8.0.0" + } + }, "slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", @@ -4839,6 +4951,18 @@ "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true }, + "typedoc": { + "version": "0.25.7", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.25.7.tgz", + "integrity": "sha512-m6A6JjQRg39p2ZVRIN3NKXgrN8vzlHhOS+r9ymUYtcUP/TIQPvWSq7YgE5ZjASfv5Vd5BW5xrir6Gm2XNNcOow==", + "dev": true, + "requires": { + "lunr": "^2.3.9", + "marked": "^4.3.0", + "minimatch": "^9.0.3", + "shiki": "^0.14.7" + } + }, "typescript": { "version": "5.3.3", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", @@ -4873,9 +4997,9 @@ "dev": true }, "vite": { - "version": "5.0.11", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.0.11.tgz", - "integrity": "sha512-XBMnDjZcNAw/G1gEiskiM1v6yzM4GE5aMGvhWTlHAYYhxb7S3/V1s3m2LDHa8Vh6yIWYYB0iJwsEaS523c4oYA==", + "version": "5.0.12", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.0.12.tgz", + "integrity": "sha512-4hsnEkG3q0N4Tzf1+t6NdN9dg/L3BM+q8SWgbSPnJvrgH2kgdyzfVJwbR1ic69/4uMJJ/3dqDZZE5/WwqW8U1w==", "dev": true, "requires": { "esbuild": "^0.19.3", @@ -4898,6 +5022,18 @@ "vue-tsc": "^1.8.26" } }, + "vscode-oniguruma": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz", + "integrity": "sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==", + "dev": true + }, + "vscode-textmate": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-8.0.0.tgz", + "integrity": "sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==", + "dev": true + }, "vue-template-compiler": { "version": "2.7.16", "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.16.tgz", diff --git a/package.json b/package.json index f0b0b3a..0557dc5 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@quickdevelopment/wp-js", "private": false, - "version": "3.0.1", + "version": "3.0.2", "repository": "https://github.com/QuickDevelopment/wp-js", "author": "QuickDevelopment", "license": "MIT", @@ -46,6 +46,7 @@ "@typescript-eslint/eslint-plugin": "^6.18.1", "@typescript-eslint/parser": "^6.18.1", "eslint": "^8.56.0", + "typedoc": "^0.25.7", "typescript": "^5.3.3", "vite": "^5.0.8", "vite-plugin-dts": "^3.7.0" diff --git a/tsconfig.json b/tsconfig.json index a5f6099..832afea 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -16,6 +16,11 @@ "noUnusedParameters": true, "noFallthroughCasesInSwitch": true }, + "typedocOptions": { + "out": "./docs", + "entryPoints": ["./lib/main.ts"], + "exclude": ["./lib/wp-js.config.ts"], + }, "include": ["lib"], "references": [{ "path": "./tsconfig.node.json" }] }