From 2d58f8afee147ed39ab35f5b62b2a20fac04ac5e Mon Sep 17 00:00:00 2001 From: Lhcfl Date: Thu, 5 Oct 2023 09:24:34 +0800 Subject: [PATCH] API Document generated. --- .nojekyll | 1 + assets/highlight.css | 78 + assets/main.js | 59 + assets/navigation.js | 1 + assets/search.js | 1 + assets/style.css | 1383 +++++++++++++++++ classes/api.DiscourseApi.html | 871 +++++++++++ classes/api.DiscourseApiOption.html | 211 +++ classes/lib_chat.ChatApi.html | 187 +++ classes/lib_webhook.WebhookReceptor.html | 211 +++ index.html | 71 + modules/api.html | 73 + modules/lib_chat.html | 55 + modules/lib_webhook.html | 55 + modules/types_discourse.html | 52 + types/api.ApiOptions.html | 69 + types/api.UserApiKeyLink.html | 69 + types/api.generateUserApiKeyParams.html | 85 + types/lib_chat.ChatMessageOptions.html | 59 + .../lib_webhook.WebhookCallbackFunction.html | 61 + types/types_discourse.Post.html | 156 ++ types/types_discourse.Uploads.html | 89 ++ 22 files changed, 3897 insertions(+) create mode 100644 .nojekyll create mode 100644 assets/highlight.css create mode 100644 assets/main.js create mode 100644 assets/navigation.js create mode 100644 assets/search.js create mode 100644 assets/style.css create mode 100644 classes/api.DiscourseApi.html create mode 100644 classes/api.DiscourseApiOption.html create mode 100644 classes/lib_chat.ChatApi.html create mode 100644 classes/lib_webhook.WebhookReceptor.html create mode 100644 index.html create mode 100644 modules/api.html create mode 100644 modules/lib_chat.html create mode 100644 modules/lib_webhook.html create mode 100644 modules/types_discourse.html create mode 100644 types/api.ApiOptions.html create mode 100644 types/api.UserApiKeyLink.html create mode 100644 types/api.generateUserApiKeyParams.html create mode 100644 types/lib_chat.ChatMessageOptions.html create mode 100644 types/lib_webhook.WebhookCallbackFunction.html create mode 100644 types/types_discourse.Post.html create mode 100644 types/types_discourse.Uploads.html diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e2ac661 --- /dev/null +++ b/.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/assets/highlight.css b/assets/highlight.css new file mode 100644 index 0000000..bc3afae --- /dev/null +++ b/assets/highlight.css @@ -0,0 +1,78 @@ +:root { + --light-hl-0: #001080; + --dark-hl-0: #9CDCFE; + --light-hl-1: #000000; + --dark-hl-1: #D4D4D4; + --light-hl-2: #0000FF; + --dark-hl-2: #569CD6; + --light-hl-3: #0070C1; + --dark-hl-3: #4FC1FF; + --light-hl-4: #795E26; + --dark-hl-4: #DCDCAA; + --light-hl-5: #A31515; + --dark-hl-5: #CE9178; + --light-hl-6: #098658; + --dark-hl-6: #B5CEA8; + --light-hl-7: #0451A5; + --dark-hl-7: #9CDCFE; + --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); + --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); + --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); + --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); + --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); } +pre, code { background: var(--code-background); } diff --git a/assets/main.js b/assets/main.js new file mode 100644 index 0000000..01bcad5 --- /dev/null +++ b/assets/main.js @@ -0,0 +1,59 @@ +"use strict"; +"use strict";(()=>{var Pe=Object.create;var ne=Object.defineProperty;var Ie=Object.getOwnPropertyDescriptor;var Oe=Object.getOwnPropertyNames;var _e=Object.getPrototypeOf,Re=Object.prototype.hasOwnProperty;var Me=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Fe=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Oe(e))!Re.call(t,i)&&i!==n&&ne(t,i,{get:()=>e[i],enumerable:!(r=Ie(e,i))||r.enumerable});return t};var De=(t,e,n)=>(n=t!=null?Pe(_e(t)):{},Fe(e||!t||!t.__esModule?ne(n,"default",{value:t,enumerable:!0}):n,t));var ae=Me((se,oe)=>{(function(){var t=function(e){var n=new t.Builder;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),n.searchPipeline.add(t.stemmer),e.call(n,n),n.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(n){e.console&&console.warn&&console.warn(n)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var n=Object.create(null),r=Object.keys(e),i=0;i0){var d=t.utils.clone(n)||{};d.position=[a,u],d.index=s.length,s.push(new t.Token(r.slice(a,o),d))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. +`,e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(r){var i=t.Pipeline.registeredFunctions[r];if(i)n.add(i);else throw new Error("Cannot load unregistered function: "+r)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(n){t.Pipeline.warnIfFunctionNotRegistered(n),this._stack.push(n)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");r=r+1,this._stack.splice(r,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");this._stack.splice(r,0,n)},t.Pipeline.prototype.remove=function(e){var n=this._stack.indexOf(e);n!=-1&&this._stack.splice(n,1)},t.Pipeline.prototype.run=function(e){for(var n=this._stack.length,r=0;r1&&(oe&&(r=s),o!=e);)i=r-n,s=n+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(ol?d+=2:a==l&&(n+=r[u+1]*i[d+1],u+=2,d+=2);return n},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),n=1,r=0;n0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}if(s.str.length==0&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new t.TokenSet;s.node.edges["*"]=u}s.str.length==1&&(u.final=!0),i.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var d=s.str.charAt(0),v=s.str.charAt(1),f;v in s.node.edges?f=s.node.edges[v]:(f=new t.TokenSet,s.node.edges[v]=f),s.str.length==1&&(f.final=!0),i.push({node:f,editsRemaining:s.editsRemaining-1,str:d+s.str.slice(2)})}}}return r},t.TokenSet.fromString=function(e){for(var n=new t.TokenSet,r=n,i=0,s=e.length;i=e;n--){var r=this.uncheckedNodes[n],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(n){var r=new t.QueryParser(e,n);r.parse()})},t.Index.prototype.query=function(e){for(var n=new t.Query(this.fields),r=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),l=0;l1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,n){var r=e[this._ref],i=Object.keys(this._fields);this._documents[r]=n||{},this.documentCount+=1;for(var s=0;s=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,n;do e=this.next(),n=e.charCodeAt(0);while(n>47&&n<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var n=e.next();if(n==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(n.charCodeAt(0)==92){e.escapeCharacter();continue}if(n==":")return t.QueryLexer.lexField;if(n=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(n=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(n=="+"&&e.width()===1||n=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(n.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,n){this.lexer=new t.QueryLexer(e),this.query=n,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var n=e.peekLexeme();if(n!=null)switch(n.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expected either a field or a term, found "+n.type;throw n.str.length>=1&&(r+=" with value '"+n.str+"'"),new t.QueryParseError(r,n.start,n.end)}},t.QueryParser.parsePresence=function(e){var n=e.consumeLexeme();if(n!=null){switch(n.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var r="unrecognised presence operator'"+n.str+"'";throw new t.QueryParseError(r,n.start,n.end)}var i=e.peekLexeme();if(i==null){var r="expecting term or field, found nothing";throw new t.QueryParseError(r,n.start,n.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(r,i.start,i.end)}}},t.QueryParser.parseField=function(e){var n=e.consumeLexeme();if(n!=null){if(e.query.allFields.indexOf(n.str)==-1){var r=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+n.str+"', possible fields: "+r;throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.fields=[n.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,n.start,n.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var n=e.consumeLexeme();if(n!=null){e.currentClause.term=n.str.toLowerCase(),n.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var r=e.peekLexeme();if(r==null){e.nextClause();return}switch(r.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+r.type+"'";throw new t.QueryParseError(i,r.start,r.end)}}},t.QueryParser.parseEditDistance=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="edit distance must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.editDistance=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="boost must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.boost=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,n){typeof define=="function"&&define.amd?define(n):typeof se=="object"?oe.exports=n():e.lunr=n()}(this,function(){return t})})()});var re=[];function G(t,e){re.push({selector:e,constructor:t})}var U=class{constructor(){this.alwaysVisibleMember=null;this.createComponents(document.body),this.ensureActivePageVisible(),this.ensureFocusedElementVisible(),this.listenForCodeCopies(),window.addEventListener("hashchange",()=>this.ensureFocusedElementVisible())}createComponents(e){re.forEach(n=>{e.querySelectorAll(n.selector).forEach(r=>{r.dataset.hasInstance||(new n.constructor({el:r,app:this}),r.dataset.hasInstance=String(!0))})})}filterChanged(){this.ensureFocusedElementVisible()}ensureActivePageVisible(){let e=document.querySelector(".tsd-navigation .current"),n=e?.parentElement;for(;n&&!n.classList.contains(".tsd-navigation");)n instanceof HTMLDetailsElement&&(n.open=!0),n=n.parentElement;if(e){let r=e.getBoundingClientRect().top-document.documentElement.clientHeight/4;document.querySelector(".site-menu").scrollTop=r}}ensureFocusedElementVisible(){if(this.alwaysVisibleMember&&(this.alwaysVisibleMember.classList.remove("always-visible"),this.alwaysVisibleMember.firstElementChild.remove(),this.alwaysVisibleMember=null),!location.hash)return;let e=document.getElementById(location.hash.substring(1));if(!e)return;let n=e.parentElement;for(;n&&n.tagName!=="SECTION";)n=n.parentElement;if(n&&n.offsetParent==null){this.alwaysVisibleMember=n,n.classList.add("always-visible");let r=document.createElement("p");r.classList.add("warning"),r.textContent="This member is normally hidden due to your filter settings.",n.prepend(r)}}listenForCodeCopies(){document.querySelectorAll("pre > button").forEach(e=>{let n;e.addEventListener("click",()=>{e.previousElementSibling instanceof HTMLElement&&navigator.clipboard.writeText(e.previousElementSibling.innerText.trim()),e.textContent="Copied!",e.classList.add("visible"),clearTimeout(n),n=setTimeout(()=>{e.classList.remove("visible"),n=setTimeout(()=>{e.textContent="Copy"},100)},1e3)})})}};var ie=(t,e=100)=>{let n;return()=>{clearTimeout(n),n=setTimeout(()=>t(),e)}};var de=De(ae());async function le(t,e){if(!window.searchData)return;let n=await fetch(window.searchData),r=new Blob([await n.arrayBuffer()]).stream().pipeThrough(new DecompressionStream("gzip")),i=await new Response(r).json();t.data=i,t.index=de.Index.load(i.index),e.classList.remove("loading"),e.classList.add("ready")}function he(){let t=document.getElementById("tsd-search");if(!t)return;let e={base:t.dataset.base+"/"},n=document.getElementById("tsd-search-script");t.classList.add("loading"),n&&(n.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),n.addEventListener("load",()=>{le(e,t)}),le(e,t));let r=document.querySelector("#tsd-search input"),i=document.querySelector("#tsd-search .results");if(!r||!i)throw new Error("The input field or the result list wrapper was not found");let s=!1;i.addEventListener("mousedown",()=>s=!0),i.addEventListener("mouseup",()=>{s=!1,t.classList.remove("has-focus")}),r.addEventListener("focus",()=>t.classList.add("has-focus")),r.addEventListener("blur",()=>{s||(s=!1,t.classList.remove("has-focus"))}),Ae(t,i,r,e)}function Ae(t,e,n,r){n.addEventListener("input",ie(()=>{Ne(t,e,n,r)},200));let i=!1;n.addEventListener("keydown",s=>{i=!0,s.key=="Enter"?Ve(e,n):s.key=="Escape"?n.blur():s.key=="ArrowUp"?ue(e,-1):s.key==="ArrowDown"?ue(e,1):i=!1}),n.addEventListener("keypress",s=>{i&&s.preventDefault()}),document.body.addEventListener("keydown",s=>{s.altKey||s.ctrlKey||s.metaKey||!n.matches(":focus")&&s.key==="/"&&(n.focus(),s.preventDefault())})}function Ne(t,e,n,r){if(!r.index||!r.data)return;e.textContent="";let i=n.value.trim(),s=i?r.index.search(`*${i}*`):[];for(let o=0;oa.score-o.score);for(let o=0,a=Math.min(10,s.length);o`,d=ce(l.name,i);globalThis.DEBUG_SEARCH_WEIGHTS&&(d+=` (score: ${s[o].score.toFixed(2)})`),l.parent&&(d=` + ${ce(l.parent,i)}.${d}`);let v=document.createElement("li");v.classList.value=l.classes??"";let f=document.createElement("a");f.href=r.base+l.url,f.innerHTML=u+d,v.append(f),e.appendChild(v)}}function ue(t,e){let n=t.querySelector(".current");if(!n)n=t.querySelector(e==1?"li:first-child":"li:last-child"),n&&n.classList.add("current");else{let r=n;if(e===1)do r=r.nextElementSibling??void 0;while(r instanceof HTMLElement&&r.offsetParent==null);else do r=r.previousElementSibling??void 0;while(r instanceof HTMLElement&&r.offsetParent==null);r&&(n.classList.remove("current"),r.classList.add("current"))}}function Ve(t,e){let n=t.querySelector(".current");if(n||(n=t.querySelector("li:first-child")),n){let r=n.querySelector("a");r&&(window.location.href=r.href),e.blur()}}function ce(t,e){if(e==="")return t;let n=t.toLocaleLowerCase(),r=e.toLocaleLowerCase(),i=[],s=0,o=n.indexOf(r);for(;o!=-1;)i.push(K(t.substring(s,o)),`${K(t.substring(o,o+r.length))}`),s=o+r.length,o=n.indexOf(r,s);return i.push(K(t.substring(s))),i.join("")}var Be={"&":"&","<":"<",">":">","'":"'",'"':"""};function K(t){return t.replace(/[&<>"'"]/g,e=>Be[e])}var C=class{constructor(e){this.el=e.el,this.app=e.app}};var F="mousedown",pe="mousemove",B="mouseup",J={x:0,y:0},fe=!1,ee=!1,He=!1,D=!1,me=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(me?"is-mobile":"not-mobile");me&&"ontouchstart"in document.documentElement&&(He=!0,F="touchstart",pe="touchmove",B="touchend");document.addEventListener(F,t=>{ee=!0,D=!1;let e=F=="touchstart"?t.targetTouches[0]:t;J.y=e.pageY||0,J.x=e.pageX||0});document.addEventListener(pe,t=>{if(ee&&!D){let e=F=="touchstart"?t.targetTouches[0]:t,n=J.x-(e.pageX||0),r=J.y-(e.pageY||0);D=Math.sqrt(n*n+r*r)>10}});document.addEventListener(B,()=>{ee=!1});document.addEventListener("click",t=>{fe&&(t.preventDefault(),t.stopImmediatePropagation(),fe=!1)});var X=class extends C{constructor(n){super(n);this.className=this.el.dataset.toggle||"",this.el.addEventListener(B,r=>this.onPointerUp(r)),this.el.addEventListener("click",r=>r.preventDefault()),document.addEventListener(F,r=>this.onDocumentPointerDown(r)),document.addEventListener(B,r=>this.onDocumentPointerUp(r))}setActive(n){if(this.active==n)return;this.active=n,document.documentElement.classList.toggle("has-"+this.className,n),this.el.classList.toggle("active",n);let r=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(r),setTimeout(()=>document.documentElement.classList.remove(r),500)}onPointerUp(n){D||(this.setActive(!0),n.preventDefault())}onDocumentPointerDown(n){if(this.active){if(n.target.closest(".col-sidebar, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(n){if(!D&&this.active&&n.target.closest(".col-sidebar")){let r=n.target.closest("a");if(r){let i=window.location.href;i.indexOf("#")!=-1&&(i=i.substring(0,i.indexOf("#"))),r.href.substring(0,i.length)==i&&setTimeout(()=>this.setActive(!1),250)}}}};var te;try{te=localStorage}catch{te={getItem(){return null},setItem(){}}}var Q=te;var ve=document.head.appendChild(document.createElement("style"));ve.dataset.for="filters";var Y=class extends C{constructor(n){super(n);this.key=`filter-${this.el.name}`,this.value=this.el.checked,this.el.addEventListener("change",()=>{this.setLocalStorage(this.el.checked)}),this.setLocalStorage(this.fromLocalStorage()),ve.innerHTML+=`html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; } +`}fromLocalStorage(){let n=Q.getItem(this.key);return n?n==="true":this.el.checked}setLocalStorage(n){Q.setItem(this.key,n.toString()),this.value=n,this.handleValueChange()}handleValueChange(){this.el.checked=this.value,document.documentElement.classList.toggle(this.key,this.value),this.app.filterChanged(),document.querySelectorAll(".tsd-index-section").forEach(n=>{n.style.display="block";let r=Array.from(n.querySelectorAll(".tsd-index-link")).every(i=>i.offsetParent==null);n.style.display=r?"none":"block"})}};var Z=class extends C{constructor(n){super(n);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 r=Q.getItem(this.key);this.el.open=r?r==="true":this.el.open,this.el.addEventListener("toggle",()=>this.update());let i=this.summary.querySelector("a");i&&i.addEventListener("click",()=>{location.assign(i.href)}),this.update()}update(){this.icon.style.transform=`rotate(${this.el.open?0:-90}deg)`,Q.setItem(this.key,this.el.open.toString())}};function ge(t){let e=Q.getItem("tsd-theme")||"os";t.value=e,ye(e),t.addEventListener("change",()=>{Q.setItem("tsd-theme",t.value),ye(t.value)})}function ye(t){document.documentElement.dataset.theme=t}var Le;function be(){let t=document.getElementById("tsd-nav-script");t&&(t.addEventListener("load",xe),xe())}async function xe(){let t=document.getElementById("tsd-nav-container");if(!t||!window.navigationData)return;let n=await(await fetch(window.navigationData)).arrayBuffer(),r=new Blob([n]).stream().pipeThrough(new DecompressionStream("gzip")),i=await new Response(r).json();Le=t.dataset.base+"/",t.innerHTML="";for(let s of i)we(s,t,[]);window.app.createComponents(t),window.app.ensureActivePageVisible()}function we(t,e,n){let r=e.appendChild(document.createElement("li"));if(t.children){let i=[...n,t.text],s=r.appendChild(document.createElement("details"));s.className=t.class?`${t.class} tsd-index-accordion`:"tsd-index-accordion",s.dataset.key=i.join("$");let o=s.appendChild(document.createElement("summary"));o.className="tsd-accordion-summary",o.innerHTML='',Ee(t,o);let a=s.appendChild(document.createElement("div"));a.className="tsd-accordion-details";let l=a.appendChild(document.createElement("ul"));l.className="tsd-nested-navigation";for(let u of t.children)we(u,l,i)}else Ee(t,r,t.class)}function Ee(t,e,n){if(t.path){let r=e.appendChild(document.createElement("a"));r.href=Le+t.path,n&&(r.className=n),location.href===r.href&&r.classList.add("current"),t.kind&&(r.innerHTML=``),r.appendChild(document.createElement("span")).textContent=t.text}else e.appendChild(document.createElement("span")).textContent=t.text}G(X,"a[data-toggle]");G(Z,".tsd-index-accordion");G(Y,".tsd-filter-item input[type=checkbox]");var Se=document.getElementById("tsd-theme");Se&&ge(Se);var je=new U;Object.defineProperty(window,"app",{value:je});he();be();})(); +/*! Bundled license information: + +lunr/lunr.js: + (** + * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9 + * Copyright (C) 2020 Oliver Nightingale + * @license MIT + *) + (*! + * lunr.utils + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Set + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.tokenizer + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Pipeline + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Vector + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.stemmer + * Copyright (C) 2020 Oliver Nightingale + * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt + *) + (*! + * lunr.stopWordFilter + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.trimmer + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.TokenSet + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Index + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Builder + * Copyright (C) 2020 Oliver Nightingale + *) +*/ diff --git a/assets/navigation.js b/assets/navigation.js new file mode 100644 index 0000000..acbe67d --- /dev/null +++ b/assets/navigation.js @@ -0,0 +1 @@ +window.navigationData = "data:application/octet-stream;base64,H4sIAAAAAAAAA42TW0+DMBSA/0t9JW4gRsfbMuOLGhcT48OyLKU9jobSElqii/G/C8K4dOXyCOc7X8+l3f0gDd8aBQinDDkoxToqPhJJcw5qUfy8jnTCi0jMBEWB5yASMU4zECjYNckUPnHO9bDgqiUqke+u/Jul/+s0jgemiMwzBetuJYRjpWpRl+iX5Xr3A6bXVDMppn0VN2ZtINXa9CmtXW3UGNhydefeeh3Pu4KsoJ/g9MxEbHP1iSnfEQRkWEObtcUZTqxVDrH2M/adUzgLFyTClhUXkUMZmXVRNgVo3W9jqYmxTZTICyiFjzCwkZ6tj85r9QvCSMrY3m0dnNXwR8W+AYFUy8ze+FlowGMzqNEN5jzEJH7MBelf9HYQht1MmR5IpaLn13I5lH/g0ACzBrOVSpvVmp6SmXxOKZeYXtwAU1VjQ83u/wBXYFdJCQUAAA==" \ No newline at end of file diff --git a/assets/search.js b/assets/search.js new file mode 100644 index 0000000..125302a --- /dev/null +++ b/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/assets/style.css b/assets/style.css new file mode 100644 index 0000000..108428c --- /dev/null +++ b/assets/style.css @@ -0,0 +1,1383 @@ +:root { + /* Light */ + --light-color-background: #f2f4f8; + --light-color-background-secondary: #eff0f1; + --light-color-warning-text: #222; + --light-color-background-warning: #e6e600; + --light-color-icon-background: var(--light-color-background); + --light-color-accent: #c5c7c9; + --light-color-active-menu-item: var(--light-color-accent); + --light-color-text: #222; + --light-color-text-aside: #6e6e6e; + --light-color-link: #1f70c2; + + --light-color-ts-project: #b111c9; + --light-color-ts-module: var(--light-color-ts-project); + --light-color-ts-namespace: var(--light-color-ts-project); + --light-color-ts-enum: #7e6f15; + --light-color-ts-enum-member: var(--light-color-ts-enum); + --light-color-ts-variable: #4760ec; + --light-color-ts-function: #572be7; + --light-color-ts-class: #1f70c2; + --light-color-ts-interface: #108024; + --light-color-ts-constructor: var(--light-color-ts-class); + --light-color-ts-property: var(--light-color-ts-variable); + --light-color-ts-method: var(--light-color-ts-function); + --light-color-ts-call-signature: var(--light-color-ts-method); + --light-color-ts-index-signature: var(--light-color-ts-property); + --light-color-ts-constructor-signature: var(--light-color-ts-constructor); + --light-color-ts-parameter: var(--light-color-ts-variable); + /* type literal not included as links will never be generated to it */ + --light-color-ts-type-parameter: var(--light-color-ts-type-alias); + --light-color-ts-accessor: var(--light-color-ts-property); + --light-color-ts-get-signature: var(--light-color-ts-accessor); + --light-color-ts-set-signature: var(--light-color-ts-accessor); + --light-color-ts-type-alias: #d51270; + /* reference not included as links will be colored with the kind that it points to */ + + --light-external-icon: url("data:image/svg+xml;utf8,"); + --light-color-scheme: light; + + /* Dark */ + --dark-color-background: #2b2e33; + --dark-color-background-secondary: #1e2024; + --dark-color-background-warning: #bebe00; + --dark-color-warning-text: #222; + --dark-color-icon-background: var(--dark-color-background-secondary); + --dark-color-accent: #9096a2; + --dark-color-active-menu-item: #5d5d6a; + --dark-color-text: #f5f5f5; + --dark-color-text-aside: #dddddd; + --dark-color-link: #00aff4; + + --dark-color-ts-project: #e358ff; + --dark-color-ts-module: var(--dark-color-ts-project); + --dark-color-ts-namespace: var(--dark-color-ts-project); + --dark-color-ts-enum: #f4d93e; + --dark-color-ts-enum-member: var(--dark-color-ts-enum); + --dark-color-ts-variable: #798dff; + --dark-color-ts-function: #a280ff; + --dark-color-ts-class: #8ac4ff; + --dark-color-ts-interface: #6cff87; + --dark-color-ts-constructor: var(--dark-color-ts-class); + --dark-color-ts-property: var(--dark-color-ts-variable); + --dark-color-ts-method: var(--dark-color-ts-function); + --dark-color-ts-call-signature: var(--dark-color-ts-method); + --dark-color-ts-index-signature: var(--dark-color-ts-property); + --dark-color-ts-constructor-signature: var(--dark-color-ts-constructor); + --dark-color-ts-parameter: var(--dark-color-ts-variable); + /* type literal not included as links will never be generated to it */ + --dark-color-ts-type-parameter: var(--dark-color-ts-type-alias); + --dark-color-ts-accessor: var(--dark-color-ts-property); + --dark-color-ts-get-signature: var(--dark-color-ts-accessor); + --dark-color-ts-set-signature: var(--dark-color-ts-accessor); + --dark-color-ts-type-alias: #ff6492; + /* reference not included as links will be colored with the kind that it points to */ + + --dark-external-icon: url("data:image/svg+xml;utf8,"); + --dark-color-scheme: dark; +} + +@media (prefers-color-scheme: light) { + :root { + --color-background: var(--light-color-background); + --color-background-secondary: var(--light-color-background-secondary); + --color-background-warning: var(--light-color-background-warning); + --color-warning-text: var(--light-color-warning-text); + --color-icon-background: var(--light-color-icon-background); + --color-accent: var(--light-color-accent); + --color-active-menu-item: var(--light-color-active-menu-item); + --color-text: var(--light-color-text); + --color-text-aside: var(--light-color-text-aside); + --color-link: var(--light-color-link); + + --color-ts-module: var(--light-color-ts-module); + --color-ts-namespace: var(--light-color-ts-namespace); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-enum-member: var(--light-color-ts-enum-member); + --color-ts-variable: var(--light-color-ts-variable); + --color-ts-function: var(--light-color-ts-function); + --color-ts-class: var(--light-color-ts-class); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-constructor: var(--light-color-ts-constructor); + --color-ts-property: var(--light-color-ts-property); + --color-ts-method: var(--light-color-ts-method); + --color-ts-call-signature: var(--light-color-ts-call-signature); + --color-ts-index-signature: var(--light-color-ts-index-signature); + --color-ts-constructor-signature: var( + --light-color-ts-constructor-signature + ); + --color-ts-parameter: var(--light-color-ts-parameter); + --color-ts-type-parameter: var(--light-color-ts-type-parameter); + --color-ts-accessor: var(--light-color-ts-accessor); + --color-ts-get-signature: var(--light-color-ts-get-signature); + --color-ts-set-signature: var(--light-color-ts-set-signature); + --color-ts-type-alias: var(--light-color-ts-type-alias); + + --external-icon: var(--light-external-icon); + --color-scheme: var(--light-color-scheme); + } +} + +@media (prefers-color-scheme: dark) { + :root { + --color-background: var(--dark-color-background); + --color-background-secondary: var(--dark-color-background-secondary); + --color-background-warning: var(--dark-color-background-warning); + --color-warning-text: var(--dark-color-warning-text); + --color-icon-background: var(--dark-color-icon-background); + --color-accent: var(--dark-color-accent); + --color-active-menu-item: var(--dark-color-active-menu-item); + --color-text: var(--dark-color-text); + --color-text-aside: var(--dark-color-text-aside); + --color-link: var(--dark-color-link); + + --color-ts-module: var(--dark-color-ts-module); + --color-ts-namespace: var(--dark-color-ts-namespace); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-enum-member: var(--dark-color-ts-enum-member); + --color-ts-variable: var(--dark-color-ts-variable); + --color-ts-function: var(--dark-color-ts-function); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-constructor: var(--dark-color-ts-constructor); + --color-ts-property: var(--dark-color-ts-property); + --color-ts-method: var(--dark-color-ts-method); + --color-ts-call-signature: var(--dark-color-ts-call-signature); + --color-ts-index-signature: var(--dark-color-ts-index-signature); + --color-ts-constructor-signature: var( + --dark-color-ts-constructor-signature + ); + --color-ts-parameter: var(--dark-color-ts-parameter); + --color-ts-type-parameter: var(--dark-color-ts-type-parameter); + --color-ts-accessor: var(--dark-color-ts-accessor); + --color-ts-get-signature: var(--dark-color-ts-get-signature); + --color-ts-set-signature: var(--dark-color-ts-set-signature); + --color-ts-type-alias: var(--dark-color-ts-type-alias); + + --external-icon: var(--dark-external-icon); + --color-scheme: var(--dark-color-scheme); + } +} + +html { + color-scheme: var(--color-scheme); +} + +body { + margin: 0; +} + +:root[data-theme="light"] { + --color-background: var(--light-color-background); + --color-background-secondary: var(--light-color-background-secondary); + --color-background-warning: var(--light-color-background-warning); + --color-warning-text: var(--light-color-warning-text); + --color-icon-background: var(--light-color-icon-background); + --color-accent: var(--light-color-accent); + --color-active-menu-item: var(--light-color-active-menu-item); + --color-text: var(--light-color-text); + --color-text-aside: var(--light-color-text-aside); + --color-link: var(--light-color-link); + + --color-ts-module: var(--light-color-ts-module); + --color-ts-namespace: var(--light-color-ts-namespace); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-enum-member: var(--light-color-ts-enum-member); + --color-ts-variable: var(--light-color-ts-variable); + --color-ts-function: var(--light-color-ts-function); + --color-ts-class: var(--light-color-ts-class); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-constructor: var(--light-color-ts-constructor); + --color-ts-property: var(--light-color-ts-property); + --color-ts-method: var(--light-color-ts-method); + --color-ts-call-signature: var(--light-color-ts-call-signature); + --color-ts-index-signature: var(--light-color-ts-index-signature); + --color-ts-constructor-signature: var( + --light-color-ts-constructor-signature + ); + --color-ts-parameter: var(--light-color-ts-parameter); + --color-ts-type-parameter: var(--light-color-ts-type-parameter); + --color-ts-accessor: var(--light-color-ts-accessor); + --color-ts-get-signature: var(--light-color-ts-get-signature); + --color-ts-set-signature: var(--light-color-ts-set-signature); + --color-ts-type-alias: var(--light-color-ts-type-alias); + + --external-icon: var(--light-external-icon); + --color-scheme: var(--light-color-scheme); +} + +:root[data-theme="dark"] { + --color-background: var(--dark-color-background); + --color-background-secondary: var(--dark-color-background-secondary); + --color-background-warning: var(--dark-color-background-warning); + --color-warning-text: var(--dark-color-warning-text); + --color-icon-background: var(--dark-color-icon-background); + --color-accent: var(--dark-color-accent); + --color-active-menu-item: var(--dark-color-active-menu-item); + --color-text: var(--dark-color-text); + --color-text-aside: var(--dark-color-text-aside); + --color-link: var(--dark-color-link); + + --color-ts-module: var(--dark-color-ts-module); + --color-ts-namespace: var(--dark-color-ts-namespace); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-enum-member: var(--dark-color-ts-enum-member); + --color-ts-variable: var(--dark-color-ts-variable); + --color-ts-function: var(--dark-color-ts-function); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-constructor: var(--dark-color-ts-constructor); + --color-ts-property: var(--dark-color-ts-property); + --color-ts-method: var(--dark-color-ts-method); + --color-ts-call-signature: var(--dark-color-ts-call-signature); + --color-ts-index-signature: var(--dark-color-ts-index-signature); + --color-ts-constructor-signature: var( + --dark-color-ts-constructor-signature + ); + --color-ts-parameter: var(--dark-color-ts-parameter); + --color-ts-type-parameter: var(--dark-color-ts-type-parameter); + --color-ts-accessor: var(--dark-color-ts-accessor); + --color-ts-get-signature: var(--dark-color-ts-get-signature); + --color-ts-set-signature: var(--dark-color-ts-set-signature); + --color-ts-type-alias: var(--dark-color-ts-type-alias); + + --external-icon: var(--dark-external-icon); + --color-scheme: var(--dark-color-scheme); +} + +.always-visible, +.always-visible .tsd-signatures { + display: inherit !important; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + line-height: 1.2; +} + +h1 > a, +h2 > a, +h3 > a, +h4 > a, +h5 > a, +h6 > a { + text-decoration: none; + color: var(--color-text); +} + +h1 { + font-size: 1.875rem; + margin: 0.67rem 0; +} + +h2 { + font-size: 1.5rem; + margin: 0.83rem 0; +} + +h3 { + font-size: 1.25rem; + margin: 1rem 0; +} + +h4 { + font-size: 1.05rem; + margin: 1.33rem 0; +} + +h5 { + font-size: 1rem; + margin: 1.5rem 0; +} + +h6 { + font-size: 0.875rem; + margin: 2.33rem 0; +} + +.uppercase { + text-transform: uppercase; +} + +dl, +menu, +ol, +ul { + margin: 1em 0; +} + +dd { + margin: 0 0 0 40px; +} + +.container { + max-width: 1700px; + padding: 0 2rem; +} + +/* Footer */ +.tsd-generator { + border-top: 1px solid var(--color-accent); + padding-top: 1rem; + padding-bottom: 1rem; + max-height: 3.5rem; +} + +.tsd-generator > p { + margin-top: 0; + margin-bottom: 0; + padding: 0 1rem; +} + +.container-main { + margin: 0 auto; + /* toolbar, footer, margin */ + min-height: calc(100vh - 41px - 56px - 4rem); +} + +@keyframes fade-in { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +@keyframes fade-out { + from { + opacity: 1; + visibility: visible; + } + to { + opacity: 0; + } +} +@keyframes fade-in-delayed { + 0% { + opacity: 0; + } + 33% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +@keyframes fade-out-delayed { + 0% { + opacity: 1; + visibility: visible; + } + 66% { + opacity: 0; + } + 100% { + opacity: 0; + } +} +@keyframes pop-in-from-right { + from { + transform: translate(100%, 0); + } + to { + transform: translate(0, 0); + } +} +@keyframes pop-out-to-right { + from { + transform: translate(0, 0); + visibility: visible; + } + to { + transform: translate(100%, 0); + } +} +body { + background: var(--color-background); + font-family: "Segoe UI", sans-serif; + font-size: 16px; + color: var(--color-text); +} + +a { + color: var(--color-link); + text-decoration: none; +} +a:hover { + text-decoration: underline; +} +a.external[target="_blank"] { + background-image: var(--external-icon); + background-position: top 3px right; + background-repeat: no-repeat; + padding-right: 13px; +} + +code, +pre { + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + padding: 0.2em; + margin: 0; + font-size: 0.875rem; + border-radius: 0.8em; +} + +pre { + position: relative; + white-space: pre; + white-space: pre-wrap; + word-wrap: break-word; + padding: 10px; + border: 1px solid var(--color-accent); +} +pre code { + padding: 0; + font-size: 100%; +} +pre > button { + position: absolute; + top: 10px; + right: 10px; + opacity: 0; + transition: opacity 0.1s; + box-sizing: border-box; +} +pre:hover > button, +pre > button.visible { + opacity: 1; +} + +blockquote { + margin: 1em 0; + padding-left: 1em; + border-left: 4px solid gray; +} + +.tsd-typography { + line-height: 1.333em; +} +.tsd-typography ul { + list-style: square; + padding: 0 0 0 20px; + margin: 0; +} +.tsd-typography .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-panel-group.tsd-index-group { + margin-bottom: 0; +} +.tsd-index-panel .tsd-index-list { + list-style: none; + line-height: 1.333em; + margin: 0; + padding: 0.25rem 0 0 0; + overflow: hidden; + display: grid; + grid-template-columns: repeat(3, 1fr); + column-gap: 1rem; + grid-template-rows: auto; +} +@media (max-width: 1024px) { + .tsd-index-panel .tsd-index-list { + grid-template-columns: repeat(2, 1fr); + } +} +@media (max-width: 768px) { + .tsd-index-panel .tsd-index-list { + grid-template-columns: repeat(1, 1fr); + } +} +.tsd-index-panel .tsd-index-list li { + -webkit-page-break-inside: avoid; + -moz-page-break-inside: avoid; + -ms-page-break-inside: avoid; + -o-page-break-inside: avoid; + page-break-inside: avoid; +} + +.tsd-flag { + display: inline-block; + padding: 0.25em 0.4em; + border-radius: 4px; + color: var(--color-comment-tag-text); + background-color: var(--color-comment-tag); + text-indent: 0; + font-size: 75%; + line-height: 1; + font-weight: normal; +} + +.tsd-anchor { + position: relative; + top: -100px; +} + +.tsd-member { + position: relative; +} +.tsd-member .tsd-anchor + h3 { + display: flex; + align-items: center; + margin-top: 0; + margin-bottom: 0; + border-bottom: none; +} + +.tsd-navigation.settings { + margin: 1rem 0; +} +.tsd-navigation > a, +.tsd-navigation .tsd-accordion-summary { + width: calc(100% - 0.5rem); +} +.tsd-navigation a, +.tsd-navigation summary > span, +.tsd-page-navigation a { + display: inline-flex; + align-items: center; + padding: 0.25rem; + color: var(--color-text); + text-decoration: none; + box-sizing: border-box; +} +.tsd-navigation a.current, +.tsd-page-navigation a.current { + background: var(--color-active-menu-item); +} +.tsd-navigation a:hover, +.tsd-page-navigation a:hover { + text-decoration: underline; +} +.tsd-navigation ul, +.tsd-page-navigation ul { + margin-top: 0; + margin-bottom: 0; + padding: 0; + list-style: none; +} +.tsd-navigation li, +.tsd-page-navigation li { + padding: 0; + max-width: 100%; +} +.tsd-nested-navigation { + margin-left: 3rem; +} +.tsd-nested-navigation > li > details { + margin-left: -1.5rem; +} +.tsd-small-nested-navigation { + margin-left: 1.5rem; +} +.tsd-small-nested-navigation > li > details { + margin-left: -1.5rem; +} + +.tsd-nested-navigation > li > a, +.tsd-nested-navigation > li > span { + width: calc(100% - 1.75rem - 0.5rem); +} + +.tsd-page-navigation ul { + padding-left: 1.75rem; +} + +#tsd-sidebar-links a { + margin-top: 0; + margin-bottom: 0.5rem; + line-height: 1.25rem; +} +#tsd-sidebar-links a:last-of-type { + margin-bottom: 0; +} + +a.tsd-index-link { + padding: 0.25rem 0 !important; + font-size: 1rem; + line-height: 1.25rem; + display: inline-flex; + align-items: center; + color: var(--color-text); +} +.tsd-accordion-summary { + list-style-type: none; /* hide marker on non-safari */ + outline: none; /* broken on safari, so just hide it */ +} +.tsd-accordion-summary::-webkit-details-marker { + display: none; /* hide marker on safari */ +} +.tsd-accordion-summary, +.tsd-accordion-summary a { + user-select: none; + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + + cursor: pointer; +} +.tsd-accordion-summary a { + width: calc(100% - 1.5rem); +} +.tsd-accordion-summary > * { + margin-top: 0; + margin-bottom: 0; + padding-top: 0; + padding-bottom: 0; +} +.tsd-index-accordion .tsd-accordion-summary > svg { + margin-left: 0.25rem; +} +.tsd-index-content > :not(:first-child) { + margin-top: 0.75rem; +} +.tsd-index-heading { + margin-top: 1.5rem; + margin-bottom: 0.75rem; +} + +.tsd-kind-icon { + margin-right: 0.5rem; + width: 1.25rem; + height: 1.25rem; + min-width: 1.25rem; + min-height: 1.25rem; +} +.tsd-kind-icon path { + transform-origin: center; + transform: scale(1.1); +} +.tsd-signature > .tsd-kind-icon { + margin-right: 0.8rem; +} + +.tsd-panel { + margin-bottom: 2.5rem; +} +.tsd-panel.tsd-member { + margin-bottom: 4rem; +} +.tsd-panel:empty { + display: none; +} +.tsd-panel > h1, +.tsd-panel > h2, +.tsd-panel > h3 { + margin: 1.5rem -1.5rem 0.75rem -1.5rem; + padding: 0 1.5rem 0.75rem 1.5rem; +} +.tsd-panel > h1.tsd-before-signature, +.tsd-panel > h2.tsd-before-signature, +.tsd-panel > h3.tsd-before-signature { + margin-bottom: 0; + border-bottom: none; +} + +.tsd-panel-group { + margin: 4rem 0; +} +.tsd-panel-group.tsd-index-group { + margin: 2rem 0; +} +.tsd-panel-group.tsd-index-group details { + margin: 2rem 0; +} + +#tsd-search { + transition: background-color 0.2s; +} +#tsd-search .title { + position: relative; + z-index: 2; +} +#tsd-search .field { + position: absolute; + left: 0; + top: 0; + right: 2.5rem; + height: 100%; +} +#tsd-search .field input { + box-sizing: border-box; + position: relative; + top: -50px; + z-index: 1; + width: 100%; + padding: 0 10px; + opacity: 0; + outline: 0; + border: 0; + background: transparent; + color: var(--color-text); +} +#tsd-search .field label { + position: absolute; + overflow: hidden; + right: -40px; +} +#tsd-search .field input, +#tsd-search .title, +#tsd-toolbar-links a { + transition: opacity 0.2s; +} +#tsd-search .results { + position: absolute; + visibility: hidden; + top: 40px; + width: 100%; + margin: 0; + padding: 0; + list-style: none; + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); +} +#tsd-search .results li { + 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-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/classes/api.DiscourseApi.html b/classes/api.DiscourseApi.html new file mode 100644 index 0000000..6d22340 --- /dev/null +++ b/classes/api.DiscourseApi.html @@ -0,0 +1,871 @@ +DiscourseApi | node-discourse-api
+
+ +
+
+
+
+ +

Class DiscourseApi

+
+

Hierarchy

+
    +
  • EventEmitter +
      +
    • DiscourseApi
+
+
+
+ +
+
+

Constructors

+
+ +
    + +
  • +

    Create a api client

    +
    +
    +

    Parameters

    +
      +
    • +
      url: string
      +

      The URL of your site. Don't add / at the end

      +
      +
    • +
    • +
      Optional options: ApiOptions
      +

      options

      +
      +
    +

    Returns DiscourseApi

    +
+
+

Properties

+
+ +
_chat: ChatApi
+
+ +
+
+ +
_webhook: WebhookReceptor
+
+ +
url: string
+

The URL of discourse site

+
+
+
+ +
prefixed: string | boolean
+
+

Accessors

+
+ +
    +
  • get _defaultHeaders(): HeadersInit
  • +
  • +

    Get default header

    +
    +

    Returns HeadersInit

    +
+
+ +
+
+ +
+
+ +
+
+

Methods

+
+ +
    + +
  • +

    send request easily

    +
    +
    +

    Parameters

    +
      +
    • +
      endpoint: string
      +

      the endpoint. if the endpoint not starts with '/', we consider it as a url

      +
      +
    • +
    • +
      method: "GET" | "POST" | "DELETE" | "PUT" = "GET"
      +

      method. defaltly 'GET'

      +
      +
    • +
    • +
      Optional data: unknown
      +

      request payload

      +
      +
    • +
    • +
      Optional options: {
          doNotSendJSON?: boolean;
          headers?: HeadersInit;
          overrideHeaders?: boolean;
      }
      +
        +
      • +
        Optional doNotSendJSON?: boolean
        +

        When true, we will not automatically add the end of .json when fetching

        +
        +
      • +
      • +
        Optional headers?: HeadersInit
        +

        custom header

        +
        +
      • +
      • +
        Optional overrideHeaders?: boolean
        +

        When true, the options.header will override the default headers. Otherwise, the request will use a header that is a combination of the two

        +
        +
    +

    Returns Promise<any>

    Promise

    + +
+
+ +
    + +
  • +
    +

    Type Parameters

    +
      +
    • +

      T extends string | symbol

    +
    +

    Parameters

    +
      +
    • +
      event: T
    • +
    • +
      fn: ((...args) => void)
      +
        +
      • +
          +
        • (...args): void
        • +
        • +
          +

          Parameters

          +
            +
          • +
            Rest ...args: any[]
          +

          Returns void

    • +
    • +
      Optional context: any
    +

    Returns DiscourseApi

+
+ +
    + +
  • +

    Creates a new topic, a new post, or a private message

    +

    See https://docs.discourse.org/#tag/Posts/operation/createTopicPostPM

    +
    +
    +

    Parameters

    +
      +
    • +
      payloads: {
          archetype?: string;
          category?: number;
          created_at?: string;
          embed_url?: string;
          external_id?: string;
          raw: string;
          reply_to_post_number?: number;
          target_recipients?: string;
          title?: string;
          topic_id?: number;
      }
      +

      payloads

      +
      +
      +
        +
      • +
        Optional archetype?: string
        +

        Required for new private message.

        +
        +
      • +
      • +
        Optional category?: number
        +

        Optional if creating a new topic, and ignored if creating a new post.

        +
        +
      • +
      • +
        Optional created_at?: string
        +

        Datestring for created at

        +
        +
      • +
      • +
        Optional embed_url?: string
        +

        Provide a URL from a remote system to associate a forum topic with that URL, typically for using Discourse as a comments system for an external blog.

        +
        +
      • +
      • +
        Optional external_id?: string
        +

        Provide an external_id from a remote system to associate a forum topic with that id.

        +
        +
      • +
      • +
        raw: string
        +

        Raw post

        +
        +
      • +
      • +
        Optional reply_to_post_number?: number
        +

        Optional, the post number to reply to inside a topic.

        +
        +
      • +
      • +
        Optional target_recipients?: string
        +

        Required for private message, comma separated.

        +
        +
      • +
      • +
        Optional title?: string
        +

        Required if creating a new topic or new private message.

        +
        +
      • +
      • +
        Optional topic_id?: number
        +

        Required if creating a new post.

        +
        +
    +

    Returns Promise<Post>

    +
+
+ +
    + +
  • +

    Decrypt the encrypted user_api_key from discourse

    +
    +
    +

    Parameters

    +
      +
    • +
      private_key: string
      +

      your private_key

      +
      +
    • +
    • +
      encrypted: string
      +

      The encrypted user_api_key

      +
      +
    +

    Returns {
        api: string | number;
        key: string;
        nonce: string;
        push: boolean;
    }

    +
      +
    • +
      api: string | number
      +

      Api version

      +
      +
    • +
    • +
      key: string
      +

      The user api key

      +
      +
    • +
    • +
      nonce: string
      +

      The nonce provided when generating user_api_key

      +
      +
    • +
    • +
      push: boolean
    +
+
+ +
    + +
  • + +
    +

    Parameters

    +
      +
    • +
      id: string | number
      +

      Post id

      +
      +
    • +
    • +
      permanently: boolean = false
      +

      The SiteSetting.can_permanently_delete needs to be enabled first before this param can be used. Also this endpoint needs to be called first without permanently and then followed up with a second call 5 minutes later with permanently to permanently delete.

      +
      +
    +

    Returns Promise<any>

    +
+
+ +
    + +
  • +

    Calls each of the listeners registered for a given event.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      T extends string | symbol

    +
    +

    Parameters

    +
      +
    • +
      event: T
    • +
    • +
      Rest ...args: any[]
    +

    Returns boolean

    +
+
+ +
    + +
  • +

    Return an array listing the events for which the emitter has registered +listeners.

    +
    +

    Returns (string | symbol)[]

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

    Retrieve a single post

    +

    This endpoint can be used to get the number of likes on a post using the actions_summary property in the response. actions_summary responses with the id of 2 signify a like. If there are no actions_summary items with the id of 2, that means there are 0 likes. Other ids likely refer to various different flag types.

    +

    https://docs.discourse.org/#tag/Posts/operation/getPost

    +
    +
    +

    Parameters

    +
      +
    • +
      id: string | number
      +
    +

    Returns Promise<Post>

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

    Return the number of listeners listening to a given event.

    +
    +
    +

    Parameters

    +
      +
    • +
      event: string | symbol
    +

    Returns number

    +
+
+ +
    + +
  • +

    Return the listeners registered for a given event.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      T extends string | symbol

    +
    +

    Parameters

    +
      +
    • +
      event: T
    +

    Returns ((...args) => void)[]

    +
+
+ +
    + +
  • +
    +

    Type Parameters

    +
      +
    • +

      T extends string | symbol

    +
    +

    Parameters

    +
      +
    • +
      event: T
    • +
    • +
      Optional fn: ((...args) => void)
      +
        +
      • +
          +
        • (...args): void
        • +
        • +
          +

          Parameters

          +
            +
          • +
            Rest ...args: any[]
          +

          Returns void

    • +
    • +
      Optional context: any
    • +
    • +
      Optional once: boolean
    +

    Returns DiscourseApi

+
+ +
    + +
  • +

    Add a listener for a given event.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      T extends string | symbol

    +
    +

    Parameters

    +
      +
    • +
      event: T
    • +
    • +
      fn: ((...args) => void)
      +
        +
      • +
          +
        • (...args): void
        • +
        • +
          +

          Parameters

          +
            +
          • +
            Rest ...args: any[]
          +

          Returns void

    • +
    • +
      Optional context: any
    +

    Returns DiscourseApi

    +
+
+ +
    + +
  • +

    Add a one-time listener for a given event.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      T extends string | symbol

    +
    +

    Parameters

    +
      +
    • +
      event: T
    • +
    • +
      fn: ((...args) => void)
      +
        +
      • +
          +
        • (...args): void
        • +
        • +
          +

          Parameters

          +
            +
          • +
            Rest ...args: any[]
          +

          Returns void

    • +
    • +
      Optional context: any
    +

    Returns DiscourseApi

    +
+
+ +
    + +
  • +

    Remove all listeners, or those of the specified event.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional event: string | symbol
    +

    Returns DiscourseApi

    +
+
+ +
    + +
  • +

    Remove the listeners of a given event.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      T extends string | symbol

    +
    +

    Parameters

    +
      +
    • +
      event: T
    • +
    • +
      Optional fn: ((...args) => void)
      +
        +
      • +
          +
        • (...args): void
        • +
        • +
          +

          Parameters

          +
            +
          • +
            Rest ...args: any[]
          +

          Returns void

    • +
    • +
      Optional context: any
    • +
    • +
      Optional once: boolean
    +

    Returns DiscourseApi

    +
+
+ +
    + +
  • +

    Revoke a user api key.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional user_api_key: string
      +

      The user api key to revoke. If not specified, options.user_api_key is used

      +
      +
    +

    Returns Promise<any>

    +
+
+ +
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/classes/api.DiscourseApiOption.html b/classes/api.DiscourseApiOption.html new file mode 100644 index 0000000..d33c78f --- /dev/null +++ b/classes/api.DiscourseApiOption.html @@ -0,0 +1,211 @@ +DiscourseApiOption | node-discourse-api
+
+ +
+
+
+
+ +

Class DiscourseApiOption

+
+

Hierarchy

+
    +
  • DiscourseApiOption
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
+
+

Accessors

+
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
_storage: ApiOptions
+
+ +
+
+

Accessors

+
+ +
    +
  • get api_key(): undefined | string
  • +
  • +

    Api key

    +
    +

    Returns undefined | string

    +
  • +
  • set api_key(str): void
  • +
  • +
    +

    Parameters

    +
      +
    • +
      str: string
    +

    Returns void

+
+ +
    +
  • get api_username(): undefined | string
  • +
  • +

    Api username

    +
    +

    Returns undefined | string

    +
  • +
  • set api_username(str): void
  • +
  • +
    +

    Parameters

    +
      +
    • +
      str: string
    +

    Returns void

+
+ +
    +
  • get user_api_client_id(): undefined | string
  • +
  • +

    User Api Client id

    +
    +

    Returns undefined | string

    +
  • +
  • set user_api_client_id(str): void
  • +
  • +
    +

    Parameters

    +
      +
    • +
      str: string
    +

    Returns void

+
+ +
    +
  • get user_api_key(): undefined | string
  • +
  • +

    User Api

    +
    +

    Returns undefined | string

    +
  • +
  • set user_api_key(str): void
  • +
  • +
    +

    Parameters

    +
      +
    • +
      str: string
    +

    Returns void

+
+

Methods

+
+ +
    + +
  • +

    Returns void

+
+ +
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/classes/lib_chat.ChatApi.html b/classes/lib_chat.ChatApi.html new file mode 100644 index 0000000..f453bac --- /dev/null +++ b/classes/lib_chat.ChatApi.html @@ -0,0 +1,187 @@ +ChatApi | node-discourse-api
+
+ +
+
+
+
+ +

Class ChatApi

+
+

Hierarchy

+
    +
  • ChatApi
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
api +
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
+
+

Methods

+
+ +
    + +
  • +

    Delete a message from a channel

    +

    Example:

    +
    api.chat.deleteMessage(1, 1024).then(() => {
    console.log("Delete successfully");
    }).catch((err) => {
    console.log("Delete failed!");
    console.error(err);
    }); +
    +
    +
    +

    Parameters

    +
      +
    • +
      channelId: number
      +

      The id of channel

      +
      +
    • +
    • +
      messageId: number
      +

      The id of message to delete

      +
      +
    +

    Returns Promise<any>

    +
+
+ +
    + +
  • +

    Edit a message of a channel

    +
    +
    +

    Parameters

    +
      +
    • +
      channelId: number
      +

      The id of channel

      +
      +
    • +
    • +
      messageId: number
      +

      The id of message

      +
      +
    • +
    • +
      message: string
      +

      new message, raw text

      +
      +
    • +
    • +
      Optional options: ChatMessageOptions
    +

    Returns Promise<any>

    +
+
+ +
    + +
  • +

    Send a message to channel

    +
    +
    +

    Parameters

    +
      +
    • +
      channelId: number
      +

      The id of channel

      +
      +
    • +
    • +
      message: string
      +

      message raw text

      +
      +
    • +
    • +
      Optional options: ChatMessageOptions
    +

    Returns Promise<any>

    +
    +

    Todo

    Uploads is currently unavailable

    +
+
+ +
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/classes/lib_webhook.WebhookReceptor.html b/classes/lib_webhook.WebhookReceptor.html new file mode 100644 index 0000000..95185d9 --- /dev/null +++ b/classes/lib_webhook.WebhookReceptor.html @@ -0,0 +1,211 @@ +WebhookReceptor | node-discourse-api
+
+ +
+
+
+
+ +

Class WebhookReceptor

+
+

A simple receiver that receives webhooks sent from discourse

+
+
+
+

Hierarchy

+
    +
  • WebhookReceptor
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
+
+

Accessors

+
api +app +
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
EVENT_DICT: {}
+
+

Type declaration

+
    +
    + +
    +
    + +
    _app: Express = ...
    +
    +

    Accessors

    +
    + +
    +
    + +
      +
    • get app(): Express
    • +
    • +

      The express application used by webhook. You can use it to add unencapsulated custom operations

      +
      +

      Returns Express

      +
    +
    +

    Methods

    +
    + +
      + +
    • +

      It is triggered when discourse sends an webhook event.

      +

      Example

      +
      api.webhook.on("post", (post, res) => {
      console.log(post.raw);
      res.json({"text": "200 ok"});
      }) +
      +

      Specially, the "default" event will be triggered when the incoming event is not registered in any on function. +And the "all" event will be triggered in every webhook event.

      +
      +
      +

      Parameters

      +
      +

      Returns void

      +
    +
    + +
      + +
    • +

      Allow post requests on the specified path

      +
      +
      +

      Parameters

      +
        +
      • +
        path: string
        +
      +

      Returns void

      +
    +
    + +
      + +
    • +

      Open webhook receptor

      +
      +
      +

      Parameters

      +
        +
      • +
        port: number = 80
        +

        The port

        +
        +
      +

      Returns Promise<unknown>

      +
    +
    + +
    +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 0000000..f1756ad --- /dev/null +++ b/index.html @@ -0,0 +1,71 @@ +node-discourse-api
    +
    + +
    +
    +
    +
    +

    node-discourse-api

    +

    node-discourse-api

    Unofficial, Discourse Api wrapper for Node

    +

    build status +doc status +lint status

    +

    Home page

    +

    API documentation

    +

    How to use

    Installation

    npm install node-discourse-api
    +
    +

    Example

    Create a topic

    const { DiscourseApi } = require("node-discourse-api");

    const api = new DiscourseApi("https://discourse.example.con");

    api.options.api_username = "API_USERNAME";
    api.options.api_key = "API_KEY";

    api.createTopicPostPM({
    raw: "This is a post from node-discourse-api!!!",
    title: "Hello world!!!",
    }); +
    +

    Send a message in channel

    const { DiscourseApi } = require("node-discourse-api");
    const api = new DiscourseApi("https://discourse.example.con");

    api.options.api_username = "API_USERNAME";
    api.options.api_key = "API_KEY";

    api.chat.sendMessage(1, "hello, world!"); +
    +

    For more examples, see the API documentation

    +
    +
    + +
    +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/modules/api.html b/modules/api.html new file mode 100644 index 0000000..bc1aa71 --- /dev/null +++ b/modules/api.html @@ -0,0 +1,73 @@ +api | node-discourse-api
    +
    + +
    +
    +
    +
    + +

    Module api

    +
    +
    +
    + +
    +
    +

    References

    +
    +
    +

    Classes

    +
    +
    +

    Type Aliases

    +
    +
    +

    References

    +
    +Renames and re-exports DiscourseApi
    +
    + +
    +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/modules/lib_chat.html b/modules/lib_chat.html new file mode 100644 index 0000000..defec19 --- /dev/null +++ b/modules/lib_chat.html @@ -0,0 +1,55 @@ +lib/chat | node-discourse-api
    +
    + +
    +
    +
    +
    + +

    Module lib/chat

    +
    +
    +

    Index

    +
    +

    Classes

    +
    +
    +

    Type Aliases

    +
    +
    + +
    +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/modules/lib_webhook.html b/modules/lib_webhook.html new file mode 100644 index 0000000..5d6519f --- /dev/null +++ b/modules/lib_webhook.html @@ -0,0 +1,55 @@ +lib/webhook | node-discourse-api
    +
    + +
    +
    +
    +
    + +

    Module lib/webhook

    +
    +
    +

    Index

    +
    +

    Classes

    +
    +
    +

    Type Aliases

    +
    +
    + +
    +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/modules/types_discourse.html b/modules/types_discourse.html new file mode 100644 index 0000000..7fa21d9 --- /dev/null +++ b/modules/types_discourse.html @@ -0,0 +1,52 @@ +types/discourse | node-discourse-api
    +
    + +
    +
    +
    +
    + +

    Module types/discourse

    +
    +
    +

    Index

    +
    +

    Type Aliases

    +
    +
    + +
    +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/types/api.ApiOptions.html b/types/api.ApiOptions.html new file mode 100644 index 0000000..9bb0409 --- /dev/null +++ b/types/api.ApiOptions.html @@ -0,0 +1,69 @@ +ApiOptions | node-discourse-api
    +
    + +
    +
    +
    +
    + +

    Type alias ApiOptions

    +
    ApiOptions: {
        api_key?: string;
        api_username?: string;
        user_api_client_id?: string;
        user_api_key?: string;
    }
    +
    +

    Type declaration

    +
      +
    • +
      Optional api_key?: string
      +

      Api key

      +
      +
    • +
    • +
      Optional api_username?: string
      +

      Api username

      +
      +
    • +
    • +
      Optional user_api_client_id?: string
      +

      User Api Client Id

      +
      +
    • +
    • +
      Optional user_api_key?: string
      +

      User Api Key

      +
      +
    +
    + +
    +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/types/api.UserApiKeyLink.html b/types/api.UserApiKeyLink.html new file mode 100644 index 0000000..19a9bc4 --- /dev/null +++ b/types/api.UserApiKeyLink.html @@ -0,0 +1,69 @@ +UserApiKeyLink | node-discourse-api
    +
    + +
    +
    +
    +
    + +

    Type alias UserApiKeyLink

    +
    UserApiKeyLink: {
        nonce: string;
        private_key?: string;
        public_key?: string;
        url: string;
    }
    +
    +

    Type declaration

    +
      +
    • +
      nonce: string
      +

      Uhe nonce generated. It can be used to verify and identify its source after decrypting the user api key.

      +
      +
    • +
    • +
      Optional private_key?: string
      +

      If you don't provide public_key then we generate it and return it here.

      +
      +
    • +
    • +
      Optional public_key?: string
      +

      If you don't provide public_key then we generate it and return it here.

      +
      +
    • +
    • +
      url: string
      +

      A link that allows the user to generate a User API key. The user should visit this link, explicitly agree to the authorization, and then copy the content it produces and provide it to api.decryptUserApiKey to obtain the User API key. Alternatively, if auth_redirect has the correct value, discourse will redirect to auth_redirect url after user authorization.

      +
      +
    +
    + +
    +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/types/api.generateUserApiKeyParams.html b/types/api.generateUserApiKeyParams.html new file mode 100644 index 0000000..450a20c --- /dev/null +++ b/types/api.generateUserApiKeyParams.html @@ -0,0 +1,85 @@ +generateUserApiKeyParams | node-discourse-api
    +
    + +
    +
    +
    +
    + +

    Type alias generateUserApiKeyParams

    +
    generateUserApiKeyParams: {
        application_name?: string;
        auth_redirect?: string;
        client_id?: string;
        public_key?: string;
        push_url?: string;
        scopes?: string;
    }
    +
    +

    Type declaration

    +
      +
    • +
      Optional application_name?: string
      +

      the name of the application making the request (will be displayed in the user account’s Apps tab)

      +
      +
      +

      Default Value

      "NodeDiscourseApi"

      +
    • +
    • +
      Optional auth_redirect?: string
      +

      url to redirect back to with the generated token

      +
      +
    • +
    • +
      Optional client_id?: string
      +

      a unique identifier for the client

      +
      +
      +

      Default Value

      "NodeDiscourseApi"

      +
    • +
    • +
      Optional public_key?: string
      +

      the public part of the keypair generated by the client

      +
      +
    • +
    • +
      Optional push_url?: string
      +

      url to push notifications to (required and valid only if push or notifications are included in the scopes)

      +
      +
    • +
    • +
      Optional scopes?: string
      +

      comma-separated list of access scopes allowed for the key, see allow user api key scopes for the full list of available scopes

      +
      +
      +

      Default Value

      "read"

      +
    +
    + +
    +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/types/lib_chat.ChatMessageOptions.html b/types/lib_chat.ChatMessageOptions.html new file mode 100644 index 0000000..be0bf1d --- /dev/null +++ b/types/lib_chat.ChatMessageOptions.html @@ -0,0 +1,59 @@ +ChatMessageOptions | node-discourse-api
    +
    + +
    +
    +
    +
    + +

    Type alias ChatMessageOptions

    +
    ChatMessageOptions: {
        in_reply_to_id?: number;
        uploads?: Uploads[] | {
            id: number;
        }[];
    }
    +
    +

    Type declaration

    +
      +
    • +
      Optional in_reply_to_id?: number
      +

      Reply to message id

      +
      +
    • +
    • +
      Optional uploads?: Uploads[] | {
          id: number;
      }[]
      +

      An array of uploads_ids

      +
      +
    +
    + +
    +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/types/lib_webhook.WebhookCallbackFunction.html b/types/lib_webhook.WebhookCallbackFunction.html new file mode 100644 index 0000000..706575d --- /dev/null +++ b/types/lib_webhook.WebhookCallbackFunction.html @@ -0,0 +1,61 @@ +WebhookCallbackFunction | node-discourse-api
    +
    + +
    +
    +
    +
    + +

    Type alias WebhookCallbackFunction

    +
    WebhookCallbackFunction: ((body, res) => void)
    +
    +

    Type declaration

    +
      +
    • +
        +
      • (body, res): void
      • +
      • +
        +

        Parameters

        +
          +
        • +
          body: any
        • +
        • +
          res: Response<any, Record<string, any>>
        +

        Returns void

    +
    + +
    +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/types/types_discourse.Post.html b/types/types_discourse.Post.html new file mode 100644 index 0000000..69ac512 --- /dev/null +++ b/types/types_discourse.Post.html @@ -0,0 +1,156 @@ +Post | node-discourse-api
    +
    + +
    +
    +
    +
    + +

    Type alias Post

    +
    Post: {
        actions_summary: unknown[];
        admin: boolean;
        avatar_template: string;
        bookmarked: boolean;
        can_delete: boolean;
        can_edit: boolean;
        can_recover: boolean;
        can_see_hidden_post?: boolean;
        can_view_edit_history: boolean;
        can_wiki: boolean;
        cooked: string;
        created_at: string;
        deleted_at: string | null;
        display_username: string | null;
        draft_sequence: number;
        edit_reason: string | null;
        flair_bg_color: string | null;
        flair_color: string | null;
        flair_group_id?: string | null;
        flair_name: string | null;
        flair_url: string | null;
        hidden: boolean;
        id: number;
        incoming_link_count: number;
        mentioned_users: unknown[];
        moderator: boolean;
        name: string | null;
        post_number: number;
        post_type: number;
        primary_group_name: string | null;
        quote_count: number;
        raw?: string;
        readers_count: number;
        reads: number;
        reply_count: number;
        reply_to_post_number: string | null;
        reviewable_id: string | null;
        reviewable_score_count: number;
        reviewable_score_pending_count: number;
        score: number;
        staff: boolean;
        topic_id: number;
        topic_slug: string;
        trust_level: number;
        updated_at: string;
        user_deleted: boolean;
        user_id: number;
        user_title: string | null;
        username: string;
        version: number;
        wiki: boolean;
        yours: boolean;
    }
    +

    Post type

    +
    +
    +

    Type declaration

    +
      +
    • +
      actions_summary: unknown[]
    • +
    • +
      admin: boolean
    • +
    • +
      avatar_template: string
    • +
    • +
      bookmarked: boolean
    • +
    • +
      can_delete: boolean
    • +
    • +
      can_edit: boolean
    • +
    • +
      can_recover: boolean
    • +
    • +
      Optional can_see_hidden_post?: boolean
    • +
    • +
      can_view_edit_history: boolean
    • +
    • +
      can_wiki: boolean
    • +
    • +
      cooked: string
    • +
    • +
      created_at: string
    • +
    • +
      deleted_at: string | null
    • +
    • +
      display_username: string | null
    • +
    • +
      draft_sequence: number
    • +
    • +
      edit_reason: string | null
    • +
    • +
      flair_bg_color: string | null
    • +
    • +
      flair_color: string | null
    • +
    • +
      Optional flair_group_id?: string | null
    • +
    • +
      flair_name: string | null
    • +
    • +
      flair_url: string | null
    • +
    • +
      hidden: boolean
    • +
    • +
      id: number
    • +
    • +
      incoming_link_count: number
    • +
    • +
      mentioned_users: unknown[]
    • +
    • +
      moderator: boolean
    • +
    • +
      name: string | null
    • +
    • +
      post_number: number
    • +
    • +
      post_type: number
    • +
    • +
      primary_group_name: string | null
    • +
    • +
      quote_count: number
    • +
    • +
      Optional raw?: string
    • +
    • +
      readers_count: number
    • +
    • +
      reads: number
    • +
    • +
      reply_count: number
    • +
    • +
      reply_to_post_number: string | null
    • +
    • +
      reviewable_id: string | null
    • +
    • +
      reviewable_score_count: number
    • +
    • +
      reviewable_score_pending_count: number
    • +
    • +
      score: number
    • +
    • +
      staff: boolean
    • +
    • +
      topic_id: number
    • +
    • +
      topic_slug: string
    • +
    • +
      trust_level: number
    • +
    • +
      updated_at: string
    • +
    • +
      user_deleted: boolean
    • +
    • +
      user_id: number
    • +
    • +
      user_title: string | null
    • +
    • +
      username: string
    • +
    • +
      version: number
    • +
    • +
      wiki: boolean
    • +
    • +
      yours: boolean
    +
    +
    + +
    +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file diff --git a/types/types_discourse.Uploads.html b/types/types_discourse.Uploads.html new file mode 100644 index 0000000..af00f9a --- /dev/null +++ b/types/types_discourse.Uploads.html @@ -0,0 +1,89 @@ +Uploads | node-discourse-api
    +
    + +
    +
    +
    +
    + +

    Type alias Uploads

    +
    Uploads: {
        dominant_color?: string;
        extension: string;
        filesize: number;
        height?: number;
        human_filesize: string;
        id: number;
        original_filename: string;
        retain_hours?: number | null;
        short_path: string;
        short_url: string;
        thumbnail_height?: number;
        thumbnail_width?: number;
        url: string;
        width?: number;
    } & {
        [key in string]: unknown
    }
    +

    The uploads from server

    +

    Example:

    +
    {
    "id": 2973,
    "url": "https://discourse.example/uploads/default/original/2X/4/436ccd13b6e46397a792d51fbef445380b1cc1d3.jpeg",
    "original_filename": "photo_2023-05-28_17-35-00.jpg",
    "filesize": 122190,
    "width": 640,
    "height": 640,
    "thumbnail_width": 500,
    "thumbnail_height": 500,
    "extension": "jpeg",
    "short_url": "upload://9Ct5W75p3SHRlq6I3TfD1OaFEdR.jpeg",
    "short_path": "/uploads/short-url/9Ct5W75p3SHRlq6I3TfD1OaFEdR.jpeg",
    "retain_hours": null,
    "human_filesize": "119 KB",
    "dominant_color": "67545B"
    } +
    +
    +
    +

    Type declaration

    +
      +
    • +
      Optional dominant_color?: string
    • +
    • +
      extension: string
      +

      file extension

      +
      +
    • +
    • +
      filesize: number
    • +
    • +
      Optional height?: number
    • +
    • +
      human_filesize: string
    • +
    • +
      id: number
      +

      Uploads unique id

      +
      +
    • +
    • +
      original_filename: string
    • +
    • +
      Optional retain_hours?: number | null
    • +
    • +
      short_path: string
    • +
    • +
      short_url: string
    • +
    • +
      Optional thumbnail_height?: number
    • +
    • +
      Optional thumbnail_width?: number
    • +
    • +
      url: string
    • +
    • +
      Optional width?: number
    +
    +
    + +
    +
    +

    Generated using TypeDoc

    +
    \ No newline at end of file