diff --git a/.eslintignore b/.eslintignore index 3ee9d05..044fbe2 100644 --- a/.eslintignore +++ b/.eslintignore @@ -4,4 +4,5 @@ coverage/ dist/ node_modules/ .github/ -scripts/ \ No newline at end of file +scripts/ +docs/ \ No newline at end of file diff --git a/.github/workflows/build_publish.yml b/.github/workflows/build_publish.yml index e5b5f69..a7f4255 100644 --- a/.github/workflows/build_publish.yml +++ b/.github/workflows/build_publish.yml @@ -61,6 +61,28 @@ jobs: with: name: build path: ./dist + generate_docs: + needs: build + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + - name: Setup node + uses: actions/setup-node@v4 + with: + node-version: latest + - name: Install dependencies + run: npm install + - name: Generate docs + run: npm run generate-docs + - name: Commit generated docs + id: commit + uses: EndBug/add-and-commit@v9 + with: + commit: --no-verify + message: 'docs: update docs' + committer_name: GitHub Actions + committer_email: actions@github.com publish: needs: build runs-on: ubuntu-latest diff --git a/.prettierignore b/.prettierignore index 8c22d12..9ac0449 100644 --- a/.prettierignore +++ b/.prettierignore @@ -2,4 +2,5 @@ ./nyc_output ./coverage ./node_modules -./.github \ No newline at end of file +./.github +./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..ffb2531 --- /dev/null +++ b/docs/assets/highlight.css @@ -0,0 +1,85 @@ +:root { + --light-hl-0: #0000FF; + --dark-hl-0: #569CD6; + --light-hl-1: #000000; + --dark-hl-1: #D4D4D4; + --light-hl-2: #0070C1; + --dark-hl-2: #4FC1FF; + --light-hl-3: #795E26; + --dark-hl-3: #DCDCAA; + --light-hl-4: #A31515; + --dark-hl-4: #CE9178; + --light-hl-5: #001080; + --dark-hl-5: #9CDCFE; + --light-hl-6: #AF00DB; + --dark-hl-6: #C586C0; + --light-hl-7: #098658; + --dark-hl-7: #B5CEA8; + --light-hl-8: #008000; + --dark-hl-8: #6A9955; + --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); + --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); + --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); + --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); + --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); } +pre, code { background: var(--code-background); } diff --git a/docs/assets/icons.js b/docs/assets/icons.js new file mode 100644 index 0000000..b79c9e8 --- /dev/null +++ b/docs/assets/icons.js @@ -0,0 +1,15 @@ +(function(svg) { + svg.innerHTML = ``; + svg.style.display = 'none'; + if (location.protocol === 'file:') { + if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', updateUseElements); + else updateUseElements() + function updateUseElements() { + document.querySelectorAll('use').forEach(el => { + if (el.getAttribute('href').includes('#icon-')) { + el.setAttribute('href', el.getAttribute('href').replace(/.*#/, '#')); + } + }); + } + } +})(document.body.appendChild(document.createElementNS('http://www.w3.org/2000/svg', 'svg'))) \ No newline at end of file diff --git a/docs/assets/icons.svg b/docs/assets/icons.svg new file mode 100644 index 0000000..7dead61 --- /dev/null +++ b/docs/assets/icons.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/assets/main.js b/docs/assets/main.js new file mode 100644 index 0000000..1daeb69 --- /dev/null +++ b/docs/assets/main.js @@ -0,0 +1,59 @@ +"use strict"; +"use strict";(()=>{var Ce=Object.create;var ne=Object.defineProperty;var Pe=Object.getOwnPropertyDescriptor;var Oe=Object.getOwnPropertyNames;var _e=Object.getPrototypeOf,Re=Object.prototype.hasOwnProperty;var Me=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Fe=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Oe(e))!Re.call(t,i)&&i!==n&&ne(t,i,{get:()=>e[i],enumerable:!(r=Pe(e,i))||r.enumerable});return t};var De=(t,e,n)=>(n=t!=null?Ce(_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),y=s.str.charAt(1),p;y in s.node.edges?p=s.node.edges[y]:(p=new t.TokenSet,s.node.edges[y]=p),s.str.length==1&&(p.final=!0),i.push({node:p,editsRemaining:s.editsRemaining-1,str:d+s.str.slice(2)})}}}return r},t.TokenSet.fromString=function(e){for(var n=new t.TokenSet,r=n,i=0,s=e.length;i=e;n--){var r=this.uncheckedNodes[n],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(n){var r=new t.QueryParser(e,n);r.parse()})},t.Index.prototype.query=function(e){for(var n=new t.Query(this.fields),r=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),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.ensureFocusedElementVisible(),this.listenForCodeCopies(),window.addEventListener("hashchange",()=>this.ensureFocusedElementVisible()),document.body.style.display||(this.scrollToHash(),this.updateIndexVisibility())}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()}showPage(){document.body.style.display&&(document.body.style.removeProperty("display"),this.scrollToHash(),this.updateIndexVisibility())}scrollToHash(){if(location.hash){let e=document.getElementById(location.hash.substring(1));if(!e)return;e.scrollIntoView({behavior:"instant",block:"start"})}}ensureActivePageVisible(){let e=document.querySelector(".tsd-navigation .current"),n=e?.parentElement;for(;n&&!n.classList.contains(".tsd-navigation");)n instanceof HTMLDetailsElement&&(n.open=!0),n=n.parentElement;if(e&&!e.checkVisibility()){let r=e.getBoundingClientRect().top-document.documentElement.clientHeight/4;document.querySelector(".site-menu").scrollTop=r}}updateIndexVisibility(){let e=document.querySelector(".tsd-index-content"),n=e?.open;e&&(e.open=!0),document.querySelectorAll(".tsd-index-section").forEach(r=>{r.style.display="block";let i=Array.from(r.querySelectorAll(".tsd-index-link")).every(s=>s.offsetParent==null);r.style.display=i?"none":"block"}),e&&(e.open=n)}ensureFocusedElementVisible(){if(this.alwaysVisibleMember&&(this.alwaysVisibleMember.classList.remove("always-visible"),this.alwaysVisibleMember.firstElementChild.remove(),this.alwaysVisibleMember=null),!location.hash)return;let e=document.getElementById(location.hash.substring(1));if(!e)return;let n=e.parentElement;for(;n&&n.tagName!=="SECTION";)n=n.parentElement;if(n&&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 y=document.createElement("li");y.classList.value=l.classes??"";let p=document.createElement("a");p.href=r.base+l.url,p.innerHTML=u+d,y.append(p),e.appendChild(y)}}function ue(t,e){let n=t.querySelector(".current");if(!n)n=t.querySelector(e==1?"li:first-child":"li:last-child"),n&&n.classList.add("current");else{let r=n;if(e===1)do r=r.nextElementSibling??void 0;while(r instanceof HTMLElement&&r.offsetParent==null);else do r=r.previousElementSibling??void 0;while(r instanceof HTMLElement&&r.offsetParent==null);r&&(n.classList.remove("current"),r.classList.add("current"))}}function Ve(t,e){let n=t.querySelector(".current");if(n||(n=t.querySelector("li:first-child")),n){let r=n.querySelector("a");r&&(window.location.href=r.href),e.blur()}}function ce(t,e){if(e==="")return t;let n=t.toLocaleLowerCase(),r=e.toLocaleLowerCase(),i=[],s=0,o=n.indexOf(r);for(;o!=-1;)i.push(K(t.substring(s,o)),`${K(t.substring(o,o+r.length))}`),s=o+r.length,o=n.indexOf(r,s);return i.push(K(t.substring(s))),i.join("")}var He={"&":"&","<":"<",">":">","'":"'",'"':"""};function K(t){return t.replace(/[&<>"'"]/g,e=>He[e])}var I=class{constructor(e){this.el=e.el,this.app=e.app}};var F="mousedown",fe="mousemove",H="mouseup",J={x:0,y:0},pe=!1,ee=!1,Be=!1,D=!1,me=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(me?"is-mobile":"not-mobile");me&&"ontouchstart"in document.documentElement&&(Be=!0,F="touchstart",fe="touchmove",H="touchend");document.addEventListener(F,t=>{ee=!0,D=!1;let e=F=="touchstart"?t.targetTouches[0]:t;J.y=e.pageY||0,J.x=e.pageX||0});document.addEventListener(fe,t=>{if(ee&&!D){let e=F=="touchstart"?t.targetTouches[0]:t,n=J.x-(e.pageX||0),r=J.y-(e.pageY||0);D=Math.sqrt(n*n+r*r)>10}});document.addEventListener(H,()=>{ee=!1});document.addEventListener("click",t=>{pe&&(t.preventDefault(),t.stopImmediatePropagation(),pe=!1)});var X=class extends I{constructor(e){super(e),this.className=this.el.dataset.toggle||"",this.el.addEventListener(H,n=>this.onPointerUp(n)),this.el.addEventListener("click",n=>n.preventDefault()),document.addEventListener(F,n=>this.onDocumentPointerDown(n)),document.addEventListener(H,n=>this.onDocumentPointerUp(n))}setActive(e){if(this.active==e)return;this.active=e,document.documentElement.classList.toggle("has-"+this.className,e),this.el.classList.toggle("active",e);let n=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(n),setTimeout(()=>document.documentElement.classList.remove(n),500)}onPointerUp(e){D||(this.setActive(!0),e.preventDefault())}onDocumentPointerDown(e){if(this.active){if(e.target.closest(".col-sidebar, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(e){if(!D&&this.active&&e.target.closest(".col-sidebar")){let n=e.target.closest("a");if(n){let r=window.location.href;r.indexOf("#")!=-1&&(r=r.substring(0,r.indexOf("#"))),n.href.substring(0,r.length)==r&&setTimeout(()=>this.setActive(!1),250)}}}};var te;try{te=localStorage}catch{te={getItem(){return null},setItem(){}}}var Q=te;var ye=document.head.appendChild(document.createElement("style"));ye.dataset.for="filters";var Y=class extends I{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()),ye.innerHTML+=`html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; } +`,this.app.updateIndexVisibility()}fromLocalStorage(){let e=Q.getItem(this.key);return e?e==="true":this.el.checked}setLocalStorage(e){Q.setItem(this.key,e.toString()),this.value=e,this.handleValueChange()}handleValueChange(){this.el.checked=this.value,document.documentElement.classList.toggle(this.key,this.value),this.app.filterChanged(),this.app.updateIndexVisibility()}};var Z=class extends I{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,ve(e),t.addEventListener("change",()=>{Q.setItem("tsd-theme",t.value),ve(t.value)})}function ve(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.showPage(),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.pathname===r.pathname&&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/material-style.css b/docs/assets/material-style.css new file mode 100644 index 0000000..b7e1d31 --- /dev/null +++ b/docs/assets/material-style.css @@ -0,0 +1,247 @@ +@import url("https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&family=Space+Mono:ital,wght@0,400;0,700;1,400;1,700&display=swap"); + +:root, +:root[data-theme="light"], +:root[data-theme="dark"] { + --font-sans: "Space Grotesk", sans-serif; + --font-mono: "Space Mono", monospace; + + --color-background: var(--md-sys-color-surface-container); + --color-background-secondary: var(--md-sys-color-surface-container-high); + --color-background-warning: var(--md-sys-color-error-container); + --color-warning-text: var(--md-sys-color-on-error-container); + --color-icon-background: var(--md-sys-color-on-primary); + --color-accent: var(--md-sys-color-secondary-container); + --color-active-menu-item: var(--md-sys-color-surface-container-highest); + --color-text: var(--md-sys-color-on-surface); + --color-text-aside: var(--md-sys-color-on-surface-variant); + --color-link: var(--md-sys-color-primary); + + --color-ts-project: var(--md-sys-color-secondary); + --color-ts-module: var(--color-ts-project); + --color-ts-namespace: var(--color-ts-project); + + --color-ts-enum: var(--md-sys-color-tertiary); + --color-ts-enum-member: var(--color-ts-enum); + + --color-ts-variable: var(--md-sys-color-primary); + --color-ts-function: var(--md-sys-color-secondary); + --color-ts-class: var(--md-sys-color-tertiary); + --color-ts-interface: var(--md-sys-color-tertiary); + + --color-ts-constructor: var(--md-sys-color-inverse-primary); + + --color-ts-property: var(--md-sys-color-on-background); + --color-ts-method: var(--color-ts-function); + + --color-ts-call-signature: var(--color-ts-method); + --color-ts-index-signature: var(--color-ts-property); /* ? */ + --color-ts-constructor-signature: var(--color-ts-function); + --color-ts-parameter: var(--md-sys-color-primary); + + --color-ts-type-parameter: var(--md-sys-color-tertiary); + --color-ts-accessor: var(--color-ts-property); + --color-ts-get-signature: var(--color-ts-accessor); + --color-ts-set-signature: var(--color-ts-accessor); + --color-ts-type-alias: var(--md-sys-color-tertiary); + + /* --external-icon: var(--md-sys-external-icon); + --color-scheme: var(--md-sys-color-scheme); */ + + --top-app-bar-height: 4.5rem; + --footer-height: 3.5rem; +} + +body { + font-family: var(--font-sans); +} +code, +pre { + font-family: var(--font-mono); +} + +img { + max-width: 100%; +} + +*::-webkit-scrollbar { + width: 8px; + height: 8px; +} +*::-webkit-scrollbar-track { + background: none; +} +*::-webkit-scrollbar-thumb { + border: none; +} + +.container-main { + min-height: calc(100vh - var(--top-app-bar-height) - var(--footer-height)); +} +.col-content { + overflow: hidden; + box-sizing: border-box; + padding: 1.75rem; + border-radius: 28px; + background-color: var(--md-sys-color-surface); +} +.page-menu { + height: fit-content; + padding: 0.75rem 1.75rem; + border-radius: 28px; + background-color: var(--md-sys-color-surface); +} +.site-menu > *, +.page-menu > * { + position: relative; +} +.title { + display: block; + max-width: calc(100% - 5rem); + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + font-size: 22px; +} + +.tsd-page-toolbar { + padding: 8px 0; + height: calc(var(--top-app-bar-height) - 16px); + background-color: var(--color-background); + border-bottom: none; +} +.tsd-page-toolbar .tsd-toolbar-contents { + height: 56px; +} +.tsd-page-toolbar .table-cell { + height: 56px; + margin-left: 1.5rem; +} +.tsd-page-toolbar .tsd-toolbar-icon { + padding: 20px 0; +} +#tsd-search { + line-height: 56px; + border-radius: 22px; +} +#tsd-search .results { + z-index: -1; + top: calc(56px - 22px); + padding-top: 22px; + box-shadow: 0px 4px 2px rgba(0, 0, 0, 0.125); + background-color: var(--color-background-secondary); + border-bottom-left-radius: 22px; + border-bottom-right-radius: 22px; + overflow: hidden; +} +#tsd-search .results li { + background: none; +} +#tsd-search .results a { + padding: 1rem 0.25rem; +} +.col-sidebar { + padding-top: 0; + margin-right: 1rem; +} + +.tsd-signature { + padding: 1rem 1.5rem; + border-radius: 24px; + background-color: var(--md-sys-color-surface-container); +} + +.tsd-page-navigation ul { + padding-left: 0.44rem; +} +.tsd-navigation a, +.tsd-navigation summary > span, +.tsd-page-navigation a { + padding: 0.88rem; + border-radius: 24px; +} +.tsd-navigation a:hover, +.tsd-page-navigation a:hover { + text-decoration: none; + background-color: var(--md-sys-color-surface-container-high); +} +.page-menu .tsd-accordion-summary svg { + position: absolute; + right: 0; +} +.site-menu .tsd-navigation .tsd-accordion-summary { + display: flex; + flex-direction: row-reverse; + width: 100%; +} + +.tsd-small-nested-navigation { + margin-left: 1rem; +} +.tsd-nested-navigation { + margin-left: 2.5rem; +} +.tsd-nested-navigation > li > a, +.tsd-nested-navigation > li > span { + width: 100%; +} +.tsd-navigation > a, +.tsd-navigation .tsd-accordion-summary { + width: 100%; +} +.tsd-index-accordion .tsd-accordion-summary > svg { + position: absolute; + right: 1.5rem; + margin-top: 1rem; +} +.tsd-accordion-summary .tsd-kind-icon ~ span { + margin-right: 2.5rem; +} +.tsd-accordion-summary .tsd-nested-navigation > li > a, +.tsd-nested-navigation > li > span { + width: calc(100% - 0.44rem); +} +.tsd-kind-icon ~ span { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} +.tsd-generator { + padding: 0; + border-top: none; + height: var(--footer-height); + line-height: var(--footer-height); +} +.tsd-generator > p { + padding: 0 2rem; +} + +@media (max-width: 769px) { + .container { + padding: 1rem; + } + .col-sidebar { + margin-right: 0; + } +} +@media (min-width: 770px) { + .container-main { + margin: 0 auto; + } + .site-menu { + margin-right: 0.5rem; + } +} +@media (min-width: 1200px) { + .page-menu, + .site-menu { + max-height: calc(100vh - var(--footer-height) - var(--top-app-bar-height)); + top: var(--top-app-bar-height); + } + .page-menu { + margin-left: 1rem; + } + .col-sidebar { + margin-right: 0; + } +} diff --git a/docs/assets/navigation.js b/docs/assets/navigation.js new file mode 100644 index 0000000..d2e6cb5 --- /dev/null +++ b/docs/assets/navigation.js @@ -0,0 +1 @@ +window.navigationData = "data:application/octet-stream;base64,H4sIAAAAAAAACo2XQY/TMBCF/0vOFSs4od5Kl10igQrtCg6Ig5XMthaObZwxS4X47ygNdGN7PPY1773P8djjxF9/Nwi/sFk3twLFnXGDwGbVWIGnZt2A9sN486y8OOGgmlXzXeq+Wb/+s3pOg4KjQHg4W0jyCy1PuJOg+gMK9GMMWEiFPDX8VeCyCg5onDjCQSJBCGSWg+B2FpxA44h5BDLDMW7wSuw8Wo/knGJDnvUO0c6125o+AYVqnvLBK5RWyU7iOWYstTxhD51x/WehPLlJIpnjWONw2pM0ZqnmKQ9ygIMVutWdgwF0sukTQ5m1h847B7ojJ0i78tSNlXsYrdHjAtUpMY4w3izEkPDyVciwVNayGUTRncKSXKNXrY7wXo64WFgOGFk5/tYoBR1Ko/MFSj0s0YFA6L9IPLU9A6VsHPdWILDzjwwsCzo5CMXjEg9PnM9lijMrNeniGmeMHPut7q2RGu9Eh8adU2Zk4FiX4z8lXB7zOUVMZnpaSrX60dDJSSmli/UkTCxz/lTkyrBQOco94EdxhH5j7ZhvEMpVQ70MX8ENfTXkuUgV6MhYx56+NVXswFhgz2+yhx8eRuIMjh1VtPHNeWNtW0GNnHX0CmwNz8u+uPsJU4lZ5FWyWo1wBFd8RdpXQa6hVhKnwTMtf5VK+RZhyK5sZKhj5RoldpRomRJdJS6/06N1Uh+3SpL/OKHOkf71dm5SgVzgSH3MVjqQOc4nD+483zFSykIsMkpdTZg45uxMMfPzcjKz2pWdsIdHuPxuZ9oh1HnSdIxThOl5OTndSnLpSWMJ5omImicucxA/YfpZyK5jZCixCh+mxFLLyzVQ6mGJnZna9t4ZT1x6lmotpXjQM2Z2DJxSZTplK3MrmJW8/zdWet8u1RoK+16EKWV++wv61xb7rRIAAA==" \ No newline at end of file diff --git a/docs/assets/search.js b/docs/assets/search.js new file mode 100644 index 0000000..d73be80 --- /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..072daed --- /dev/null +++ b/docs/assets/style.css @@ -0,0 +1,1415 @@ +: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: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", + Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; + 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/ApiResponse.html b/docs/classes/ApiResponse.html new file mode 100644 index 0000000..0bd1311 --- /dev/null +++ b/docs/classes/ApiResponse.html @@ -0,0 +1,311 @@ +ApiResponse | onspring-api-sdk

Class ApiResponse<T>

ApiResponse - A generic response object for API requests.

+

Type Parameters

  • T

Constructors

  • Type Parameters

    • T

    Parameters

    • statusCode: number

      The status code of the response.

      +
    • message: string

      The message of the response.

      +
    • data: null | T

      The data of the response.

      +

    Returns ApiResponse<T>

      +
    • A new instance of the ApiResponse class.
    • +
    +

Properties

data: null | T
isSuccessful: boolean
message: string
statusCode: number

Methods

  • Parameters

    • attachmentItem: any

      The attachment item to convert.

      +

    Returns Attachment

      +
    • The converted attachment object.
    • +
    +

    Method

    convertToAttachment - Converts the attachment item to the appropriate attachment object.

    +
  • Parameters

    • delegateItem: any

      The delegate item to convert.

      +

    Returns Delegate

      +
    • The converted Delegate object.
    • +
    +

    Method

    convertToDelegate - Converts the delegate item to a Delegate object.

    +
  • Parameters

    • scoringGroupItem: any

      The scoring group item to convert.

      +

    Returns ScoringGroup

      +
    • The converted scoring group object.
    • +
    +

    Method

    convertToScoringGroup - Converts the scoring group item to the appropriate scoring group object.

    +
  • Parameters

    • timeSpanItem: any

      The time span item to convert.

      +

    Returns TimeSpanData

      +
    • The converted time span data object.
    • +
    +

    Method

    convertToTimeSpanData - Converts the time span item to the appropriate time span data object.

    +
  • Parameters

    • fieldItem: any

      The field item to convert.

      +

    Returns Field

      +
    • The converted field object.
    • +
    +

    Method

    getFieldByType - Converts the field item to the appropriate field object based upon the field item's type.

    +

    Throws

      +
    • If the field item's type is unknown.
    • +
    +
  • Parameters

    • fieldItem: any

      The field item whose values should be converted.

      +

    Returns ListValue[]

      +
    • The converted list values.
    • +
    +

    Method

    getListValues - Converts the field items list values to a ListValue[].

    +
  • Parameters

    • recordValueItem: any

      The record value item.

      +

    Returns RecordValue<any>

      +
    • The RecordValue.
    • +
    +

    Method

    getRecordValueByType - Gets the RecordValue by by type.

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/App.html b/docs/classes/App.html new file mode 100644 index 0000000..d66c96f --- /dev/null +++ b/docs/classes/App.html @@ -0,0 +1,185 @@ +App | onspring-api-sdk

App - Model for the App object

+

Constructors

Properties

Constructors

  • Parameters

    • href: string

      The URL to the app

      +
    • id: number

      The id of the app

      +
    • name: string

      The name of the app

      +

    Returns App

      +
    • A new instance of the App class.
    • +
    +

Properties

href: string
id: number
name: string

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/Attachment.html b/docs/classes/Attachment.html new file mode 100644 index 0000000..2b7b6ca --- /dev/null +++ b/docs/classes/Attachment.html @@ -0,0 +1,187 @@ +Attachment | onspring-api-sdk

Attachment - Represents an attachment.

+

Constructors

Properties

Constructors

  • Parameters

    • fileId: number

      The id of the file.

      +
    • fileName: string

      The name of the file.

      +
    • notes: null | string

      The notes associated with the file.

      +
    • storageLocation: FileStorageSite

      The storage location of the file.

      +

    Returns Attachment

      +
    • A new instance of Attachment.
    • +
    +

Properties

fileId: number
fileName: string
notes: null | string
storageLocation: FileStorageSite

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/AttachmentListRecordValue.html b/docs/classes/AttachmentListRecordValue.html new file mode 100644 index 0000000..6f560b6 --- /dev/null +++ b/docs/classes/AttachmentListRecordValue.html @@ -0,0 +1,259 @@ +AttachmentListRecordValue | onspring-api-sdk

Class AttachmentListRecordValue

AttachmentListRecordValue - A record value represented by a list of attachments.

+

Hierarchy (view full)

Constructors

Properties

fieldId: number
value: Attachment[]

Methods

  • Returns Attachment[]

      +
    • The value as an array of attachments.
    • +
    +

    Method

    asAttachmentArray - Gets the value as an array of attachments.

    +

    Throws

      +
    • If the value is not an array of attachments.
    • +
    +

    Throws

      +
    • If the storage location is not a valid FileStorageSite.
    • +
    +
  • Returns number

      +
    • The value as a number.
    • +
    +

    Method

    asNumber - Gets the value as a number.

    +

    Throws

      +
    • If the value is not a number.
    • +
    +
  • Returns number[]

      +
    • The value as an array of numbers.
    • +
    +

    Method

    asNumberArray - Gets the value as an array of numbers.

    +

    Throws

      +
    • If the value is not an array of numbers.
    • +
    +
  • Returns string

      +
    • The value as a string.
    • +
    +

    Method

    asString - Gets the value as a string.

    +

    Throws

      +
    • If the value is not a string.
    • +
    +
  • Returns string[]

      +
    • The value as an array of strings.
    • +
    +

    Method

    asStringArray - Gets the value as an array of strings.

    +

    Throws

      +
    • If the value is not an array of strings.
    • +
    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/CollectionResponse.html b/docs/classes/CollectionResponse.html new file mode 100644 index 0000000..d6fd5a3 --- /dev/null +++ b/docs/classes/CollectionResponse.html @@ -0,0 +1,183 @@ +CollectionResponse | onspring-api-sdk

Class CollectionResponse<T>

CollectionResponse - A generic object for responses that contain collections of objects.

+

Type Parameters

  • T

Constructors

Properties

Constructors

Properties

count: number
items: T[]

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/CreatedWithIdResponse.html b/docs/classes/CreatedWithIdResponse.html new file mode 100644 index 0000000..447c594 --- /dev/null +++ b/docs/classes/CreatedWithIdResponse.html @@ -0,0 +1,181 @@ +CreatedWithIdResponse | onspring-api-sdk

Class CreatedWithIdResponse<T>

CreatedWithIdResponse - Represents a response to a request to create a resource.

+

Type Parameters

  • T

Hierarchy (view full)

Constructors

Properties

id +

Constructors

Properties

id: T

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/DateRecordValue.html b/docs/classes/DateRecordValue.html new file mode 100644 index 0000000..1cec3f3 --- /dev/null +++ b/docs/classes/DateRecordValue.html @@ -0,0 +1,259 @@ +DateRecordValue | onspring-api-sdk

Class DateRecordValue

DateRecordValue - A value for a date field in a record.

+

Hierarchy (view full)

Constructors

Properties

fieldId: number
value: Date

Methods

  • Returns Attachment[]

      +
    • The value as an array of attachments.
    • +
    +

    Method

    asAttachmentArray - Gets the value as an array of attachments.

    +

    Throws

      +
    • If the value is not an array of attachments.
    • +
    +

    Throws

      +
    • If the storage location is not a valid FileStorageSite.
    • +
    +
  • Returns number

      +
    • The value as a number.
    • +
    +

    Method

    asNumber - Gets the value as a number.

    +

    Throws

      +
    • If the value is not a number.
    • +
    +
  • Returns number[]

      +
    • The value as an array of numbers.
    • +
    +

    Method

    asNumberArray - Gets the value as an array of numbers.

    +

    Throws

      +
    • If the value is not an array of numbers.
    • +
    +
  • Returns string

      +
    • The value as a string.
    • +
    +

    Method

    asString - Gets the value as a string.

    +

    Throws

      +
    • If the value is not a string.
    • +
    +
  • Returns string[]

      +
    • The value as an array of strings.
    • +
    +

    Method

    asStringArray - Gets the value as an array of strings.

    +

    Throws

      +
    • If the value is not an array of strings.
    • +
    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/DecimalRecordValue.html b/docs/classes/DecimalRecordValue.html new file mode 100644 index 0000000..1b2e6fe --- /dev/null +++ b/docs/classes/DecimalRecordValue.html @@ -0,0 +1,259 @@ +DecimalRecordValue | onspring-api-sdk

Class DecimalRecordValue

DecimalRecordValue - Represents a decimal record value

+

Hierarchy (view full)

Constructors

Properties

fieldId: number
value: number

Methods

  • Returns Attachment[]

      +
    • The value as an array of attachments.
    • +
    +

    Method

    asAttachmentArray - Gets the value as an array of attachments.

    +

    Throws

      +
    • If the value is not an array of attachments.
    • +
    +

    Throws

      +
    • If the storage location is not a valid FileStorageSite.
    • +
    +
  • Returns number

      +
    • The value as a number.
    • +
    +

    Method

    asNumber - Gets the value as a number.

    +

    Throws

      +
    • If the value is not a number.
    • +
    +
  • Returns number[]

      +
    • The value as an array of numbers.
    • +
    +

    Method

    asNumberArray - Gets the value as an array of numbers.

    +

    Throws

      +
    • If the value is not an array of numbers.
    • +
    +
  • Returns string

      +
    • The value as a string.
    • +
    +

    Method

    asString - Gets the value as a string.

    +

    Throws

      +
    • If the value is not a string.
    • +
    +
  • Returns string[]

      +
    • The value as an array of strings.
    • +
    +

    Method

    asStringArray - Gets the value as an array of strings.

    +

    Throws

      +
    • If the value is not an array of strings.
    • +
    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/Delegate.html b/docs/classes/Delegate.html new file mode 100644 index 0000000..7ccd58a --- /dev/null +++ b/docs/classes/Delegate.html @@ -0,0 +1,189 @@ +Delegate | onspring-api-sdk

Delegate - Represents a delegate.

+

Constructors

  • Parameters

    • delegateType: DelegateType

      The type of delegate.

      +
    • name: null | string

      The name of the delegate.

      +
    • emailAddress: string

      The email address of the delegate.

      +
    • delegationDateTime: Date

      The date and time the delegate was assigned.

      +
    • delegationCompletedDateTime: null | Date

      The date and time the delegate completed the survey.

      +

    Returns Delegate

      +
    • A new instance of Delegate.
    • +
    +

Properties

delegateType: DelegateType
delegationCompletedDateTime: null | Date
delegationDateTime: Date
emailAddress: string
name: null | string

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/DelegateListRecordValue.html b/docs/classes/DelegateListRecordValue.html new file mode 100644 index 0000000..ca7e5aa --- /dev/null +++ b/docs/classes/DelegateListRecordValue.html @@ -0,0 +1,259 @@ +DelegateListRecordValue | onspring-api-sdk

Class DelegateListRecordValue

DelegateListRecordValue - Represents a delegate list record value.

+

Hierarchy (view full)

Constructors

Properties

fieldId: number
value: Delegate[]

Methods

  • Returns Attachment[]

      +
    • The value as an array of attachments.
    • +
    +

    Method

    asAttachmentArray - Gets the value as an array of attachments.

    +

    Throws

      +
    • If the value is not an array of attachments.
    • +
    +

    Throws

      +
    • If the storage location is not a valid FileStorageSite.
    • +
    +
  • Returns number

      +
    • The value as a number.
    • +
    +

    Method

    asNumber - Gets the value as a number.

    +

    Throws

      +
    • If the value is not a number.
    • +
    +
  • Returns number[]

      +
    • The value as an array of numbers.
    • +
    +

    Method

    asNumberArray - Gets the value as an array of numbers.

    +

    Throws

      +
    • If the value is not an array of numbers.
    • +
    +
  • Returns string

      +
    • The value as a string.
    • +
    +

    Method

    asString - Gets the value as a string.

    +

    Throws

      +
    • If the value is not a string.
    • +
    +
  • Returns string[]

      +
    • The value as an array of strings.
    • +
    +

    Method

    asStringArray - Gets the value as an array of strings.

    +

    Throws

      +
    • If the value is not an array of strings.
    • +
    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/EndpointFactory.html b/docs/classes/EndpointFactory.html new file mode 100644 index 0000000..83b2dd0 --- /dev/null +++ b/docs/classes/EndpointFactory.html @@ -0,0 +1,308 @@ +EndpointFactory | onspring-api-sdk

Class EndpointFactory

EndpointFactory - A factory class for creating endpoints.

+

Constructors

Methods

  • Parameters

    • listId: number

      The id of the list.

      +

    Returns string

      +
    • The add or update list item endpoint.
    • +
    +

    Method

    getAddOrUpdateListItemEndpoint - Gets the add or update list item endpoint.

    +
  • Returns string

      +
    • The add or update record endpoint.
    • +
    +

    Method

    getAddOrUpdateRecordEndpoint - Gets the add or update record endpoint.

    +
  • Parameters

    • id: number

      The id of the app.

      +

    Returns string

      +
    • The app by id endpoint.
    • +
    +

    Method

    getAppByIdEndpoint - Gets the app by id endpoint.

    +
  • Returns string

      +
    • The apps by ids endpoint.
    • +
    +

    Method

    getAppsByIdsEndpoint - Gets the apps by ids endpoint.

    +
  • Returns string

      +
    • The apps endpoint.
    • +
    +

    Method

    getAppsEndpoint - Gets the apps endpoint.

    +
  • Parameters

    • recordId: number

      The id of the record.

      +
    • fieldId: number

      The id of the field.

      +
    • fileId: number

      The id of the file.

      +

    Returns string

      +
    • The delete file by id endpoint.
    • +
    +

    Method

    getDeleteFileByIdEndpoint - Gets the delete file by id endpoint.

    +
  • Parameters

    • listId: number

      The id of the list.

      +
    • itemId: string

      The id of the list item.

      +

    Returns string

      +
    • The delete list item endpoint.
    • +
    +

    Method

    getDeleteListItemEndpoint - Gets the delete list item endpoint.

    +
  • Parameters

    • appId: number

      The id of the app.

      +
    • recordId: number

      The id of the record.

      +

    Returns string

      +
    • The delete record by id endpoint.
    • +
    +

    Method

    getDeleteRecordByIdEndpoint - Gets the delete record by id endpoint.

    +
  • Returns string

      +
    • The delete records by ids endpoint.
    • +
    +

    Method

    getDeleteRecordsByIdsEndpoint - Gets the delete records by ids endpoint.

    +
  • Parameters

    • id: number

      The id of the field.

      +

    Returns string

      +
    • The field by id endpoint.
    • +
    +

    Method

    getRecordsEndpoint - Gets the records endpoint.

    +
  • Parameters

    • id: number

      The id of the app.

      +

    Returns string

      +
    • The fields by app id endpoint.
    • +
    +

    Method

    getFieldsByAppIdEndpoint - Gets the fields by app id endpoint.

    +
  • Returns string

      +
    • The fields by ids endpoint.
    • +
    +

    Method

    getFieldsByIdsEndpoint - Gets the fields by ids endpoint.

    +
  • Parameters

    • recordId: number

      The id of the record.

      +
    • fieldId: number

      The id of the field.

      +
    • fileId: number

      The id of the file.

      +

    Returns string

      +
    • The file by id endpoint.
    • +
    +

    Method

    getFileByIdEndpoint - Gets the file by id endpoint.

    +
  • Parameters

    • recordId: number

      The id of the record.

      +
    • fieldId: number

      The id of the field.

      +
    • fileId: number

      The id of the file.

      +

    Returns string

      +
    • The file info by id endpoint.
    • +
    +

    Method

    getRecordsEndpoint - Gets the records endpoint.

    +
  • Returns string

      +
    • The ping endpoint.
    • +
    +

    Method

    getPingEndpoint - Gets the ping endpoint.

    +
  • Returns string

      +
    • The query records endpoint.
    • +
    +

    Method

    getQueryRecordsEndpoint - Gets the query records endpoint.

    +
  • Parameters

    • appId: number

      The id of the app.

      +
    • recordId: number

      The id of the record.

      +

    Returns string

      +
    • The get record by id endpoint.
    • +
    +

    Method

    getRecordByIdEndpoint - Gets the get record by id endpoint.

    +
  • Parameters

    • appId: number

      The id of the app.

      +

    Returns string

      +
    • The get records by app id endpoint.
    • +
    +

    Method

    getRecordsByAppIdEndpoint - Gets the get records by app id endpoint.

    +
  • Returns string

      +
    • The get records by ids endpoint.
    • +
    +

    Method

    getRecordsByIdsEndpoint - Gets the get records by ids endpoint.

    +
  • Parameters

    • reportId: number

      The id of the report.

      +

    Returns string

      +
    • The get report by id endpoint.
    • +
    +

    Method

    getReportByIdEndpoint - Gets the get report by id endpoint.

    +
  • Parameters

    • appId: number

      The id of the app.

      +

    Returns string

      +
    • The get reports by app id endpoint.
    • +
    +

    Method

    getReportsByAppIdEndpoint - Gets the get reports by app id endpoint.

    +
  • Returns string

      +
    • The save file endpoint.
    • +
    +

    Method

    getSaveFileEndpoint - Gets the save file endpoint.

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/Field.html b/docs/classes/Field.html new file mode 100644 index 0000000..96b597c --- /dev/null +++ b/docs/classes/Field.html @@ -0,0 +1,193 @@ +Field | onspring-api-sdk

Field - Represents a Field.

+

Hierarchy (view full)

Constructors

Properties

Constructors

  • Parameters

    • id: number

      The id of the Field.

      +
    • appId: number

      The id of the App that the Field belongs to.

      +
    • name: string

      The name of the Field.

      +
    • type: FieldType

      The type of the Field.

      +
    • status: FieldStatus

      The status of the Field.

      +
    • isRequired: boolean

      Indicates whether or not the Field is required.

      +
    • isUnique: boolean

      Indicates whether or not the Field is required to be unique.

      +

    Returns Field

      +
    • A new Field.
    • +
    +

Properties

appId: number
id: number
isRequired: boolean
isUnique: boolean
name: string
status: FieldStatus
type: FieldType

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/File.html b/docs/classes/File.html new file mode 100644 index 0000000..8317dc5 --- /dev/null +++ b/docs/classes/File.html @@ -0,0 +1,187 @@ +File | onspring-api-sdk

File - Represents a file retrieved from Onspring.

+

Constructors

  • Parameters

    • stream: Readable

      The stream of the file.

      +
    • fileName: string

      The name of the file.

      +
    • contentType: string

      The content type of the file.

      +
    • contentLength: number

      The content length of the file.

      +

    Returns File

      +
    • A new instance of File.
    • +
    +

Properties

contentLength: number
contentType: string
fileName: string
stream: Readable

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/FileInfo.html b/docs/classes/FileInfo.html new file mode 100644 index 0000000..57270d1 --- /dev/null +++ b/docs/classes/FileInfo.html @@ -0,0 +1,184 @@ +FileInfo | onspring-api-sdk

FileInfo - Represents a file info.

+

Constructors

  • Parameters

    • type: string
    • contentType: string
    • name: string
    • createdDate: Date
    • modifiedDate: Date
    • owner: string
    • notes: string
    • fileHref: string

    Returns FileInfo

Properties

contentType: string
createdDate: Date
fileHref: string
modifiedDate: Date
name: string
notes: string
owner: string
type: FieldType

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/FileListRecordValue.html b/docs/classes/FileListRecordValue.html new file mode 100644 index 0000000..4337ae1 --- /dev/null +++ b/docs/classes/FileListRecordValue.html @@ -0,0 +1,259 @@ +FileListRecordValue | onspring-api-sdk

Class FileListRecordValue

FileListRecordValue - Represents a file list record value.

+

Hierarchy (view full)

Constructors

Properties

fieldId: number
value: File[]

Methods

  • Returns Attachment[]

      +
    • The value as an array of attachments.
    • +
    +

    Method

    asAttachmentArray - Gets the value as an array of attachments.

    +

    Throws

      +
    • If the value is not an array of attachments.
    • +
    +

    Throws

      +
    • If the storage location is not a valid FileStorageSite.
    • +
    +
  • Returns number

      +
    • The value as a number.
    • +
    +

    Method

    asNumber - Gets the value as a number.

    +

    Throws

      +
    • If the value is not a number.
    • +
    +
  • Returns number[]

      +
    • The value as an array of numbers.
    • +
    +

    Method

    asNumberArray - Gets the value as an array of numbers.

    +

    Throws

      +
    • If the value is not an array of numbers.
    • +
    +
  • Returns string

      +
    • The value as a string.
    • +
    +

    Method

    asString - Gets the value as a string.

    +

    Throws

      +
    • If the value is not a string.
    • +
    +
  • Returns string[]

      +
    • The value as an array of strings.
    • +
    +

    Method

    asStringArray - Gets the value as an array of strings.

    +

    Throws

      +
    • If the value is not an array of strings.
    • +
    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/FormulaField.html b/docs/classes/FormulaField.html new file mode 100644 index 0000000..dd57c6d --- /dev/null +++ b/docs/classes/FormulaField.html @@ -0,0 +1,197 @@ +FormulaField | onspring-api-sdk

FormulaField - Represents a formula field.

+

Hierarchy (view full)

Constructors

  • Parameters

    • id: number

      The id of the formula field.

      +
    • appId: number

      The id of the app the formula field belongs to.

      +
    • name: string

      The name of the formula field.

      +
    • type: FieldType

      The type of the formula field.

      +
    • status: FieldStatus

      The status of the formula field.

      +
    • isRequired: boolean

      Whether the formula field is required.

      +
    • isUnique: boolean

      Whether the formula field is unique.

      +
    • outputType: FormulaOutputType

      The output type of the formula field.

      +
    • values: ListValue[]

      The list values of the formula field.

      +

    Returns FormulaField

      +
    • A new FormulaField.
    • +
    +

Properties

appId: number
id: number
isRequired: boolean
isUnique: boolean
name: string
outputType: FormulaOutputType
status: FieldStatus
type: FieldType
values: ListValue[]

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/GetPagedAppsResponse.html b/docs/classes/GetPagedAppsResponse.html new file mode 100644 index 0000000..a75efba --- /dev/null +++ b/docs/classes/GetPagedAppsResponse.html @@ -0,0 +1,189 @@ +GetPagedAppsResponse | onspring-api-sdk

Class GetPagedAppsResponse

GetPagedAppsResponse - A paged response model for the GetApps method.

+

Hierarchy (view full)

Constructors

  • Parameters

    • items: App[]

      The items in the collection.

      +
    • pageNumber: number

      The page number of the response.

      +
    • pageSize: number

      The page size of the response.

      +
    • totalPages: number

      The total number of pages in the response.

      +
    • totalRecords: number

      The total number of records in the response.

      +

    Returns GetPagedAppsResponse

      +
    • A new instance of the GetPagedAppsResponse class.
    • +
    +

Properties

items: App[]
pageNumber: number
pageSize: number
totalPages: number
totalRecords: number

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/GetPagedFieldsResponse.html b/docs/classes/GetPagedFieldsResponse.html new file mode 100644 index 0000000..b974f8a --- /dev/null +++ b/docs/classes/GetPagedFieldsResponse.html @@ -0,0 +1,189 @@ +GetPagedFieldsResponse | onspring-api-sdk

Class GetPagedFieldsResponse

GetPagedFieldsResponse - A response containing a paged collection of fields.

+

Hierarchy (view full)

Constructors

  • Parameters

    • items: Field[]

      The items in the collection.

      +
    • pageNumber: number

      The page number of the response.

      +
    • pageSize: number

      The page size of the response.

      +
    • totalPages: number

      The total number of pages in the response.

      +
    • totalRecords: number

      The total number of records in the response.

      +

    Returns GetPagedFieldsResponse

      +
    • A new instance of the GetPagedAppsResponse class.
    • +
    +

Properties

items: Field[]
pageNumber: number
pageSize: number
totalPages: number
totalRecords: number

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/GetPagedRecordsResponse.html b/docs/classes/GetPagedRecordsResponse.html new file mode 100644 index 0000000..c2757fa --- /dev/null +++ b/docs/classes/GetPagedRecordsResponse.html @@ -0,0 +1,189 @@ +GetPagedRecordsResponse | onspring-api-sdk

Class GetPagedRecordsResponse

GetPagedRecordsResponse - A response containing a paged collection of records.

+

Hierarchy (view full)

Constructors

  • Parameters

    • items: Record[]

      The items in the collection.

      +
    • pageNumber: number

      The page number of the response.

      +
    • pageSize: number

      The page size of the response.

      +
    • totalPages: number

      The total number of pages in the response.

      +
    • totalRecords: number

      The total number of records in the response.

      +

    Returns GetPagedRecordsResponse

      +
    • A new instance of the GetPagedRecordsResponse class.
    • +
    +

Properties

items: Record[]
pageNumber: number
pageSize: number
totalPages: number
totalRecords: number

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/GetPagedReportsResponse.html b/docs/classes/GetPagedReportsResponse.html new file mode 100644 index 0000000..09e3f46 --- /dev/null +++ b/docs/classes/GetPagedReportsResponse.html @@ -0,0 +1,189 @@ +GetPagedReportsResponse | onspring-api-sdk

Class GetPagedReportsResponse

GetPagedReportsResponse - Represents a response containing a paged list of reports.

+

Hierarchy (view full)

Constructors

Properties

items: Report[]
pageNumber: number
pageSize: number
totalPages: number
totalRecords: number

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/GetRecordRequest.html b/docs/classes/GetRecordRequest.html new file mode 100644 index 0000000..5f6383d --- /dev/null +++ b/docs/classes/GetRecordRequest.html @@ -0,0 +1,187 @@ +GetRecordRequest | onspring-api-sdk

Class GetRecordRequest

GetRecordRequest - A request to get a record.

+

Constructors

Properties

Constructors

  • Parameters

    • appId: number

      The id of the app that the record belongs to.

      +
    • recordId: number

      The id of the record.

      +
    • fieldIds: number[] = []

      The ids of the fields to include in the response.

      +
    • dataFormat: DataFormat = DataFormat.Raw

      The format of the data in the response.

      +

    Returns GetRecordRequest

      +
    • A new instance of GetRecordRequest.
    • +
    +

Properties

appId: number
dataFormat: DataFormat
fieldIds: number[]
recordId: number

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/GetRecordsByAppIdRequest.html b/docs/classes/GetRecordsByAppIdRequest.html new file mode 100644 index 0000000..90b4407 --- /dev/null +++ b/docs/classes/GetRecordsByAppIdRequest.html @@ -0,0 +1,187 @@ +GetRecordsByAppIdRequest | onspring-api-sdk

Class GetRecordsByAppIdRequest

GetRecordsByAppIdRequest - Represents a request to get records by app id.

+

Constructors

Properties

Constructors

Properties

appId: number
dataFormat: DataFormat = DataFormat.Raw
fieldIds: number[]
pagingRequest: PagingRequest

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/GetRecordsRequest.html b/docs/classes/GetRecordsRequest.html new file mode 100644 index 0000000..0cbfeaf --- /dev/null +++ b/docs/classes/GetRecordsRequest.html @@ -0,0 +1,184 @@ +GetRecordsRequest | onspring-api-sdk

Class GetRecordsRequest

GetRecordsRequest - Request to get records by their ids

+

Constructors

Properties

Constructors

  • Parameters

    • appId: number

      The id of the app the records belong to.

      +
    • recordIds: number[]

      The ids of the records to get.

      +
    • fieldIds: number[] = []

      The ids of the fields to include in the response.

      +
    • dataFormat: DataFormat = DataFormat.Raw

      The format of the data in the response.

      +

    Returns GetRecordsRequest

Properties

appId: number
dataFormat: DataFormat
fieldIds: number[]
recordIds: number[]

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/GuidListRecordValue.html b/docs/classes/GuidListRecordValue.html new file mode 100644 index 0000000..d051f5e --- /dev/null +++ b/docs/classes/GuidListRecordValue.html @@ -0,0 +1,259 @@ +GuidListRecordValue | onspring-api-sdk

Class GuidListRecordValue

GuidListRecordValue - Represents a guid list record value.

+

Hierarchy (view full)

Constructors

Properties

fieldId: number
value: string[]

Methods

  • Returns Attachment[]

      +
    • The value as an array of attachments.
    • +
    +

    Method

    asAttachmentArray - Gets the value as an array of attachments.

    +

    Throws

      +
    • If the value is not an array of attachments.
    • +
    +

    Throws

      +
    • If the storage location is not a valid FileStorageSite.
    • +
    +
  • Returns number

      +
    • The value as a number.
    • +
    +

    Method

    asNumber - Gets the value as a number.

    +

    Throws

      +
    • If the value is not a number.
    • +
    +
  • Returns number[]

      +
    • The value as an array of numbers.
    • +
    +

    Method

    asNumberArray - Gets the value as an array of numbers.

    +

    Throws

      +
    • If the value is not an array of numbers.
    • +
    +
  • Returns string

      +
    • The value as a string.
    • +
    +

    Method

    asString - Gets the value as a string.

    +

    Throws

      +
    • If the value is not a string.
    • +
    +
  • Returns string[]

      +
    • The value as an array of strings.
    • +
    +

    Method

    asStringArray - Gets the value as an array of strings.

    +

    Throws

      +
    • If the value is not an array of strings.
    • +
    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/GuidRecordValue.html b/docs/classes/GuidRecordValue.html new file mode 100644 index 0000000..f056106 --- /dev/null +++ b/docs/classes/GuidRecordValue.html @@ -0,0 +1,259 @@ +GuidRecordValue | onspring-api-sdk

Class GuidRecordValue

GuidRecordValue - Represents a guid record value.

+

Hierarchy (view full)

Constructors

Properties

fieldId: number
value: string

Methods

  • Returns Attachment[]

      +
    • The value as an array of attachments.
    • +
    +

    Method

    asAttachmentArray - Gets the value as an array of attachments.

    +

    Throws

      +
    • If the value is not an array of attachments.
    • +
    +

    Throws

      +
    • If the storage location is not a valid FileStorageSite.
    • +
    +
  • Returns number

      +
    • The value as a number.
    • +
    +

    Method

    asNumber - Gets the value as a number.

    +

    Throws

      +
    • If the value is not a number.
    • +
    +
  • Returns number[]

      +
    • The value as an array of numbers.
    • +
    +

    Method

    asNumberArray - Gets the value as an array of numbers.

    +

    Throws

      +
    • If the value is not an array of numbers.
    • +
    +
  • Returns string

      +
    • The value as a string.
    • +
    +

    Method

    asString - Gets the value as a string.

    +

    Throws

      +
    • If the value is not a string.
    • +
    +
  • Returns string[]

      +
    • The value as an array of strings.
    • +
    +

    Method

    asStringArray - Gets the value as an array of strings.

    +

    Throws

      +
    • If the value is not an array of strings.
    • +
    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/IntegerListRecordValue.html b/docs/classes/IntegerListRecordValue.html new file mode 100644 index 0000000..1679cce --- /dev/null +++ b/docs/classes/IntegerListRecordValue.html @@ -0,0 +1,259 @@ +IntegerListRecordValue | onspring-api-sdk

Class IntegerListRecordValue

IntegerListRecordValue - Represents an integer list record value.

+

Hierarchy (view full)

Constructors

Properties

fieldId: number
value: number[]

Methods

  • Returns Attachment[]

      +
    • The value as an array of attachments.
    • +
    +

    Method

    asAttachmentArray - Gets the value as an array of attachments.

    +

    Throws

      +
    • If the value is not an array of attachments.
    • +
    +

    Throws

      +
    • If the storage location is not a valid FileStorageSite.
    • +
    +
  • Returns number

      +
    • The value as a number.
    • +
    +

    Method

    asNumber - Gets the value as a number.

    +

    Throws

      +
    • If the value is not a number.
    • +
    +
  • Returns number[]

      +
    • The value as an array of numbers.
    • +
    +

    Method

    asNumberArray - Gets the value as an array of numbers.

    +

    Throws

      +
    • If the value is not an array of numbers.
    • +
    +
  • Returns string

      +
    • The value as a string.
    • +
    +

    Method

    asString - Gets the value as a string.

    +

    Throws

      +
    • If the value is not a string.
    • +
    +
  • Returns string[]

      +
    • The value as an array of strings.
    • +
    +

    Method

    asStringArray - Gets the value as an array of strings.

    +

    Throws

      +
    • If the value is not an array of strings.
    • +
    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/IntegerRecordValue.html b/docs/classes/IntegerRecordValue.html new file mode 100644 index 0000000..7a3efc4 --- /dev/null +++ b/docs/classes/IntegerRecordValue.html @@ -0,0 +1,259 @@ +IntegerRecordValue | onspring-api-sdk

Class IntegerRecordValue

IntegerRecordValue - A record value represented by an integer.

+

Hierarchy (view full)

Constructors

Properties

fieldId: number
value: number

Methods

  • Returns Attachment[]

      +
    • The value as an array of attachments.
    • +
    +

    Method

    asAttachmentArray - Gets the value as an array of attachments.

    +

    Throws

      +
    • If the value is not an array of attachments.
    • +
    +

    Throws

      +
    • If the storage location is not a valid FileStorageSite.
    • +
    +
  • Returns number

      +
    • The value as a number.
    • +
    +

    Method

    asNumber - Gets the value as a number.

    +

    Throws

      +
    • If the value is not a number.
    • +
    +
  • Returns number[]

      +
    • The value as an array of numbers.
    • +
    +

    Method

    asNumberArray - Gets the value as an array of numbers.

    +

    Throws

      +
    • If the value is not an array of numbers.
    • +
    +
  • Returns string

      +
    • The value as a string.
    • +
    +

    Method

    asString - Gets the value as a string.

    +

    Throws

      +
    • If the value is not a string.
    • +
    +
  • Returns string[]

      +
    • The value as an array of strings.
    • +
    +

    Method

    asStringArray - Gets the value as an array of strings.

    +

    Throws

      +
    • If the value is not an array of strings.
    • +
    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/ListField.html b/docs/classes/ListField.html new file mode 100644 index 0000000..43cd289 --- /dev/null +++ b/docs/classes/ListField.html @@ -0,0 +1,199 @@ +ListField | onspring-api-sdk

ListField - Represents a list field.

+

Hierarchy (view full)

Constructors

  • Parameters

    • id: number

      The id of the list field.

      +
    • appId: number

      The id of the app the list field belongs to.

      +
    • name: string

      The name of the list field.

      +
    • type: FieldType

      The type of the list field.

      +
    • status: FieldStatus

      The status of the list field.

      +
    • isRequired: boolean

      Whether the list field is required.

      +
    • isUnique: boolean

      Whether the list field is unique.

      +
    • multiplicity: Multiplicity

      The multiplicity of the list field.

      +
    • listId: number

      The id of the list the list field belongs to.

      +
    • values: ListValue[]

      The list values of the list field.

      +

    Returns ListField

      +
    • A new ListField.
    • +
    +

Properties

appId: number
id: number
isRequired: boolean
isUnique: boolean
listId: number
multiplicity: Multiplicity
name: string
status: FieldStatus
type: FieldType
values: ListValue[]

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/ListItemRequest.html b/docs/classes/ListItemRequest.html new file mode 100644 index 0000000..cf25340 --- /dev/null +++ b/docs/classes/ListItemRequest.html @@ -0,0 +1,189 @@ +ListItemRequest | onspring-api-sdk

Class ListItemRequest

ListItemRequest - Represents a list item request

+

Constructors

Properties

Constructors

  • Parameters

    • listId: number

      The id for the list that the item belongs to.

      +
    • id: null | string

      The id for the list item.

      +
    • name: string

      The name of the list item.

      +
    • numericValue: null | number

      The numeric value of the list item.

      +
    • color: null | string

      The color of the list item.

      +

    Returns ListItemRequest

      +
    • A new instance of the ListItemRequest class.
    • +
    +

Properties

color: null | string
id: null | string
listId: number
name: string
numericValue: null | number

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/ListItemResponse.html b/docs/classes/ListItemResponse.html new file mode 100644 index 0000000..8447d39 --- /dev/null +++ b/docs/classes/ListItemResponse.html @@ -0,0 +1,181 @@ +ListItemResponse | onspring-api-sdk

Class ListItemResponse

ListItemResponse - Represents a respons when a list item is created or updated.

+

Hierarchy (view full)

Constructors

Properties

id +

Constructors

Properties

id: string

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/ListValue.html b/docs/classes/ListValue.html new file mode 100644 index 0000000..7a27417 --- /dev/null +++ b/docs/classes/ListValue.html @@ -0,0 +1,189 @@ +ListValue | onspring-api-sdk

ListValue - Represents a list value.

+

Constructors

Properties

Constructors

  • Parameters

    • id: string

      The id of the list value.

      +
    • name: string

      The name of the list value.

      +
    • sortOrder: number

      The sort order of the list value.

      +
    • numericValue: number

      The numeric value of the list value.

      +
    • color: string

      The color of the list value.

      +

    Returns ListValue

      +
    • A new ListValue.
    • +
    +

Properties

color: string
id: string
name: string
numericValue: number
sortOrder: number

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/OnspringClient.html b/docs/classes/OnspringClient.html new file mode 100644 index 0000000..5680ca0 --- /dev/null +++ b/docs/classes/OnspringClient.html @@ -0,0 +1,363 @@ +OnspringClient | onspring-api-sdk

Class OnspringClient

OnspringClient - A client that can communicate with the Onspring API.

+

Constructors

  • Parameters

    • baseUrl: undefined | null | string

      The base url that will be used to make requests to the Onspring API.

      +
    • apiKey: undefined | null | string

      The api key that will be used to authorize requests made by this client.

      +
    • config: CreateAxiosDefaults<any> = {}

    Returns OnspringClient

      +
    • A new instance of the OnspringClient class.
    • +
    +

    Throws

      +
    • Thrown when the baseUrl is not a valid url.
    • +
    +

    Throws

      +
    • Thrown when the apiKey is null/undefined/empty/whitespace.
    • +
    +

Properties

_client: AxiosInstance

client - The axios instance that will be used to make requests to the Onspring API.

+

Methods

  • Returns Promise<boolean>

      +
    • A promise that resolves to a boolean indicating if the client can connect to the Onspring API.
    • +
    +

    Method

    canConnect - Determines if the client can connect to the Onspring API.

    +
  • Type Parameters

    • T

    Parameters

    • endpoint: string

      The endpoint that will be used to make the request.

      +
    • config: AxiosRequestConfig<any> = {}

      The configuration that will be used to make the request.

      +

    Returns Promise<ApiResponse<T>>

      +
    • A promise that resolves to an ApiResponse of type T.
    • +
    +

    Method

    delete - Makes a DELETE request to the specified endpoint.

    +
  • Parameters

    • recordId: number

      The id of the record that the file is held on.

      +
    • fieldId: number

      The id of the field that the file is held in.

      +
    • fileId: number

      The id of the file to delete.

      +

    Returns Promise<ApiResponse<any>>

      +
    • A promise that resolves to an ApiResponse of type any.
    • +
    +

    Method

    deleteFileById - Deletes a file by its id.

    +
  • Parameters

    • listId: number

      The id of the list that the list item belongs to.

      +
    • itemId: string

      The id of the list item to delete.

      +

    Returns Promise<ApiResponse<any>>

      +
    • A promise that resolves to an ApiResponse of type any.
    • +
    +

    Method

    deleteListItemById - Deletes a list item by its id.

    +
  • Parameters

    • appId: number

      The id of the app that the record belongs to.

      +
    • recordId: number

      The id of the record to delete.

      +

    Returns Promise<ApiResponse<any>>

      +
    • A promise that resolves to an ApiResponse of type any.
    • +
    +

    Method

    deleteRecordById - Deletes a record by its id.

    +
  • Parameters

    • appId: number

      The id of the app that the records belong to.

      +
    • recordIds: number[]

      The ids of the records to delete.

      +

    Returns Promise<ApiResponse<any>>

      +
    • A promise that resolves to an ApiResponse of type any.
    • +
    +

    Method

    deleteRecordsByIds - Deletes records by their ids.

    +
  • Type Parameters

    • T

    Parameters

    • endpoint: string

      The endpoint that will be used to make the request.

      +
    • config: AxiosRequestConfig<any> = {}

      The configuration that will be used to make the request.

      +

    Returns Promise<ApiResponse<T>>

      +
    • A promise that resolves to an ApiResponse of type T.
    • +
    +

    Method

    get - Makes a GET request to the specified endpoint.

    +
  • Parameters

    • recordId: number

      The id of the record that the file is attached to.

      +
    • fieldId: number

      The id of the field that the file is attached to.

      +
    • fileId: number

      The id of the file to get.

      +

    Returns Promise<ApiResponse<File>>

      +
    • A promise that resolves to an ApiResponse of type File.
    • +
    +

    Method

    getFileById - Gets a file by its id.

    +
  • Parameters

    • recordId: number

      The id of the record that the file is attached to.

      +
    • fieldId: number

      The id of the field that the file is attached to.

      +
    • fileId: number

      The id of the file to get the information for.

      +

    Returns Promise<ApiResponse<FileInfo>>

      +
    • A promise that resolves to an ApiResponse of type FileInfo.
    • +
    +

    Method

    getFileInfoById - Gets a file's information by its id.

    +
  • Parameters

    • reportId: number

      The id of the report to get.

      +
    • apiDataFormat: DataFormat = DataFormat.Raw

      The data format that the report data will be returned in.

      +
    • dataType: ReportDataType = ReportDataType.ReportData

      The type of data that will be returned.

      +

    Returns Promise<ApiResponse<ReportData>>

      +
    • A promise that resolves to an ApiResponse of type ReportData.
    • +
    +

    Method

    getReportById - Gets a report by its id.

    +
  • Type Parameters

    • T

    Parameters

    • endpoint: string

      The endpoint that will be used to make the request.

      +
    • data: any

      The data that will be sent with the request.

      +
    • config: AxiosRequestConfig<any> = {}

      The configuration that will be used to make the request.

      +

    Returns Promise<ApiResponse<T>>

      +
    • A promise that resolves to an ApiResponse of type T.
    • +
    +

    Method

    post - Makes a POST request to the specified endpoint.

    +
  • Type Parameters

    • T

    Parameters

    • endpoint: string

      The endpoint that will be used to make the request.

      +
    • data: any

      The data that will be sent with the request.

      +
    • config: AxiosRequestConfig<any> = {}

      The configuration that will be used to make the request.

      +

    Returns Promise<ApiResponse<T>>

      +
    • A promise that resolves to an ApiResponse of type T.
    • +
    +

    Method

    put - Makes a PUT request to the specified endpoint.

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/PagedResponse.html b/docs/classes/PagedResponse.html new file mode 100644 index 0000000..1b49bc8 --- /dev/null +++ b/docs/classes/PagedResponse.html @@ -0,0 +1,189 @@ +PagedResponse | onspring-api-sdk

Class PagedResponse<T>

PagedResponse - A generic paged response model

+

Type Parameters

  • T

Hierarchy (view full)

Constructors

  • Type Parameters

    • T

    Parameters

    • items: T[]

      The items in the collection.

      +
    • pageNumber: number

      The page number of the response.

      +
    • pageSize: number

      The page size of the response.

      +
    • totalPages: number

      The total number of pages in the response.

      +
    • totalRecords: number

      The total number of records in the response.

      +

    Returns PagedResponse<T>

      +
    • A new instance of the PagedResponse class.
    • +
    +

Properties

items: T[]
pageNumber: number
pageSize: number
totalPages: number
totalRecords: number

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/PagingRequest.html b/docs/classes/PagingRequest.html new file mode 100644 index 0000000..dc32a27 --- /dev/null +++ b/docs/classes/PagingRequest.html @@ -0,0 +1,189 @@ +PagingRequest | onspring-api-sdk

PagingRequest - Paging request model

+

Constructors

Properties

Constructors

  • Parameters

    • pageNumber: number

      The page number of the request. Must be greater than 0.

      +
    • pageSize: number

      The page size of the request. Must be greater than 0 and less than 1001.

      +

    Returns PagingRequest

      +
    • A new instance of the PagingRequest class.
    • +
    +

    Throws

      +
    • Thrown when the pageNumber is less than 1.
    • +
    +

    Throws

      +
    • Thrown when the pageSize is less than 1 or greater than 1000.
    • +
    +

Properties

pageNumber: number
pageSize: number

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/QueryFilter.html b/docs/classes/QueryFilter.html new file mode 100644 index 0000000..dddb519 --- /dev/null +++ b/docs/classes/QueryFilter.html @@ -0,0 +1,193 @@ +QueryFilter | onspring-api-sdk

QueryFilter - Represents a query filter.

+

Constructors

Properties

Methods

Constructors

  • Parameters

    • fieldId: number

      The id of the field to filter on.

      +
    • operator: FilterOperators

      The operator for the filter.

      +
    • value: null | string | number | Date

      The value for the filter.

      +

    Returns QueryFilter

      +
    • A new instance of the QueryFilter class.
    • +
    +

    Throws

      +
    • If the value is null and the operator is not IsNull or NotNull.
    • +
    +

Properties

fieldId: number
operator: FilterOperators
value: null | string | number | Date

Methods

  • Returns string

      +
    • The filter as a string.
    • +
    +

    Method

    toString - Converts the filter to a string.

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/QueryRecordsRequest.html b/docs/classes/QueryRecordsRequest.html new file mode 100644 index 0000000..e0163d8 --- /dev/null +++ b/docs/classes/QueryRecordsRequest.html @@ -0,0 +1,189 @@ +QueryRecordsRequest | onspring-api-sdk

Class QueryRecordsRequest

QueryRecordsRequest - Request to query for records.

+

Constructors

  • Parameters

    • appId: number

      The id of the app the records belong to.

      +
    • filter: string | QueryFilter

      The filter to use to query for records.

      +
    • fieldIds: number[] = []

      The ids of the fields to include in the response.

      +
    • dataFormat: DataFormat = DataFormat.Raw

      The format of the data in the response.

      +
    • pagingRequest: PagingRequest = ...

      The paging request to use to query for records.

      +

    Returns QueryRecordsRequest

      +
    • A new instance of QueryRecordsRequest
    • +
    +

Properties

appId: number
dataFormat: DataFormat
fieldIds: number[]
filter: string | QueryFilter
pagingRequest: PagingRequest

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/Record.html b/docs/classes/Record.html new file mode 100644 index 0000000..f8b9468 --- /dev/null +++ b/docs/classes/Record.html @@ -0,0 +1,196 @@ +Record | onspring-api-sdk

Record - A record in an app.

+

Constructors

  • Parameters

    • appId: number

      The id of the app that the record belongs to.

      +
    • recordId: null | number

      The id of the record.

      +
    • fieldData: RecordValue<any>[] = []

      The data for the fields in the record.

      +

    Returns Record

      +
    • A new instance of Record.
    • +
    +

Properties

appId: number
fieldData: RecordValue<any>[]
recordId: null | number

Methods

  • Parameters

    • fieldData: RecordValue<any>

      The value to add to the record.

      +

    Returns void

    Method

    addValue - Adds a value to the record.

    +
  • Parameters

    • fieldData: RecordValue<any>[]

      The values to add to the record.

      +

    Returns void

    Method

    addValues - Adds values to the record.

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/RecordValue.html b/docs/classes/RecordValue.html new file mode 100644 index 0000000..ec5139c --- /dev/null +++ b/docs/classes/RecordValue.html @@ -0,0 +1,266 @@ +RecordValue | onspring-api-sdk

Class RecordValue<T>

RecordValue - A value for a field in a record.

+

Type Parameters

  • T

Hierarchy (view full)

Constructors

Properties

fieldId: number
value: T

Methods

  • Returns Attachment[]

      +
    • The value as an array of attachments.
    • +
    +

    Method

    asAttachmentArray - Gets the value as an array of attachments.

    +

    Throws

      +
    • If the value is not an array of attachments.
    • +
    +

    Throws

      +
    • If the storage location is not a valid FileStorageSite.
    • +
    +
  • Returns Date

      +
    • The value as a date.
    • +
    +

    Method

    asDate - Gets the value as a date.

    +

    Throws

      +
    • If the value is not a date.
    • +
    +
  • Returns Delegate[]

      +
    • The value as an array of delegates.
    • +
    +

    Method

    asDelegateArray - Gets the value as an array of delegates.

    +

    Throws

      +
    • If the value is not an array of delegates.
    • +
    +
  • Returns number

      +
    • The value as a number.
    • +
    +

    Method

    asNumber - Gets the value as a number.

    +

    Throws

      +
    • If the value is not a number.
    • +
    +
  • Returns number[]

      +
    • The value as an array of numbers.
    • +
    +

    Method

    asNumberArray - Gets the value as an array of numbers.

    +

    Throws

      +
    • If the value is not an array of numbers.
    • +
    +
  • Returns ScoringGroup[]

      +
    • The value as an array of scoring groups.
    • +
    +

    Method

    asScoringGroupArray - Gets the value as an array of scoring groups.

    +

    Throws

      +
    • If the value is not an array of scoring groups.
    • +
    +
  • Returns string

      +
    • The value as a string.
    • +
    +

    Method

    asString - Gets the value as a string.

    +

    Throws

      +
    • If the value is not a string.
    • +
    +
  • Returns string[]

      +
    • The value as an array of strings.
    • +
    +

    Method

    asStringArray - Gets the value as an array of strings.

    +

    Throws

      +
    • If the value is not an array of strings.
    • +
    +
  • Returns TimeSpanData

      +
    • The value as a TimeSpanData object.
    • +
    +

    Method

    asTimeSpanData - Gets the value as a TimeSpanData object.

    +

    Throws

      +
    • If the value is not a TimeSpanData object.
    • +
    +
  • Parameters

    Returns void

    Method

    validateType - Validates the type of the field value.

    +

    Throws

      +
    • If the type is not valid.
    • +
    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/ReferenceField.html b/docs/classes/ReferenceField.html new file mode 100644 index 0000000..1702f83 --- /dev/null +++ b/docs/classes/ReferenceField.html @@ -0,0 +1,197 @@ +ReferenceField | onspring-api-sdk

Class ReferenceField

ReferenceField - Represents a reference field.

+

Hierarchy (view full)

Constructors

  • Parameters

    • id: number

      The id of the reference field.

      +
    • appId: number

      The id of the app the reference field belongs to.

      +
    • name: string

      The name of the reference field.

      +
    • type: FieldType

      The type of the reference field.

      +
    • status: FieldStatus

      The status of the reference field.

      +
    • isRequired: boolean

      Whether the reference field is required.

      +
    • isUnique: boolean

      Whether the reference field is unique.

      +
    • multiplicity: Multiplicity

      The multiplicity of the reference field.

      +
    • referencedAppId: number

      The id of the app the reference field references.

      +

    Returns ReferenceField

      +
    • A new ReferenceField.
    • +
    +

Properties

appId: number
id: number
isRequired: boolean
isUnique: boolean
multiplicity: Multiplicity
name: string
referencedAppId: number
status: FieldStatus
type: FieldType

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/Report.html b/docs/classes/Report.html new file mode 100644 index 0000000..1a39fb1 --- /dev/null +++ b/docs/classes/Report.html @@ -0,0 +1,180 @@ +Report | onspring-api-sdk

Report - Represents a report.

+

Constructors

Properties

Constructors

  • Parameters

    • appId: number
    • id: number
    • name: string
    • description: string

    Returns Report

Properties

appId: number
description: string
id: number
name: string

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/ReportData.html b/docs/classes/ReportData.html new file mode 100644 index 0000000..8662fa4 --- /dev/null +++ b/docs/classes/ReportData.html @@ -0,0 +1,183 @@ +ReportData | onspring-api-sdk

ReportData - Represents the data for a report.

+

Constructors

Properties

Constructors

Properties

columns: string[]
rows: Row[]

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/Row.html b/docs/classes/Row.html new file mode 100644 index 0000000..75763a3 --- /dev/null +++ b/docs/classes/Row.html @@ -0,0 +1,183 @@ +Row | onspring-api-sdk

Row - Represents a row of data in a report.

+

Constructors

Properties

Constructors

  • Parameters

    • recordId: number

      The id of the record that the row represents.

      +
    • cells: any[]

      The cells in the row.

      +

    Returns Row

      +
    • A new instance of Row.
    • +
    +

Properties

cells: any[]
recordId: number

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/SaveFileRequest.html b/docs/classes/SaveFileRequest.html new file mode 100644 index 0000000..9a11f91 --- /dev/null +++ b/docs/classes/SaveFileRequest.html @@ -0,0 +1,198 @@ +SaveFileRequest | onspring-api-sdk

Class SaveFileRequest

SaveFileRequest - Represents a request to save a file.

+

Constructors

  • Parameters

    • recordId: number

      The id of the record that the file will be saved to.

      +
    • fieldId: number

      The id of the field that the file will be saved to.

      +
    • notes: string

      The notes for the file.

      +
    • modifiedDate: Date

      The modified date for the file.

      +
    • fileName: string

      The name of the file.

      +
    • contentType: string

      The content type of the file.

      +
    • fileStream: Readable

      The file stream.

      +

    Returns SaveFileRequest

      +
    • A new SaveFileRequest.
    • +
    +

Properties

contentType: string
fieldId: number
fileName: string
fileStream: Readable
modifiedDate: Date
notes: string
recordId: number

Methods

  • Returns FormData

      +
    • The SaveFileRequest as a FormData object.
    • +
    +

    Method

    AsFormData - Converts the SaveFileRequest to a FormData object.

    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/SaveRecordRequest.html b/docs/classes/SaveRecordRequest.html new file mode 100644 index 0000000..10c0432 --- /dev/null +++ b/docs/classes/SaveRecordRequest.html @@ -0,0 +1,181 @@ +SaveRecordRequest | onspring-api-sdk

Class SaveRecordRequest

Constructors

Properties

Methods

Constructors

Properties

appId: number
fields: Map<number, any>

Remarks

The key is the field id and the value is the value for the field.

+
recordId: null | number

Remarks

If the record id is not provided a new record will be created. Otherwise, the existing record will be updated.

+

Methods

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/SaveRecordResponse.html b/docs/classes/SaveRecordResponse.html new file mode 100644 index 0000000..e749972 --- /dev/null +++ b/docs/classes/SaveRecordResponse.html @@ -0,0 +1,183 @@ +SaveRecordResponse | onspring-api-sdk

Class SaveRecordResponse

SaveRecordResponse - Response from saving a record

+

Hierarchy (view full)

Constructors

Properties

Constructors

Properties

id: number
warnings: string[]

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/ScoringGroup.html b/docs/classes/ScoringGroup.html new file mode 100644 index 0000000..5f97f20 --- /dev/null +++ b/docs/classes/ScoringGroup.html @@ -0,0 +1,187 @@ +ScoringGroup | onspring-api-sdk

ScoringGroup - A class that represents a scoring group.

+

Constructors

Properties

Constructors

  • Parameters

    • listValueId: string

      The id of the list value.

      +
    • name: string

      The name of the scoring group.

      +
    • score: number

      The score of the scoring group.

      +
    • maximumScore: number

      The maximum score of the scoring group.

      +

    Returns ScoringGroup

      +
    • A new instance of ScoringGroup.
    • +
    +

Properties

listValueId: string
maximumScore: number
name: string
score: number

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/ScoringGroupListRecordValue.html b/docs/classes/ScoringGroupListRecordValue.html new file mode 100644 index 0000000..59f9ab3 --- /dev/null +++ b/docs/classes/ScoringGroupListRecordValue.html @@ -0,0 +1,259 @@ +ScoringGroupListRecordValue | onspring-api-sdk

Class ScoringGroupListRecordValue

ScoringGroupListRecordValue - Represents a scoring group list record value.

+

Hierarchy (view full)

Constructors

Properties

fieldId: number
value: ScoringGroup[]

Methods

  • Returns Attachment[]

      +
    • The value as an array of attachments.
    • +
    +

    Method

    asAttachmentArray - Gets the value as an array of attachments.

    +

    Throws

      +
    • If the value is not an array of attachments.
    • +
    +

    Throws

      +
    • If the storage location is not a valid FileStorageSite.
    • +
    +
  • Returns number

      +
    • The value as a number.
    • +
    +

    Method

    asNumber - Gets the value as a number.

    +

    Throws

      +
    • If the value is not a number.
    • +
    +
  • Returns number[]

      +
    • The value as an array of numbers.
    • +
    +

    Method

    asNumberArray - Gets the value as an array of numbers.

    +

    Throws

      +
    • If the value is not an array of numbers.
    • +
    +
  • Returns string

      +
    • The value as a string.
    • +
    +

    Method

    asString - Gets the value as a string.

    +

    Throws

      +
    • If the value is not a string.
    • +
    +
  • Returns string[]

      +
    • The value as an array of strings.
    • +
    +

    Method

    asStringArray - Gets the value as an array of strings.

    +

    Throws

      +
    • If the value is not an array of strings.
    • +
    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/StringListRecordValue.html b/docs/classes/StringListRecordValue.html new file mode 100644 index 0000000..3b6880f --- /dev/null +++ b/docs/classes/StringListRecordValue.html @@ -0,0 +1,259 @@ +StringListRecordValue | onspring-api-sdk

Class StringListRecordValue

StringListRecordValue - Represents a string list record value.

+

Hierarchy (view full)

Constructors

Properties

fieldId: number
value: string[]

Methods

  • Returns Attachment[]

      +
    • The value as an array of attachments.
    • +
    +

    Method

    asAttachmentArray - Gets the value as an array of attachments.

    +

    Throws

      +
    • If the value is not an array of attachments.
    • +
    +

    Throws

      +
    • If the storage location is not a valid FileStorageSite.
    • +
    +
  • Returns number

      +
    • The value as a number.
    • +
    +

    Method

    asNumber - Gets the value as a number.

    +

    Throws

      +
    • If the value is not a number.
    • +
    +
  • Returns number[]

      +
    • The value as an array of numbers.
    • +
    +

    Method

    asNumberArray - Gets the value as an array of numbers.

    +

    Throws

      +
    • If the value is not an array of numbers.
    • +
    +
  • Returns string

      +
    • The value as a string.
    • +
    +

    Method

    asString - Gets the value as a string.

    +

    Throws

      +
    • If the value is not a string.
    • +
    +
  • Returns string[]

      +
    • The value as an array of strings.
    • +
    +

    Method

    asStringArray - Gets the value as an array of strings.

    +

    Throws

      +
    • If the value is not an array of strings.
    • +
    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/StringRecordValue.html b/docs/classes/StringRecordValue.html new file mode 100644 index 0000000..8096cb8 --- /dev/null +++ b/docs/classes/StringRecordValue.html @@ -0,0 +1,259 @@ +StringRecordValue | onspring-api-sdk

Class StringRecordValue

StringRecordValue - A record value represented by a string.

+

Hierarchy (view full)

Constructors

Properties

fieldId: number
value: string

Methods

  • Returns Attachment[]

      +
    • The value as an array of attachments.
    • +
    +

    Method

    asAttachmentArray - Gets the value as an array of attachments.

    +

    Throws

      +
    • If the value is not an array of attachments.
    • +
    +

    Throws

      +
    • If the storage location is not a valid FileStorageSite.
    • +
    +
  • Returns number

      +
    • The value as a number.
    • +
    +

    Method

    asNumber - Gets the value as a number.

    +

    Throws

      +
    • If the value is not a number.
    • +
    +
  • Returns number[]

      +
    • The value as an array of numbers.
    • +
    +

    Method

    asNumberArray - Gets the value as an array of numbers.

    +

    Throws

      +
    • If the value is not an array of numbers.
    • +
    +
  • Returns string

      +
    • The value as a string.
    • +
    +

    Method

    asString - Gets the value as a string.

    +

    Throws

      +
    • If the value is not a string.
    • +
    +
  • Returns string[]

      +
    • The value as an array of strings.
    • +
    +

    Method

    asStringArray - Gets the value as an array of strings.

    +

    Throws

      +
    • If the value is not an array of strings.
    • +
    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/TimeSpanData.html b/docs/classes/TimeSpanData.html new file mode 100644 index 0000000..acc77ac --- /dev/null +++ b/docs/classes/TimeSpanData.html @@ -0,0 +1,188 @@ +TimeSpanData | onspring-api-sdk

Constructors

  • Parameters

    • quantity: number

      The quantity of the time span.

      +
    • increment: TimeSpanIncrement

      The increment of the time span.

      +
    • recurrence: null | TimeSpanRecurrenceType

      The recurrence of the time span.

      +
    • endAfterOccurrences: null | number

      The number of occurrences of the time span.

      +
    • endByDate: null | Date

      The end date of the time span.

      +

    Returns TimeSpanData

      +
    • A new instance of TimeSpanData.
    • +
    +

Properties

endAfterOccurrences: null | number
endByDate: null | Date
quantity: number
recurrence: null | TimeSpanRecurrenceType

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/TimeSpanRecordValue.html b/docs/classes/TimeSpanRecordValue.html new file mode 100644 index 0000000..af240c1 --- /dev/null +++ b/docs/classes/TimeSpanRecordValue.html @@ -0,0 +1,259 @@ +TimeSpanRecordValue | onspring-api-sdk

Class TimeSpanRecordValue

TimeSpanRecordValue - Represents a time span record value.

+

Hierarchy (view full)

Constructors

Properties

fieldId: number

Methods

  • Returns Attachment[]

      +
    • The value as an array of attachments.
    • +
    +

    Method

    asAttachmentArray - Gets the value as an array of attachments.

    +

    Throws

      +
    • If the value is not an array of attachments.
    • +
    +

    Throws

      +
    • If the storage location is not a valid FileStorageSite.
    • +
    +
  • Returns number

      +
    • The value as a number.
    • +
    +

    Method

    asNumber - Gets the value as a number.

    +

    Throws

      +
    • If the value is not a number.
    • +
    +
  • Returns number[]

      +
    • The value as an array of numbers.
    • +
    +

    Method

    asNumberArray - Gets the value as an array of numbers.

    +

    Throws

      +
    • If the value is not an array of numbers.
    • +
    +
  • Returns string

      +
    • The value as a string.
    • +
    +

    Method

    asString - Gets the value as a string.

    +

    Throws

      +
    • If the value is not a string.
    • +
    +
  • Returns string[]

      +
    • The value as an array of strings.
    • +
    +

    Method

    asStringArray - Gets the value as an array of strings.

    +

    Throws

      +
    • If the value is not an array of strings.
    • +
    +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/enums/DataFormat.html b/docs/enums/DataFormat.html new file mode 100644 index 0000000..dba2e85 --- /dev/null +++ b/docs/enums/DataFormat.html @@ -0,0 +1,179 @@ +DataFormat | onspring-api-sdk

Enumeration DataFormat

DataFormat - The format of the data to be returned.

+

Enumeration Members

Enumeration Members

Formatted: "Formatted"

Constant

Formatted - The formatted data will be returned.

+
Raw: "Raw"

Constant

Raw - The raw data will be returned.

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/enums/DelegateType.html b/docs/enums/DelegateType.html new file mode 100644 index 0000000..514e3d0 --- /dev/null +++ b/docs/enums/DelegateType.html @@ -0,0 +1,179 @@ +DelegateType | onspring-api-sdk

Enumeration DelegateType

DelegateType - The type of delegate

+

Enumeration Members

Enumeration Members

External: "External"

Constant

External - The delegate is external.

+
Internal: "Internal"

Constant

Internal - The delegate is internal.

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/enums/FieldStatus.html b/docs/enums/FieldStatus.html new file mode 100644 index 0000000..f432a31 --- /dev/null +++ b/docs/enums/FieldStatus.html @@ -0,0 +1,181 @@ +FieldStatus | onspring-api-sdk

Enumeration FieldStatus

FieldStatus - The status of a field.

+

Enumeration Members

Enumeration Members

Disabled: "Disabled"

Constant

Disabled - The field is disabled.

+
Enabled: "Enabled"

Constant

Enabled - The field is enabled.

+
Invalid: "Invalid"

Constant

Invalid - The field is invalid.

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/enums/FieldType.html b/docs/enums/FieldType.html new file mode 100644 index 0000000..c38a7d0 --- /dev/null +++ b/docs/enums/FieldType.html @@ -0,0 +1,205 @@ +FieldType | onspring-api-sdk

Enumeration FieldType

FieldType - The type of field.

+

Enumeration Members

Attachment: "Attachment"

Constant

Attachment - The field is a attachment field.

+
AutoNumber: "AutoNumber"

Constant

AutoNumber - The field is a autonumber field.

+
Date: "Date"

Constant

Date - The field is a date field.

+
Formula: "Formula"

Constant

Formula - The field is a formula field.

+
Image: "Image"

Constant

Image - The field is a image field.

+
List: "List"

Constant

List - The field is a list field.

+
Number: "Number"

Constant

Number - The field is a number field.

+
Reference: "Reference"

Constant

Reference - The field is a reference field.

+
SurveyCampaign: "SurveyCampaign"

Constant

SurveyCampaign - The field is a survey campaign field.

+
SurveyDelegation: "SurveyDelegation"

Constant

SurveyDelegation - The field is a survey delegation field.

+
SurveyGroupScoring: "SurveyGroupScoring"

Constant

SurveyGroupScoring - The field is a survey group scoring field.

+
SurveyReference: "SurveyReference"

Constant

SurveyReference - The field is a survey reference field.

+
SurveyUnifiedAnswer: "SurveyUnifiedAnswer"

Constant

SurveyUnifiedAnswer - The field is a survey unified answer field.

+
Text: "Text"

Constant

Text - The field is a text field.

+
TimeSpan: "TimeSpan"

Constant

TimeSpan - The field is a timespan field.

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/enums/FileStorageSite.html b/docs/enums/FileStorageSite.html new file mode 100644 index 0000000..f455567 --- /dev/null +++ b/docs/enums/FileStorageSite.html @@ -0,0 +1,181 @@ +FileStorageSite | onspring-api-sdk

Enumeration FileStorageSite

FileStorageSite - The site where the file is stored.

+

Enumeration Members

Enumeration Members

GoogleDrive: "GoogleDrive"

Constant

GoogleDrive - The file is stored in Google Drive.

+
Internal: "Internal"

Constant

Internal - The file is stored in the internal file storage.

+
OneDrive: "OneDrive"

Constant

OneDrive - The file is stored in OneDrive.

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/enums/FilterOperators.html b/docs/enums/FilterOperators.html new file mode 100644 index 0000000..11c1f55 --- /dev/null +++ b/docs/enums/FilterOperators.html @@ -0,0 +1,205 @@ +FilterOperators | onspring-api-sdk

Enumeration FilterOperators

FilterOperators - The operators that can be used in a query filter

+

Enumeration Members

And: "and"

Constant

And - The and operator

+

Remarks

Can be used to create compound filters.

+
Contains: "contains"

Constant

Contains - The contains operator

+

Remarks

Can be used with list fields as well as their formula equivalents.

+
Equal: "eq"

Constant

Equal - The equal operator

+

Remarks

Can be used with text, auto-number, date, and number fields as well as their formula equivalents.

+
GreaterThan: "gt"

Constant

GreaterThan - The greater than operator

+

Remarks

Can be used with auto-number, date, and number fields as well as their formula equivalents.

+
IsNull: "isnull"

Constant

IsNull - The is null operator

+

Remarks

Can be used with text, date, and number fields as well as their formula equivalents.

+
LessThan: "lt"

Constant

LessThan - The less than operator

+

Remarks

Can be used with auto-number, date, and number fields as well as their formula equivalents.

+
Not: "not"

Constant

Not - The not operator

+

Remarks

Can be used to negate a filter and create compound filters.

+
NotEqual: "ne"

Constant

NotEqual - The not equal operator

+

Remarks

Can be used with text, auto-number, date, and number fields as well as their formula equivalents.

+
NotNull: "notnull"

Constant

NotNull - The not null operator

+

Remarks

Can be used with text, date, and number fields as well as their formula equivalents.

+
Or: "or"

Constant

Or - The or operator

+

Remarks

Can be used to create compound filters.

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/enums/FormulaOutputType.html b/docs/enums/FormulaOutputType.html new file mode 100644 index 0000000..14b8bdf --- /dev/null +++ b/docs/enums/FormulaOutputType.html @@ -0,0 +1,183 @@ +FormulaOutputType | onspring-api-sdk

Enumeration FormulaOutputType

FormulaOutputType - The type of the formula output.

+

Enumeration Members

Enumeration Members

DateAndTime: "DateAndTime"

Constant

DateAndTime - The formula output is a date and time value.

+
ListValue: "ListValue"

Constant

ListValue - The formula output is a list value.

+
Numeric: "Numeric"

Constant

Numeric - The formula output is a numeric value.

+
Text: "Text"

Constant

Text - The formula output is a text value.

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/enums/HttpStatusCode.html b/docs/enums/HttpStatusCode.html new file mode 100644 index 0000000..6b14055 --- /dev/null +++ b/docs/enums/HttpStatusCode.html @@ -0,0 +1,205 @@ +HttpStatusCode | onspring-api-sdk

Enumeration HttpStatusCode

HttpStatusCode - Enum for HTTP status codes

+

Enumeration Members

Accepted: 202

Constant

Accepted - The request was accepted for processing.

+
BadGateway: 502

Constant

BadGateway - The server received an invalid response from an upstream server.

+
BadRequest: 400

Constant

BadRequest - The request was invalid.

+
Conflict: 409

Constant

Conflict - The request could not be completed due to a conflict with the current state of the resource.

+
Created: 201

Constant

Created - The request was successful and a new resource was created.

+
Forbidden: 403

Constant

Forbidden - The request included an authentication token but the token was not valid.

+
GatewayTimeout: 504

Constant

GatewayTimeout - The server did not receive a response from an upstream server in a timely manner.

+
InternalServerError: 500

Constant

InternalServerError - An unexpected error occurred on the server.

+
MethodNotAllowed: 405

Constant

MethodNotAllowed - The requested method is not supported for the resource.

+
NoContent: 204

Constant

NoContent - The request was successful but there is no content to return.

+
NotFound: 404

Constant

NotFound - The requested resource does not exist.

+
NotImplemented: 501

Constant

NotImplemented - The requested method is not implemented.

+
OK: 200

Constant

OK - The request was successful.

+
ServiceUnavailable: 503

Constant

ServiceUnavailable - The server is currently unavailable.

+
Unauthorized: 401

Constant

Unauthorized - The request did not include an authentication token.

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/enums/Multiplicity.html b/docs/enums/Multiplicity.html new file mode 100644 index 0000000..cc48494 --- /dev/null +++ b/docs/enums/Multiplicity.html @@ -0,0 +1,179 @@ +Multiplicity | onspring-api-sdk

Enumeration Multiplicity

Multiplicity - The multiplicity type of the object.

+

Enumeration Members

Enumeration Members

MultiSelect: "MultiSelect"

Constant

MultiSelect - Multi select multiplicity.

+
SingleSelect: "SingleSelect"

Constant

SingleSelect - Single select multiplicity.

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/enums/RecordValueType.html b/docs/enums/RecordValueType.html new file mode 100644 index 0000000..065498f --- /dev/null +++ b/docs/enums/RecordValueType.html @@ -0,0 +1,201 @@ +RecordValueType | onspring-api-sdk

Enumeration RecordValueType

RecordValueType - The type of the record value.

+

Enumeration Members

AttachmentList: "AttachmentList"

Constant

AttachmentList - The record value is a list of attachments.

+
Date: "Date"

Constant

Date - The record value is a Date.

+
Decimal: "Decimal"

Constant

Decimal - The record value is a decimal.

+
DelegateList: "DelegateList"

Constant

DelegateList - The record value is a list of delegates.

+
FileList: "FileList"

Constant

FileList - The record value is a list of files.

+
Guid: "Guid"

Constant

Guid - The record value is a Guid.

+
GuidList: "GuidList"

Constant

GuidList - The record value is a list of Guids.

+
Integer: "Integer"

Constant

Integer - The record value is an integer.

+
IntegerList: "IntegerList"

Constant

IntegerList - The record value is a list of integers.

+
ScoringGroupList: "ScoringGroupList"

Constant

ScoringGroupList - The record value is a list of scoring groups.

+
String: "String"

Constant

String - The record value is a string.

+
StringList: "StringList"

Constant

StringList - The record value is a list of strings.

+
TimeSpan: "TimeSpan"

Constant

TimeSpan - The record value is a TimeSpan.

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/enums/ReportDataType.html b/docs/enums/ReportDataType.html new file mode 100644 index 0000000..3d972aa --- /dev/null +++ b/docs/enums/ReportDataType.html @@ -0,0 +1,179 @@ +ReportDataType | onspring-api-sdk

Enumeration ReportDataType

ReportDataType - Enum for report data type

+

Enumeration Members

Enumeration Members

ChartData: "ChartData"

Constant

ChartData - Chart data

+
ReportData: "ReportData"

Constant

ReportData - Report data

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/enums/TimeSpanIncrement.html b/docs/enums/TimeSpanIncrement.html new file mode 100644 index 0000000..caf1299 --- /dev/null +++ b/docs/enums/TimeSpanIncrement.html @@ -0,0 +1,189 @@ +TimeSpanIncrement | onspring-api-sdk

Enumeration TimeSpanIncrement

TimeSpanIncrement - The increment values for a time span field.

+

Enumeration Members

Enumeration Members

Days: "Days"

Constant

Days - The time span increment is days.

+
Hours: "Hours"

Constant

Hours - The time span increment is hours.

+
Minutes: "Minutes"

Constant

Minutes - The time span increment is minutes.

+
Months: "Months"

Constant

Months - The time span increment is months.

+
Seconds: "Seconds"

Constant

Seconds - The time span increment is seconds.

+
Weeks: "Weeks"

Constant

Weeks - The time span increment is weeks.

+
Years: "Years"

Constant

Years - The time span increment is years.

+

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/enums/TimeSpanRecurrenceType.html b/docs/enums/TimeSpanRecurrenceType.html new file mode 100644 index 0000000..b46b99d --- /dev/null +++ b/docs/enums/TimeSpanRecurrenceType.html @@ -0,0 +1,181 @@ +TimeSpanRecurrenceType | onspring-api-sdk

Enumeration TimeSpanRecurrenceType

TimeSpanRecurrenceType - The type of recurrence for a time span.

+

Enumeration Members

Enumeration Members

EndAfterOccurrences: "EndAfterOccurrences"

Constant

EndAfterOccurrences - The time span recurs for a specific number of occurrences.

+
EndByDate: "EndByDate"

Constant

EndByDate - The time span recurs until a specific date.

+
None: "None"

Constant

None - The time span does not recur.

+

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..b98165f --- /dev/null +++ b/docs/hierarchy.html @@ -0,0 +1,174 @@ +onspring-api-sdk

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..081b2b1 --- /dev/null +++ b/docs/index.html @@ -0,0 +1,331 @@ +onspring-api-sdk

onspring-api-sdk

Onspring API Javascript SDK

lint_format_test +codecov +build_publish +semantic-release: angular +NPM +npm +npm

+

The Javascript SDK for the Onspring API is meant to simplify development in Javascript for Onspring customers who want to build integrations with their Onspring instance.

+

Note: This is an unofficial SDK for the Onspring API. It was not built in consultation with Onspring Technologies LLC or a member of their development team.

+

This SDK was developed independently using Onspring's existing C# SDK, the Onspring API's swagger page, and api documentation as the starting point with the intention of making development of integrations done in Javascript with an Onspring instance quicker and more convenient.

+

🛠️ Dependencies

Node.js

node-current

+

Requires use of Node.js 14.x or later.

+

Axios

npm (prod) dependency version

+

All methods for the OnspringClient make use of the Axios http client to interact with the Onspring API.

+

Form-Data

npm (prod) dependency version

+

When it is necessary to send requests to the Onspring API using multi-part/form-data the Form-Data package is used.

+

💾 Installation

Install the SDK using npm:

+

npm install onspring-api-sdk

+

🔑 API Key

In order to successfully interact with the Onspring Api you will need an API key. API keys are obtained by an Onspring user with permissions to at least Read API Keys for your instance via the following steps:

+
    +
  1. Login to the Onspring instance.
  2. +
  3. Navigate to Administration > Security > API Keys
  4. +
  5. On the list page, add a new API Key - this will require Create permissions - or click an existing API key to view its details.
  6. +
  7. Click on the Developer Information tab.
  8. +
  9. Copy the X-ApiKey Header value from this tab.
  10. +
+

Important:

+
    +
  • An API Key must have a status of Enabled in order to make authorized requests.
  • +
  • Each API Key must have an assigned Role. This role controls the permissions for requests made. If the API Key used does not have sufficient permissions the requests made won't be successful.
  • +
+

🔒 Permission Considerations

You can think of any API Key as another user in your Onspring instance and therefore it is subject to all the same permission considerations as any other user when it comes to its ability to access data in your instance. The API Key you use needs to have all the correct permissions within your instance to access the data requested. Things to think about in this context are role security, content security, and field security.

+

🧑🏻‍💻 Start Coding

OnspringClient

The most common way to use the SDK is to create an OnspringClient instance and call its methods. Its constructor requires two parameters:

+
    +
  • baseUrl - currently this should always be: https://api.onspring.com
  • +
  • apiKey - the value obtained by following the steps in the API Key section
  • +
+

It is best practice to read these values in from a configuration file for both flexibility and security purposes.

+

Example .env file:

+
API_KEY=000000ffffff000000ffffff/00000000-ffff-0000-ffff-000000000000
+BASE_URL=https://api.onspring.com
+
+

Example constructing OnspringClient:

+

CommonJS

+
const { OnspringClient } = require('onspring-api-sdk');
const dotenv = require('dotenv');
dotenv.config();

const client = new OnspringClient(process.env.BASE_URL, process.env.API_KEY); +
+

ES Module

+
import dotenv from 'dotenv';
import { OnspringClient } from 'onspring-api-sdk';
dotenv.config();

const client = new OnspringClient(process.env.BASE_URL, process.env.API_KEY); +
+

Axios Instance Configuration

By default when you construct an instance of the OnspringClient a new Axios instance will also be created. Its baseURL property will always be set to the baseUrl parameter based to the OnspringClient's constructor and its headers will always contain the proper x-api-key header.

+

You can though pass a third optional argument to the OnspringClient constructor that specifies additional configuration options for the Axios instance used to make requests.

+
import dotenv from 'dotenv';
import { OnspringClient } from 'onspring-api-sdk';
dotenv.config();

const configs = {
timeout: 5000,
};

const client = new OnspringClient(
process.env.BASE_URL,
process.env.API_KEY,
configs
); +
+

ApiResponse

Each OnspringClient method - aside from canConnect - returns an ApiResponse object which will have the following properties:

+
    +
  • statusCode - The http status code of the response.
  • +
  • isSuccessful - Indicates whether the request succeeded.
  • +
  • data - If the request was successful will contain the response data deserialized to custom classes.
  • +
  • message - A message that may provide more detail about the request when no successful
  • +
+

CommonJS or ES Modules

There is support for using either CommonJS or ES Modules depending upon your preference. This documentation will use the later in the usage examples.

+

Types

The package is written in typescript and all types are exported and available for you to use.

+

Full API Documentation

You may wish to refer to the full Onspring API documentation when determining which values to pass as parameters to some of the OnspringClient methods. There is also a swagger page that you can use for making exploratory requests.

+

📋 Examples

Note the following code snippets assume you've already instantiated an OnspringClient as shown in the OnspringClient section.

+

Connectivity

Verify connectivity

const res = await client.canConnect();
console.log(res); // true or false +
+

Apps

Get Apps

Returns a paged collection of apps and/or surveys that can be paged through. By default the page size is 50 and page number is 1.

+
const res = await client.getApps();
const apps = res.data.items;

for (const app of apps) {
console.log(app);
} +
+

You can set your own page size and page number (max is 1,000) as well.

+
import { PagingRequest } from 'onspring-api-sdk';

const res = await client.getApps(new PagingRequest(1, 1));
const apps = res.data.items;

for (const app of apps) {
console.log(app);
} +
+

Get App By Id

Returns an Onspring app or survey according to provided id.

+
const res = await client.getAppById(130);
const app = res.data;

console.log(app); +
+

Get Apps By Ids

Returns a collection of Onspring apps and/or surveys according to provided ids.

+
const res = await client.getAppsByIds([130, 131]);
const apps = res.data.items;

for (const app of apps) {
console.log(app);
} +
+

Fields

Get Field By Id

Returns an Onspring field according to provided id.

+
const res = await client.getFieldById(4793);
const field = res.data;

console.log(field); +
+

Get Fields By Ids

Returns a collection of Onspring fields according to provided ids.

+
const res = await client.getFieldsByIds([4793, 4801]);
const fields = res.data.items;

for (const field of fields) {
console.log(field);
} +
+

Get Fields By App Id

Returns a paged collection of fields that can be paged through. By default the page size is 50 and page number is 1.

+
const res = await client.getFieldsByAppId(132);
const fields = res.data.items;

for (const field of fields) {
console.log(field);
} +
+

You can set your own page size and page number (max is 1,000) as well.

+
import { PagingRequest } from 'onspring-api-sdk';

const res = await client.getFieldsByAppId(132, new PagingRequest(1, 1));
const fields = res.data.items;

for (const field of fields) {
console.log(field);
} +
+

Files

Get File Info By Id

Returns the Onspring file's metadata.

+
const res = await client.getFileInfoById(1, 4806, 909);
const fileInfo = res.data;

console.log(fileInfo); +
+

Get File By Id

Returns the file itself.

+
import fs from 'fs';

const res = await client.getFileById(1, 4806, 909);
const file = res.data;

console.log(file.contentLength);
console.log(file.contentType);
console.log(file.fileName);
file.stream.pipe(fs.createWriteStream(file.fileName)); +
+

Save File

import fs from 'fs';
import { SaveFileRequest } from 'onspring-api-sdk';

const request = new SaveFileRequest(
1,
4806,
'notes',
new Date(),
'test-attachment.txt',
'text/plain',
fs.createReadStream('test-attachment.txt')
);

const res = await client.saveFile(request);
const fileId = res.data.id;

console.log(fileId); +
+

Delete File By Id

const res = await client.deleteFileById(1, 4806, 1505);

res.statusCode === 204
? console.log('File deleted')
: console.log('Error deleting file'); +
+

Lists

Add Or Update List Value

To add a list value don't provide an id value.

+
import { ListItemRequest } from 'onspring-api-sdk';

const request = new ListItemRequest(638, null, 'New Value', 1, '#000000');
const res = await client.addOrUpdateListItem(request);
const itemId = res.data.id;

console.log(itemId); +
+

To update a list value provide an id value.

+
import { ListItemRequest } from 'onspring-api-sdk';

const request = new ListItemRequest(
638,
'35c79a46-04b8-4069-bbc1-161a175f962c',
'Updated Value',
1,
'#000000'
);

const res = await client.addOrUpdateListItem(request);
const itemId = res.data.id;

console.log(itemId); +
+

Delete List Value

const res = await client.deleteListItemById(
638,
'35c79a46-04b8-4069-bbc1-161a175f962c'
);

res.statusCode === 204
? console.log('List item deleted')
: console.log('Error deleting list item'); +
+

Records

Get Records By App Id

Returns a paged collection of records that can be paged through. By default the page size is 50 and page number is 1.

+
import { GetRecordsByAppIdRequest } from 'onspring-api-sdk';

const request = new GetRecordsByAppIdRequest(130);
const res = await client.getRecordsByAppId(request);
const records = res.data.items;

for (const record of records) {
console.log(record);
} +
+

You can set your own page size and page number (max is 1,000) as well. In addition to specifying what field values to return and in what format (Raw vs. Formatted) to return them.

+
import {
DataFormat,
GetRecordsByAppIdRequest,
PagingRequest,
} from 'onspring-api-sdk';

const request = new GetRecordsByAppIdRequest(
130,
[4804],
DataFormat.Raw,
new PagingRequest(1, 1)
);

const res = await client.getRecordsByAppId(request);
const records = res.data.items;

for (const record of records) {
console.log(record);
} +
+

Get Record By Id

Returns an onspring record based on the provided app and record ids.

+
import { GetRecordRequest } from 'onspring-api-sdk';

const request = new GetRecordRequest(130, 1);
const res = await client.getRecordById(request);
const record = res.data;

console.log(record); +
+

You can also specify what field values to return and in what format (Raw vs. Formatted) to return them.

+
import { DataFormat, GetRecordRequest } from 'onspring-api-sdk';

const request = new GetRecordRequest(130, 1, [4804], DataFormat.Raw);
const res = await client.getRecordById(request);
const record = res.data;

console.log(record); +
+

Get Records By Ids

Returns a collection of Onspring records based on the provided appId and recordIds.

+
import { GetRecordsRequest } from 'onspring-api-sdk';

const request = new GetRecordsRequest(130, [1]);
const res = await client.getRecordsByIds(request);
const records = res.data.items;

for (const record of records) {
console.log(record);
} +
+

You can also specify what field values to return and in what format (Raw vs. Formatted) to return them.

+
import { DataFormat, GetRecordsRequest } from 'onspring-api-sdk';

const request = new GetRecordsRequest(130, [1], [4804], DataFormat.Formatted);
const res = await client.getRecordsByIds(request);
const records = res.data.items;

for (const record of records) {
console.log(record);
} +
+

Query Records

Returns a paged collection of records based on a criteria that can be paged through. By default the page size is 50 and page number is 1.

+
import {
FilterOperators,
QueryFilter,
QueryRecordsRequest,
} from 'onspring-api-sdk';

const filter = new QueryFilter(4745, FilterOperators.GreaterThan, 0);
const request = new QueryRecordsRequest(130, filter);
const res = await client.queryRecords(request);
const records = res.data.items;

for (const record of records) {
console.log(record);
} +
+

You can set your own page size and page number (max is 1,000) as well. In addition to specifying what field values to return and in what format (Raw vs. Formatted) to return them.

+
import {
DataFormat,
FilterOperators,
PagingRequest,
QueryFilter,
QueryRecordsRequest,
} from 'onspring-api-sdk';

const filter = new QueryFilter(4745, FilterOperators.GreaterThan, 0);
const request = new QueryRecordsRequest(
130,
filter,
[4804],
DataFormat.Formatted,
new PagingRequest(1, 1)
);

const res = await client.queryRecords(request);
const records = res.data.items;

for (const record of records) {
console.log(record);
} +
+

For further details on constructing the filter parameter please refer to the documentation for the Onspring API.

+

Add or Update A Record

You can add a record by not providing a record id value. If successful will return the id of the added record.

+
import { Record, StringRecordValue } from 'onspring-api-sdk';

const record = new Record(130, null);
const fieldValue = new StringRecordValue(4804, 'Test');
record.addValue(fieldValue);

const res = await client.saveRecord(record);
const newRecordId = res.data.id;

console.log(newRecordId); +
+

You can update a record by providing its id. If successful will return the id of record updated.

+
import { Record, StringRecordValue } from 'onspring-api-sdk';

const record = new Record(130, 607);
const fieldValue = new StringRecordValue(4804, 'Updated');
record.addValue(fieldValue);

const res = await client.saveRecord(record);
const updatedRecordId = res.data.id;

console.log(updatedRecordId); +
+

Delete Record By Id

Delete an individual record based upon its id.

+
const res = await client.deleteRecordById(130, 607);

res.statusCode === 204
? console.log('Record deleted')
: console.log('Error deleting record'); +
+

Delete Records By Ids

Delete a batch of records based upon their ids.

+
const res = await client.deleteRecordsByIds(130, [608, 609]);

res.statusCode === 204
? console.log('Records deleted')
: console.log('Error deleting records'); +
+

Reports

Get Report By Id

Returns the report for the provided id.

+
const res = await client.getReportById(408);
const report = res.data;

console.log(report); +
+

You can also specify the format of the data in the report as well as whether you are requesting the report's data or its chart data.

+
import { DataFormat, ReportDataType } from 'onspring-api-sdk';

const res = await client.getReportById(
409,
DataFormat.Formatted,
ReportDataType.ChartData
);
const report = res.data;

console.log(report); +
+

Get Reports By App Id

Returns a paged collection of reports that can be paged through. By default the page size is 50 and page number is 1.

+
const res = await client.getReportsByAppId(130);
const reports = res.data.items;

for (const report of reports) {
console.log(report);
} +
+

You can set your own page size and page number (max is 1,000) as well.

+
import { PagingRequest } from 'onspring-api-sdk';

const res = await client.getReportsByAppId(130, new PagingRequest(1, 1));
const reports = res.data.items;

for (const report of reports) {
console.log(report);
} +
+

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..a39f5ea --- /dev/null +++ b/docs/modules.html @@ -0,0 +1,238 @@ +onspring-api-sdk

Generated using TypeDoc

\ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 8bfd815..116d656 100644 --- a/package-lock.json +++ b/package-lock.json @@ -39,6 +39,7 @@ "sinon": "^15.0.1", "ts-node": "^10.9.1", "typedoc": "^0.25.12", + "typedoc-material-theme": "^1.0.2", "typescript": "^4.9.5" }, "engines": { @@ -1184,6 +1185,12 @@ "@jridgewell/sourcemap-codec": "^1.4.10" } }, + "node_modules/@material/material-color-utilities": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/@material/material-color-utilities/-/material-color-utilities-0.2.7.tgz", + "integrity": "sha512-0FCeqG6WvK4/Cc06F/xXMd/pv4FeisI0c1tUpBbfhA2n9Y8eZEv4Karjbmf2ZqQCPUWMrGp8A571tCjizxoTiQ==", + "dev": true + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -6881,6 +6888,32 @@ "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 || 5.4.x" } }, + "node_modules/typedoc-material-theme": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typedoc-material-theme/-/typedoc-material-theme-1.0.2.tgz", + "integrity": "sha512-/nH/twYeHrnz5sZaaXzYJ85EOgKqnbl1ivzBKmuEAga1dBsARttwQUTPKAT7XrCPD+rRcoqxuCOdXZ6EGiqRQA==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paypal.me/dmnsgn" + }, + { + "type": "individual", + "url": "https://commerce.coinbase.com/checkout/56cbdf28-e323-48d8-9c98-7019e72c97f3" + } + ], + "dependencies": { + "@material/material-color-utilities": "^0.2.7" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.6.0" + }, + "peerDependencies": { + "typedoc": "^0.25.3" + } + }, "node_modules/typedoc/node_modules/minimatch": { "version": "9.0.3", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", diff --git a/package.json b/package.json index 6b86379..b4b08c2 100644 --- a/package.json +++ b/package.json @@ -43,6 +43,7 @@ } }, "scripts": { + "generate-docs": "typedoc src/index.ts --plugin typedoc-material-theme --themeColor '#194488' --gitRemote github", "clean": "rimraf dist", "lint": "eslint --ignore-path .eslintignore --ext .js,.ts .", "lint-fix": "eslint --fix --ignore-path .eslintignore --ext .js,.ts . --max-warnings=0", @@ -85,10 +86,11 @@ "sinon": "^15.0.1", "ts-node": "^10.9.1", "typedoc": "^0.25.12", + "typedoc-material-theme": "^1.0.2", "typescript": "^4.9.5" }, "dependencies": { "axios": "^1.2.4", "form-data": "^4.0.0" } -} +} \ No newline at end of file